/* ===================================================================
   COSTA CAR — Aéroport Fès-Saïss
   Design : moderne, âme de Fès (terracotta + or + ivoire). Mobile-first.
=================================================================== */

:root{
  --ivory:#F6F1EA;
  --ivory-2:#FBF8F2;
  --card:#FFFFFF;
  --ink:#211F1B;
  --ink-soft:#6B6458;
  --terra:#B4623C;
  --terra-dk:#964E2E;
  --terra-soft:#F0E1D6;
  --gold-1:#D9B45F;
  --gold-2:#BE9540;
  --gold-dk:#5A4413;
  --green:#1FA855;
  --green-dk:#178347;
  --line:#E6DCCC;
  --shadow:0 18px 48px -24px rgba(60,40,20,.45);
  --shadow-sm:0 6px 20px -12px rgba(60,40,20,.4);
  --r:16px;
  --r-sm:11px;
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.12;letter-spacing:-.01em}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* icônes lignées */
.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-wa{width:1.15em;height:1.15em;fill:currentColor;stroke:none;flex:none}

.overline{
  display:inline-block;font-family:'Inter',sans-serif;font-weight:600;
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--terra);margin-bottom:14px;
}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:1rem;
  padding:14px 24px;border-radius:var(--r-sm);border:1.5px solid transparent;
  cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background .2s ease;
  white-space:nowrap;line-height:1;
}
.btn .ic{font-size:1.15em}
.btn:active{transform:translateY(1px)}
.btn-gold{
  background:linear-gradient(180deg,var(--gold-1),var(--gold-2));
  color:#2A2009;border-color:#a98430;box-shadow:var(--shadow-sm);
}
.btn-gold:hover{background:linear-gradient(180deg,#e2c074,#c69e44)}
.btn-wa{background:var(--green);color:#fff}
.btn-wa:hover{background:var(--green-dk)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--ivory)}
.btn-sm{padding:10px 16px;font-size:.92rem}
.btn-block{width:100%;margin-top:10px}

/* ---------- Barre d'info ---------- */
.topbar{background:var(--ink);color:#EadFce;font-size:.82rem}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px;flex-wrap:nowrap}
.topbar-items{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topbar-items span{display:inline-flex;align-items:center;gap:6px}
.topbar .sep{color:#8c8170}
.topbar-phone{font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}
.topbar-phone:hover{color:var(--gold-1)}

/* ---------- En-tête ---------- */
.header{
  position:sticky;top:0;z-index:50;background:rgba(246,241,234,.88);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);
}
.header-in{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
.brand img{height:46px;width:auto}
.nav{display:flex;gap:26px}
.nav a{font-weight:500;font-size:.96rem;color:var(--ink-soft);position:relative;padding:4px 0}
.nav a:hover{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--terra);transition:width .2s}
.nav a:hover::after{width:100%}
.nav-toggle{display:none}
.nav-burger{display:none;flex-direction:column;gap:5px;width:44px;height:40px;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:#fff;margin-left:auto}
.nav-burger span{width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}

/* ---------- Héros ---------- */
.hero{padding:50px 0 34px;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;top:-120px;right:-140px;width:420px;height:420px;
  background:radial-gradient(circle,var(--terra-soft),transparent 70%);opacity:.7;z-index:0;
}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center;position:relative;z-index:1}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem);margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--terra)}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:30em;margin-bottom:26px}

.hero-value{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--terra);
  border-radius:var(--r-sm);padding:11px 16px;margin-bottom:24px;
  font-size:.92rem;font-weight:500;color:var(--ink-soft);box-shadow:var(--shadow-sm);
}
.hero-value .hv-price{color:var(--ink)}
.hero-value strong{color:var(--terra);font-family:'Fraunces',serif;font-size:1.05rem}
.hero-value .hv-dot{color:var(--line)}

