/* ==========================================================================
   Fursys Theme — Page-specific sections (Home, Category, Product, Quote
   form, Thank you, Projects, About, Contact).
   ========================================================================== */

/* ---------- Hero (Home) ---------- */
.hero {
  position: relative; height: 680px; overflow: hidden; background: var(--color-header);
}
.hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.hero__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10, 10, 10, 0.78) 0%, rgba(10, 10, 10, 0.1) 55%, transparent);
}
.hero__content {
  position: absolute; left: var(--gutter); right: var(--gutter); bottom: 64px; color: #fff;
  display: flex; justify-content: space-between; align-items: flex-end; gap: 60px;
}
.hero__copy { max-width: 760px; }
.hero__rule { width: 56px; height: 3px; background: var(--color-red); margin-bottom: 26px; }
.hero__copy h1 { margin: 0 0 20px; font-size: var(--fs-h1-max); line-height: 1.04; font-weight: 700; }
.hero__copy p { margin: 0; font-size: 19px; line-height: 1.55; color: rgba(255, 255, 255, 0.88); max-width: 560px; }
.hero__ctas { display: grid; gap: 14px; flex: none; }
.hero__ctas .btn { padding: 17px 40px; font-size: 16px; }

/* ---------- Stats strip ---------- */
.stats-strip {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px;
  padding: 30px var(--gutter); background: var(--color-header); color: #fff;
  border-top: 1px solid var(--color-border-onDark-strong);
}
.stats-strip__group { display: flex; gap: 64px; flex-wrap: wrap; }
.stats-strip__stat b { font-size: 26px; font-weight: 700; }
.stats-strip__stat span { font-size: 14px; color: var(--color-text-secondary); margin-left: 10px; }
.stats-strip__tag { font-size: 14px; color: var(--color-text-secondary); align-self: center; }

/* ---------- Category rows ("Every space, covered.") ---------- */
.cat-rows-section { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--gutter); padding: 24px var(--gutter) var(--section-pad); align-items: start; }
.cat-rows a.cat-row {
  display: flex; justify-content: space-between; align-items: center; padding: 20px 0;
  border-top: 1px solid var(--color-border-rule); font-size: 22px; font-weight: 500;
}
.cat-rows a.cat-row span:last-child { color: var(--color-text-faint); font-size: 15px; }
.cat-rows-more { display: inline-block; margin-top: 32px; font-size: 15px; font-weight: 500; color: var(--color-red); }
.cat-feature { display: grid; grid-template-rows: 1fr auto; background: var(--color-header); }
.cat-feature__image { height: 480px; overflow: hidden; }
.cat-feature__image img { width: 100%; height: 100%; object-fit: cover; }
.cat-feature__foot { display: flex; justify-content: space-between; align-items: center; padding: 22px 28px; color: #fff; }
.cat-feature__foot p:first-child { margin: 0; font-size: 17px; font-weight: 700; }
.cat-feature__foot p:last-child { margin: 3px 0 0; font-size: 13.5px; color: var(--color-text-secondary); }
.cat-feature__foot a { color: var(--color-red); font-size: 14px; font-weight: 500; }

/* ---------- Featured series band ---------- */
.featured-band { background: #fff; border-top: 1px solid var(--color-border-card); border-bottom: 1px solid var(--color-border-card); padding: var(--section-pad) var(--gutter); }
.featured-card__image { height: 250px; background: var(--color-well); display: grid; place-items: center; }
.featured-card__image img { max-width: 85%; max-height: 85%; object-fit: contain; }
.featured-card__row { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 2px 0; }
.featured-card__row a.name { font-size: 17px; font-weight: 700; }
.featured-card__row a.add { font-size: 13.5px; color: var(--color-red); font-weight: 500; }
.featured-card p.tag { margin: 4px 0 0; padding: 0 2px; font-size: 13.5px; color: var(--color-text-secondary); }

/* ---------- How we work ---------- */
.how-we-work { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gutter); padding: var(--section-pad) var(--gutter); align-items: center; }
.how-we-work h2 { margin: 0 0 22px; font-size: var(--fs-h2-max); font-weight: 700; }
.how-we-work p { margin: 0 0 32px; font-size: 17px; line-height: 1.65; color: var(--color-text-muted); }

/* ---------- Showroom band ---------- */
.showroom-band { position: relative; height: 400px; overflow: hidden; background: var(--color-header); }
.showroom-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.45; }
.showroom-band__content { position: relative; height: 100%; display: grid; place-items: center; text-align: center; color: #fff; }
.showroom-band__content h2 { margin: 0 0 14px; font-size: var(--fs-h2-max); font-weight: 700; }
.showroom-band__content p { margin: 0 0 28px; font-size: 16.5px; color: rgba(255, 255, 255, 0.85); }

/* ---------- Generic page hero (Products / Category / Projects / Contact / Form) ---------- */
.page-hero { padding: 56px var(--gutter) 0; }
.page-hero--wide { padding: var(--section-pad) var(--gutter) 0; }
.page-hero h1 { margin: 0 0 12px; font-size: 48px; font-weight: 700; }
.page-hero p.lede { max-width: 640px; margin: 0 0 44px; }
.page-body { padding: 0 var(--gutter) var(--section-pad); }

/* ---------- Category page ---------- */
.category-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 32px; gap: 24px; flex-wrap: wrap; }
.category-head p.lede { max-width: 560px; margin: 0; font-size: 16.5px; }
.category-count { font-size: 14px; color: var(--color-text-tertiary); }

