/* ============================================================
   MonPareBriseGratuit.fr — Design system v3 (mai 2026)
   Identité : Jaune #FFB300 (touches) + Marine #001F5B + Inter/Playfair
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --Y:#FFB300;     /* primaire jaune */
  --Y-h:#E09E00;   /* jaune hover */
  --YP:#FFFBF0;    /* jaune pâle (badges) */
  --N:#001F5B;    /* marine secondaire */
  --T:#1A1A2E;    /* texte corps */
  --W:#fff;
  --G1:#FAFAFA;    /* fond sections */
  --G2:#F0F0F0;    /* bordures */
  --G3:#CCC;
  --G4:#888;
  --G5:#444;
}
html{scroll-behavior:smooth;}
body{font-family:"Inter",sans-serif;background:#fff;color:var(--T);-webkit-font-smoothing:antialiased;line-height:1.5;}
a{color:inherit;}
img{max-width:100%;height:auto;display:block;}

/* ============================================================
   NAV — sticky blanche, logo + trait jaune
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:100;
  background:#fff;border-bottom:1px solid var(--G2);
  padding:0 56px;height:62px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo-wrap{position:relative;display:inline-block;text-decoration:none;}
.nav-logo-wrap::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--Y);border-radius:2px;}
.nav-logo{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;color:var(--T);letter-spacing:-0.01em;}
.nav-logo .acc{color:var(--Y);}
.nav-links{display:flex;gap:28px;}
.nav-link{font-size:13px;font-weight:400;color:var(--G4);text-decoration:none;transition:color .15s;}
.nav-link:hover{color:var(--T);}
.nav-cta{font-size:12px;font-weight:600;color:var(--T);border:1.5px solid var(--Y);padding:8px 18px;border-radius:6px;background:transparent;text-decoration:none;transition:background .15s;}
.nav-cta:hover{background:var(--Y);}
.nav-burger{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--T);}

/* ============================================================
   HERO HOMEPAGE — image camion + texte blanc + card form
   ============================================================ */
.hero{
  min-height:calc(100vh - 62px);
  position:relative;
  background-image:url('../images/hero-van.jpg'); /* fallback navigateurs anciens */
  background-image:url('../images/hero-van.webp'); /* moderne, 173 KB vs 1.15 MB */
  background-size:cover;
  background-position:center right;
  display:flex;flex-direction:column;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(105deg,
    rgba(0,15,40,0.72) 0%,
    rgba(0,15,40,0.52) 30%,
    rgba(0,15,40,0.15) 55%,
    rgba(0,0,0,0.0) 70%);
}
.hero-body{
  position:relative;z-index:1;
  flex:1;
  display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:center;
  padding:64px 56px;
  max-width:1200px;width:100%;margin:0 auto;
}
.hero-eyebrow{
  font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;
  color:rgba(255,255,255,0.65);margin-bottom:20px;
  display:flex;align-items:center;gap:10px;
}
.hero-eyebrow::before{content:"";width:20px;height:2px;background:var(--Y);border-radius:2px;}
.hero-h1{
  font-family:"Playfair Display",serif;
  font-size:52px;font-weight:700;color:#fff;
  line-height:1.08;letter-spacing:-0.02em;margin-bottom:18px;
  text-shadow:0 2px 16px rgba(0,0,0,0.25);
}
.hero-h1 em{font-style:italic;color:var(--Y);}
.hero-sub{
  font-size:16px;font-weight:300;
  color:rgba(255,255,255,0.80);
  line-height:1.65;margin-bottom:32px;max-width:440px;
}
.hero-pts{display:flex;flex-direction:column;gap:12px;}
.hero-pt{font-size:14px;color:rgba(255,255,255,0.85);display:flex;align-items:center;gap:10px;font-weight:400;}
.hero-pt-dot{width:6px;height:6px;border-radius:50%;background:var(--Y);flex-shrink:0;}

/* CARD FORMULAIRE */
.hero-form{
  background:#fff;border-radius:14px;padding:28px;
  box-shadow:0 8px 48px rgba(0,0,0,0.22);
}
.hf-title{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;color:var(--T);margin-bottom:4px;}
.hf-sub{font-size:12px;color:var(--G4);margin-bottom:20px;}
.hf-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.hf-input{
  width:100%;background:var(--G1);border:1px solid var(--G2);
  border-radius:7px;padding:11px 14px;font-size:13px;color:var(--G5);
  font-family:"Inter",sans-serif;margin-bottom:8px;
  transition:border-color .15s;
}
.hf-input:focus{outline:none;border-color:var(--Y);}
.hf-row2 .hf-input{margin-bottom:0;}
.hf-cta{
  width:100%;background:var(--Y);color:var(--T);border:none;
  border-radius:8px;padding:14px;font-size:13px;font-weight:600;
  cursor:pointer;font-family:"Inter",sans-serif;margin-top:4px;
  letter-spacing:0.01em;transition:background .15s;
}
.hf-cta:hover{background:var(--Y-h);}
.hf-secure{font-size:10px;color:var(--G3);text-align:center;margin-top:10px;}
.hf-rgpd{font-size:10px;color:var(--G4);margin-top:8px;display:flex;gap:6px;align-items:flex-start;}
.hf-rgpd input{margin-top:2px;}

/* ============================================================
   STRIP + RÉASSURANCE
   ============================================================ */
.strip{height:3px;background:var(--Y);}
.reassurance{
  background:var(--G1);border-top:1px solid var(--G2);
  padding:18px 56px;display:flex;gap:36px;justify-content:center;flex-wrap:wrap;
}
.ra-item{font-size:12px;font-weight:500;color:var(--G5);display:flex;align-items:center;gap:7px;}
.ra-dot{width:5px;height:5px;border-radius:50%;background:var(--Y);flex-shrink:0;}

/* ============================================================
   SECTIONS génériques
   ============================================================ */
.section{padding:80px 56px;max-width:1200px;margin:0 auto;}
.section-grey{background:var(--G1);}
.section-grey > .section-inner{max-width:1200px;margin:0 auto;}
.sec-label{
  font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--G3);margin-bottom:10px;display:flex;align-items:center;gap:10px;
}
.sec-label::after{content:"";flex:1;height:1px;background:var(--G2);}
.sec-title{font-family:"Playfair Display",serif;font-size:30px;font-weight:600;color:var(--T);margin-bottom:48px;letter-spacing:-0.01em;}
.sec-title em{font-style:italic;color:var(--N);}

