/* ===== Couleurs du site = couleurs de l'administration (jade, vert très sombre, or), clair + sombre =====
   Aucune mise en page ici : uniquement des couleurs. */
:root {
  --c-nav:#0A2A22; --c-nav-dark:#061D17; --c-accent:#00A86B; --c-accent-2:#007A52; --c-hover:#103B30; --c-gold:#FCD116;
  --c-bg:#EEF5F2; --c-ink:#0B0F0E; --c-surface:#FFFFFF; --c-soft:#E5F5EE; --c-line:#DBE7E1; --c-muted:#5B6B64; --c-link:#007A52;
  --brand:#007A52; --brand-2:#005C3D; --jade:#00A86B; --bg:var(--c-bg); --ink:var(--c-ink); --gold:#FCD116;
}
html[data-theme="dark"] {
  color-scheme:dark;
  --c-nav:#071F19; --c-nav-dark:#041510; --c-hover:#164E41;
  --c-bg:#0A1512; --c-ink:#E6EFEB; --c-surface:#112420; --c-soft:#16302A; --c-line:#24433A; --c-muted:#9DB3AA; --c-link:#2FD39A;
}
body { background:var(--c-bg); color:var(--c-ink); }
a { color:var(--c-link); } a:hover { color:var(--c-accent); }
h1,h2,h3,h4,h5,.hero h1 a,.masthead-title a,.page-title { color:var(--c-ink); }
.text-muted, .small.text-muted, .masthead-date, .masthead-figure figcaption, .hero-figure figcaption, .ad-label, .auth-sub,
.contact-form .lead-s, .cat-card p, .subscription-duration small, .subscription-payment, .register-intro, .register-help,
.register-social-divider, .login-foot { color:var(--c-muted) !important; }
.masthead-lead, .article-body blockquote { color:var(--c-ink); }
.article-body blockquote, .legal-body code { background:var(--c-soft); }