/* ---------- Product detail ---------- */
.product-detail { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: start; }
.product-gallery__main { background: var(--color-well); height: 520px; display: grid; place-items: center; }
.product-gallery__main img { max-width: 86%; max-height: 86%; object-fit: contain; }
.product-gallery__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 14px; }
.product-gallery__thumbs > * { height: 110px; }
.product-gallery__thumbs img { max-width: 78%; max-height: 78%; object-fit: contain; margin: auto; }
.product-info .eyebrow { letter-spacing: 0.2em; margin-bottom: 8px; }
.product-info h1 { margin: 0 0 12px; font-size: 44px; font-weight: 700; }
.product-info > p.desc { margin: 0 0 24px; font-size: 17px; line-height: 1.6; color: var(--color-text-muted); }
.product-block { border-top: 1px solid var(--color-border-rule); padding: 20px 0; }
.product-block > p.block-title { margin: 0 0 12px; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.product-actions { display: flex; gap: 14px; align-items: center; margin-top: 16px; }
.product-actions .btn { flex: 1; padding: 16px; font-size: 16px; }
.product-note { margin: 14px 0 0; font-size: 13.5px; color: var(--color-text-secondary); }
.related-section { margin-top: 88px; }
.related-section h2 { margin: 0 0 28px; font-size: 28px; font-weight: 700; }
.related-card__image { height: 200px; display: grid; place-items: center; background: var(--color-well); }
.related-card__image img { max-width: 80%; max-height: 80%; object-fit: contain; }
.related-card__row { display: flex; justify-content: space-between; padding: 14px 18px; }
.related-card__row span:first-child { font-size: 15.5px; font-weight: 500; }
.related-card__row span:last-child { color: var(--color-red); }

/* Mobile sticky add-to-quote bar */
.sticky-add-bar {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 45;
  background: #fff; border-top: 1px solid var(--color-border-card); padding: 12px 16px;
  gap: 12px; align-items: center;
}
.sticky-add-bar .btn { flex: 1; padding: 15px; font-size: 15px; }

/* ---------- Request Quote form page ---------- */
.quote-form-layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: start; }
.quote-form-card { background: #fff; border: 1px solid var(--color-border-card); padding: 44px; display: grid; gap: 20px; }
.quote-form-card .btn { padding: 16px; font-size: 16px; }
.quote-summary { background: var(--color-header); color: #fff; padding: 36px; }
.quote-summary > p.title { margin: 0 0 20px; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.quote-summary__empty p { margin: 0 0 16px; font-size: 14.5px; color: var(--color-text-secondary); }
.quote-summary__empty a { color: var(--color-red); font-size: 14px; font-weight: 500; }
.quote-summary__items { display: grid; gap: 14px; }
.quote-summary__item { display: flex; gap: 14px; align-items: center; border-bottom: 1px solid var(--color-border-onDark-strong); padding-bottom: 14px; }
.quote-summary__item .thumb { width: 56px; height: 56px; background: #fff; display: grid; place-items: center; flex: none; }
.quote-summary__item .thumb img { max-width: 80%; max-height: 80%; object-fit: contain; }
.quote-summary__item p:first-child { margin: 0; font-size: 15px; font-weight: 500; }
.quote-summary__item p:last-child { margin: 2px 0 0; font-size: 13px; color: var(--color-text-secondary); }

/* ---------- Thank you ---------- */
.thanks-page { min-height: 60vh; display: grid; place-items: center; padding: var(--section-pad) var(--gutter); text-align: center; }
.thanks-page__inner { max-width: 560px; }
.thanks-page .check-circle { width: 68px; height: 68px; font-size: 32px; }
.thanks-page h1 { margin: 0 0 16px; font-size: 44px; font-weight: 700; }
.thanks-page p.lede { margin: 0 0 12px; font-size: 17px; line-height: 1.6; }
.thanks-page p.phone-fallback { margin: 0 0 36px; font-size: 15px; color: var(--color-text-secondary); }
.thanks-page .cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ---------- Projects ---------- */
.project-card__image { height: 280px; overflow: hidden; background: var(--color-well); }
.project-card__image img { width: 100%; height: 100%; object-fit: cover; }
.project-card__body { padding: 18px 22px; }
.project-card__body p:first-child { margin: 0; font-size: 16.5px; font-weight: 700; }
.project-card__body p:last-child { margin: 4px 0 0; font-size: 13.5px; color: var(--color-text-secondary); }
.projects-cta-band {
  margin-top: 56px; background: var(--color-header); color: #fff; padding: 48px 56px;
  display: flex; justify-content: space-between; align-items: center; gap: 40px; flex-wrap: wrap;
}
.projects-cta-band h2 { margin: 0 0 8px; font-size: 28px; font-weight: 700; }
.projects-cta-band p { margin: 0; font-size: 15.5px; color: var(--color-text-onDark-secondary); }

/* ---------- About ---------- */
.about-intro { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gutter); padding: 88px var(--gutter); align-items: center; }
.about-intro h1 { margin: 0 0 22px; font-size: 46px; font-weight: 700; }
.about-intro p { margin: 0 0 18px; font-size: 17px; line-height: 1.65; color: var(--color-text-muted); }
.about-intro__photo { height: 460px; }
.about-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--color-border-card); border-bottom: 1px solid var(--color-border-card); background: #fff; }
.about-stats > div { padding: 36px; border-right: 1px solid var(--color-border-card); }
.about-stats > div:last-child { border-right: none; }
.about-stats p:first-child { margin: 0; font-size: 32px; font-weight: 700; }
.about-stats p:last-child { margin: 4px 0 0; font-size: 14px; color: var(--color-text-secondary); }
.about-dealer { padding: 88px var(--gutter); display: grid; grid-template-columns: 1fr 1fr; gap: var(--gutter); align-items: center; }
.about-dealer h2 { margin: 0 0 18px; font-size: 32px; font-weight: 700; }
.about-dealer p { margin: 0 0 24px; font-size: 16.5px; line-height: 1.65; color: var(--color-text-muted); }

/* ---------- Contact ---------- */
.contact-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start; }
.contact-info { display: grid; gap: 32px; }
.contact-info .block-title { margin: 0 0 6px; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contact-info p.value { margin: 0; font-size: 16.5px; line-height: 1.6; }
.contact-info p.sub { margin: 6px 0 0; font-size: 14.5px; color: var(--color-text-secondary); }
.contact-map { height: 260px; border: 0; width: 100%; }
.contact-form-card { background: #fff; border: 1px solid var(--color-border-card); padding: 44px; }
.contact-form-card h2 { margin: 0 0 24px; font-size: 24px; font-weight: 700; }
.contact-sent { text-align: center; padding: 48px 0; }
.contact-sent .check-circle { width: 56px; height: 56px; font-size: 26px; }
.contact-sent h2 { margin: 0 0 10px; font-size: 26px; font-weight: 700; }
.contact-sent p { margin: 0; font-size: 15.5px; color: var(--color-text-secondary); }

/* ---------- All-products page ---------- */
.all-cats-grid .card__body p { margin: 3px 0 0; font-size: 13.5px; color: var(--color-text-secondary); }
