/* ============================================================
   BLUE SKY — Design system v2 « Golden Hour »
   Hero immersif sombre · Sections claires éditoriales
   Fraunces (display) · Manrope (texte) — auto-hébergées
   ============================================================ */

/* ---------- FONTES ---------- */
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-latin-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}

/* ---------- TOKENS ---------- */
:root{
  --navy:#0A1F3D;
  --navy-2:#0E2A52;
  --navy-deep:#071628;
  --ink:#15263F;
  --gold:#C99B2F;
  --gold-bright:#D8AC33;
  --gold-pale:#F3E5C3;
  --paper:#FAF8F4;
  --white:#FFFFFF;
  --line:#E9E4D9;
  --line-dark:rgba(216,172,51,.18);
  --gray-text:#5D6B80;
  --whatsapp:#1FA855;
  --radius:14px;
  --shadow:0 14px 40px rgba(10,31,61,.10);
  --shadow-lg:0 28px 70px rgba(10,31,61,.16);
  --display:'Fraunces',Georgia,serif;
  --sans:'Manrope',system-ui,-apple-system,sans-serif;
}
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans); color:var(--ink); background:var(--paper);
  line-height:1.65; font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--display); font-weight:600; line-height:1.16; color:var(--ink); letter-spacing:-.01em;}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
.container{max-width:1200px; margin:0 auto; padding:0 28px;}

.eyebrow{
  display:flex; align-items:center; gap:12px;
  text-transform:uppercase; letter-spacing:.22em; font-size:.72rem;
  font-weight:700; color:var(--gold); margin-bottom:18px;
}
.eyebrow::before{content:''; width:34px; height:1px; background:var(--gold); flex-shrink:0;}
.eyebrow.centered{justify-content:center;}
.eyebrow.centered::after{content:''; width:34px; height:1px; background:var(--gold);}

/* ---------- BOUTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px; border-radius:8px; font-weight:700; font-size:.88rem;
  letter-spacing:.03em; border:1px solid transparent; cursor:pointer;
  transition:all .25s cubic-bezier(.2,.6,.25,1); font-family:var(--sans);
}
.btn-primary{background:var(--gold-bright); color:var(--navy-deep);}
.btn-primary:hover{background:#E5BC46; transform:translateY(-2px); box-shadow:0 12px 28px rgba(201,155,47,.35);}
.btn-outline{background:transparent; border-color:rgba(255,255,255,.4); color:var(--white);}
.btn-outline:hover{border-color:var(--white); background:rgba(255,255,255,.08);}
.btn-navy{background:var(--navy); color:var(--white);}
.btn-navy:hover{background:var(--navy-2); transform:translateY(-2px); box-shadow:var(--shadow);}
.btn-whatsapp{background:var(--whatsapp); color:#fff;}
.btn-whatsapp:hover{filter:brightness(1.08); transform:translateY(-2px);}
.btn-light{background:#EFEAE0; color:var(--ink);}
.btn-light:hover{background:#E6DFD2;}
.btn-block{width:100%;}

/* ---------- HEADER ---------- */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(7,22,40,.9);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(216,172,51,.14);
}
.nav{display:flex; align-items:center; justify-content:space-between; height:76px;}
.logo{display:flex; align-items:center;}
.logo img{height:30px; width:auto; display:block;}
.nav-links{display:flex; gap:34px;}
.nav-links a{
  font-size:.84rem; font-weight:600; color:rgba(255,255,255,.82);
  letter-spacing:.04em; position:relative; padding:8px 0; transition:color .2s;
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:2px; width:0; height:1.5px;
  background:var(--gold-bright); transition:width .28s ease;
}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:20px;}
.nav-cta > a:not(.btn){color:rgba(255,255,255,.85); font-size:.84rem; font-weight:600;}
.nav-cta > a:not(.btn):hover{color:var(--gold-bright);}
.nav-cta .btn{padding:11px 22px; font-size:.8rem;}
.burger{display:none; background:none; border:none; font-size:1.5rem; color:var(--white); cursor:pointer;}
.mobile-menu{
  display:none; flex-direction:column; gap:2px; padding:16px 28px 24px;
  background:var(--navy-deep); border-top:1px solid rgba(255,255,255,.08);
}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:13px 4px; font-weight:600; font-size:.92rem; color:rgba(255,255,255,.88); border-bottom:1px solid rgba(255,255,255,.07);}
.mobile-menu .btn{margin-top:14px; border-bottom:none;}

