/* ── Per-client brand layer — Greenz Outdoor Services ──────────────────────────────
   Brand (GC brand_colors_v2, locked on the onboarding call): Forest Green #253909
   (primary), Eucalyptus #A9C2A3 (secondary), Banana Yellow #FFDF8C (accent).
   Fonts: Bricolage Grotesque (headings) + Libre Franklin (body) — self-hosted.
   Brand only — structure + standards live in the synced components.css; never fork it. */

body.theme-growth {
  --font-body: "Libre Franklin", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-heading: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, sans-serif;

  /* Structural green ramp remapped to Greenz forest tones (aligned to the
     launch landing's palette: forest #253909 / forest-deep #1a2a06). */
  --color-green-900: #1a2a06;  /* darkest: dark sections, footer, image overlays */
  --color-green-800: #20320a;
  --color-green-700: #253909;  /* brand Forest Green = primary fills */
  --color-green-600: #3d5a17;
  --color-green-100: #edf2e4;  /* eucalyptus-leaning light tint */
  --color-primary:   #253909;

  --color-accent: #FFDF8C;     /* Banana Yellow — accent on dark sections only */

  /* "Southern workwear" paper — carried over from the launch landing:
     cream page, paper cards, green-tinted ink, warmed hairlines. */
  --color-white: #fffdf6;      /* paper: base surface + cards */
  --color-bg: #f7f3e8;         /* cream: alternating sections */
  --color-ink: #223012;        /* green-tinted ink */
  --color-line: #ddd8c5;       /* hairline warmed to sit on cream */
}

/* Headings inherit --color-ink (#223012, the landing's green ink) via the base
   h1-h3 rule — do NOT add a body.theme-growth h1 override here: its specificity
   beats `.hero h1 { color: white }` and turns dark-section headings dark. */

/* Banana text selection — the landing's signature micro-detail. */
body.theme-growth ::selection { background: #FFDF8C; color: #253909; }

/* Section-heading rule becomes the banana marker stroke from the logo/landing
   (replaces the template's thin green border). */
body.theme-growth .with-rule { border-bottom: 0; }
body.theme-growth .with-rule::after {
  content: "";
  display: block;
  margin-top: 1.05rem;
  width: 92px;
  height: 9px;
  border-radius: 6px;
  background: linear-gradient(100deg, #f5c94e, #FFDF8C 55%, #f5c94e);
  transform: rotate(-0.6deg);
}

/* Eyebrows / kickers: forest on light sections; banana on dark/photo sections
   (matches the brand language set by the launch landing page). */
body.theme-growth .eyebrow,
body.theme-growth .kicker { color: #3d5a17; }
body.theme-growth .hero .eyebrow,
body.theme-growth .final-cta .eyebrow,
body.theme-growth .eyebrow-light { color: #FFDF8C; }

/* Primary CTA — deep forest with cream text (hover shifts to the landing's forest-deep). */
body.theme-growth .btn-primary { background: #253909; color: #f7f3e8; }
body.theme-growth .btn-primary:hover { background: #1a2a06; color: #f7f3e8; }
body.theme-growth .primary-nav .nav-cta .btn-primary { background: #253909; color: #f7f3e8; }

/* Banana accent details on dark surfaces. */
body.theme-growth .hero-title-location { color: #FFDF8C; }
body.theme-growth .site-footer a:hover { color: #FFDF8C; }
body.theme-growth .city-list-more a { color: #cfe0c9; }
body.theme-growth .city-list li::before { background: #3d5a17; }

/* Footer logo: the Greenz badge is MULTI-COLOR (forest ring, eucalyptus fill,
   banana stroke) — never white-wash it; the badge carries its own contrast. */
body.theme-growth .brand-logo--footer { filter: none; }

/* ── Logo prominence (Matt-approved divergence from the template's locked sizes,
      2026-07-17): the Greenz oval badge carries internal padding, so at standard
      heights it reads small. Sizes bumped in every position. ─────────────────── */
@media (min-width: 981px) {
  /* Big badge, tight band (Matt 2026-07-17): the logo stays LARGE and the bar
     hugs it — padding is what got cut, not the logo. */
  body.theme-growth .brand-logo { height: 118px; }
  body.theme-growth .header-inner { padding-block: 0.15rem; min-height: 0; }
}
@media (max-width: 980px) {
  body.theme-growth .brand-logo { height: 64px; }
  body.theme-growth .header-inner { min-height: 74px; }
}
body.theme-growth .brand-logo--footer { height: 104px; }

/* Footer in the landing's deep forest (template default is a neutral green-black). */
body.theme-growth .site-footer { background: #1a2a06; }

/* Accessibility: the shared review widget ships low-contrast grays (2.3:1) for review
   metadata — darken them to WCAG AA on our light cards. */
body.theme-growth .llm-rw-author-meta span { color: #565e6a !important; }
body.theme-growth .llm-rw-powered { color: #565e6a !important; }

/* Accessibility: in-text footer links must not rely on color alone. */
body.theme-growth .site-footer p a { text-decoration: underline; text-underline-offset: 2px; }

/* Footer carries a Service Areas column on this build → 5 columns on desktop
   (the ≤980px stack from components.css is untouched). */
@media (min-width: 981px) {
  body.theme-growth .site-footer .footer-grid { grid-template-columns: 1.2fr 1fr 1fr 1fr 1.2fr; }
}

/* Eucalyptus tint behind the service-area band. */
body.theme-growth .areas-section { background: #edf2e4; }

/* Closing CTA band photo (swappable slot — Image Manager updates all pages at once). */
body.theme-growth .final-cta {
  background-image: linear-gradient(rgba(22, 34, 10, 0.88), rgba(22, 34, 10, 0.88)), url('/images/site/home--cta.jpg');
  background-size: cover;
  background-position: center;
}

/* Image-section fallbacks (deep forest) — pages set real photos inline; these only
   show if a photo is missing so nothing renders pure-white. */
body.theme-growth .hero--image-overlay,
body.theme-growth .hero--legal,
body.theme-growth .hero--media-room,
body.theme-growth .hero--blog,
body.theme-growth .hero--blog-post {
  background-color: #16220a;
}
