/* ============================================================
   GLL × QOVES — public-site minimalist retheme
   ------------------------------------------------------------
   LAYER 1 — Typeface (contrast-safe, no colour changes).
   Scope: body:not(.default-theme)  → PUBLIC pages only (admin untouched).
   Loaded LAST in header.html.php. Fully reversible: remove the
   gll-qoves.css <link> (and the Roboto font link) to restore.

   Design language captured from qoves.com:
     · Typeface : geometric grotesque, weight ~400–500, tight tracking
                  (qoves uses PP Neue Montreal; per request we use Roboto)
     · Palette  : slate #233137 · grey #515255 · muted #758084 ·
                  faint #9AAEB5 · hairline #E8E8E8 · subtle gold #B8922A
   Colour + per-section minimalism land in Layer 2+ (hero, cards…),
   where backgrounds are known so contrast stays correct.
   ============================================================ */

body:not(.default-theme){
  --q-slate:#233137;
  --q-grey:#515255;
  --q-muted:#758084;
  --q-faint:#9aaeb5;
  --q-line:#e8e8e8;
  --q-gold:#b8922a;
  font-family:'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* Apply the grotesque to text elements only (icons keep their own font) */
body:not(.default-theme) h1, body:not(.default-theme) h2, body:not(.default-theme) h3,
body:not(.default-theme) h4, body:not(.default-theme) h5, body:not(.default-theme) h6,
body:not(.default-theme) p,  body:not(.default-theme) a,  body:not(.default-theme) li,
body:not(.default-theme) span, body:not(.default-theme) blockquote,
body:not(.default-theme) button, body:not(.default-theme) label,
body:not(.default-theme) input, body:not(.default-theme) select, body:not(.default-theme) textarea,
body:not(.default-theme) figcaption, body:not(.default-theme) th, body:not(.default-theme) td{
  font-family:'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* qoves heading feel — tight negative tracking, balanced weight */
body:not(.default-theme) h1, body:not(.default-theme) h2,
body:not(.default-theme) h3, body:not(.default-theme) h4{
  letter-spacing:-0.02em !important;
  font-weight:500 !important;
}

/* Convert the existing SERIF headline classes to the grotesque, upright.
   (Colours are intentionally left untouched here — handled per-section.) */
body:not(.default-theme) .gll-editorial-headline,
body:not(.default-theme) .gll-editorial-headline .gll-headline-light,
body:not(.default-theme) .gll-editorial-headline .gll-headline-bold,
body:not(.default-theme) .gll-title-editorial,
body:not(.default-theme) .gll-title-editorial .gll-title-light,
body:not(.default-theme) .gll-title-editorial .gll-title-bold,
body:not(.default-theme) .gll-hero-name,
body:not(.default-theme) .gll-intro-pull,
body:not(.default-theme) .gll-intro-nav-num{
  font-family:'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-style:normal !important;
  letter-spacing:-0.02em !important;
}

/* ============================================================
   LAYER 2 — HERO (slide 1) recolour to qoves
   Cool slate/grey text · #E8E8E8 hairlines · pill buttons ·
   grotesque stats · subtle gold kept (headline accent + primary tab).
   Slides 2 & 3 (dark) are intentionally left untouched.
   ============================================================ */
/* Two-tone header (qoves): first part slate (dark), accent part muted grey */
body:not(.default-theme) .gll-headline-light{ color:var(--q-slate) !important; }
body:not(.default-theme) .gll-headline-bold{ color:var(--q-muted) !important; font-weight:500 !important; }
/* Slides 2 & 3 (dark): bright + muted-white two-tone */
body:not(.default-theme) .gll-title-editorial .gll-title-light{ color:#ffffff !important; }
body:not(.default-theme) .gll-title-editorial .gll-title-bold{ color:rgba(255,255,255,0.52) !important; font-weight:500 !important; }
body:not(.default-theme) .gll-editorial-subtitle,
body:not(.default-theme) .gll-editorial-subtitle.gll-tagline{ color:var(--q-grey) !important; }
body:not(.default-theme) .gll-editorial-subtitle a{ color:var(--q-slate) !important; text-decoration-color:rgba(184,146,42,0.5) !important; }
body:not(.default-theme) .gll-eyebrow-text{ color:var(--q-gold) !important; }
body:not(.default-theme) .gll-eyebrow-line{ background:var(--q-line) !important; }
body:not(.default-theme) .gll-eyebrow-accent svg{ stroke:var(--q-gold) !important; }

/* Tabs → pills */
body:not(.default-theme) .gll-editorial-tabs .nav-link{ border-radius:0 !important; padding:10px 26px !important; font-weight:500 !important; letter-spacing:.02em !important; transition:all .18s ease !important; }
body:not(.default-theme) .gll-editorial-tabs .nav-link.active{ background:var(--q-gold) !important; border:1px solid var(--q-gold) !important; color:#fff !important; }
body:not(.default-theme) .gll-editorial-tabs .nav-link:not(.active){ background:transparent !important; border:1px solid var(--q-line) !important; color:var(--q-slate) !important; }

/* Search bar → pill + hairline; submit → slate pill */
body:not(.default-theme) .gll-search-bar{ background:#fff !important; border:1px solid var(--q-line) !important; border-radius:0 !important; }
body:not(.default-theme) .gll-go-btn{ background:var(--q-slate) !important; color:#fff !important; border-radius:0 !important; }
body:not(.default-theme) .gll-go-btn svg{ stroke:#fff !important; }
body:not(.default-theme) .gll-filter-toggle{ color:var(--q-muted) !important; }
body:not(.default-theme) .gll-search-icon{ stroke:var(--q-muted) !important; }
body:not(.default-theme) .gll-filters{ border-color:var(--q-line) !important; }

/* Stats → grotesque slate + cool hairlines */
body:not(.default-theme) .gll-stat-number{ font-family:'Roboto',sans-serif !important; color:var(--q-slate) !important; font-weight:500 !important; letter-spacing:-0.01em !important; }
body:not(.default-theme) .gll-stat-label{ font-family:'Roboto',sans-serif !important; color:var(--q-muted) !important; letter-spacing:.06em !important; }
body:not(.default-theme) .gll-stats-row,
body:not(.default-theme) .gll-stats-row .gll-stat{ border-color:var(--q-line) !important; }

/* Credential card → white + cool hairline + soft shadow */
body:not(.default-theme) .gll-credential-card{ background:#fff !important; border:1px solid var(--q-line) !important; box-shadow:0 1px 2px rgba(33,49,55,0.05), 0 10px 28px rgba(33,49,55,0.06) !important; }
body:not(.default-theme) .gll-credential-title{ color:var(--q-slate) !important; }
body:not(.default-theme) .gll-credential-desc{ color:var(--q-grey) !important; }
body:not(.default-theme) .gll-credential-icon svg{ stroke:var(--q-gold) !important; }

/* Phone: slightly smaller hero (slide 1) headline */
@media (max-width: 640px){
  body:not(.default-theme) .gll-editorial-headline,
  body:not(.default-theme) .gll-editorial-headline .gll-headline-light,
  body:not(.default-theme) .gll-editorial-headline .gll-headline-bold{
    font-size: clamp(1.45rem, 6.6vw, 1.9rem) !important;
    line-height: 1.16 !important;
  }
}
/* Desktop / tablet: slightly smaller hero (slide 1) headline */
@media (min-width: 641px){
  body:not(.default-theme) .gll-editorial-headline .gll-headline-light,
  body:not(.default-theme) .gll-editorial-headline .gll-headline-bold{
    font-size: clamp(2.1rem, 4.4vw, 3.6rem) !important;
  }
}

/* ============================================================
   LAYER 3 — Profile cards (firm/lawyer) + spotlight + buttons
   Structure unchanged — recolour only: white surface, #E8E8E8
   hairlines, slate/grey text shades, pill buttons (gold primary).
   ============================================================ */

/* Profile / listing cards → white + hairline + soft minimal shadow */
body:not(.default-theme) .listing-card,
body:not(.default-theme) .card.listing-card{
  background:#fff !important;
  border:1px solid var(--q-line) !important;
  box-shadow:0 1px 2px rgba(33,49,55,0.04) !important;
}
body:not(.default-theme) .listing-card h2,
body:not(.default-theme) .listing-card h3,
body:not(.default-theme) .listing-card h4,
body:not(.default-theme) .listing-card .card-title,
body:not(.default-theme) .listing-card a:not(.btn):not(.d-block){ color:var(--q-slate) !important; }
body:not(.default-theme) .listing-card .text-muted,
body:not(.default-theme) .listing-card small{ color:var(--q-muted) !important; }

/* Card footers / light surfaces / dividers → cool */
/* Card footer: seamless white, NO divider line above the buttons */
body:not(.default-theme) .card-footer{ background:#ffffff !important; border:none !important; border-top:none !important; }
body:not(.default-theme) .listing-card .card-footer,
body:not(.default-theme) .listing-card .card-footer.bg-light{ background:#ffffff !important; border:none !important; border-top:none !important; }
body:not(.default-theme) .feature-widget.bg-light,
body:not(.default-theme) .gfd-wrap{ background:#f7f7f8 !important; }
body:not(.default-theme) .gfd-wrap .card,
body:not(.default-theme) .feature-widget .card{ border:1px solid var(--q-line) !important; box-shadow:0 1px 2px rgba(33,49,55,0.04) !important; }
body:not(.default-theme) hr{ border-color:var(--q-line) !important; }

/* Buttons → pills. Primary = subtle gold; outline/secondary = slate + hairline */
body:not(.default-theme) .btn-primary,
body:not(.default-theme) .gll-btn-primary{
  background:var(--q-gold) !important; border:1px solid var(--q-gold) !important; color:#fff !important;
  border-radius:0 !important; font-weight:500 !important; letter-spacing:.02em !important;
}
body:not(.default-theme) .btn-primary:hover,
body:not(.default-theme) .gll-btn-primary:hover{ background:#9a7820 !important; border-color:#9a7820 !important; color:#fff !important; }
body:not(.default-theme) .btn-outline-primary,
body:not(.default-theme) .btn-outline-secondary,
body:not(.default-theme) .btn-secondary,
body:not(.default-theme) .gll-btn-secondary{
  background:transparent !important; border:1px solid var(--q-line) !important; color:var(--q-slate) !important;
  border-radius:0 !important; font-weight:500 !important;
}
body:not(.default-theme) .btn-outline-primary:hover,
body:not(.default-theme) .gll-btn-secondary:hover{ border-color:var(--q-slate) !important; color:var(--q-slate) !important; }

/* ============================================================
   LAYER 4 — FAQ + Footer (+ minimal monochrome finishing)
   Dark sections cooled from near-black to a qoves slate-charcoal,
   faint hairlines, muted-white text; light Q&A → slate/grey.
   Subtle gold kept on eyebrows/headings.
   ============================================================ */
:root{ --q-ink:#1c2329; }   /* qoves cool dark (replaces pure black) */

/* FAQ hero (dark) */
body:not(.default-theme) .glfaq-hero{ background:var(--q-ink) !important; }
body:not(.default-theme) .glfaq-h1{ color:#ffffff !important; letter-spacing:-0.02em !important; }
body:not(.default-theme) .glfaq-eyebrow{ color:var(--q-gold) !important; }
body:not(.default-theme) .glfaq-hero-desc{ color:rgba(255,255,255,0.6) !important; }
body:not(.default-theme) .glfaq-stat-num{ color:#ffffff !important; }
body:not(.default-theme) .glfaq-stat-label{ color:rgba(255,255,255,0.5) !important; }
body:not(.default-theme) .glfaq-stat,
body:not(.default-theme) .glfaq-stats{ border-color:rgba(255,255,255,0.12) !important; }
/* FAQ Q&A (light) */
body:not(.default-theme) .glfaq-q-text,
body:not(.default-theme) .glfaq-q-left,
body:not(.default-theme) [class*="glfaq-q-"]{ color:var(--q-slate) !important; }
body:not(.default-theme) [class*="glfaq-a"]{ color:var(--q-grey) !important; }
body:not(.default-theme) .glfaq-num,
body:not(.default-theme) [class*="glfaq-num"],
body:not(.default-theme) [class*="glfaq-index"]{ color:var(--q-gold) !important; }

/* Footer (dark) → cool charcoal, muted-white text, faint hairlines, subtle gold headings */
body:not(.default-theme) .gll-footer{ background:var(--q-ink) !important; color:rgba(255,255,255,0.62) !important; }
body:not(.default-theme) .gll-footer p,
body:not(.default-theme) .gll-footer li,
body:not(.default-theme) .gll-footer span{ color:rgba(255,255,255,0.62) !important; }
body:not(.default-theme) .gll-footer .gll-f-heading{ color:var(--q-gold) !important; letter-spacing:.18em !important; }
body:not(.default-theme) .gll-footer a{ color:rgba(255,255,255,0.74) !important; }
body:not(.default-theme) .gll-footer a:hover{ color:#ffffff !important; }
body:not(.default-theme) .gll-footer hr,
body:not(.default-theme) .gll-footer [class*="border"],
body:not(.default-theme) .gll-footer [class*="divider"]{ border-color:rgba(255,255,255,0.10) !important; }