/* ---------- HERO ACCUEIL ---------- */
.hero{
  position:relative; color:#E8EDF6; overflow:hidden;
  background:var(--navy-deep);
  min-height:88vh; display:flex; align-items:center;
  padding:110px 0 140px;
}
.hero .hero-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center 65%;
}
.hero .hero-bg::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(7,22,40,.94) 0%, rgba(7,22,40,.82) 34%, rgba(7,22,40,.30) 68%, rgba(7,22,40,.55) 100%),
    linear-gradient(to top, rgba(7,22,40,.95) 0%, transparent 34%);
}
.hero .container{position:relative; z-index:1;}
.hero-grid{display:grid; grid-template-columns:1.05fr .6fr; gap:40px; align-items:center;}
.hero h1{
  color:var(--white); font-size:clamp(2.4rem, 4.6vw, 3.9rem);
  font-weight:600; margin-bottom:26px; letter-spacing:-.015em;
}
.hero h1 em{font-style:italic; font-weight:400; color:var(--gold-pale);}
.hero p{font-size:1.06rem; max-width:560px; color:rgba(232,237,246,.82); font-weight:400;}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-top:38px;}
.hero-visual{display:none;}
/* Statistiques bas de hero */
.hero-stats{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  border-top:1px solid rgba(216,172,51,.22);
  background:rgba(7,22,40,.55); backdrop-filter:blur(8px);
}
.hero-stats .container{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-top:22px; padding-bottom:22px;
}
.hero-stats strong{
  font-family:var(--display); font-size:1.35rem; color:var(--white); display:block; font-weight:600;
}
.hero-stats span{font-size:.76rem; color:rgba(232,237,246,.6); letter-spacing:.06em; text-transform:uppercase; font-weight:600;}

/* ---------- HERO PAGES INTERNES ---------- */
.hero-small{
  position:relative; color:#E8EDF6; overflow:hidden;
  background:
    radial-gradient(1100px 420px at 85% -60%, rgba(201,155,47,.16), transparent 60%),
    linear-gradient(120deg, var(--navy-deep), var(--navy-2));
  padding:74px 0 78px;
}
.hero-small::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(216,172,51,.5), transparent);
}
.hero-small h1{color:var(--white); font-size:clamp(1.9rem,3.4vw,2.7rem); margin-bottom:12px;}
.hero-small p{color:rgba(232,237,246,.75); max-width:640px;}
.breadcrumb{font-size:.78rem; margin-bottom:20px; color:rgba(232,237,246,.55); letter-spacing:.05em;}
.breadcrumb a:hover{color:var(--gold-bright);}

/* ---------- BANDEAU RÉASSURANCE ---------- */
.reassurance{background:var(--white); border-bottom:1px solid var(--line); padding:34px 0;}
.reassurance-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; text-align:center;}
.reassurance-grid strong{font-family:var(--display); font-size:1.05rem; color:var(--ink); font-weight:600;}
.reassurance-grid p{font-size:.8rem; color:var(--gray-text); margin-top:5px;}