/* ============================================================
   ÉTAPES (Comment ça marche)
   ============================================================ */
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.etape{padding:32px;background:#fff;border:1px solid var(--G2);border-radius:14px;}
.etape-num{
  font-family:"Playfair Display",serif;font-style:italic;
  font-size:64px;font-weight:600;color:var(--Y);opacity:0.25;line-height:1;margin-bottom:-8px;
}
.etape-title{font-family:"Playfair Display",serif;font-size:17px;font-weight:600;color:var(--T);margin-bottom:10px;}
.etape-desc{font-size:13px;color:var(--G4);line-height:1.65;}

/* ============================================================
   VILLES GRID (homepage)
   ============================================================ */
.villes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;}
.ville-card{
  background:#fff;border:1px solid var(--G2);border-radius:10px;
  padding:18px 20px;text-decoration:none;display:block;
  transition:border-color .15s,box-shadow .15s;
}
.ville-card:hover{border-color:var(--Y);box-shadow:0 2px 12px rgba(255,179,0,0.12);}
.ville-name{font-family:"Playfair Display",serif;font-size:16px;font-weight:600;color:var(--T);margin-bottom:4px;}
.ville-info{font-size:11px;color:var(--G4);}
.ville-arrow{font-size:11px;color:var(--Y);margin-top:8px;display:block;font-weight:600;}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--N);padding:40px 56px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.footer-logo{font-family:"Playfair Display",serif;font-size:16px;font-weight:600;color:#fff;}
.footer-logo .acc{color:var(--Y);}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-link{font-size:12px;color:rgba(255,255,255,0.4);text-decoration:none;transition:color .15s;}
.footer-link:hover{color:#fff;}
.footer-right{font-size:11px;color:rgba(255,255,255,0.3);text-align:right;line-height:1.7;}

/* ============================================================
   PAGE VILLE — hero mini
   ============================================================ */
.hero-ville{background:var(--G1);padding:40px 56px 32px;border-bottom:1px solid var(--G2);}
.hero-ville-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}
.breadcrumb{font-size:11px;color:var(--G4);margin-bottom:14px;}
.breadcrumb a{color:var(--G4);text-decoration:none;}
.breadcrumb a:hover{color:var(--T);}
.breadcrumb .sep{margin:0 6px;color:var(--G3);}
.hero-ville h1{font-family:"Playfair Display",serif;font-size:36px;font-weight:600;color:var(--T);letter-spacing:-0.01em;line-height:1.15;}
.hero-ville h1 em{font-style:italic;color:var(--N);}
.hero-ville-stats{display:flex;gap:28px;}
.hv-stat{text-align:center;}
.hv-stat-val{font-family:"Playfair Display",serif;font-size:22px;font-weight:600;color:var(--T);line-height:1;}
.hv-stat-lab{font-size:10px;color:var(--G4);text-transform:uppercase;letter-spacing:0.1em;margin-top:4px;}

/* ============================================================
   CLASSEMENT — Top 1 large
   ============================================================ */
.classement{padding:60px 56px;max-width:1200px;margin:0 auto;}
.top1{
  background:#fff;border:1px solid var(--G2);border-radius:14px;overflow:hidden;
  border-left:4px solid var(--Y);
  display:grid;grid-template-columns:1fr 260px;
  margin-bottom:32px;
  box-shadow:0 4px 24px rgba(0,15,40,0.06);
}
.top1-left{padding:32px 36px;}
.top1-badge{display:inline-block;background:var(--Y);color:var(--T);font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:6px 12px;border-radius:6px;margin-bottom:18px;}
.top1-name{font-family:"Playfair Display",serif;font-size:26px;font-weight:600;color:var(--T);margin-bottom:6px;letter-spacing:-0.01em;}
.top1-meta{font-size:13px;color:var(--G4);margin-bottom:14px;}
.top1-meta .stars{color:var(--Y);letter-spacing:1px;}

/* Avis Google — bloc note + nb avis (utilisé dans top1-meta, tc-meta) */
.avis{display:inline-flex;align-items:center;gap:6px;font-size:12px;}
.avis .stars{color:var(--Y);letter-spacing:1px;font-size:13px;line-height:1;}
.avis .avis-note{color:var(--T);font-weight:600;}
.avis .avis-nb{color:var(--G4);font-weight:400;}
.top1-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;padding:18px 0;border-top:1px solid var(--G2);border-bottom:1px solid var(--G2);}
.t1g-cell .lab{font-size:10px;color:var(--G4);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px;}
.t1g-cell .val{font-family:"Playfair Display",serif;font-size:15px;font-weight:600;color:var(--T);}
.top1-desc{font-size:13px;color:var(--G5);line-height:1.65;}
.top1-right{background:var(--G1);padding:28px 24px;display:flex;flex-direction:column;gap:14px;border-left:1px solid var(--G2);}
.top1-logo{width:80px;height:80px;border-radius:50%;background:var(--YP);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-family:"Playfair Display",serif;font-weight:600;color:var(--N);font-size:18px;border:2px solid var(--Y);}
.top1-logo img{max-width:60px;max-height:60px;}
.top1-perks{display:flex;flex-direction:column;gap:8px;margin:8px 0;}
.t1p{font-size:12px;color:var(--G5);display:flex;gap:8px;align-items:center;}
.t1p::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--Y);flex-shrink:0;}
.btn-prim{display:block;text-align:center;background:var(--Y);color:var(--T);font-size:12px;font-weight:600;padding:12px;border-radius:7px;text-decoration:none;transition:background .15s;}
.btn-prim:hover{background:var(--Y-h);}
.btn-sec{display:block;text-align:center;background:transparent;color:var(--T);border:1px solid var(--G2);font-size:12px;font-weight:500;padding:11px;border-radius:7px;text-decoration:none;transition:border-color .15s;}
.btn-sec:hover{border-color:var(--Y);}

