/* =====================================================================
 *  tokens-brand-override.css  —  Living in Riverdale GA  —  Phase 9
 *
 *  CANONICAL BRAND SOURCE (johnniebenton.com, live-confirmed 2026-06-29, D8).
 *  Loaded LAST on every page. Edit values here to retune the brand.
 *
 *  The Altnest template's literal hexes were already remapped in
 *  altnest.webflow.shared.39a47dc9d.css by scripts/phase9_brand_css.py; this
 *  file re-asserts the same values on the template's swatch + font variables
 *  (covering every var() usage and every :root breakpoint block) and adds the
 *  semantic brand tokens. One file = one source of truth.
 * =================================================================== */

:root {
  /* --- johnniebenton.com greens --- */
  --brand-primary:        #09652F;  /* H2 / theme primary green (live --g-primary-color) */
  --brand-green-deep:     #0F4C3A;  /* deep CTA + dark brand anchor (white text AAA 10.6:1) */
  --brand-theme-green:    #4E6D43;  /* top bar + primary button bg (white text AA 5.4:1) */
  --brand-theme-hover:    #49653F;  /* button hover */
  --brand-accent-gold:    #FFC03A;  /* hero/attention CTA — DARK BG ONLY, dark text */
  --brand-accent-gold-hover: #F5B223;
  --brand-tertiary-orange:#E67E23;  /* large text / buttons only */

  /* --- text + surfaces (WCAG-safe; overrides live low-contrast grays) --- */
  --text-heading: #212934;  /* navy-charcoal, 16.1:1 on white */
  --text-body:    #282828;  /* 14.9:1 on white */
  --text-muted:   #797E8B;  /* captions/meta, large text */
  --surface:      #FFFFFF;
  --surface-alt:  #F5F3EE;  /* cream alt-section */
  --border:       #E5E2D8;
  --wolf-white:   #F2EFE7;  /* soft off-white for button labels on dark/green CTAs */

  /* --- re-assert the Altnest swatch vars onto the brand palette --- */
  --deep-whale-blue:  #0F4C3A;  /* was #1a2b50 */
  --blue-zodiac:      #4E6D43;  /* was #3b4251 */
  --steel-blue-gray:  #282828;  /* was #475676 — template BODY TEXT, keep dark */
  --light-slate-grey: #797E8B;  /* was #7e8596 */
  --smokey-white:     #F5F3EE;  /* was #f6f6f6 -> cream */

  /* --- fonts (Open Sans body+headings, Playfair Display accent) --- */
  --font-family--tenor-sans:      "Open Sans", system-ui, sans-serif;
  --font-family--instrument-sans: "Open Sans", system-ui, sans-serif;
  --font-heading: "Open Sans", system-ui, sans-serif;
  --font-body:    "Open Sans", system-ui, sans-serif;
  --font-accent:  "Playfair Display", Georgia, serif;  /* 600 italic, sparingly */
}

/* Optional serif accent for eyebrows/quotes — apply the class in HTML to use it. */
.brand-accent-serif { font-family: var(--font-accent); font-style: italic; font-weight: 600; }

/* =====================================================================
 *  Brand-green component layer (johnniebenton.com)
 *  The Altnest template is monochrome black/white; johnniebenton's primary
 *  buttons + eyebrow accents are green. These targeted rules put the brand
 *  green where it belongs without fighting the IX2 hover animations elsewhere.
 * =================================================================== */

/* Primary CTA buttons -> deep brand green, white label */
.rt-button {
  background-color: var(--brand-green-deep) !important;
  border-color: var(--brand-green-deep) !important;
}
.rt-button, .rt-button *,
.rt-button .rt-button-text, .rt-button .rt-button-text.rt-invert { color: #F2EFE7 !important; }
/* The template's .rt-invert flips button text via filter:invert(1); with our
 * green button fill that turns the off-white label near-black. Kill the filter
 * so the #F2EFE7 label paints as the legible off-white it actually is. */
.rt-button .rt-invert, .rt-button .rt-button-text.rt-invert { filter: none !important; -webkit-filter: none !important; }
.rt-button:hover {
  background-color: var(--brand-theme-green) !important;
  border-color: var(--brand-theme-green) !important;
}

/* Eyebrow / sub-heading accents -> green (leave the white-on-dark ones white) */
.rt-sub-heading:not(.rt-text-color-white) { color: var(--brand-primary) !important; }

/* Stock background videos are frozen to their poster stills (Phase 9.5) — hide
 * the now-pointless play/pause control so static heroes read as clean images. */
.w-background-video--control,
.rt-hero-video-button,
.rt-video-button-wrapper-2 { display: none !important; }

/* =====================================================================
 *  Sticky nav: shrink the bar + scale the logo down on scroll (JB request).
 *  The .nav-scrolled class is toggled by assets/js/nav-shrink.js.
 *  We only touch SIZE here — the template keeps its own scroll background/
 *  color behavior so the logo's auto-invert stays correct on light & dark navs.
 *  Desktop-only (>=992px); mobile keeps its hamburger sizing untouched.
 * =================================================================== */
@media (min-width: 992px) {
  .rt-navbar-v3 { transition: box-shadow .3s ease; }
  .rt-navbar-v3 .rt-brand-logo img {
    max-height: 34px;             /* resting: EPIQUE+B lockup (6:1), sized to clear nav links (JB 2026-07-01) */
    transition: max-height .3s ease;
    will-change: max-height;
  }
  .rt-navbar-v3.nav-scrolled .rt-brand-logo img { max-height: 30px; }  /* compact on scroll */
  .rt-navbar-v3.nav-scrolled { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); }
}

/* Home "insight cards" (former testimonials): these are Johnnie's own notes, not
 * client reviews, so hide the 5-star rating row. */
.rt-testimonials-v3-ratings { display: none !important; }

/* About: one-person team. Show only Johnnie's card; hide the template members. */
.rt-team-left-wrapper .w-dyn-item:not(:first-child) { display: none !important; }
.rt-team-right-wrapper { display: none !important; }

/* "Read more →" link on listing cards -> the listing's johnniebenton.com page */
.rt-readmore-link {
  display: inline-block;
  margin: 0.5rem 0 0.75rem;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--brand-primary);
  text-decoration: none;
}
.rt-readmore-link:hover { color: var(--brand-green-deep); text-decoration: underline; }