/* ---------- SECTIONS ---------- */
.section{padding:104px 0;}
.section-alt{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section-dark{
  background:
    radial-gradient(900px 500px at 12% 0%, rgba(201,155,47,.10), transparent 55%),
    linear-gradient(150deg, var(--navy-deep), var(--navy-2));
  color:#DCE4F0;
}
.section-dark h2,.section-dark h3,.section-dark h4{color:var(--white);}
.section-dark p{color:rgba(220,228,240,.75);}
.section-header{max-width:660px; margin:0 auto 64px; text-align:center;}
.section-header h2{font-size:clamp(1.8rem,3vw,2.5rem); font-weight:600;}
.section-header p{color:var(--gray-text); margin-top:16px; font-size:1rem;}
.section-dark .section-header p{color:rgba(220,228,240,.7);}

/* ---------- GRILLES ---------- */
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.grid-5{display:grid; grid-template-columns:repeat(5,1fr); gap:20px;}

/* ---------- CARTES ---------- */
.card{
  position:relative; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius); padding:36px 30px 32px;
  transition:all .3s cubic-bezier(.2,.6,.25,1); overflow:hidden;
}
.card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--gold), var(--gold-bright));
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent;}
.card:hover::before{transform:scaleX(1);}
.card h3{font-size:1.12rem; margin:20px 0 10px; font-weight:600;}
.card p{font-size:.9rem; color:var(--gray-text);}
.icon-box{
  width:54px; height:54px; border-radius:50%;
  border:1px solid var(--gold); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(140deg, rgba(201,155,47,.08), transparent);
}
.icon-box svg{width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}

/* ---------- DESTINATIONS ---------- */
.dest-card{
  position:relative; border-radius:var(--radius); padding:28px 22px; min-height:190px;
  display:flex; align-items:flex-end; overflow:hidden;
  background:linear-gradient(160deg, var(--navy-2), var(--navy-deep));
  border:1px solid rgba(216,172,51,.18);
  transition:all .3s ease; color:var(--white);
}
.dest-card::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(420px 200px at 80% -20%, rgba(201,155,47,.22), transparent 60%);
  opacity:.7; transition:opacity .3s;
}
.dest-card::after{
  content:'→'; position:absolute; top:18px; right:20px;
  color:var(--gold-bright); font-size:1rem; opacity:0;
  transform:translateX(-6px); transition:all .3s ease;
}
.dest-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:rgba(216,172,51,.5);}
.dest-card:hover::after{opacity:1; transform:none;}
.dest-card h4{color:var(--white); font-size:1.2rem; font-weight:600;}
.dest-card span{font-size:.76rem; color:rgba(216,172,51,.9); letter-spacing:.08em; text-transform:uppercase; font-weight:600;}
.dest-card > div{position:relative;}

/* ---------- ÉTAPES ---------- */
.steps{display:grid; grid-template-columns:repeat(5,1fr); gap:22px; counter-reset:bsstep;}
.step{
  position:relative; text-align:left; padding:30px 22px 26px;
  background:var(--white); border-radius:var(--radius); border:1px solid var(--line);
  transition:all .3s ease;
}
.step:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.step-num{
  width:auto; height:auto; margin:0 0 14px; border-radius:0; background:none;
  font-family:var(--display); font-weight:700; font-size:2rem; line-height:1;
  color:transparent; -webkit-text-stroke:1.2px var(--gold);
  display:block;
}
.step h4{font-size:1rem; margin-bottom:7px; font-weight:600;}
.step p{font-size:.82rem; color:var(--gray-text);}