/* ============================================================
   Top 2 & 3
   ============================================================ */
.top23{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.tc{position:relative;background:#fff;border:1px solid var(--G2);border-radius:12px;padding:24px;}
.tc::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--Y);border-radius:12px 12px 0 0;}
.tc-rank{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:var(--Y);color:var(--N);display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:20px;font-weight:700;z-index:2;box-shadow:0 2px 8px rgba(255,179,0,0.35);border:2px solid #fff;}
.tc-name{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;color:var(--T);margin-bottom:4px;margin-top:6px;}
.tc-meta{font-size:12px;color:var(--G4);margin-bottom:12px;}
.tc-meta .stars{color:var(--Y);}
.tc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--G2);border-bottom:1px solid var(--G2);margin-bottom:12px;}
.tc-grid .lab{font-size:9px;color:var(--G4);text-transform:uppercase;letter-spacing:0.08em;}
.tc-grid .val{font-size:13px;font-weight:500;color:var(--T);margin-top:2px;}
.tc-desc{font-size:12px;color:var(--G5);line-height:1.6;margin-bottom:14px;}
.tc-foot{display:flex;gap:8px;}
.tc-foot .btn-prim,.tc-foot .btn-sec{flex:1;font-size:11px;padding:10px;}

/* ============================================================
   Recherche code postal
   ============================================================ */
