/* ═══════════════════════════════════════════════════════════
   FitnessByMaddy — Theme Fix CSS
   "Nocturne Gold" — Warm premium dark theme

   This file overrides specific semantic cases that the global
   color flip couldn't handle cleanly. Load LAST in every page.

   v1 — 2026-04-15
   ═══════════════════════════════════════════════════════════ */

/* ─────── Gold BUTTONS — text must stay DARK for readability ─────── */
.nav-cta,
a.nav-cta,
button.nav-cta,
.btn-primary,
a.btn-primary,
button.btn-primary,
.btn-gold,
.cta-gold,
.hero-btn-primary,
.blog-cta-btn,
.sticky-cta a.btn-primary,
.skip-link{
  color:#0F0D0B !important;
}
.nav-cta:hover,
.btn-primary:hover,
.btn-gold:hover,
.blog-cta-btn:hover{
  color:#0F0D0B !important;
}

/* Blog CTA button on hover used to flip to cream bg - keep gold */
.blog-cta-btn:hover{
  background:#E2C07A !important;
  color:#0F0D0B !important;
}

/* ─────── Nav over HERO (not scrolled) — cream text over image ─────── */
nav:not(.scrolled) .nav-logo{
  color:#EFE9DC !important;
}
nav:not(.scrolled) .nav-logo span{
  color:#E2C07A !important;
}
nav:not(.scrolled) .nav-links a:not(.nav-cta):not(.nav-enroll):not(.nav-button){
  color:rgba(239,233,220,.78) !important;
}
nav:not(.scrolled) .nav-links a:not(.nav-cta):not(.nav-enroll):not(.nav-button):hover{
  color:#EFE9DC !important;
}
nav:not(.scrolled) .nav-ham span{
  background:#EFE9DC !important;
}

/* Nav CTA button text must stay DARK on gold at max specificity */
nav .nav-cta,
nav.scrolled .nav-cta,
nav:not(.scrolled) .nav-cta,
nav a.nav-cta,
nav .nav-links a.nav-cta,
nav.scrolled .nav-links a.nav-cta{
  color:#0F0D0B !important;
  background:#C8A45A !important;
}
nav .nav-cta:hover,
nav.scrolled .nav-cta:hover,
nav a.nav-cta:hover{
  color:#0F0D0B !important;
  background:#E2C07A !important;
}

/* ─────── Nav scrolled state — warm dark with cream text ─────── */
nav.scrolled{
  background:rgba(26,24,20,.94) !important;
  border-bottom:1px solid rgba(200,164,90,.18) !important;
  box-shadow:0 4px 32px rgba(0,0,0,.5) !important;
}
nav.scrolled .nav-logo{
  color:#EFE9DC !important;
}
nav.scrolled .nav-logo span{
  color:#E2C07A !important;
}
nav.scrolled .nav-links a{
  color:rgba(239,233,220,.72) !important;
}
nav.scrolled .nav-links a:hover{
  color:#EFE9DC !important;
}
nav.scrolled .nav-cta{
  background:#C8A45A !important;
  color:#0F0D0B !important;
}
nav.scrolled .nav-cta:hover{
  background:#E2C07A !important;
  color:#0F0D0B !important;
}
nav.scrolled .nav-ham span{
  background:#EFE9DC !important;
}