/* ---------- BLOC IMAGE ÉDITORIAL ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.split .photo{
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg);
  aspect-ratio:4/3; position:relative;
}
.split .photo img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.split .photo:hover img{transform:scale(1.04);}
.split h2{font-size:clamp(1.7rem,2.8vw,2.3rem); margin-bottom:18px;}
.split p{color:var(--gray-text); margin-bottom:14px;}
.section-dark .split p{color:rgba(220,228,240,.75);}
.photo-caption{
  position:absolute; left:0; right:0; bottom:0; padding:22px 24px 16px;
  background:linear-gradient(to top, rgba(7,22,40,.85), transparent);
  color:#fff; font-size:.8rem; letter-spacing:.04em;
}

/* ---------- CARTE TOURNÉES ---------- */
.map-block{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.map-visual{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  min-height:320px; display:flex; align-items:center; justify-content:center;
  color:#9BAAC2; font-size:.88rem; text-align:center; padding:20px;
  overflow:hidden;
}
.map-visual img{width:100%; height:100%; object-fit:cover;}
.search-commune{display:flex; gap:12px; margin-top:24px;}
.search-commune input{
  flex:1; padding:15px 20px; border:1px solid var(--line); border-radius:8px;
  font-size:.92rem; font-family:var(--sans); outline:none; transition:.2s;
  background:var(--white); color:var(--ink);
}
.search-commune input:focus{border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,155,47,.15);}
.tour-result{
  display:none; margin-top:20px; background:var(--white); border-radius:var(--radius);
  padding:22px 24px; border:1px solid var(--line); font-size:.92rem; line-height:1.8;
}
.tour-result.show{display:block;}
.status-tag{
  display:inline-block; padding:4px 14px; border-radius:999px; font-size:.72rem;
  font-weight:700; letter-spacing:.05em; margin-bottom:6px;
}
.status-open{background:#E5F4EA; color:#17784A;}
.status-limited{background:#FBF1D9; color:#8F6400;}
.status-full{background:#FBE7E7; color:#AC2E2E;}

/* ---------- TÉMOIGNAGES ---------- */
.testimonial-placeholder{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:52px 28px; text-align:center; color:var(--gray-text); font-size:.92rem;
}
blockquote.quote{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.25rem,2.2vw,1.7rem); line-height:1.5; color:var(--white);
}
blockquote.quote footer{
  font-family:var(--sans); font-style:normal; font-size:.8rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold-bright); margin-top:22px;
}

/* ---------- CTA FINAL ---------- */
.final-cta{
  position:relative; overflow:hidden;
  background:
    radial-gradient(700px 300px at 80% -30%, rgba(201,155,47,.22), transparent 60%),
    linear-gradient(135deg, var(--navy-deep), var(--navy-2));
  color:#DCE4F0; border-radius:20px; padding:72px 56px; text-align:center;
  border:1px solid rgba(216,172,51,.22);
}
.final-cta h2{color:var(--white); font-size:clamp(1.6rem,2.8vw,2.2rem); margin-bottom:16px;}
.final-cta p{max-width:580px; margin:0 auto 32px; color:rgba(220,228,240,.75);}

/* ---------- FOOTER ---------- */
footer{background:var(--navy-deep); color:#93A5C2; padding:74px 0 0; font-size:.88rem; border-top:1px solid rgba(216,172,51,.2);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; padding-bottom:52px;}
.footer-brand img{width:240px; margin-bottom:8px;}
.footer-tagline{font-size:.68rem; letter-spacing:.28em; color:var(--gold); text-transform:uppercase; font-weight:700; margin:10px 0 16px;}
footer h4{color:var(--white); font-family:var(--sans); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; margin-bottom:18px;}
footer ul li{margin-bottom:11px;}
footer a{transition:color .2s;}
footer a:hover{color:var(--gold-bright);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.09); padding:24px 0;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.76rem;
  color:#6E82A3;
}

/* ---------- BARRE MOBILE ---------- */
.mobile-bar{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:120;
  background:rgba(7,22,40,.94); backdrop-filter:blur(14px);
  border-top:1px solid rgba(216,172,51,.25);
  justify-content:space-around; padding:9px 4px calc(9px + env(safe-area-inset-bottom));
}
.mobile-bar a{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  font-size:.64rem; font-weight:700; color:rgba(255,255,255,.85); letter-spacing:.04em;
}
.mb-icon{font-size:1.1rem;}
.mb-highlight{
  background:var(--gold-bright); color:var(--navy-deep); border-radius:50%;
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
}

/* ---------- FORMULAIRES ---------- */
.form-card{
  background:var(--white); border:1px solid var(--line); border-radius:18px;
  padding:46px 42px; max-width:780px; margin:0 auto; box-shadow:var(--shadow);
}
.form-group{margin-bottom:22px;}
.form-group label{display:block; font-weight:700; font-size:.82rem; letter-spacing:.03em; margin-bottom:8px; color:var(--ink);}
.form-group input,.form-group select,.form-group textarea{
  width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:8px;
  font-size:.93rem; font-family:var(--sans); outline:none;
  transition:.2s; background:var(--paper); color:var(--ink);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--gold); background:var(--white); box-shadow:0 0 0 3px rgba(201,155,47,.13);
}
.form-group textarea{resize:vertical; min-height:110px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.form-row-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.form-hint{font-size:.78rem; color:var(--gray-text); margin-top:6px;}

/* ---------- FORMULAIRE MULTI-ÉTAPES ---------- */
.progress-steps{display:flex; justify-content:space-between; margin-bottom:40px; position:relative; counter-reset:pstep;}
.progress-steps::before{
  content:''; position:absolute; top:17px; left:6%; right:6%;
  height:1px; background:var(--line); z-index:0;
}
.progress-step{
  position:relative; z-index:1; text-align:center; flex:1; font-size:.66rem;
  color:var(--gray-text); font-weight:700; letter-spacing:.06em; text-transform:uppercase;
}
.progress-step::before{
  counter-increment:pstep; content:counter(pstep);
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; margin:0 auto 8px; border-radius:50%;
  background:var(--white); border:1px solid var(--line);
  font-family:var(--display); font-weight:700; color:var(--gray-text); transition:.25s;
}
.progress-step.active::before{border-color:var(--gold); background:var(--gold-bright); color:var(--navy-deep);}
.progress-step.done::before{border-color:var(--gold); background:var(--gold-pale); color:var(--navy); content:'✓';}
.progress-step.active{color:var(--ink);}
.form-step{display:none; animation:fadeIn .32s ease;}
.form-step.active{display:block;}
@keyframes fadeIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
.form-nav{display:flex; justify-content:space-between; gap:14px; margin-top:30px;}

/* ---------- RADIO CARDS ---------- */
.radio-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.radio-card{
  border:1px solid var(--line); border-radius:12px; padding:22px 18px;
  cursor:pointer; transition:.2s; text-align:center; background:var(--white);
}
.radio-card:hover{border-color:var(--gold);}
.radio-card.selected{border-color:var(--gold); background:linear-gradient(150deg, rgba(201,155,47,.07), transparent); box-shadow:0 0 0 1px var(--gold);}
.radio-card input{display:none;}
.radio-card .rc-icon{font-size:1.4rem; margin-bottom:8px;}
.radio-card strong{display:block; font-size:.94rem; font-family:var(--display); font-weight:600;}
.radio-card span{font-size:.78rem; color:var(--gray-text);}

/* ---------- CONFIRMATION ---------- */
.confirm-box{text-align:center; padding:32px 10px;}
.confirm-box .big-check{
  width:74px; height:74px; margin:0 auto 22px; border-radius:50%;
  background:var(--gold-pale); color:var(--navy); font-size:1.9rem;
  display:flex; align-items:center; justify-content:center; border:1px solid var(--gold);
}
.confirm-box .ref{font-family:var(--display); font-weight:700; font-size:1.7rem; color:var(--gold); margin:14px 0;}

/* ---------- PROSE ---------- */
.prose{max-width:740px; margin:0 auto; color:var(--gray-text);}
.prose h2{font-size:1.5rem; margin:40px 0 14px; color:var(--ink);}
.prose h3{font-size:1.12rem; margin:26px 0 10px; color:var(--ink);}
.prose p{margin-bottom:16px; font-size:.97rem;}
.prose ul{list-style:none; padding-left:0; margin-bottom:16px;}
.prose ul li{
  margin-bottom:10px; font-size:.97rem; padding-left:26px; position:relative;
}
.prose ul li::before{
  content:''; position:absolute; left:2px; top:.62em; width:12px; height:1.5px; background:var(--gold);
}

/* ---------- TABLEAU ---------- */
.table-wrap{overflow-x:auto;}
table.tours{width:100%; border-collapse:collapse; background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line);}
table.tours th,table.tours td{padding:17px 20px; text-align:left; font-size:.9rem;}
table.tours th{
  background:var(--navy-deep); color:rgba(255,255,255,.9);
  font-family:var(--sans); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
}
table.tours tr:nth-child(even){background:var(--paper);}

