/* ==========================================================================
   TradyGo — Dark theme override for secondary pages
   Loaded AFTER each page's inline <style>, so its rules win via cascade order
   AND with `!important` on body/text/backgrounds.
   Goal : harmonise le thème dark + green glow sur tout le site sans casser
   les composants existants (cartes, boxes, héros, sections).
   ========================================================================== */

/* CSS variables — force dark palette across pages that use them */
:root{
  --white: #0D1117;
  --gray:  #111827;
  --surface: #0D1117;
  --surface-2: rgba(255,255,255,0.04);
  --surface-3: rgba(255,255,255,0.06);
  --border: rgba(255,255,255,0.08);
  --border-2: rgba(255,255,255,0.06);
  --text: #FFFFFF;
  --muted: rgba(255,255,255,0.62);
  --muted-2: rgba(255,255,255,0.42);
  --green-light: rgba(62,207,142,0.18);
}

/* Body + html base */
html, body{background:#0D1117 !important}
body{
  color:#FFFFFF !important;
  -webkit-font-smoothing:antialiased;
}

/* NAV — dark glass */
nav{
  background:rgba(13,17,23,0.78) !important;
  backdrop-filter:saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter:saturate(180%) blur(20px) !important;
  border-bottom:1px solid rgba(255,255,255,0.06) !important;
}
nav .nav-logo span,
nav a,
nav .nav-link,
nav .nav-back{color:rgba(255,255,255,0.85)}
nav .nav-back:hover{background:rgba(255,255,255,0.06) !important;color:#fff !important}

/* HERO sections — flatten gradient-on-white so the dark body shows */
.hero{
  background:transparent !important;
}
.hero::before{
  /* Soft green halo only — no light fill */
  background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(62,207,142,0.22),transparent 60%) !important;
}
.hero h1, .hero h2, .hero p, .hero-sub{color:inherit}
.hero h1{color:#FFFFFF !important}
.hero-sub{color:rgba(255,255,255,0.65) !important}

/* PITCH / CTA dark-on-white blocks already use `--dark` — keep them dark */
.pitch{background:#0A0E14 !important}
.cta-block, .final-cta{background:linear-gradient(135deg,#0A0E1A 0%,#0F172A 100%) !important}

/* SECTIONS — make the white-background sections transparent so body shows */
section{background:transparent}
.section{background:transparent !important}
.section-container,
.container{background:transparent}

/* CARDS / BOXES — dark glass replaces white */
.card,
.feature-card,
.feature,
.feat-card,
.method-card,
.partner-card,
.channel-card,
.concept-card,
.compare-card,
.stat-card,
.step,
.tier,
.pricing-card{
  background:rgba(17,24,39,0.55) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.85) !important;
}
.feat-card h3, .feat-card p,
.pricing-card h3, .pricing-card p,
.pricing-features li{color:rgba(255,255,255,0.85) !important}
.feat-card h3, .pricing-card h3, .feat-card .feat-title{color:#fff !important}
.feat-icon{
  background:linear-gradient(135deg,rgba(62,207,142,0.25),rgba(62,207,142,0.05)) !important;
  border:1px solid rgba(62,207,142,0.3) !important;
  color:#3ECF8E !important;
}

/* "body-white" sections used in tradybot.html — flatten to dark */
.body-white,
section.body-white,
section.body-white[style*="background"]{
  background:transparent !important;
  color:#fff !important;
}

/* Pricing CTA ghost — white-on-white bug fix on dark theme */
.pricing-cta-main.ghost{
  background:rgba(255,255,255,0.05) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.18) !important;
}
.pricing-cta-main.ghost:hover{
  background:rgba(62,207,142,0.10) !important;
  border-color:rgba(62,207,142,0.5) !important;
  color:#3ECF8E !important;
}
.pricing-cta-main.primary{
  background:linear-gradient(135deg,#3ECF8E 0%,#10B981 100%) !important;
  color:#0d1117 !important;
  font-weight:800 !important;
  box-shadow:0 8px 24px -6px rgba(62,207,142,0.55) !important;
}
.pricing-cta-main.primary:hover{
  box-shadow:0 14px 36px -8px rgba(62,207,142,0.7) !important;
  transform:translateY(-2px);
}

/* FAQ accordion — fix white-on-white on tradybot.html */
.faq-item{
  background:rgba(17,24,39,0.55) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.faq-item:hover{border-color:rgba(62,207,142,0.25) !important}
.faq-q{
  color:#fff !important;
  background:transparent !important;
}
.faq-q:hover{background:rgba(62,207,142,0.04) !important}
.faq-a{color:rgba(255,255,255,0.65) !important}
.faq-a p{color:rgba(255,255,255,0.65) !important}
.faq-a a{color:#3ECF8E !important}
.faq-plus{
  background:rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.7) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
}
.faq-item.open .faq-plus{
  background:#3ECF8E !important;
  color:#0D1117 !important;
  border-color:#3ECF8E !important;
  box-shadow:0 0 16px rgba(62,207,142,0.4) !important;
}

/* mon-compte / generic message blocks — fix light backgrounds */
.msg.error{
  background:rgba(248,113,113,0.12) !important;
  border:1px solid rgba(248,113,113,0.35) !important;
  color:#FCA5A5 !important;
}
.msg.warn{
  background:rgba(251,191,36,0.10) !important;
  border:1px solid rgba(251,191,36,0.3) !important;
  color:#FCD34D !important;
}
.msg.neutral, .msg.info{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  color:rgba(255,255,255,0.85) !important;
}
.info{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.6) !important;
}

/* Install pages — light step / help-link / dmg-mock fixes */
.help-link{
  background:rgba(255,255,255,0.04) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.12) !important;
}
.help-link:hover{
  background:rgba(62,207,142,0.10) !important;
  border-color:rgba(62,207,142,0.4) !important;
}
.dmg-mock .apps-icon{
  background:rgba(255,255,255,0.04) !important;
  border-color:rgba(255,255,255,0.18) !important;
  color:rgba(255,255,255,0.55) !important;
}
.screen{
  background:rgba(17,24,39,0.55) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  color:#fff !important;
}
.screen .btn-highlight{
  background:#FBBF24 !important;
  color:#0F172A !important;
  border:1px solid #FBBF24 !important;
}

/* license-transfer page — its own .card / .steps / .warn / .serial */
.account-card, .single-card .card, body .card{}
.steps{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.85) !important;
}
.steps li, .steps p, .steps ol{color:rgba(255,255,255,0.85) !important}
.steps strong{color:#fff !important}
.steps code{
  background:rgba(255,255,255,0.06) !important;
  color:#3ECF8E !important;
  border:1px solid rgba(62,207,142,0.2) !important;
}
.warn{
  background:rgba(251,191,36,0.10) !important;
  border-left:4px solid #FBBF24 !important;
  color:rgba(255,255,255,0.88) !important;
}
.warn strong{color:#FCD34D !important}
.serial{
  background:rgba(255,255,255,0.06) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.1) !important;
}

/* Specifically license-transfer card — keep the green halo dark glass */
body[class=""] .card,
body:not(.account-page) .card{
  background:linear-gradient(180deg,rgba(17,24,39,0.85) 0%,rgba(13,17,23,0.85) 100%) !important;
  color:#fff !important;
  border:1px solid rgba(62,207,142,0.18) !important;
  box-shadow:0 24px 80px -12px rgba(62,207,142,0.25) !important;
}
.card h1, .card h2, .card h3{color:#fff !important}
.card p, .card .lead, .card label{color:rgba(255,255,255,0.78) !important}
.card .lead strong{color:#fff !important}
.msg.ok{
  background:rgba(62,207,142,0.10) !important;
  border:1px solid rgba(62,207,142,0.3) !important;
  color:#3ECF8E !important;
}
.msg.err{
  background:rgba(248,113,113,0.10) !important;
  border:1px solid rgba(248,113,113,0.3) !important;
  color:#FCA5A5 !important;
}

/* Hide "Découvrez nos 3 autres canaux" — Boost/Hold-Up/Top5 not ready yet */
.related-channels{display:none !important}

/* Channel pricing section — fix white-on-white on boost/holdup/top5/advisor */
.pricing{background:transparent !important}
.pricing-head h2{color:#fff !important}
.pricing-head p{color:rgba(255,255,255,0.62) !important}
.price-card{
  background:rgba(17,24,39,0.55) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.85) !important;
}
.price-card:hover{
  border-color:rgba(62,207,142,0.4) !important;
  box-shadow:0 16px 40px rgba(62,207,142,0.18) !important;
}
.price-card.featured{
  background:linear-gradient(180deg,rgba(62,207,142,0.10) 0%,rgba(17,24,39,0.7) 50%) !important;
  border:1px solid rgba(62,207,142,0.4) !important;
  box-shadow:0 16px 48px -12px rgba(62,207,142,0.35) !important;
}
.price-amount{color:#fff !important}
.price-amount .unit{color:rgba(255,255,255,0.55) !important}
.price-period{color:rgba(255,255,255,0.5) !important}
.price-sub{color:rgba(255,255,255,0.6) !important}
.price-save{
  background:rgba(62,207,142,0.14) !important;
  color:#3ECF8E !important;
  border:1px solid rgba(62,207,142,0.25) !important;
}
.price-btn{
  background:rgba(255,255,255,0.06) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.10) !important;
}
.price-btn:hover{
  background:rgba(62,207,142,0.18) !important;
  border-color:rgba(62,207,142,0.4) !important;
  color:#3ECF8E !important;
}
.price-card.featured .price-btn{
  background:linear-gradient(135deg,#3ECF8E 0%,#10B981 100%) !important;
  color:#0d1117 !important;
  border:none !important;
  box-shadow:0 8px 24px -6px rgba(62,207,142,0.55) !important;
}
.price-card.featured .price-btn:hover{
  box-shadow:0 14px 36px -8px rgba(62,207,142,0.7) !important;
  transform:translateY(-2px);
}
.price-card .feature-list,
.price-card ul{color:rgba(255,255,255,0.78) !important}
.price-card li{color:rgba(255,255,255,0.78) !important}
.price-card li::before{color:#3ECF8E !important}

/* Trust strip on channel pages — dark glass */
.trust{
  background:transparent !important;
  border-top:1px solid rgba(255,255,255,0.06) !important;
}
.trust-item{color:rgba(255,255,255,0.6) !important}
.trust-item strong{color:#fff !important}

/* Limited-offer / lock notice on featured price card (yellow box) */
.lock-notice, .featured-lock, .price-card .lock{
  background:rgba(251,191,36,0.10) !important;
  border:1px solid rgba(251,191,36,0.3) !important;
  color:#FCD34D !important;
}

/* Inline <code> blocks on legal pages — dark with green accent */
.legal-content code, .page-content code, body code{
  background:rgba(255,255,255,0.06) !important;
  color:#3ECF8E !important;
  border:1px solid rgba(62,207,142,0.18) !important;
  padding:2px 8px !important;
  border-radius:4px !important;
}

/* Inline yellow disclaimer divs on advisor.html (line 401-style) */
[style*="background:#FEF3C7"],
[style*="background: #FEF3C7"],
[style*="background:#fef3c7"],
[style*="background:#FFFBEB"]{
  background:rgba(251,191,36,0.10) !important;
  border-color:rgba(251,191,36,0.3) !important;
  color:#FCD34D !important;
}
[style*="color:#78350F"], [style*="color:#92400E"]{color:#FCD34D !important}

/* Inline red warning divs */
[style*="background:#FEE2E2"], [style*="background:#FEF2F2"]{
  background:rgba(248,113,113,0.10) !important;
  border-color:rgba(248,113,113,0.3) !important;
}
[style*="color:#DC2626"], [style*="color:#991B1B"]{color:#FCA5A5 !important}

/* Inline green info divs */
[style*="background:#F0FDF4"], [style*="background:#ECFDF5"]{
  background:rgba(62,207,142,0.10) !important;
  border-color:rgba(62,207,142,0.3) !important;
  color:rgba(255,255,255,0.85) !important;
}

/* Lang toggle on legal pages — gray fill bg */
.lang-toggle, [class*="lang-toggle"]{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
}

/* INFO / WARN / HIGHLIGHT BOXES — keep accent borders, dark fill */
.info-box{
  background:rgba(62,207,142,0.10) !important;
  border-left-color:#3ECF8E !important;
  color:rgba(255,255,255,0.85) !important;
}
.warn-box,
.warning-box,
.highlight{
  background:rgba(255,193,7,0.08) !important;
  border-left-color:#FBBF24 !important;
  color:rgba(255,255,255,0.88) !important;
}
.warn-box strong, .warning-box strong, .highlight strong{color:#FFD700 !important}

/* Generic text colors used by legal pages */
.legal-content, .legal-content *,
.page-content, .page-content *{color:rgba(255,255,255,0.78)}
.legal-content h1, .legal-content h2, .legal-content h3,
.page-content h1, .page-content h2, .page-content h3{color:#fff !important}
.legal-content strong, .page-content strong{color:#fff !important}
.legal-content a, .page-content a{color:#3ECF8E !important}

/* Tables */
table{color:rgba(255,255,255,0.85)}
th, td{border-color:rgba(255,255,255,0.06) !important}
th{background:rgba(255,255,255,0.03) !important;color:#fff !important}

/* Lang toggle */
.lang-toggle{background:rgba(255,255,255,0.04) !important;border:1px solid rgba(255,255,255,0.08)}
.lang-toggle a{color:rgba(255,255,255,0.6)}
.lang-toggle a.active{background:#3ECF8E !important;color:#0D1117 !important}

/* Inputs */
input[type="email"],
input[type="text"],
input[type="password"],
textarea,
select{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  color:#fff !important;
}
input::placeholder, textarea::placeholder{color:rgba(255,255,255,0.4) !important}
input:focus, textarea:focus, select:focus{
  border-color:#3ECF8E !important;
  background:rgba(255,255,255,0.06) !important;
  box-shadow:0 0 0 3px rgba(62,207,142,0.15) !important;
  outline:none;
}

/* Footer (when present) */
footer{
  background:#0A0E14 !important;
  border-top:1px solid rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.55) !important;
}
footer a{color:rgba(255,255,255,0.55)}
footer a:hover{color:#3ECF8E}

/* Light-themed badges → dark variants */
.badge-signed{
  background:rgba(62,207,142,0.10) !important;
  border:1px solid rgba(62,207,142,0.3) !important;
  color:#3ECF8E !important;
}

/* Plain dark CTA (used on install pages) — keep it green */
.cta{
  background:#3ECF8E !important;
  color:#0D1117 !important;
  box-shadow:0 4px 16px rgba(62,207,142,0.45) !important;
}
.cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(62,207,142,0.55) !important}

/* Step blocks (install pages) — dark glass */
.step{
  background:rgba(17,24,39,0.55) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
}

/* Force any pure white-color rules to inherit white-on-dark */
.text-dark, .text-slate, .text-gray-900, .text-gray-800{color:#fff !important}

/* Mon-compte / single-card pages with central card layout */
body.single-card, body.account-page{
  background:linear-gradient(135deg,#0A0E1A 0%,#0F172A 60%,#0D1117 100%) !important;
}
.account-card{
  background:rgba(17,24,39,0.85) !important;
  border:1px solid rgba(62,207,142,0.18) !important;
  color:#fff !important;
  box-shadow:0 24px 80px -12px rgba(62,207,142,0.25) !important;
}

/* Filtres page specific */
.block{
  background:rgba(17,24,39,0.55) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,0.85) !important;
  backdrop-filter:blur(14px);
}
.nav-link:hover, .nav-link.active{
  background:rgba(62,207,142,0.15) !important;
  color:#fff !important;
  box-shadow:0 0 16px rgba(62,207,142,0.2) !important;
}

/* Legal pages — warning / highlight / callout boxes */
.callout-red, .warning, .warn{
  background:rgba(239,68,68,0.10) !important;
  border-left-color:#F87171 !important;
  color:rgba(255,255,255,0.88) !important;
}
.callout-red strong, .warning strong, .warn strong{color:#FCA5A5 !important}
.callout-red p, .warning p, .warn p{color:rgba(255,255,255,0.88) !important}

.highlight{
  background:rgba(251,191,36,0.10) !important;
  border-left-color:#FBBF24 !important;
  color:rgba(255,255,255,0.88) !important;
}

/* Info-box variants — flatten light blue and green ones */
.info-box, .info-box p{color:rgba(255,255,255,0.85) !important}
.warning-box{
  background:rgba(251,191,36,0.10) !important;
  border-color:rgba(251,191,36,0.3) !important;
  color:rgba(255,255,255,0.88) !important;
}

/* Sections with hard-coded white backgrounds */
section[style*="background:white"],
section[style*="background:#F"],
section[style*="background:#fff"]{background:transparent !important}

/* Loose footer reset */
footer.simple, footer{background:#0A0E14 !important;border-top:1px solid rgba(255,255,255,0.06) !important}
footer, footer p, footer span{color:rgba(255,255,255,0.55) !important}

/* Robot eye blink — adds subtle "live" character to the bot mascot */
@keyframes tg-bot-blink{
  0%, 92%, 100%{filter:brightness(1) drop-shadow(0 0 8px rgba(62,207,142,0.45))}
  93%, 96%{filter:brightness(1.6) drop-shadow(0 0 14px rgba(62,207,142,0.85))}
}
.btn-bot-icon{
  animation:tg-bot-blink 8s ease-in-out infinite;
}
/* Big mascot keeps the float animation AND adds blink — combined */
.bot-visual img{
  animation:float 6s ease-in-out infinite, tg-bot-blink 8s ease-in-out infinite !important;
}