/* ─────── Sticky bottom CTA — dark glass ─────── */
.sticky-cta{
  background:rgba(15,13,11,.96) !important;
  border-top:1px solid rgba(200,164,90,.22) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
  box-shadow:0 -8px 40px rgba(0,0,0,.6) !important;
}
.sticky-cta *{color:#EFE9DC;}
.sticky-cta .btn-primary,
.sticky-cta a.btn-primary,
.sticky-cta button.btn-primary{
  color:#0F0D0B !important;
}

/* ─────── Page loader — dark screen ─────── */
.page-loader{
  background:#1A1814 !important;
}

/* ─────── Modal backdrop (insights page) ─────── */
.modal-backdrop{
  background:rgba(15,13,11,.88) !important;
}

/* ─────── Footer — deep dark (one step below bg) ─────── */
footer[style*="background"]{
  background:#151311 !important;
  border-top:1px solid rgba(200,164,90,.22) !important;
}
footer{
  background:#151311;
}
footer,footer *{
  color:#EFE9DC;
}
footer a{color:rgba(239,233,220,.72);}
footer a:hover{color:#E2C07A;}

/* ─────── Program cards (from styles-main.css) — dark surface ─────── */
.programs-v2{
  background:#1A1814 !important;
}
.programs-v2::before{
  background:
    radial-gradient(ellipse at 20% 50%,rgba(200,164,90,.08) 0%,transparent 60%),
    radial-gradient(ellipse at 80% 20%,rgba(200,164,90,.05) 0%,transparent 50%) !important;
}
.p-card{
  background:
    radial-gradient(circle at 0% 100%,rgba(200,164,90,.08) 0%,transparent 55%),
    linear-gradient(168deg,#1F1C18 0%,#22201B 100%) !important;
  border:1px solid rgba(200,164,90,.22) !important;
  color:inherit !important;
}
.p-card::before{
  background-image:
    radial-gradient(circle at 20% 30%,rgba(200,164,90,.04) 1px,transparent 1px),
    radial-gradient(circle at 70% 60%,rgba(200,164,90,.03) 1px,transparent 1px),
    radial-gradient(circle at 45% 85%,rgba(200,164,90,.025) 1px,transparent 1px) !important;
  opacity:.7 !important;
}
.p-card:hover{
  border-color:rgba(200,164,90,.5) !important;
  background:
    radial-gradient(circle at 0% 100%,rgba(200,164,90,.12) 0%,transparent 55%),
    linear-gradient(168deg,#22201B 0%,#2A2823 100%) !important;
  box-shadow:
    0 32px 72px -18px rgba(0,0,0,.6),
    0 0 48px -10px rgba(200,164,90,.2),
    inset 0 1px 0 rgba(200,164,90,.15) !important;
}
.p-card .p-name{color:#EFE9DC !important;}
.p-card .p-tagline{color:rgba(239,233,220,.72) !important;}
.p-card .p-index,
.p-card .p-tier,
.p-card .p-chip,
.p-card .p-cta-label{color:#E2C07A !important;}
.p-card .p-divider,
.p-card .p-foot{
  border-color:rgba(200,164,90,.18) !important;
  background:transparent !important;
}
.p-card:hover .p-divider,
.p-card:hover .p-foot{border-color:rgba(200,164,90,.4) !important;}
.p-card .p-arrow,.p-card .p-arrow::after{color:#E2C07A !important;}

/* Ghost number in program cards */
.p-card .p-ghost{
  color:rgba(200,164,90,.04) !important;
  -webkit-text-stroke-color:rgba(200,164,90,.08) !important;
}

/* ─────── Program card brackets — gold accent ─────── */
.p-card.p-featured .p-bracket{
  border-color:rgba(200,164,90,.55) !important;
}
.p-card.p-featured:hover .p-bracket{
  border-color:#E2C07A !important;
}
.p-card.p-featured .p-gold-line{
  background:linear-gradient(90deg,transparent 0%,#E2C07A 20%,#C8A45A 50%,#E2C07A 80%,transparent 100%) !important;
  box-shadow:0 0 16px rgba(200,164,90,.5) !important;
}

/* ─────── FAQ — dark item bg, cream text ─────── */
.faq-item{border-bottom:1px solid rgba(239,233,220,.08) !important;}
.faq-item:first-child{border-top:1px solid rgba(239,233,220,.08) !important;}
.faq-item.active{border-bottom-color:rgba(200,164,90,.4) !important;}
.faq-question{color:#EFE9DC !important;}
.faq-question:hover,.faq-item.active .faq-question{color:#E2C07A !important;}
.faq-toggle{color:#C8A45A !important;}
.faq-item.active .faq-toggle{color:#E2C07A !important;}
.faq-answer{color:rgba(239,233,220,.72) !important;}

/* ─────── Section eyebrow lines ─────── */
.faq-section::before,
.section-eyebrow::before{
  background:linear-gradient(90deg,transparent,#C8A45A,transparent) !important;
}

/* ─────── Free guide lead magnet section ─────── */
#free-guide{
  background:linear-gradient(135deg,#1F1C18 0%,#1A1814 100%) !important;
  border-top:1px solid rgba(200,164,90,.22) !important;
  border-bottom:1px solid rgba(200,164,90,.22) !important;
}

/* ─────── Input / select / textarea — dark surface ─────── */
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=search],input[type=password],select,textarea{
  background:#22201B !important;
  color:#EFE9DC !important;
  border:1px solid rgba(200,164,90,.2) !important;
}
input::placeholder,textarea::placeholder{color:rgba(239,233,220,.42) !important;}
input:focus,select:focus,textarea:focus{
  border-color:#C8A45A !important;
  outline:none !important;
}

/* ─────── Article / insights / card surfaces ─────── */
.article-card,.testi-card,.insight-card{
  background:#22201B !important;
  border:1px solid rgba(200,164,90,.18) !important;
  color:#EFE9DC !important;
}
.article-card:hover{background:#2A2823 !important;}

/* ─────── Mobile menu overlay ─────── */
.mob-nav{background:#1A1814 !important;}
.mob-nav a{color:#EFE9DC !important;}
.mob-nav a:hover{color:#E2C07A !important;}
.mob-lang-btn{
  background:rgba(239,233,220,.04) !important;
  border:1px solid rgba(200,164,90,.22) !important;
  color:#EFE9DC !important;
}
.mob-lang-btn:hover,.mob-lang-btn.active{
  background:rgba(200,164,90,.14) !important;
  border-color:rgba(200,164,90,.5) !important;
}

/* ─────── Custom cursor blend against dark ─────── */
.cursor{mix-blend-mode:normal !important;background:#E2C07A !important;}
.cursor-ring{border:1px solid rgba(200,164,90,.55) !important;}

/* ─────── Scrollbar - warm dark theme ─────── */
html{scrollbar-color:#C8A45A #1A1814;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#1A1814;}
::-webkit-scrollbar-thumb{background:#3A342A;border-radius:5px;}
::-webkit-scrollbar-thumb:hover{background:#C8A45A;}

/* ─────── Selection color ─────── */
::selection{background:#C8A45A;color:#0F0D0B;}

/* ─────── Cream-on-cream hover states that broke ─────── */
a:hover{color:#E2C07A;}

/* ─────── Universal safety net — ensure body is dark ─────── */
html,body{background:#1A1814 !important;color:#EFE9DC;}

/* ─────── HERO section — cream text over dark photo ─────── */
.hero-title,
.hero-sub,
.hero-eyebrow,
.hero-scroll-text{
  color:#EFE9DC !important;
}
.hero-title .gold,.hero-title em{color:#E2C07A !important;}
.hero-sub{color:rgba(239,233,220,.88) !important;}
.hero-scroll-text{color:rgba(239,233,220,.65) !important;}

/* Hero buttons — primary dark text on gold, outline cream text */
.hero .btn-primary,
.hero .btn-primary:hover{
  color:#0F0D0B !important;
  background:#C8A45A !important;
}
.hero .btn-primary:hover{background:#E2C07A !important;}
.hero .btn-outline{
  color:#EFE9DC !important;
  border-color:rgba(239,233,220,.4) !important;
}
.hero .btn-outline:hover{
  color:#E2C07A !important;
  border-color:#E2C07A !important;
}

/* ─────── CTA banner — cream text over photo bg ─────── */
.cta-banner-content h2,
.cta-banner-content p,
.cta-banner h2,
.cta-banner p{
  color:#EFE9DC !important;
}
.cta-banner-content p,.cta-banner p{color:rgba(239,233,220,.82) !important;}
.cta-banner .btn-primary,
.cta-banner .btn-primary:hover{
  color:#0F0D0B !important;
  background:#C8A45A !important;
}
.cta-banner .btn-outline{
  color:#EFE9DC !important;
  border-color:rgba(239,233,220,.4) !important;
}

/* ─────── Photo overlay texts — cream ─────── */
.photo-overlay-text h3,
.photo-overlay-text p{color:#EFE9DC !important;}
.photo-overlay-text p{color:rgba(239,233,220,.72) !important;}

/* ─────── Featured pills / tags / badges on gold bg — dark text ─────── */
.featured-pill,
.prog-featured-pill,
.tag-gold,
.about-photo .photo-tag{
  color:#0F0D0B !important;
  background:#C8A45A !important;
}

/* ─────── Sections that forgot backgrounds — ensure dark ─────── */
.hero{background:#1A1814 !important;}

/* Catch-all: any inline style that still has dark color on dark bg */
[style*="color:rgba(26,24,20"],
[style*="color: rgba(26,24,20"],
[style*="color:rgba(26, 24, 20"],
[style*="color: rgba(26, 24, 20"]{
  color:#EFE9DC !important;
}

/* ─────── Program section cards (marketing homepage) ─────── */
.prog-name{color:#EFE9DC !important;}
.prog-desc{color:rgba(239,233,220,.72) !important;}
.prog-list li{color:rgba(239,233,220,.78) !important;}

/* ─────── WhatsApp float button (preserves green identity) ─────── */
.wa-float{color:#FFFFFF !important;}

/* ─────── About section ─────── */
.about-body{color:rgba(239,233,220,.85) !important;}
.cred{color:rgba(239,233,220,.7) !important;}

/* ─────── Testimonials ─────── */
.testi-quote{color:rgba(239,233,220,.88) !important;}
.testi-card{background:#22201B !important;border:1px solid rgba(200,164,90,.2) !important;}

/* ─────── Forms (intake, lead, magnet) — inputs + labels ─────── */
label,.form-label,.input-label{color:rgba(239,233,220,.78) !important;}

/* ─────── Diagnostic / quiz result descriptions ─────── */
.diag-result-desc{color:rgba(239,233,220,.78) !important;}

/* ─────── Footer grid columns ─────── */
.footer-col a{color:rgba(239,233,220,.68) !important;}
.footer-col a:hover{color:#E2C07A !important;}

/* ─────── Any leftover stats / numbers that lost cream text ─────── */
.stat-sub{color:rgba(239,233,220,.65) !important;}
.sticky-cta-text{color:rgba(239,233,220,.8) !important;}

/* ─────── Ticker band — dark bg with gold text ─────── */
.ticker{
  background:#22201B !important;
  border-top:1px solid rgba(200,164,90,.35) !important;
  border-bottom:1px solid rgba(200,164,90,.35) !important;
}
.ticker-item{color:#E2C07A !important;}
.ticker-sep{color:rgba(226,192,122,.4) !important;}

/* ─────── Hero / photo / banner containers — dark fallback ─────── */
.hero,.about-photo,.cta-banner,.phil-photo{
  background:#1A1814 !important;
}
.about-photo,.phil-photo,.cta-banner{background:#1F1C18 !important;}

/* Free guide section (hidden / lead magnet panel) */
#free-guide{
  background:linear-gradient(135deg,#22201B 0%,#1A1814 100%) !important;
  border-top:1px solid rgba(200,164,90,.22) !important;
  border-bottom:1px solid rgba(200,164,90,.22) !important;
}
#free-guide *{color:#EFE9DC;}
#free-guide h2,#free-guide h3{color:#EFE9DC !important;}
#free-guide p,#free-guide span,#free-guide li{color:rgba(239,233,220,.78) !important;}
#free-guide label{color:rgba(239,233,220,.85) !important;}

/* ─────── "Inverted" accent buttons (cream bg + dark text) ─────── */
.btn-dark,
.modal-cta a,
.newsletter-btn,
.blog-cta-btn{
  background:#EFE9DC !important;
  color:#0F0D0B !important;
}
.btn-dark:hover,
.modal-cta a:hover,
.newsletter-btn:hover,
.blog-cta-btn:hover{
  background:#F5F0E3 !important;
  color:#0F0D0B !important;
  transform:translateY(-2px);
}

/* ─────── Pricing region selector modal ─────── */
.fbm-pricing-modal{background:#1A1814 !important;border:1px solid rgba(200,164,90,.25) !important;}
.fbm-region-btn{color:#EFE9DC !important;background:rgba(200,164,90,.04) !important;border:1px solid rgba(200,164,90,.22) !important;}
.fbm-region-btn:hover{background:rgba(200,164,90,.1) !important;border-color:rgba(200,164,90,.5) !important;}
.fbm-region-btn .region-name{color:#EFE9DC !important;}
.fbm-region-btn .region-currency{color:#E2C07A !important;}
.fbm-pricing-overlay{background:rgba(15,13,11,.9) !important;}

/* ─────── Gold-bg BUTTON classes — dark text (MAX SPECIFICITY) ─────── */
html body .program-card-btn,
html body .sticky-cta-btn,
html body .sticky-btn,
html body .nav-enroll,
html body .btn-main,
html body .enroll-btn,
html body .enroll-cta,
html body .hero-cta,
html body .apply-btn,
html body .pricing-cta,
html body .cta-main,
html body .buy-btn,
html body .final-cta-btn,
html body .nav-button,
html body a.program-card-btn,
html body a.sticky-cta-btn,
html body a.sticky-btn,
html body a.nav-enroll,
html body a.btn-main,
html body a.final-cta-btn,
html body nav.scrolled .nav-enroll,
html body nav:not(.scrolled) .nav-enroll{
  color:#0F0D0B !important;
  background:#C8A45A !important;
}
html body .program-card-btn:hover,
html body .sticky-cta-btn:hover,
html body .sticky-btn:hover,
html body .nav-enroll:hover,
html body .btn-main:hover,
html body .enroll-btn:hover,
html body .apply-btn:hover,
html body .pricing-cta:hover,
html body .cta-main:hover,
html body .final-cta-btn:hover{
  color:#0F0D0B !important;
  background:#E2C07A !important;
}

/* FAQ section — dark bg with cream title, fix inline background-color */
section.faq-section,
.faq-section,
section[style*="background-color:#EFE9DC"],
section[style*="background-color: #EFE9DC"],
section[style*="background:#EFE9DC"],
section[style*="background: #EFE9DC"]{
  background:#1A1814 !important;
  background-color:#1A1814 !important;
}
.faq-title,.faq-section h2{color:#EFE9DC !important;}
.faq-title em,.faq-title span{color:#E2C07A !important;}
.faq-eyebrow{color:#E2C07A !important;}

/* Also override any `background:#EFE9DC` used as section bg (not buttons) — dark */
section[style*="background:#EFE9DC"]{background:#1A1814 !important;}

/* Footer link text — bump up from dim-50 to dim-68 for WCAG AA */
footer a[style*="color:rgba(239,233,220,.5"],
footer a[style*="color: rgba(239,233,220,.5"],
footer span[style*="color:rgba(239,233,220,.5"],
a.foot-link,
.footer-meta a,
.footer-links a{
  color:rgba(239,233,220,.72) !important;
}

/* Blog page apply button */
.blog-apply-btn,
.apply-now,
a.apply-now{
  color:#0F0D0B !important;
  background:#C8A45A !important;
}

/* WhatsApp float — stronger contrast (white on green brand) */
.wa-float{
  color:#FFFFFF !important;
  background:#1EA952 !important;
  font-weight:600 !important;
}

/* ─────── Universal gold-bg button safeguard ─────── */
/* Any element with inline style using gold bg should have dark text */
button[style*="background:var(--gold)"],
button[style*="background: var(--gold)"],
button[style*="background:#C8A45A"],
button[style*="background:#E2C07A"],
button[style*="background:#B08339"],
a[style*="background:var(--gold)"],
a[style*="background: var(--gold)"],
a[style*="background:#C8A45A"],
a[style*="background:#E2C07A"]{
  color:#0F0D0B !important;
}

/* End of theme fix */