/* ---------- RÉSULTAT CALCULATEUR ---------- */
.result-box{
  background:linear-gradient(150deg, rgba(201,155,47,.09), rgba(201,155,47,.03));
  border:1px solid rgba(201,155,47,.35);
  border-radius:16px; padding:36px 30px; text-align:center; margin-top:26px; display:none;
}
.result-box.show{display:block; animation:fadeIn .35s ease;}
.result-box .amount{font-family:var(--display); font-size:2.5rem; font-weight:700; color:var(--ink); margin:10px 0;}
.result-box .note{font-size:.78rem; color:var(--gray-text); max-width:480px; margin:16px auto 0;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
.faq-q{
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  cursor:pointer; font-weight:600; font-size:1.02rem; font-family:var(--display);
}
.faq-q .arrow{transition:.25s; color:var(--gold); font-size:.85rem;}
.faq-item.open .arrow{transform:rotate(180deg);}
.faq-a{max-height:0; overflow:hidden; transition:.3s ease; font-size:.9rem; color:var(--gray-text); padding-top:0;}
.faq-item.open .faq-a{max-height:320px; padding-top:14px;}

/* ---------- RÉVÉLATION AU SCROLL ---------- */
[data-reveal]{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.6,.25,1);}
[data-reveal].in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1; transform:none; transition:none;}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
  .hero{min-height:auto; padding:90px 0 150px;}
  .hero-grid,.split,.map-block{grid-template-columns:1fr;}
  .split{gap:36px;}
  .hero-stats .container{grid-template-columns:repeat(2,1fr); gap:14px;}
  .reassurance-grid,.grid-3,.grid-4,.grid-5,.steps,.grid-2,.form-row,.form-row-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .nav-links,.nav-cta{display:none;}
  .burger{display:block;}
  .mobile-bar{display:flex;}
  body{padding-bottom:70px;}
  .section{padding:72px 0;}
}
@media(max-width:560px){
  .reassurance-grid,.grid-3,.grid-4,.grid-5,.steps,.footer-grid,.form-row,.form-row-3,.radio-cards{grid-template-columns:1fr;}
  .hero h1{font-size:2.1rem;}
  .final-cta{padding:48px 26px;}
  .form-card{padding:34px 24px;}
  .hero-stats .container{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   AJOUTS v2.2 « Maritime » — bandeau prochain chargement,
   compte à rebours, zones de ramassage (flyer 08/2026)
   ============================================================ */

/* Tokens complémentaires (corrige --sky utilisé dans le JS/legal) */
:root{ --sky:#1E63C4; --sky-light:#EAF1FB; }

/* ---------- BANDEAU PROCHAIN CHARGEMENT ---------- */
.topbar{
  background:linear-gradient(90deg,#05101f,#0A1F3D 55%,#0E2A52);
  color:#EAF1FB; font-size:.8rem; border-bottom:1px solid rgba(216,172,51,.25);
  position:relative; z-index:101;
}
.topbar-inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:42px; padding-top:8px; padding-bottom:8px;
}
.topbar-msg{display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:rgba(234,241,251,.9);}
.topbar-msg strong{color:#fff;}
.topbar-date{color:var(--gold-pale); font-weight:600;}
.topbar-dot{width:8px; height:8px; border-radius:50%; background:var(--gold-bright); animation:pulse 2s infinite; flex-shrink:0;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(216,172,51,.55);}70%{box-shadow:0 0 0 7px rgba(216,172,51,0);}100%{box-shadow:0 0 0 0 rgba(216,172,51,0);}}
.topbar-countdown{
  display:inline-flex; align-items:center; background:var(--gold-bright); color:var(--navy-deep);
  font-weight:800; letter-spacing:.03em; padding:3px 11px; border-radius:999px; font-size:.72rem;
}
.topbar-phone{color:#fff; font-weight:700; letter-spacing:.02em; white-space:nowrap;}
.topbar-phone:hover{color:var(--gold-bright);}
@media(max-width:820px){
  .topbar-phone{display:none;}
  .topbar-inner{justify-content:center; text-align:center;}
}

/* ---------- CARTE COMPTE À REBOURS (HERO) ---------- */
.chargement-card{
  background:linear-gradient(160deg, rgba(14,42,82,.74), rgba(7,22,40,.74));
  border:1px solid rgba(216,172,51,.34); border-radius:18px;
  padding:28px 26px; backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px);
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.cc-eyebrow{
  display:flex; align-items:center; gap:9px; text-transform:uppercase; letter-spacing:.2em;
  font-size:.68rem; font-weight:700; color:var(--gold-bright); margin-bottom:14px;
}
.cc-eyebrow::before{content:''; width:22px; height:1px; background:var(--gold-bright);}
.cc-route{font-family:var(--display); font-size:1.25rem; color:#fff; font-weight:600; margin-bottom:4px;}
.cc-date{color:var(--gold-pale); font-weight:600; font-size:.92rem; margin-bottom:20px;}
.cc-timer{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:20px;}
.cc-unit{background:rgba(3,10,20,.5); border:1px solid rgba(216,172,51,.2); border-radius:12px; padding:13px 6px; text-align:center;}
.cc-unit b{display:block; font-family:var(--display); font-size:1.9rem; font-weight:700; color:#fff; line-height:1;}
.cc-unit span{font-size:.6rem; text-transform:uppercase; letter-spacing:.11em; color:rgba(234,241,251,.6); font-weight:700; margin-top:5px; display:block;}
.cc-note{font-size:.75rem; color:rgba(234,241,251,.62); margin-top:14px; text-align:center;}
.chargement-card .btn{width:100%;}

/* ---------- BANDE ZONES DE RAMASSAGE ---------- */
.zones{background:var(--white); border-bottom:1px solid var(--line); padding:30px 0;}
.zones-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.zones-label{display:flex; align-items:center; gap:12px; font-weight:700; color:var(--ink); font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap;}
.zones-label svg{width:22px; height:22px; stroke:var(--gold); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.zones-list{display:flex; gap:10px; flex-wrap:wrap;}
.zones-list span{background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-size:.84rem; font-weight:600; color:var(--ink);}
.zones-depot{font-size:.84rem; color:var(--gray-text);}
.zones-depot strong{color:var(--ink);}
@media(max-width:820px){ .zones-inner{flex-direction:column; align-items:flex-start; gap:16px;} }

/* ---------- BLOC CONTENEURS ---------- */
.conteneur-band{
  display:grid; grid-template-columns:1.1fr .9fr; gap:0; border-radius:20px; overflow:hidden;
  border:1px solid rgba(216,172,51,.22); box-shadow:var(--shadow-lg); margin-top:52px;
}
.conteneur-band .cb-text{
  background:linear-gradient(135deg, var(--navy-deep), var(--navy-2)); color:#DCE4F0; padding:52px 46px;
}
.conteneur-band .cb-text h2{color:#fff; font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:14px;}
.conteneur-band .cb-text p{color:rgba(220,228,240,.78); margin-bottom:24px; max-width:440px;}
.conteneur-band .cb-photo{background-size:cover; background-position:center; min-height:280px;}
@media(max-width:760px){ .conteneur-band{grid-template-columns:1fr;} .conteneur-band .cb-photo{min-height:200px;} }
