/* =========================================================
   Assurance Scooter 50 - Thème Asphalte (rouge / noir / blanc)
   ========================================================= */
:root{
  --rouge:#E63946; --rouge-d:#C42633; --rouge-l:#FDE8EA;
  --encre:#161D27; --anthra:#1D2733; --texte:#333E4A; --gris:#64717E; --ligne:#E7E9EC;
  --fond:#FFFFFF; --blanc:#fff; --fond-2:#F5F6F7;
  --r:12px; --r-s:8px; --mw:1140px;
  --fd:'Sora',system-ui,sans-serif;
  --fb:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--fb);color:var(--texte);background:var(--fond);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--rouge-d);text-decoration:none}
h1,h2,h3,h4{font-family:var(--fd);color:var(--encre);line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.45rem,3.3vw,2.1rem)}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--mw);margin:0 auto;padding:0 22px}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:.5em;background:var(--rouge);color:#fff;font-weight:700;font-family:var(--fd);padding:15px 28px;border-radius:50px;border:0;cursor:pointer;font-size:1.02rem;transition:transform .12s,background .12s;box-shadow:0 10px 24px -10px rgba(230,57,70,.7);text-align:center}
.btn:hover{background:var(--rouge-d);transform:translateY(-1px);color:#fff}
.btn-ghost{background:transparent;color:var(--encre);border:2px solid var(--encre);box-shadow:none}
.btn-ghost:hover{background:var(--encre);color:#fff}
.btn-white{background:#fff;color:var(--rouge-d);box-shadow:none}
.btn-white:hover{background:#f3f3f3;color:var(--rouge-d)}
.btn-lg{padding:18px 36px;font-size:1.1rem}

/* En-tête */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--ligne)}
.topbar{background:var(--encre);color:#C3CBD4;font-size:.82rem;text-align:center;padding:7px 12px;font-weight:500}
.nav{display:flex;align-items:center;gap:24px;height:74px}
.logo{display:flex;align-items:center}
.logo img{height:42px;width:auto}
.nav .links{display:flex;gap:22px;margin-left:12px}
.nav .links a{color:var(--texte);font-weight:600;font-size:.97rem}
.nav .links a:hover{color:var(--rouge)}
.nav .cta{margin-left:auto}
.burger{display:none;margin-left:auto;background:0;border:0;color:var(--encre);font-size:28px;cursor:pointer;line-height:1}
.mobnav{display:none;background:#fff;border-bottom:1px solid var(--ligne)}
.mobnav.open{display:block}
.mobnav a{display:block;padding:13px 22px;border-top:1px solid var(--fond-2);color:var(--texte);font-weight:600}
.mobnav a:first-child{border-top:0}

/* Hero */
.hero{background:var(--anthra);color:#fff;position:relative;overflow:hidden;padding:72px 0 82px}
.hero .hero-photo{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:.28}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--anthra) 32%,rgba(29,39,51,.72) 55%,rgba(29,39,51,.35) 100%);z-index:1}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center;position:relative;z-index:2}
.hero h1{color:#fff;margin-bottom:.3em}
.hero h1 .r{color:var(--rouge);white-space:nowrap}
.hero .lede{font-size:1.2rem;color:#D7DDE3;max-width:34ch}
.hero .actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.badges{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.badges span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#E5EAEF;font-size:.85rem;font-weight:600;padding:8px 14px;border-radius:50px}
.hero-card{background:#fff;color:var(--texte);border-radius:18px;padding:28px;box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
.hero-card .tag{display:inline-block;background:var(--rouge-l);color:var(--rouge-d);font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:50px;margin-bottom:14px}
.hero-card .big{font-family:var(--fd);font-size:3rem;font-weight:800;color:var(--encre);line-height:1;letter-spacing:-.03em}
.hero-card .big em{font-style:normal;color:var(--rouge);font-size:1.05rem;font-weight:700}
.hero-card .cond{color:var(--gris);font-size:.92rem;margin-top:4px}
.hero-card ul{list-style:none;padding:0;margin:18px 0}
.hero-card li{display:flex;gap:10px;align-items:center;padding:7px 0;font-size:.96rem;font-weight:500}
.hero-card li svg{width:20px;height:20px;color:var(--rouge);flex:0 0 auto}
.hero-card .btn{width:100%;justify-content:center}

/* Étapes */
.steps{padding:72px 0;background:var(--blanc)}
.sec-head{text-align:center;max-width:62ch;margin:0 auto 44px}
.sec-head .eye{color:var(--rouge);font-family:var(--fd);font-weight:700;font-size:.95rem;margin-bottom:10px}
.sec-head p{color:var(--gris)}
.stepgrid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden}
.step{padding:30px 24px;border-right:1px solid var(--ligne);background:#fff;transition:.15s}
.step:last-child{border-right:0}
.step:hover{background:var(--fond-2)}
.step .ic{width:46px;height:46px;border-radius:12px;background:var(--rouge-l);color:var(--rouge-d);display:grid;place-items:center;margin-bottom:14px}
.step .ic svg{width:24px;height:24px}
.step .num{font-family:var(--fd);font-weight:800;color:var(--rouge);font-size:.82rem;letter-spacing:.08em}
.step h3{margin:8px 0 .3em;font-size:1.08rem}
.step p{font-size:.94rem;color:var(--gris);margin:0}

/* Souscrire (texte + photo) */
.souscrire{padding:0 0 72px;background:var(--blanc)}
.souscrire .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.souscrire .photo{width:100%;height:auto;border-radius:var(--r);display:block}
.souscrire h2{margin-bottom:.5em}

/* Encarts 2 colonnes dans le contenu (critères, profils) */
.prose .grille-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.4em 0}
.prose .encart{background:var(--fond-2);border:1px solid var(--ligne);border-radius:var(--r-s);padding:18px 20px}
.prose .encart h4{font-family:var(--fd);font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:var(--rouge-d);margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--rouge)}
.prose .encart ul{margin:0}
.prose .encart li span{font-weight:400;color:var(--gris)}
.prose .encart li b{color:var(--encre)}
.prose .note{font-size:.88rem;color:var(--gris)}

/* Assureurs */
.brands{padding:72px 0;background:var(--fond-2)}
.brandgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.brandgrid a{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-s);padding:16px;text-align:center;transition:.12s;display:flex;align-items:center;justify-content:center;min-height:78px}
.brandgrid a:hover{border-color:var(--rouge);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(230,57,70,.5)}
.brandgrid a img{max-height:40px;max-width:120px;width:auto}
.brandgrid a .nom{font-weight:700;color:var(--encre);font-size:.95rem;font-family:var(--fd)}

/* Contenu / prose */
.prose{max-width:760px;margin:0 auto}
.prose h2{margin-top:1.6em}
.prose .titre-section{color:var(--rouge);font-size:1.4rem;margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin:.25em 0}
.prose ul.liste-puces{list-style:none;padding-left:0}
.prose ul.liste-puces li{position:relative;padding-left:1.5em;margin:.4em 0}
.prose ul.liste-puces li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--rouge);border-radius:2px}
.prose blockquote{background:var(--rouge-l);border-left:4px solid var(--rouge);border-radius:0 var(--r-s) var(--r-s) 0;padding:16px 20px;margin:1.4em 0;color:var(--texte)}
.prose blockquote .zmdi{display:none}
.prose img{border-radius:var(--r-s);margin:1.2em 0}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.92rem;border:1px solid var(--ligne);border-radius:var(--r-s);overflow:hidden}
.prose caption{caption-side:top;text-align:left;color:var(--gris);font-size:.86rem;margin-bottom:8px}
.prose thead th{background:var(--encre);color:#fff;padding:11px;font-weight:700;text-align:center;font-size:.85rem;font-family:var(--fd)}
.prose tbody td,.prose tbody th{border-top:1px solid var(--ligne);padding:10px;text-align:center;font-size:.9rem;vertical-align:middle}
.prose tbody tr:nth-child(odd){background:var(--fond-2)}
.prose .servdetls-content ul{list-style:none;padding:0}
.prose .deatils-titel h5{font-family:var(--fd);color:var(--encre);margin:1em 0 .4em;font-size:1rem}

/* Bloc "bon à savoir" */
.bon-a-savoir{background:var(--rouge-l);border-radius:var(--r);padding:20px 24px;margin:1.6em 0;display:flex;gap:16px;align-items:flex-start}
.bon-a-savoir .pic{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--rouge);color:#fff;display:grid;place-items:center}
.bon-a-savoir p{margin:0}
.bon-a-savoir b{font-family:var(--fd);color:var(--rouge-d)}

/* Article */
.article-hero{background:var(--anthra);color:#fff;padding:56px 0 42px;position:relative;overflow:hidden}
.article-hero .wrap{max-width:860px;position:relative;z-index:2}
.article-hero .kicker{color:var(--rouge);font-family:var(--fd);font-weight:700;font-size:.9rem;margin-bottom:10px}
.article-hero h1{color:#fff}
.article-hero .sub{color:#D7DDE3;font-size:1.1rem;max-width:62ch}
/* Logo de l'assureur sur les fiches marques */
.hero-titre.avec-logo{display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo-marque{flex:0 0 auto;background:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.logo-marque img{display:block;height:44px;width:auto;max-width:160px;object-fit:contain}
.article-cta{background:var(--rouge);color:#fff;border-radius:var(--r);padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:40px auto;max-width:760px;flex-wrap:wrap}
.article-cta b{font-family:var(--fd);font-size:1.15rem;color:#fff}
.body-pad{padding:50px 0 72px}
.maj{color:var(--gris);font-size:.88rem;margin-bottom:1.5em}
.voir-aussi{border-top:1px solid var(--ligne);margin-top:2.5em;padding-top:1.5em}
.voir-aussi a{font-weight:600}

/* Comparateur */
.cmp-hero{background:var(--anthra);color:#fff;padding:56px 0;text-align:center}
.cmp-hero h1{color:#fff}
.cmp-hero p{color:#D7DDE3;max-width:54ch;margin:0 auto}
.cmp-frame{max-width:900px;margin:30px auto 0;padding:0 22px}
.cmp-box iframe{width:100%;border:0;border-radius:var(--r);background:#fff}

/* Pied */
.site-foot{background:var(--encre);color:#A7B2BD;padding:0 0 30px;font-size:.92rem;position:relative}
.site-foot .foot-photo{height:200px;background-size:cover;background-position:center;position:relative}
.site-foot .foot-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,29,39,.55),var(--encre))}
.foot-inner{padding-top:44px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:30px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-top img{height:44px;margin-bottom:14px;background:#fff;padding:6px 10px;border-radius:8px;width:auto}
.foot-top h4{color:#fff;font-size:.95rem;margin-bottom:12px;font-family:var(--fd)}
.foot-top a{color:#A7B2BD;display:block;margin-bottom:7px}
.foot-top a:hover{color:#fff}
.foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.foot-cols a{margin-bottom:4px;font-size:.88rem}
.foot-bot{padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem}
.foot-bot a{color:#A7B2BD}
.foot-bot a:hover{color:#fff}

/* Barre flottante */
.floatbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--rouge);transform:translateY(110%);transition:transform .3s ease;box-shadow:0 -10px 30px -15px rgba(0,0,0,.5)}
.floatbar.show{transform:translateY(0)}
.floatbar .in{display:flex;align-items:center;gap:16px;padding:12px 0}
.floatbar .txt{color:#fff;font-weight:700;font-family:var(--fd)}
.floatbar .txt span{display:block;color:rgba(255,255,255,.85);font-weight:500;font-size:.85rem;font-family:var(--fb)}
.floatbar .btn{margin-left:auto;background:#fff;color:var(--rouge-d);box-shadow:none}

/* Bouton admin flottant (connecté) */
.admin-edit{position:fixed;top:90px;right:18px;z-index:70;background:var(--encre);color:#fff;padding:10px 16px;border-radius:50px;font-weight:700;font-size:.88rem;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.admin-edit:hover{background:#000;color:#fff}

/* Responsive */
@media(max-width:860px){
  .hero .grid{grid-template-columns:1fr;gap:32px}
  .hero:before{background:linear-gradient(180deg,var(--anthra) 55%,rgba(29,39,51,.6) 100%)}
  .hero .hero-photo{background-position:center;opacity:.2}
  .stepgrid{grid-template-columns:1fr 1fr}
  .souscrire .grid{grid-template-columns:1fr}
  .prose .grille-2{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:1px solid var(--ligne)}
  .step:nth-child(odd){border-right:1px solid var(--ligne)}
  .foot-top{grid-template-columns:1fr}
  .nav .links,.nav .cta{display:none}
  .burger{display:block}
  .floatbar .txt span{display:none}
}
@media(max-width:600px){
  .hero-titre.avec-logo{flex-direction:column-reverse;align-items:flex-start;gap:16px}
  .logo-marque{padding:9px 14px}
  .logo-marque img{height:34px;max-width:130px}
}
@media(max-width:520px){
  .stepgrid{grid-template-columns:1fr}
  .step{border-right:0!important}
  .foot-cols{grid-template-columns:1fr}
  body{font-size:16px}
}

/* Fil d'Ariane */
.ariane{font-size:.85rem;color:#9FB2C4;margin-bottom:14px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ariane a{color:#C9D6E2}
.ariane a:hover{color:#fff}
.ariane .actuel{color:#fff;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}
