/* ================================================================
   ComparAbo — global.css
   Source de vérité CSS pour tous les composants partagés.
   Breakpoint unique : 900px (mobile < 900px, desktop >= 900px)
   Ordre : variables → reset → composants → media queries
================================================================ */

/* ── VARIABLES ──────────────────────────────────────────────── */
:root {
  --bg:#080c14;--bg2:#0d1117;--bg3:#0f1520;--card:#111827;--card2:#151e2e;
  --orange:#ea580c;--orange2:#f97316;--orange3:#fb923c;
  --orange-dim:rgba(234,88,12,0.12);--orange-glow:rgba(249,115,22,0.2);
  --txt:#f8fafc;--txt2:#94a3b8;--txt3:#475569;
  --bord:rgba(255,255,255,0.06);--bord2:rgba(255,255,255,0.12);
  --vert:#10b981;--amber:#f59e0b;--rouge:#ef4444;--cyan:#06b6d4;
  --shadow:0 4px 24px rgba(0,0,0,0.4);
}
[data-theme="light"] {
  --bg:#f8f9fc;--bg2:#ffffff;--bg3:#f1f3f8;--card:#ffffff;--card2:#f8f9fc;
  --txt:#0f172a;--txt2:#475569;--txt3:#94a3b8;
  --bord:rgba(0,0,0,0.07);--bord2:rgba(0,0,0,0.13);
  --shadow:0 4px 24px rgba(0,0,0,0.08);
}

/* ── RESET + BASE ───────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Manrope',sans-serif;
  background:var(--bg);color:var(--txt);
  line-height:1.6;-webkit-font-smoothing:antialiased;
  transition:background 0.3s,color 0.3s;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── FONTS (à placer dans Base.astro <head>) ─────────────────
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link href="https://fonts.googleapis.com/css2?family=Syne:wght@700;800;900&family=Manrope:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
   <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Syne:wght@700;800;900&family=Manrope:wght@300;400;500;600;700;800&display=swap">
────────────────────────────────────────────────────────────── */

/* ── ANIMATIONS ─────────────────────────────────────────────── */
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}
@keyframes cblink{0%,100%{opacity:1}50%{opacity:0}}