.hero-badges{display:flex;align-items:center;gap:20px;margin-bottom:28px}
.hb{display:flex;flex-direction:column;line-height:1.2}
.hb strong{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:600}
.hb .stars{color:var(--gold-2);letter-spacing:2px;font-size:.9rem}
.hb-sub{font-size:.82rem;color:var(--ink-soft)}
.hb-line{width:1px;height:54px;background:var(--line);align-self:flex-start}
.hb-rate{display:inline-flex;align-items:center;gap:8px}
.hb-watch{
  display:inline-flex;align-items:center;gap:8px;margin-top:9px;
  background:var(--terra-soft);color:var(--terra-dk);font-weight:600;font-size:.84rem;
  padding:6px 14px 6px 7px;border-radius:30px;border:1px solid #e6c9b8;cursor:pointer;
  transition:background .18s,color .18s,transform .12s;box-shadow:var(--shadow-sm);
}
.hb-watch svg{width:22px;height:22px;background:var(--terra);fill:#fff;border-radius:50%;padding:5px;box-sizing:border-box;transition:.18s;animation:pulsePlay 2s ease-out infinite}
.hb-watch:hover{background:var(--terra);color:#fff;transform:translateY(-1px)}
.hb-watch:hover svg{background:#fff;fill:var(--terra)}

@keyframes pulsePlay{
  0%{box-shadow:0 0 0 0 rgba(180,98,60,.55)}
  70%{box-shadow:0 0 0 11px rgba(180,98,60,0)}
  100%{box-shadow:0 0 0 0 rgba(180,98,60,0)}
}
@media (prefers-reduced-motion:reduce){
  .hb-watch svg{animation:none}
}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.hero-points{display:flex;gap:20px;flex-wrap:wrap;list-style:none}
.hero-points li{display:flex;align-items:center;gap:7px;font-size:.92rem;color:var(--ink-soft);font-weight:500}
.hero-points .ic{color:var(--terra);font-size:1.05rem}

.hero-media{position:relative}
.hero-media img{
  width:100%;border-radius:var(--r);box-shadow:var(--shadow);
  aspect-ratio:3/2;object-fit:cover;
}
.media-chip{
  position:absolute;left:16px;bottom:16px;background:rgba(33,31,27,.86);color:#fff;
  font-size:.82rem;font-weight:500;padding:8px 13px;border-radius:30px;
  display:inline-flex;align-items:center;gap:7px;backdrop-filter:blur(4px);
}
.media-chip .ic{color:var(--gold-1)}

/* ---------- Bandeau confiance ---------- */
.stats{background:var(--ink);color:var(--ivory)}
.stats-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:26px 22px}
.stat{display:flex;flex-direction:column;align-items:center;flex:1;min-width:90px}
.stat-n{font-family:'Fraunces',serif;font-size:1.7rem;color:var(--gold-1);font-weight:600}
.stat-l{font-size:.82rem;color:#cfc4b2;letter-spacing:.02em}

/* ---------- Sections ---------- */
.section{padding:74px 0}
#flotte{padding-top:46px}
.section-alt{background:var(--ivory-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{text-align:center;max-width:640px;margin:0 auto 44px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.sec-sub{color:var(--ink-soft);margin-top:12px;font-size:1.05rem}

/* ---------- Onglets ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:38px}
.tab{
  font-family:'Inter',sans-serif;font-weight:600;font-size:.95rem;
  padding:10px 20px;border-radius:30px;border:1.5px solid var(--line);
  background:transparent;color:var(--ink-soft);cursor:pointer;transition:.18s;
}
.tab:hover{border-color:var(--terra);color:var(--terra)}
.tab.is-active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}

/* ---------- Cartes voitures ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:26px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-media{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--terra-soft)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card-media img{transform:scale(1.05)}
.card-badge{
  position:absolute;top:12px;left:12px;background:var(--terra);color:#fff;
  font-size:.74rem;font-weight:600;padding:5px 11px;border-radius:20px;letter-spacing:.02em;
}
.card-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.card-cat{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);font-weight:600}
.card-name{font-size:1.22rem;margin:3px 0 12px}
.card-specs{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.84rem;color:var(--ink-soft);margin-bottom:16px}
.card-specs span{display:inline-flex;align-items:center;gap:5px}
.card-specs .ic{color:var(--terra);font-size:1rem}
.card-feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-bottom:16px;padding-top:14px;border-top:1px solid var(--line)}
.card-feats li{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ink-soft);font-weight:500}
.card-feats .ic-chk{color:var(--green);font-size:1rem;flex:none}
.card-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:14px}
.card-price-line{display:flex;align-items:baseline;gap:8px}
.card-price b{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:600}
.card-eur{font-size:.92rem;font-weight:600;color:var(--ink-soft)}
.card-price small{display:block;font-size:.78rem;color:var(--ink-soft);margin-top:2px}
.card-actions{display:grid;grid-template-columns:1fr auto;gap:9px}
.card-actions .btn-wa{padding:13px 15px}

.cards-more{text-align:center;margin-top:30px}

/* ---------- Widget avis Google (style ancien site) ---------- */
.r-stars{color:var(--gold-2);letter-spacing:1px}
.g-mini{width:15px;height:15px;flex:none;vertical-align:middle}

.gr-widget{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow-sm);padding:24px;max-width:920px;margin:0 auto 40px;
}
.gr-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}
.gr-ava-biz{
  display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;
  background:linear-gradient(180deg,var(--gold-1),var(--terra));color:#fff;
  font-family:'Fraunces',serif;font-weight:700;font-size:1.6rem;flex:none;
}
.gr-info{display:flex;flex-direction:column;line-height:1.2}
.gr-name{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;color:var(--ink)}
.gr-rateline{display:flex;align-items:center;gap:8px}
.gr-rateline strong{font-family:'Fraunces',serif;font-size:1.3rem;color:#E8710A}
.gr-stars{color:var(--gold-2);letter-spacing:1px}
.gr-count{font-size:.82rem;color:var(--ink-soft)}
.gr-powered{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:.82rem;color:var(--ink-soft)}
.gr-btn{
  background:#1a73e8;color:#fff;font-weight:600;font-size:.9rem;padding:10px 18px;border-radius:30px;
  display:inline-flex;align-items:center;gap:7px;transition:background .18s;
}
.gr-btn:hover{background:#155cc0}

.gr-carousel{position:relative;display:flex;align-items:center;gap:8px;margin-top:20px}
.gr-track{
  display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  flex:1;padding:4px;scrollbar-width:none;
}
.gr-track::-webkit-scrollbar{display:none}
.gr-card{
  flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;
  background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:18px;display:flex;flex-direction:column;gap:10px;
}
.gr-card-top{display:flex;align-items:center;gap:11px}
.r-ava{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;flex:none;
}
.gr-card-meta{display:flex;flex-direction:column;line-height:1.25;min-width:0;flex:1}
.r-name{font-weight:600;color:var(--ink);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-when{font-size:.76rem;color:var(--ink-soft)}
.gr-card p{font-size:.92rem;line-height:1.55;color:#3a3631;margin:0;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}

.gr-nav{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);
  font-size:1.5rem;line-height:1;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);transition:.16s;
}
.gr-nav:hover{background:var(--terra);color:#fff;border-color:var(--terra)}
.gr-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.gr-dot{width:9px;height:9px;border-radius:50%;border:none;background:var(--line);cursor:pointer;padding:0;transition:.16s}
.gr-dot.is-active{background:var(--terra);transform:scale(1.25)}

/* ---------- Étapes ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{text-align:center;padding:8px}
.step-n{
  display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:50%;background:var(--terra-soft);color:var(--terra);
  font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;margin-bottom:14px;
  border:1.5px solid #e3cbb9;
}
.step h3{font-size:1.12rem;margin-bottom:6px}
.step p{font-size:.92rem;color:var(--ink-soft)}

/* ---------- À l'aéroport ---------- */
.aeroport-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.aeroport-copy h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:16px}
.aeroport-copy p{color:var(--ink-soft);margin-bottom:20px}
.aeroport-media img{border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:5/3;object-fit:cover;width:100%}
.check-list{list-style:none;margin-bottom:26px;display:grid;gap:11px}
.check-list li{display:flex;align-items:center;gap:10px;font-weight:500}
.check-list .ic{color:var(--green);font-size:1.15rem;flex:none}

/* ---------- Conditions ---------- */
.cond-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cond{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 20px}
.cond h3{font-size:1.1rem;margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--terra-soft)}
.cond ul{list-style:none;display:grid;gap:9px}
.cond li{position:relative;padding-left:20px;font-size:.92rem;color:var(--ink-soft)}
.cond li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--terra)}
.tarif-price{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;color:var(--terra);margin:-4px 0 14px;padding-bottom:12px;border-bottom:2px solid var(--terra-soft)}
.tarif-price span{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:600;color:var(--ink-soft)}

/* ---------- Vidéos ---------- */
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.video-item{margin:0;display:flex;flex-direction:column;gap:8px}
.video-card{
  position:relative;border-radius:var(--r);overflow:hidden;background:#000;
  aspect-ratio:9/16;box-shadow:var(--shadow-sm);border:1px solid var(--line);
}
.video-card video{width:100%;height:100%;object-fit:cover;display:block}
.video-cap{font-size:.82rem;color:var(--ink-soft);text-align:center;font-weight:500}
.videos-more{text-align:center;margin-top:26px}
.avis-cta{text-align:center;margin-top:34px}

/* ---------- Pages contenu (À propos · Services · Contact) ---------- */
.page-hero{padding:56px 0 8px;text-align:center}
.page-hero h1{font-size:clamp(2rem,4.2vw,3rem)}
.page-hero p{color:var(--ink-soft);max-width:640px;margin:14px auto 0;font-size:1.08rem}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .2s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.svc-ic{width:52px;height:52px;border-radius:13px;background:var(--terra-soft);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.svc-ic svg{width:25px;height:25px;fill:none;stroke:var(--terra);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.svc h3{font-size:1.18rem;margin-bottom:8px}
.svc p{color:var(--ink-soft);font-size:.94rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.contact-list{list-style:none;display:grid;gap:18px;align-content:start}
.contact-list li{display:flex;gap:14px;align-items:flex-start}
.contact-list .ic{color:var(--terra);font-size:1.35rem;flex:none;margin-top:3px}
.contact-list small{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:600;margin-bottom:2px}
.contact-list a,.contact-list .cv{font-weight:600;color:var(--ink);font-size:1.02rem}
.contact-list a:hover{color:var(--terra)}
.contact-map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-height:320px}
.contact-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.contact-form{display:grid;gap:12px;max-width:680px;margin:0 auto}
.contact-form .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form input,.contact-form textarea{padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font-family:inherit;font-size:1rem;width:100%;background:#fff}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--terra)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}.contact-form .cf-row{grid-template-columns:1fr}}

/* ---------- Pied de page ---------- */
.footer{background:var(--ink);color:#d8cdba;padding:56px 0 26px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
.footer-brand img{height:50px;width:auto;margin-bottom:14px;filter:brightness(1.05)}
.footer-brand p{font-size:.92rem;max-width:30em;color:#b3a892}
.footer-col h4{font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-1);margin-bottom:12px}
.footer-col p{font-size:.94rem;margin-bottom:7px}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:20px;border-top:1px solid #3a362e;font-size:.82rem;color:#8c8270}

/* ---------- Modale ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.is-open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,16,10,.6);backdrop-filter:blur(3px)}
.modal-card{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(92vw,470px);max-height:92vh;overflow:auto;background:var(--ivory);
  border-radius:var(--r);box-shadow:0 30px 80px -20px rgba(0,0,0,.5);padding:26px;
}
.modal-close{
  position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.modal-close svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.modal-car{display:flex;gap:14px;align-items:center;margin-bottom:20px;padding-right:30px}
.modal-car img{width:108px;height:74px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line)}
.modal-car h3{font-size:1.3rem;margin:2px 0 4px}
.m-price{font-weight:600}
.m-price #mCarPrice{color:var(--terra);font-size:1.1rem}
.m-eur{font-weight:500;color:var(--ink-soft);font-size:.9rem}
.m-day{font-weight:400;color:var(--ink-soft);font-size:.85rem}

.field-lieu{display:flex;align-items:center;gap:8px;background:var(--terra-soft);color:var(--terra-dk);font-weight:600;padding:11px 14px;border-radius:var(--r-sm);font-size:.92rem;margin-bottom:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.modal label{display:flex;flex-direction:column;font-size:.82rem;font-weight:600;color:var(--ink-soft);gap:6px}
.modal input{
  font-family:'Inter',sans-serif;font-size:1rem;padding:12px 13px;border:1.5px solid var(--line);
  border-radius:var(--r-sm);background:#fff;color:var(--ink);width:100%;
}
.modal input:focus{outline:none;border-color:var(--terra)}

.calc{background:#fff;border:1.5px dashed var(--line);border-radius:var(--r-sm);padding:14px 16px;margin-bottom:16px;text-align:center}
.calc-hint{color:var(--ink-soft);font-size:.9rem}
.calc-result{display:block}
.calc-line{display:block;font-size:.9rem;color:var(--ink-soft)}
.calc-total{display:block;font-family:'Fraunces',serif;font-size:1.7rem;font-weight:600;color:var(--terra);margin:3px 0;line-height:1.15}
.calc-total em{font-style:normal;font-size:1.05rem;color:var(--ink-soft);font-family:'Inter',sans-serif;font-weight:600}
.calc-eur{display:block;font-size:.86rem;color:var(--ink-soft)}
.calc-incl{display:block;margin-top:7px;font-size:.78rem;color:var(--green-dk);font-weight:600}

.form-err{color:#c0392b;font-size:.86rem;min-height:1px;margin:2px 0 0}
.form-err:not(:empty){margin-bottom:8px}
.modal-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:12px}

/* Écran de confirmation + devis */
#confirmStep{text-align:center}
.confirm-check{
  width:62px;height:62px;border-radius:50%;margin:4px auto 16px;
  background:var(--green);display:flex;align-items:center;justify-content:center;
  animation:popIn .35s ease-out;
}
.confirm-check svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@keyframes popIn{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.confirm-title{font-size:1.5rem;margin-bottom:8px}
.confirm-title span{color:var(--terra)}
.confirm-text{color:var(--ink-soft);font-size:.95rem;margin-bottom:18px}
.confirm-recap{
  text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:6px 16px;margin-bottom:18px;
}
.cr-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--line-2,#EFE9DF)}
.cr-row:last-child{border-bottom:none}
.cr-row span{color:var(--ink-soft);font-size:.88rem}
.cr-row b{font-weight:600;text-align:right}
.cr-total b{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--terra)}
.cr-total em{font-style:normal;font-size:.85rem;color:var(--ink-soft);font-family:'Inter',sans-serif}

/* ===================================================================
   RESPONSIVE
=================================================================== */
@media (max-width:980px){
  .steps,.cond-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .gr-card{flex:0 0 calc((100% - 18px)/2)}
}
@media (max-width:860px){
  .nav-burger{display:flex}
  .header-cta{display:none}
  .header-in{position:relative}
  .nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;background:rgba(246,241,234,.98);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 22px 14px;box-shadow:var(--shadow)}
  .nav-toggle:checked ~ .nav{display:flex}
  .nav a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:1.05rem;color:var(--ink)}
  .nav a:last-child{border-bottom:none}
  .nav a::after{display:none}
  .hero-grid,.aeroport-grid{grid-template-columns:1fr;gap:30px}
  .hero{padding:28px 0 22px}
  .hero-media{order:-1}
  .hero-media img{aspect-ratio:4/5;max-height:520px}
  .aeroport-media{order:-1}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .hide-sm{display:none}
  .section{padding:52px 0}
  .cards{grid-template-columns:1fr;gap:20px}
  .steps,.cond-grid,.footer-grid{grid-template-columns:1fr}
  .stats-in{gap:20px 8px}
  .stat{min-width:30%}
  .hero-actions .btn{flex:1}
  .field-row{grid-template-columns:1fr}
  .gr-card{flex:0 0 100%}
  .gr-powered{margin-left:0}
  .gr-head{gap:10px}
  .modal-card{padding:20px}
  .topbar-items{font-size:.78rem;gap:7px}
  .hero-badges{gap:14px}
}