/* --- Bandeau : barre du haut, en-tête, navigation --- */
.topbar { background:var(--c-nav-dark); color:#BFE3D4; border:0; }
.topbar a, .topbar .topbar-date { color:#D6EFE5; }
.topbar-dot { background:var(--c-accent); box-shadow:0 0 0 3px rgba(0,179,120,.25); }
.site-header { background:var(--c-nav); border-bottom:0; }
.tagline-top { color:#CFE8DD; }
.catnav { background:var(--c-nav); border-top:1px solid rgba(255,255,255,.08); box-shadow:0 8px 18px rgba(0,0,0,.18); }
.catnav .nav-link { color:#fff; }
.catnav .nav-link:hover, .catnav .nav-link:focus { color:#fff; background:var(--c-hover); border-bottom-color:var(--c-accent); }
.catnav .nav-link.active, .catnav .nav-link[aria-current] { color:var(--c-gold); border-bottom-color:var(--c-gold); }
.catnav .dropdown-menu { background:var(--c-surface); border-color:var(--c-line); }
.catnav .dropdown-item { color:var(--c-ink); }
.catnav .dropdown-item:hover, .catnav .dropdown-item:focus, .catnav .dropdown-item:active { background:var(--c-hover); color:#fff; }
.site-header .btn-outline-light { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); color:#fff; }
.site-header .btn-outline-light:hover { background:var(--c-hover); color:#fff; }
/* recherche : fond du bandeau, plus de bloc blanc */
.site-header .form-control { background:var(--c-hover); border:1px solid rgba(255,255,255,.16); color:#fff; }
.site-header .form-control::placeholder { color:#9FC4B6; }
.site-header .form-control:focus { background:var(--c-hover); color:#fff; border-color:var(--c-accent); box-shadow:0 0 0 3px rgba(0,179,120,.28); }
.site-header .badge.text-bg-warning { background:var(--c-gold) !important; color:#2b2200 !important; }
.btn-brand, .login-submit { background:var(--c-accent-2); color:#fff; border:0; font-weight:700; }
.btn-gold, .subscription-cta { background:var(--c-gold); color:#111; border:0; font-weight:700; }
.btn-brand:hover, .login-submit:hover { background:var(--brand-2); color:#fff; }
.btn-gold:hover, .subscription-cta:hover, .subscription-cta:focus { background:#E6BD00; color:#111; }
.btn-brand:focus-visible, .btn-gold:focus-visible { box-shadow:0 0 0 3px rgba(0,179,120,.35); }
.kicker, .card-num, .login-tagline strong, .login-reset a { color:var(--c-link); }
.card-num { background:var(--c-accent-2); color:#fff; }
.section-title { border-bottom-color:var(--c-accent); }
.page-title, .sec-label { border-top-color:var(--c-ink); }
.cta-band { background:linear-gradient(135deg,var(--c-nav-dark),var(--c-nav)); color:#fff; }
.footer { background:var(--c-nav-dark); color:#CFE8DD; border-top:3px solid var(--c-accent); }
.footer a { color:#fff; }
.vid-play { background:rgba(0,179,120,.92); }
.auth-aside, .contact-info { background:radial-gradient(circle at 20% 0%,var(--c-hover) 0,var(--c-nav) 60%,var(--c-nav-dark) 100%); }

/* --- Surfaces (blanches en clair, vert très sombre en mode sombre) --- */
.card, .perk-box, .perk-form, .notif-list li, .media-card, .auth-shell, .cal, .ev-card, .cat-card, .contact-wrap,
.subscription-offer, .consent-banner, .ad-slot[data-slot=sticky_bottom], .login-image-card {
  background:var(--c-surface); color:var(--c-ink); border-color:var(--c-line); }
.notif-list li.is-new { background:var(--c-soft); }
.beat-col, .beat-item, .perk-list li { border-color:var(--c-line); }
.beat-num { color:var(--c-line); }
.auth-card input[type=text], .auth-card input[type=email], .auth-card input[type=password], .contact-form .form-control,
.login-form-group input, .form-control, .form-select { background:var(--c-surface); color:var(--c-ink); border-color:var(--c-line); }
html[data-theme="dark"] .auth-card input, html[data-theme="dark"] .contact-form .form-control, html[data-theme="dark"] .login-form-group input { background:var(--c-soft); }
.auth-card input:focus, .contact-form .form-control:focus, .login-form-group input:focus, .form-control:focus { border-color:var(--c-accent); box-shadow:0 0 0 3px rgba(0,179,120,.25); outline:none; }
.cal-nav, .ad-close { background:var(--c-soft); color:var(--c-ink) !important; }
.cal-day { color:var(--c-ink); } .cal-day.has { background:var(--c-soft); color:var(--c-link) !important; }
.cal-day.has:hover, .cal-day.sel { background:var(--c-accent-2); color:#fff !important; } .cal-dot { color:var(--c-accent); }
.ev-date { background:var(--c-nav); color:#fff; } .ev-body small, .cal-grid th { color:var(--c-muted); }
.ad-empty { background:var(--c-soft); color:var(--c-muted); border-color:var(--c-line); }
.hero-frame { background:var(--c-nav-dark); } .article-card .card-img-top { background:var(--c-soft); }

/* --- Pages de connexion / inscription --- */
body.auth-login { background:var(--c-bg); color:var(--c-ink); }
.login-brand, .login-tagline, .login-form-group label, .register-accept, .auth-tabs a { color:var(--c-ink); }
.login-divider { background:var(--c-line); }
.auth-tabs { background:var(--c-soft); border-color:var(--c-line); }
.auth-tabs a.is-active { background:var(--c-surface); color:var(--c-link); }
.register-google { background:var(--c-surface); color:var(--c-ink); border-color:var(--c-line); }
.register-google:hover { background:var(--c-soft); border-color:var(--c-accent); color:var(--c-ink); }
.register-accept input { accent-color:var(--c-accent); }
.subscription-price { background:var(--c-soft); color:var(--c-ink); } .subscription-benefits, .subscription-offer h2 span { color:var(--c-ink); }

/* --- Logo : image sans fond, jamais rognée en rond --- */
.login-brand img, .auth-logo img, .auth-logo-sm img { width:auto !important; height:58px !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; object-fit:contain !important; }
.auth-logo-sm img { height:72px !important; }

/* --- Bouton mode sombre --- */
.theme-toggle { display:inline-grid; place-items:center; width:34px; height:34px; flex:0 0 auto; margin:0; padding:0; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:transparent; color:#fff; cursor:pointer; line-height:1; }
.theme-toggle:hover { background:var(--c-hover); }
.theme-toggle .bi-sun { display:none; } html[data-theme="dark"] .theme-toggle .bi-moon-stars { display:none; } html[data-theme="dark"] .theme-toggle .bi-sun { display:inline; }