/* ── NAV ────────────────────────────────────────────────────── */
/* Desktop (base) */
nav{
  padding:0 48px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  height:60px;position:sticky;top:0;z-index:200;
  background:rgba(8,12,20,0.88);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--bord);transition:background 0.3s;
}
[data-theme="light"] nav{background:rgba(248,249,252,0.92);}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:22px;letter-spacing:-0.5px;color:var(--txt);text-decoration:none;display:flex;align-items:center;gap:10px;margin-right:16px;}
.logo-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#ea580c,#f59e0b);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#fff;flex-shrink:0;}
.logo-text{display:flex;}
.logo-text .lt{color:var(--txt);}
.logo-text .lo{background:linear-gradient(135deg,#ea580c,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-logo-wrap{flex-shrink:0;margin-right:8px;}
.nav-left{display:flex;align-items:center;gap:4px;justify-content:center;}
.nav-item{position:relative;}
.nav-link{padding:6px 12px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;background:transparent;border:none;color:var(--txt2);transition:all 0.15s;font-family:'Manrope',sans-serif;display:flex;align-items:center;gap:5px;text-decoration:none;white-space:nowrap;}
.nav-link:hover{background:var(--bg3);color:var(--txt);}
.nav-link.active{background:var(--orange-dim);color:var(--orange2);}
.nav-link svg{width:10px;height:10px;transition:transform 0.15s;}
.nav-item:hover .nav-link svg{transform:rotate(180deg);}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;padding-top:8px;z-index:500;}
.nav-dropdown-inner{background:var(--card);border:1px solid var(--bord2);border-radius:12px;padding:8px;min-width:220px;box-shadow:0 8px 32px rgba(0,0,0,0.3);}
[data-theme="light"] .nav-dropdown-inner{box-shadow:0 8px 32px rgba(0,0,0,0.1);}
.nav-item:hover .nav-dropdown{display:block;}
.nav-dropdown a{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;text-decoration:none;font-size:13px;color:var(--txt2);transition:all 0.12s;font-family:'Manrope',sans-serif;font-weight:500;}
.nav-dropdown a:hover{background:var(--bg3);color:var(--txt);}
.nav-dropdown a span{font-size:11px;color:var(--txt3);}
.nav-sep{height:1px;background:var(--bord);margin:4px 0;}
.nav-right{display:flex;align-items:center;gap:10px;}
.live-pill{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--txt2);background:var(--card);border:1px solid var(--bord);padding:4px 12px;border-radius:20px;}
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--vert);animation:blink 2s infinite;}
.theme-toggle{width:32px;height:32px;border-radius:8px;border:1px solid var(--bord);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all 0.15s;}
.theme-toggle:hover{border-color:var(--bord2);}
.nav-cta{padding:7px 16px;background:var(--orange);color:#fff;font-size:12px;font-weight:700;border:none;border-radius:7px;cursor:pointer;text-decoration:none;font-family:'Manrope',sans-serif;transition:background 0.15s;}
.nav-cta:hover{background:#c2410c;}
/* Burger — masqué sur desktop */
.burger-btn{display:none;}

/* ── TICKER ─────────────────────────────────────────────────── */
.ticker-wrap{display:flex;align-items:center;height:36px;border-bottom:1px solid var(--bord);background:var(--bg2);overflow:hidden;}
.ticker-label{display:flex;align-items:center;gap:6px;padding:0 14px;font-size:9px;font-weight:800;letter-spacing:1.5px;color:var(--orange2);white-space:nowrap;border-right:1px solid var(--bord);height:100%;background:var(--bg3);flex-shrink:0;}
.ticker-live-dot{width:5px;height:5px;border-radius:50%;background:var(--vert);animation:blink 2s infinite;flex-shrink:0;}
.ticker-track{flex:1;overflow:hidden;position:relative;}
.ticker-inner{display:flex;align-items:center;gap:0;white-space:nowrap;animation:ticker 20s linear infinite;}
.ticker-inner:hover{animation-play-state:paused;}
.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 24px;font-size:12px;color:var(--txt2);cursor:pointer;transition:color 0.15s;border-right:1px solid var(--bord);}
.ticker-item:hover{color:var(--txt);}
.ticker-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.ticker-dot-green{background:var(--vert);}
.ticker-dot-blue{background:var(--cyan);}
.ticker-service{font-weight:600;color:var(--txt);}
.ticker-platform{color:var(--txt3);}
.ticker-price{font-weight:700;color:var(--orange3);}
.ticker-eco{font-size:10px;font-weight:700;color:var(--vert);}

/* ── FOOTER ─────────────────────────────────────────────────── */
footer{background:var(--bg2);border-top:1px solid var(--bord);padding:40px 48px 24px;}
/* Desktop : 4 colonnes, footer-bottom en row */
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:32px;}
.footer-brand{}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:20px;color:var(--txt);display:flex;align-items:center;gap:10px;margin-bottom:12px;text-decoration:none;}
.footer-logo-icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,#ea580c,#f59e0b);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;color:#fff;flex-shrink:0;}
.footer-logo .lt{color:var(--txt);}
.footer-logo .lo{background:linear-gradient(135deg,#ea580c,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-desc{font-size:13px;color:var(--txt2);line-height:1.65;margin-bottom:16px;}
.footer-col-title{font-family:'Syne',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt3);margin-bottom:14px;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links a{font-size:13px;color:var(--txt2);text-decoration:none;transition:color 0.15s;}
.footer-links a:hover{color:var(--orange2);}
.footer-bottom{border-top:1px solid var(--bord);padding-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-copy{font-size:12px;color:var(--txt3);}
.footer-agence{display:flex;align-items:center;gap:10px;text-decoration:none;}
.agence-label{font-size:11px;color:var(--txt3);}
.agence-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:14px;color:var(--txt2);transition:color 0.15s;}
.agence-logo span{color:var(--orange2);}
.footer-agence:hover .agence-logo{color:var(--txt);}
.footer-legal{display:flex;gap:16px;}
.footer-legal a{font-size:12px;color:var(--txt3);text-decoration:none;transition:color 0.15s;}
.footer-legal a:hover{color:var(--txt2);}

/* ── RGPD BANNER ────────────────────────────────────────────── */
/* Desktop */
#rgpd-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1000;
  background:var(--card);border-top:1px solid var(--bord2);
  padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  box-shadow:0 -4px 24px rgba(0,0,0,0.3);transition:transform 0.3s ease;
}
#rgpd-banner.hidden{transform:translateY(110%);}
.rgpd-text{font-size:13px;color:var(--txt2);line-height:1.6;flex:1;}
.rgpd-text a{color:var(--orange2);text-decoration:none;}
.rgpd-btns{display:flex;gap:10px;flex-shrink:0;}
.rgpd-accept{padding:9px 20px;background:var(--orange);color:#fff;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;border:none;border-radius:7px;cursor:pointer;transition:background 0.15s;}
.rgpd-accept:hover{background:#c2410c;}
.rgpd-refuse{padding:9px 20px;background:transparent;color:var(--txt2);font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;border:1px solid var(--bord2);border-radius:7px;cursor:pointer;transition:all 0.15s;}
.rgpd-refuse:hover{border-color:var(--txt3);color:var(--txt);}

/* ── BADGES ─────────────────────────────────────────────────── */
.plat-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-bottom:10px;}
.badge-best{background:var(--orange2);color:#fff;}
.badge-ok{background:rgba(6,182,212,0.12);color:var(--cyan);border:1px solid rgba(6,182,212,0.25);}
.badge-warn{background:rgba(245,158,11,0.1);color:var(--amber);}
.badge-bad{background:rgba(239,68,68,0.1);color:var(--rouge);}
.badge-neutral{background:var(--bg3);color:var(--txt3);border:1px solid var(--bord);}

/* ── ALERT BOX ──────────────────────────────────────────────── */
.alert-box{background:rgba(245,158,11,0.06);border:1px solid rgba(245,158,11,0.18);border-left:3px solid var(--amber);padding:12px 16px;border-radius:8px;display:flex;gap:10px;}
.alert-text{font-size:12px;color:var(--amber);line-height:1.6;opacity:0.85;}

/* ── BREADCRUMB ─────────────────────────────────────────────── */
.breadcrumb{padding:12px 48px;border-bottom:1px solid var(--bord);background:var(--bg2);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--txt3);position:relative;z-index:1;}
.breadcrumb a{color:var(--txt3);text-decoration:none;transition:color 0.15s;}
.breadcrumb a:hover{color:var(--orange2);}
.breadcrumb-sep{color:var(--txt3);}
.breadcrumb-cur{color:var(--txt2);}

/* ── CAROUSEL DOTS (compare mobile) ────────────────────────── */
.cdot{width:6px;height:6px;border-radius:50%;background:var(--bord2);cursor:pointer;transition:all 0.2s;flex-shrink:0;}
.cdot.active{background:var(--orange2);width:18px;border-radius:3px;}

/* ── LIVE PILL ──────────────────────────────────────────────── */
.live-pill{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--txt2);background:var(--card);border:1px solid var(--bord);padding:4px 12px;border-radius:20px;}

/* ================================================================
   MEDIA QUERIES — overrides mobile (< 900px)
================================================================ */
@media (max-width:900px) {

  /* NAV mobile */
  nav{
    padding:0 16px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .logo{font-size:18px;gap:8px;}
  .logo-icon{width:26px;height:26px;border-radius:7px;font-size:13px;}
  .nav-left{display:none;}
  .live-pill{display:none;}
  /* Burger visible sur mobile */
  .burger-btn{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    width:42px;height:42px;border-radius:10px;border:1px solid var(--bord);
    background:var(--card);cursor:pointer;padding:0;
  }
  .burger-btn span{width:18px;height:2px;background:var(--txt2);border-radius:1px;display:block;}
  /* Masquer nav-cta sur mobile (remplacé par le drawer) */
  .nav-cta{display:none;}

  /* FOOTER mobile : 2 colonnes, centré */
  footer{padding:24px 16px 32px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;}
  .footer-bottom{
    flex-direction:column;gap:10px;align-items:center;text-align:center;
    padding-top:16px;
  }
  .footer-legal{justify-content:center;}
  .footer-agence{justify-content:center;}

  /* RGPD mobile : colonne */
  #rgpd-banner{
    padding:14px 16px;
    flex-direction:column;gap:12px;
    align-items:stretch;justify-content:flex-start;
  }
  .rgpd-btns{display:flex;gap:10px;}
  .rgpd-accept,.rgpd-refuse{flex:1;padding:10px;}
  .rgpd-accept{font-size:13px;}
  .rgpd-refuse{font-size:13px;}

  /* BREADCRUMB mobile */
  .breadcrumb{padding:12px 16px;}

  /* iOS : éviter zoom auto sur input < 16px */
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="search"],input[type="number"],input[type="password"],
  select,textarea{font-size:16px!important;}
}