.cp-search{background:var(--G1);padding:48px 56px;}
.cp-inner{max-width:600px;margin:0 auto;text-align:center;}
.cp-title{font-family:"Playfair Display",serif;font-size:20px;font-weight:600;margin-bottom:8px;}
.cp-sub{font-size:13px;color:var(--G4);margin-bottom:20px;}
.cp-form{display:flex;gap:8px;justify-content:center;}
.cp-input{padding:12px 16px;border:1px solid var(--G2);border-radius:7px;font-size:14px;font-family:"Inter",sans-serif;background:#fff;width:140px;text-align:center;}
.cp-input:focus{outline:none;border-color:var(--Y);}
.cp-btn{background:var(--N);color:#fff;border:none;border-radius:7px;padding:12px 20px;font-size:13px;font-weight:600;cursor:pointer;font-family:"Inter",sans-serif;}
.cp-result{margin-top:16px;font-size:13px;color:var(--T);}
.cp-result a{color:var(--N);font-weight:600;}

/* ============================================================
   FAQ accordéon
   ============================================================ */
.faq{padding:60px 56px;max-width:900px;margin:0 auto;}
.faq-item{border:1px solid var(--G2);border-radius:10px;margin-bottom:10px;background:#fff;transition:border-color .15s;}
.faq-item:hover{border-color:var(--Y);}
.faq-q{padding:18px 22px;font-size:14px;font-weight:600;color:var(--T);cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{content:"+";font-size:22px;color:var(--Y);font-weight:300;transition:transform .2s;}
.faq-item[open] .faq-q::after{content:"−";}
.faq-a{padding:0 22px 18px;font-size:13px;color:var(--G5);line-height:1.7;}

/* ============================================================
   PAGE MERCI / mentions / blog — gardent style sobre
   ============================================================ */
.page{max-width:800px;margin:60px auto;padding:0 56px;}
.page h1{font-family:"Playfair Display",serif;font-size:32px;font-weight:600;margin-bottom:18px;}
.page h2{font-family:"Playfair Display",serif;font-size:22px;font-weight:600;margin:32px 0 12px;}
.page p{font-size:14px;color:var(--G5);line-height:1.7;margin-bottom:14px;}
.page ul{margin:0 0 14px 22px;}
.page li{font-size:14px;color:var(--G5);line-height:1.7;}

/* ============================================================
   BLOG — Index + Article
   ============================================================ */
.blog-hero{background:var(--G1);padding:48px 56px 36px;border-bottom:1px solid var(--G2);}
.blog-hero-inner{max-width:1200px;margin:0 auto;text-align:center;}
.blog-hero h1{font-family:"Playfair Display",serif;font-size:40px;font-weight:600;color:var(--T);letter-spacing:-0.01em;}
.blog-hero h1 em{font-style:italic;color:var(--N);}
.blog-hero p{font-size:14px;color:var(--G4);margin-top:10px;max-width:560px;margin-left:auto;margin-right:auto;}

.blog-grid{max-width:1100px;margin:0 auto;padding:48px 56px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.blog-card{background:#fff;border:1px solid var(--G2);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;}
.blog-card:hover{border-color:var(--Y);box-shadow:0 4px 20px rgba(255,179,0,0.12);}
.blog-card-body{padding:22px 24px;}
.blog-card-tag{display:inline-block;background:var(--YP);color:var(--T);font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:4px 10px;border-radius:6px;margin-bottom:12px;border:1px solid rgba(255,179,0,0.25);}
.blog-card-title{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;color:var(--T);line-height:1.3;margin-bottom:10px;}
.blog-card-desc{font-size:13px;color:var(--G4);line-height:1.6;margin-bottom:14px;}
.blog-card-arrow{font-size:12px;color:var(--Y);font-weight:600;}

/* Article individuel */
.article-hero{background:var(--G1);padding:40px 56px 32px;border-bottom:1px solid var(--G2);}
.article-hero-inner{max-width:760px;margin:0 auto;}
.article-hero .breadcrumb{margin-bottom:14px;}
.article-hero h1{font-family:"Playfair Display",serif;font-size:34px;font-weight:600;color:var(--T);line-height:1.2;letter-spacing:-0.01em;}
.article-hero h1 em{font-style:italic;color:var(--N);}
.article-meta{font-size:12px;color:var(--G4);margin-top:14px;display:flex;gap:14px;flex-wrap:wrap;}
.article-meta .tag{background:var(--YP);color:var(--T);padding:3px 9px;border-radius:5px;font-weight:600;border:1px solid rgba(255,179,0,0.25);}

.blog-article{max-width:760px;margin:0 auto;padding:48px 56px;}
.blog-article p{font-size:15px;color:var(--G5);line-height:1.75;margin-bottom:18px;}
.blog-article h2{font-family:"Playfair Display",serif;font-size:24px;font-weight:600;color:var(--T);letter-spacing:-0.01em;margin:36px 0 14px;padding-top:14px;border-top:1px solid var(--G2);}
.blog-article h2:first-of-type{border-top:none;padding-top:0;margin-top:0;}
.blog-article h3{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;color:var(--T);margin:24px 0 10px;}
.blog-article ul,.blog-article ol{margin:0 0 18px 22px;}
.blog-article li{font-size:15px;color:var(--G5);line-height:1.75;margin-bottom:8px;}
.blog-article a{color:var(--N);font-weight:500;border-bottom:1px solid rgba(0,31,91,0.2);text-decoration:none;}
.blog-article a:hover{border-bottom-color:var(--N);}
.blog-article strong{color:var(--T);font-weight:600;}
.blog-article em{font-style:italic;}
.blog-article blockquote{border-left:3px solid var(--Y);padding:8px 18px;margin:18px 0;color:var(--G5);font-style:italic;background:var(--YP);border-radius:0 6px 6px 0;}
.blog-article .info-box{background:var(--YP);border:1px solid rgba(255,179,0,0.3);border-radius:10px;padding:18px 22px;margin:22px 0;font-size:14px;color:var(--T);line-height:1.7;}
.blog-article .info-box strong{color:var(--N);}
.blog-article .warning-box{background:#FFF5F5;border:1px solid #FCA5A5;border-radius:10px;padding:18px 22px;margin:22px 0;font-size:14px;color:var(--T);line-height:1.7;}
.blog-article .cta-box{background:var(--N);color:#fff;border-radius:10px;padding:24px;margin:28px 0;text-align:center;}
.blog-article .cta-box h3{font-family:"Playfair Display",serif;color:#fff;font-size:18px;margin-bottom:8px;}
.blog-article .cta-box p{color:rgba(255,255,255,0.85);font-size:14px;margin-bottom:14px;}
.blog-article .cta-box a{display:inline-block;background:var(--Y);color:var(--T);padding:11px 22px;border-radius:7px;font-weight:600;font-size:13px;text-decoration:none;border:none;}
.blog-article table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px;}
.blog-article th,.blog-article td{border:1px solid var(--G2);padding:10px 14px;text-align:left;}
.blog-article th{background:var(--G1);font-weight:600;color:var(--T);}
.blog-article img{margin:18px 0;border-radius:8px;}
.blog-article hr{border:none;border-top:1px solid var(--G2);margin:32px 0;}

.article-cta-end{max-width:760px;margin:0 auto 60px;padding:0 56px;}

@media (max-width:900px){
  .blog-hero{padding:36px 20px 28px;}
  .blog-hero h1{font-size:28px;}
  .blog-grid{padding:32px 20px;}
  .article-hero{padding:32px 20px 24px;}
  .article-hero h1{font-size:24px;}
  .blog-article{padding:32px 20px;}
  .blog-article h2{font-size:20px;}
  .blog-article p,.blog-article li{font-size:14px;}
  .article-cta-end{padding:0 20px;margin-bottom:40px;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px){
  .nav{padding:0 20px;}
  .nav-links{display:none;}
  .nav-cta{font-size:11px;padding:7px 12px;}
  .hero-body{grid-template-columns:1fr;padding:48px 24px;gap:32px;}
  .hero-h1{font-size:36px;}
  .hero-sub{font-size:14px;}
  .hero-form{padding:22px;}
  .reassurance{padding:14px 20px;gap:14px;}
  .ra-item{font-size:11px;}
  .section{padding:48px 24px;}
  .etapes,.villes-grid{grid-template-columns:1fr;}
  .villes-grid{gap:10px;}
  .footer{padding:28px 24px;flex-direction:column;text-align:center;}
  .footer-right{text-align:center;}
  .hero-ville{padding:28px 20px 22px;}
  .hero-ville-inner{flex-direction:column;align-items:flex-start;}
  .hero-ville h1{font-size:26px;}
  .hero-ville-stats{gap:18px;}
  .classement{padding:36px 20px;}
  .top1{grid-template-columns:1fr;}
  .top1-left{padding:24px;}
  .top1-grid{grid-template-columns:1fr 1fr;}
  .top1-right{border-left:none;border-top:1px solid var(--G2);}
  .top23{grid-template-columns:1fr;}
  .cp-search{padding:36px 20px;}
  .faq{padding:36px 20px;}
}
@media (max-width: 480px){
  .hero-h1{font-size:30px;}
  .sec-title{font-size:24px;}
  .top1-grid{grid-template-columns:1fr;}
}

/* === Annuaire complet par ville (tous centres triés par note Google) === */
.annuaire-ville{max-width:920px;margin:40px auto;padding:0 16px;}
.annuaire-ville .sec-label{color:var(--G4);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;text-align:center;}
.annuaire-ville .sec-title{font-family:"Playfair Display",serif;font-size:26px;font-weight:600;color:var(--T);text-align:center;margin-bottom:12px;letter-spacing:-0.01em;}
.annuaire-ville .sec-title em{color:var(--N);font-style:italic;}
.ac-intro{color:var(--G4);font-size:13px;line-height:1.5;text-align:center;max-width:600px;margin:0 auto 24px;}
.ac-list{list-style:none;padding:0;margin:0;border:1px solid var(--G2);border-radius:12px;background:var(--W);overflow:hidden;}
.ac-row{display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"rank name rating" "rank actions actions";gap:4px 14px;padding:14px 16px;border-bottom:1px solid var(--G2);align-items:center;}
.ac-row:last-child{border-bottom:none;}
.ac-row:hover{background:var(--G1);}
.ac-rank{grid-area:rank;width:32px;height:32px;border-radius:50%;background:var(--YP);color:var(--N);display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:14px;font-weight:700;border:1.5px solid var(--Y);}
.ac-name{grid-area:name;font-weight:600;color:var(--T);font-size:14px;line-height:1.3;}
.ac-rating{grid-area:rating;font-size:12px;color:var(--G4);white-space:nowrap;display:flex;align-items:center;gap:6px;}
.ac-stars{color:var(--Y);letter-spacing:1px;font-size:11px;}
.ac-note{font-weight:700;color:var(--T);}
.ac-avis{color:var(--G4);}
.ac-no-rating{color:var(--G4);font-style:italic;font-size:11px;}
.ac-concession{display:inline-block;background:#fef3c7;color:#92400e;font-size:10px;font-weight:600;padding:2px 6px;border-radius:99px;margin-left:6px;letter-spacing:0.2px;vertical-align:middle;}
.proche-badge{display:inline-block;background:#fff7e6;color:#92400e;font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;border:1px solid #FFD580;margin:6px 0;}
.top1 .top1-badge .proche-badge{display:inline-block;margin-left:8px;vertical-align:middle;}
.ac-actions{grid-area:actions;display:flex;gap:14px;font-size:12px;align-items:center;flex-wrap:wrap;}
.ac-tel{color:var(--N);text-decoration:none;font-weight:600;}
.ac-tel:hover{text-decoration:underline;}
.ac-tel-none{color:var(--G3);font-size:11px;}
.ac-link{color:var(--N);text-decoration:none;font-weight:600;}
.ac-link:hover{text-decoration:underline;}
.ac-link-none{color:var(--G3);font-size:11px;}
@media (max-width:600px){
  .ac-row{grid-template-columns:36px 1fr;grid-template-areas:"rank name" "rank rating" "rank actions";gap:6px 12px;}
  .ac-rating,.ac-actions{justify-self:start;}
}
