  :root{
    --navy:#151A33; --gold:#E8BD3A; --gold-light:#FCE559; --gold-dark:#A06A0F; --tint:#F5F5FA; --ink:#1A1B3D; --sub:#54566e;
    --gold-gradient:linear-gradient(180deg, #F5DD6E 0%, #D9AE3E 36%, #C79424 46%, #FBF3DE 55%, #8A7530 66%, #5C4A20 100%);
    --gold-btn-gradient:linear-gradient(180deg, #F5DD6E 0%, #D9AE3E 35%, #C79424 55%, #8A7530 78%, #5C4A20 100%);
    --gold-border:#F7E9D0;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;font-size:20px;overflow-x:clip;max-width:100%;background:var(--navy);}
  .icon-sprite{display:none!important;position:absolute;width:0;height:0;overflow:hidden;}
  #rdv-form, #chiffres, #comparatif, #services, #garanties, #avis, #faq, #contact{scroll-margin-top:100px;}
  body{font-family:'Work Sans',sans-serif;color:var(--ink);background:#fff;overflow-x:clip;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  section{padding:0 6vw;}
  .wrap{max-width:1100px;margin:0 auto;}
  .kicker{font-family:'Work Sans',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}

  nav{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 6vw;height:108px;position:sticky;top:0;z-index:50;background:rgba(10,12,26,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(0,0,0,.1);}
  nav .logo{height:50px;flex-shrink:0;}

  /* ---------- ONE-PAGE ANCHOR NAV (in header) ---------- */
  .hero-nav-links{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center;flex:1;}
  .hero-nav-links a{font-family:'Work Sans',sans-serif;font-weight:600;font-size:1.05rem;color:#fff;padding:8px 16px;border-radius:20px;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.5);transition:background .15s ease;}
  .hero-nav-links a:hover{background:rgba(255,255,255,.14);}
  @media (max-width:1600px){
    .hero-nav-links{gap:0;}
    .hero-nav-links a{font-size:.72rem;padding:6px 9px;}
  }
  @media (max-width:800px){.hero-nav-links{display:none;}}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0;}
  .nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
  @media (max-width:800px){.nav-toggle{display:block;}}
  .mobile-menu-overlay{position:fixed;inset:0;background:rgba(10,12,26,.5);z-index:90;opacity:0;pointer-events:none;transition:opacity .25s ease;}
  .mobile-menu-overlay.open{opacity:1;pointer-events:auto;}
  .mobile-menu{position:fixed;top:0;right:0;width:78%;max-width:320px;height:100%;height:100dvh;background:var(--navy);z-index:100;transform:translateX(100%);transition:transform .3s ease;padding:90px 28px 28px;overflow-y:auto;}
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu a{display:block;color:#fff;font-family:'Work Sans',sans-serif;font-weight:600;font-size:1.05rem;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;}
  .mobile-menu .cta{margin-top:26px;width:100%;text-align:center;}
  .mobile-menu-close{position:absolute;top:22px;right:22px;background:none;border:none;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;padding:6px;}
  .btn-primary,.cta,.submit-btn{cursor:pointer;font-family:'Work Sans',sans-serif;text-decoration:none;border:none;display:inline-block;}
  nav .cta{background:var(--gold-btn-gradient);border:2px solid var(--gold-border);color:#fff;padding:16px 34px;border-radius:999px;font-weight:800;font-size:.98rem;box-shadow:0 8px 20px rgba(0,0,0,.35);transition:transform .2s ease, box-shadow .2s ease;}
  nav .cta:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -3px 6px rgba(0,0,0,.18), 0 8px 22px rgba(0,0,0,.32), 0 0 24px rgba(201,162,39,.55);transform:translateY(-2px) scale(1.05);}

  /* ---------- CTA STICKY (v2) — remplace le CTA du header ---------- */
  .sticky-cta-mobile{position:fixed;left:0;right:0;bottom:0;z-index:500;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.12);transform:translateY(110%);transition:transform .3s ease;display:none;}
  .sticky-cta-mobile.show{transform:translateY(0);}
  .sticky-cta-mobile button{width:100%;border:none;border-radius:999px;padding:14px 18px;font-family:'Work Sans',sans-serif;font-weight:800;font-size:.98rem;background:var(--gold-btn-gradient);border:2px solid var(--gold-border);color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);}
  @media (max-width:800px){.sticky-cta-mobile{display:block;}}

  .sticky-cta-desktop{position:fixed;right:28px;bottom:28px;z-index:500;display:none;flex-direction:column;align-items:flex-start;gap:3px;border:2px solid var(--gold-border);border-radius:18px;padding:18px 30px;background:var(--gold-btn-gradient);color:#fff;cursor:pointer;box-shadow:0 12px 34px rgba(11,26,51,.45);opacity:0;transform:translateY(16px);transition:opacity .3s ease, transform .3s ease, box-shadow .2s ease;}
  .sticky-cta-desktop.show{opacity:1;transform:translateY(0);animation:sticky-cta-pulse 2.6s ease-in-out .6s infinite;}
  .sticky-cta-desktop:hover{box-shadow:0 16px 40px rgba(11,26,51,.5), 0 0 26px rgba(201,162,39,.55);transform:translateY(-2px);animation-play-state:paused;}
  .sticky-cta-desktop-main{font-family:'Work Sans',sans-serif;font-weight:800;font-size:1.15rem;text-shadow:0 1px 3px rgba(0,0,0,.35);}
  .sticky-cta-desktop-sub{font-family:'Work Sans',sans-serif;font-size:.82rem;opacity:.9;}
  @keyframes sticky-cta-pulse{
    0%,100%{box-shadow:0 12px 34px rgba(11,26,51,.45), 0 0 0 rgba(201,162,39,0);}
    50%{box-shadow:0 12px 34px rgba(11,26,51,.45), 0 0 0 10px rgba(201,162,39,.18);}
  }
  @media (prefers-reduced-motion:reduce){.sticky-cta-desktop.show{animation:none;}}
  @media (min-width:801px){.sticky-cta-desktop{display:flex;}}

  .hero-photo{
    position:relative;
    overflow:hidden;
    margin-top:-152px;
    min-height:100vh;
    min-height:100dvh;
    padding-top:152px;
    display:flex;
    align-items:center;
  }
  .hero-slide{
    position:absolute;inset:0;background-size:cover;background-position:center;
    opacity:0;transition:opacity 2.5s ease;
  }
  .hero-slide.active{opacity:1;}
  .hero-slide-label{
    position:absolute;left:20px;bottom:16px;z-index:1;
    font-family:'Work Sans',sans-serif;font-weight:500;font-size:.72rem;
    color:rgba(255,255,255,.75);letter-spacing:.03em;
    text-shadow:0 1px 4px rgba(0,0,0,.5);
  }
  nav .logo{filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}
  .hero-inner{position:relative;z-index:2;padding:40px 6vw;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;max-width:1180px;width:100%;margin:0 auto;}
  .btn-primary{background:var(--gold-btn-gradient);border:2px solid var(--gold-border);color:#fff;font-weight:700;font-size:1rem;padding:18px 42px;border-radius:999px;box-shadow:0 8px 18px rgba(0,0,0,.3);cursor:pointer;transition:background .25s ease, box-shadow .25s ease, transform .2s ease;}
  .btn-primary:hover{box-shadow:0 14px 30px rgba(0,0,0,.4), 0 0 28px rgba(201,162,39,.55);transform:translateY(-2px) scale(1.05);}

  /* ---------- HERO LEAD (headline only, outside the form card) ---------- */
  .hero-lead{text-align:left;max-width:520px;}
  .hero-lead h1{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:3rem;line-height:1.1;margin:0 0 16px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.9), 0 2px 6px rgba(0,0,0,.85), 0 10px 28px rgba(0,0,0,.7);}
  .lead-subtext{background:rgba(255,255,255,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:16px 20px;display:inline-block;}
  .hero-trust-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;justify-content:center;}
  .hero-trust-badges span{font-family:'Work Sans',sans-serif;font-weight:700;font-size:.76rem;color:var(--navy);background:#fff;border:1px solid #E6E6F0;padding:7px 12px;border-radius:20px;white-space:nowrap;}
  .hero-lead .lead-sub{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.1rem;color:var(--ink);margin-bottom:6px;}
  .hero-lead .lead-text{font-size:.9rem;line-height:1.55;color:var(--ink);max-width:420px;margin:0;}

  /* ---------- BANDEAU "-70%" (v2) ----------
     Remplace le badge pilule au-dessus du H1 : même bandeau plein largeur
     que sur la page funnel, collé sous la nav (sticky, comme elle). */
  .index-savings-banner{
    position:sticky;top:108px;z-index:49;
    background:var(--gold-btn-gradient);
    border-bottom:2px solid var(--gold-border);
    padding:11px 6vw;text-align:center;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
  }
  .index-savings-banner span{color:#fff;font-family:'Work Sans',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.35);}
  .index-savings-banner strong{font-size:1.18em;}
  @media (max-width:800px){
    .index-savings-banner{top:84px;padding:9px 5vw;}
    .index-savings-banner span{font-size:.78rem;}
  }


  /* ---------- HERO FORM (compact, fits in the viewport) ---------- */
  .hero-form{background:#fff;border-radius:12px;padding:38px 42px;box-shadow:0 20px 50px rgba(0,0,0,.35);width:100%;max-width:480px;margin:0 auto;}
  .hero-form h3{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.15rem;color:var(--ink);margin-bottom:6px;text-align:center;}
  .hero-form h3.rdv-title-highlight{color:#2856C9;font-weight:700;font-size:1.25rem;letter-spacing:-.01em;}
  .hero-form .lede{font-size:.72rem;color:var(--sub);margin-bottom:16px;text-align:center;}
  .field.full{margin-bottom:16px;}
  .submit-row{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin-top:14px;}
  .submit-row .submit-btn{width:100%;}

  /* ---------- SCROLL CUE ---------- */
  .scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;text-decoration:none;}
  .scroll-cue .scroll-circle{width:44px;height:44px;border-radius:50%;background:rgba(10,12,26,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;animation:scrollBounce 1.8s infinite;}
  .scroll-cue .chevron{width:10px;height:10px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg);margin-top:-4px;}

  @media (max-height:800px){
    .hero-inner{padding:24px 6vw;gap:28px;}
    .hero-lead h1{font-size:2.2rem;}
    .hero-form{padding:24px 28px;}
    .hero-form .lede{margin-bottom:10px;}
    .field.full{margin-bottom:10px;}
    .scroll-cue{bottom:10px;}
    .scroll-cue .scroll-circle{width:34px;height:34px;}
  }
  @keyframes scrollBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

  .statband{background:var(--navy);padding:44px 6vw;display:flex;justify-content:center;gap:60px;flex-wrap:wrap;text-align:center;border-top:1px solid rgba(201,162,39,.25);border-bottom:1px solid rgba(201,162,39,.25);}
  .statband .stat .v-prefix{font-family:'Work Sans',sans-serif;font-weight:600;font-size:1rem;text-transform:none;letter-spacing:normal;color:#c9cae0;-webkit-text-fill-color:#c9cae0;background:none;}
  .statband .stat .v{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:2.1rem;background-image:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
  .statband .stat .v-short{display:none;}
  .statband .stat .l{font-size:.74rem;color:#c9cae0;margin-top:4px;}

  .why-section{padding:100px 6vw;}
  .why-section .wrap{max-width:1180px;margin:0 auto;text-align:left;}
  .why-title{text-align:center;font-family:'Zilla Slab',serif;font-weight:600;font-size:1.9rem;line-height:1.25;color:var(--ink);max-width:none;white-space:nowrap;margin:10px auto 50px;}
  @media (max-width:1100px){.why-title{font-size:1.55rem;}}
  .why-grid{display:flex;flex-direction:column;gap:40px;}
  .why-compare{width:100%;min-width:0;}
  .why-section .compare-widget{margin-top:0;max-width:none;}
  .why-section .kicker{color:var(--gold);}
  .why-content{max-width:760px;margin:0 auto;padding-top:34px;border-top:1px solid #ECECF4;}
  .why-content p{color:var(--sub);line-height:1.75;font-size:.98rem;margin:0 0 22px;}
  .why-list{list-style:none;margin:0 0 22px;}
  .why-list li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem;color:var(--ink);line-height:1.55;margin-bottom:14px;}
  .why-list li:last-child{margin-bottom:0;}
  .why-list li b{font-weight:700;}
  .why-list .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-gradient);margin-top:9px;flex-shrink:0;}
  .why-content .foot{text-align:left;font-family:'Zilla Slab',serif;font-weight:600;font-size:1rem;color:var(--ink);line-height:1.45;margin:0;}
  @media (max-width:900px){.why-title{text-align:left;white-space:normal;font-size:1.6rem;margin:10px 0 30px;}}

  .compare-widget{padding:0;}
  .offer-carousel{position:relative;padding:0;}
  .offer-track-wrap{overflow:hidden;border-radius:12px;}
  .offer-track{display:flex;gap:16px;transition:transform .7s ease;}
  .offer-card{flex:0 0 100%;border-radius:16px;position:relative;overflow:hidden;display:flex;background:#fff;border:1px solid #ECECF4;box-shadow:0 14px 34px rgba(21,26,51,.09);}
  .offer-ribbon-wrap{position:absolute;top:0;right:0;width:155px;height:155px;z-index:3;pointer-events:none;}
  .offer-ribbon-wrap::before{content:"";position:absolute;top:0;right:0;width:155px;height:155px;background:var(--gold);clip-path:polygon(0 0,100% 0,100% 100%);}
  .offer-ribbon{position:absolute;top:50%;left:50%;width:170px;transform:translate(-50%,-50%) rotate(45deg) translateY(-40px);color:#fff;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.9rem;line-height:1.2;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.35);z-index:1;}
  .offer-photo{flex:1 1 36%;background-size:cover;background-position:center;position:relative;}
  .offer-info{flex:1 1 64%;padding:20px 80px 20px 36px;display:flex;flex-direction:column;justify-content:center;color:var(--ink);}
  .offer-hotel-name{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.35rem;line-height:1.3;color:var(--ink);margin-bottom:8px;}
  .ic{width:14px;height:14px;fill:currentColor;flex-shrink:0;}
  .offer-stars{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-family:'Work Sans',sans-serif;font-weight:500;font-size:.82rem;color:var(--sub);}
  .offer-stars .stars{display:flex;gap:2px;color:var(--gold);}
  .offer-stars .stars .ic{width:14px;height:14px;}
  .offer-stars .stars .ic.empty{color:#E6E6F0;}
  .offer-meta-icons{display:flex;flex-wrap:wrap;gap:0;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #ECECF4;}
  .offer-meta-icons .meta-item{display:flex;align-items:center;gap:7px;font-family:'Work Sans',sans-serif;font-weight:500;font-size:.82rem;color:var(--ink);white-space:nowrap;padding:0 18px;border-right:1px solid #E4E4EE;}
  .offer-meta-icons .meta-item:first-child{padding-left:0;}
  .offer-meta-icons .meta-item:last-child{border-right:none;padding-right:0;}
  .offer-meta-icons .ic{color:var(--gold-dark);background:rgba(232,189,58,.16);border-radius:50%;padding:4.5px;width:31px;height:31px;box-sizing:border-box;}
  .offer-prices{display:flex;flex-direction:column;gap:10px;}
  .offer-cols{display:flex;align-items:stretch;position:relative;border-radius:12px;overflow:hidden;border:1px solid #E2E2EC;min-width:0;}
  .offer-cols .col{flex:1;display:grid;grid-template-rows:26px 42px;row-gap:6px;justify-items:center;align-content:start;text-align:center;padding:14px 14px;}
  .offer-cols .col.b{background:#E4E5EE;}
  .offer-cols .col.t{background:#D7F2E1;}
  .offer-cols .col .src{font-family:'Work Sans',sans-serif;font-size:.78rem;font-weight:700;color:#6d6f8c;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;}
  .offer-cols .col.b .src{text-transform:none;color:#3568e8;}
  .offer-cols .col .src img{height:30px;width:auto;max-width:135px;object-fit:contain;display:block;margin:0 auto;}
  .offer-cols .col .val{min-height:36px;display:flex;align-items:center;justify-content:center;}
  .offer-cols .col.b .val{font-family:'Baloo 2',sans-serif;color:#787a97;font-size:1.2rem;}
  .offer-cols .col.b .val span{position:relative;display:inline-block;}
  .offer-cols .col.b .val span::after{content:"";position:absolute;left:-10%;right:-10%;top:52%;height:2px;background:#787a97;transform:rotate(-12deg);}
  .offer-cols .col.t .val{font-family:'Baloo 2',sans-serif;font-weight:700;color:#16a34a;font-size:1.8rem;}
  .offer-cols .arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid #E2E2EA;color:#111;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(21,26,51,.14);z-index:2;}
  .offer-cols .arrow .ic{width:18px;height:18px;}
  .offer-save{display:inline-flex;align-items:stretch;gap:0;background:var(--navy);border-radius:14px;overflow:hidden;align-self:center;}
  .offer-save-icon{flex-shrink:0;width:74px;background:#22c55e;display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,70% 0,100% 50%,70% 100%,0 100%);transform:translateZ(0);}
  .offer-save-icon .ic{width:24px;height:24px;color:#fff;margin-right:11px;}
  .offer-save-text{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;padding:10px 22px 10px 12px;}
  .offer-save-label{font-family:'Work Sans',sans-serif;font-weight:600;font-size:.86rem;color:#c9cae0;}
  .offer-save-amount{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.3rem;color:#4ade80;}
  .offer-heart-badge{position:absolute;top:14px;left:14px;z-index:4;display:flex;align-items:center;gap:5px;background:#fff;color:var(--ink);font-family:'Work Sans',sans-serif;font-weight:700;font-size:.68rem;padding:7px 13px 7px 10px;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.22);}
  .offer-heart-badge .ic{width:12px;height:12px;color:#e94b6b;}
  @media (max-width:700px){.offer-card{flex-direction:column;max-width:100%;}.offer-photo{flex:0 0 150px;height:150px;width:100%;}.offer-info{padding:18px;min-width:0;}.offer-hotel-name{font-size:clamp(.7rem,4vw,1.1rem);line-height:1.25;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.offer-stars{margin-bottom:8px;}.offer-meta-icons{flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin-bottom:10px;}.offer-meta-icons .meta-item{border-right:none;padding:0 8px 0 0;gap:5px;font-size:.74rem;flex-shrink:0;}.offer-meta-icons .meta-item:last-child{padding-right:0;}.offer-meta-icons .ic{width:24px;height:24px;padding:4px;flex-shrink:0;}.offer-prices{gap:8px;}.offer-cols .col{padding:10px 10px;}.offer-cols .col .src img{height:22px;}.offer-cols .col.t .val{font-size:1.4rem;}.offer-save-icon{width:56px;}.offer-save-icon .ic{width:18px;height:18px;margin-right:8px;}.offer-save-text{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px;padding:8px 14px 8px 8px;}.offer-save-label{font-size:.78rem;}.offer-save-amount{font-size:1.1rem;}}

  .offer-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #E6E6F0;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(26,27,61,.12);display:flex;align-items:center;justify-content:center;}
  .offer-arrow.prev{left:-50px;}
  .offer-arrow.next{right:-50px;}
  @media (max-width:900px){.offer-arrow.prev{left:8px;}.offer-arrow.next{right:8px;}}
  @media (max-width:700px){.offer-arrow{top:100px;}}
  .offer-arrow:hover{background:var(--tint);}
  .offer-dots{display:flex;gap:6px;justify-content:center;margin-top:14px;}
  .offer-dots .dot{width:8px;height:8px;border-radius:50%;background:#d7d7e6;cursor:pointer;transition:background .2s ease;}
  .offer-dots .dot.active{background:var(--navy);}
  .disclaimer{text-align:center;font-size:.62rem;color:#a6a7bd;margin-top:10px;line-height:1.5;white-space:nowrap;}
  @media (max-width:600px){.disclaimer{white-space:normal;}}
  @media (max-width:395px){.offer-meta-icons{flex-wrap:wrap;overflow-x:visible;}.offer-meta-icons .meta-item{padding:0 10px 6px 0;}}
  @media (max-width:420px){.statband .stat .v-full{display:none;}.statband .stat .v-short{display:inline;}}

  .services-section{padding:100px 6vw;background:var(--tint);text-align:center;}
  .services-section h2{font-family:'Zilla Slab',serif;font-weight:600;font-size:2.1rem;color:var(--ink);margin-bottom:10px;}
  .services-section .lede{color:var(--sub);max-width:520px;margin:0 auto 46px;font-family:'Karla',sans-serif;line-height:1.6;}

  .feature-highlights{padding:110px 6vw;background:var(--navy);}
  .feature-highlights .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1080px;margin:0 auto;}
  .feature-block .icon{width:52px;height:52px;margin-bottom:18px;}
  .feature-block .kicker{color:var(--gold);}
  .feature-block h3{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.5rem;color:#fff;margin-bottom:14px;}
  .feature-block p{color:#c9cae0;font-size:.92rem;line-height:1.65;margin-bottom:20px;}
  .feature-list{list-style:none;}
  .feature-list li{position:relative;padding-left:22px;font-size:.86rem;color:#c9cae0;line-height:1.6;margin-bottom:12px;}
  .feature-list li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold-gradient);}
  @media (max-width:800px){.feature-highlights .wrap{grid-template-columns:1fr;gap:50px;}}
  .services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:900px;margin:0 auto;}
  .service{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #E6E6F0;text-align:center;}
  .service .service-photo{position:relative;overflow:hidden;aspect-ratio:1/1;}
  .service img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;background:var(--tint);transition:transform .35s ease;}
  .service:hover img{transform:scale(1.08);}
  .service span{display:block;padding:10px 6px;font-size:.82rem;font-weight:600;color:var(--ink);}
  .service-desc{position:absolute;inset:0;background:linear-gradient(180deg, rgba(21,26,51,.55) 0%, rgba(21,26,51,.92) 100%);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;opacity:0;transition:opacity .3s ease;font-family:'Karla',sans-serif;font-size:.76rem;line-height:1.45;}
  .service-photo:hover .service-desc,.service-photo.active .service-desc{opacity:1;}
  @media (max-width:800px){.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}.service-hide-mobile{display:none;}.service-desc{padding:6px;font-size:.6rem;line-height:1.3;}.service span{font-size:.7rem;padding:8px 4px;}}

  .guarantees{padding:100px 6vw;}
  .guarantees .wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;}
  .g-card{background:var(--navy);color:#fff;border-radius:10px;padding:36px;}
  .g-card .big{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:2.2rem;background-image:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:12px;}
  .g-card h3{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.15rem;margin-bottom:10px;color:#fff;}
  .g-card p{font-size:.88rem;line-height:1.65;color:#c9cae0;}


  .cta-mid{background:#fff;padding:112px 6vw;text-align:center;overflow-x:hidden;}
  .travel-fan{
    display:flex;
    height:420px;
    width:100vw;
    margin:50px calc(50% - 50vw) 0;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
  }
  .travel-fan-panel{
    position:relative;
    flex:1;
    background-size:cover;
    background-position:center;
    overflow:hidden;
    transition:flex .5s cubic-bezier(.2,.8,.2,1);
  }
  .travel-fan-panel.featured{flex:2.6;}
  .travel-fan-panel::after{
    content:'';
    position:absolute;left:0;right:0;bottom:0;height:55%;
    background:linear-gradient(to top, rgba(10,12,26,.6), transparent);
    pointer-events:none;
  }
  .travel-fan-label{
    position:absolute;left:20px;bottom:20px;z-index:2;
    color:#fff;font-family:'Work Sans',sans-serif;font-weight:600;font-size:.85rem;
    opacity:0;transition:opacity .4s ease;white-space:nowrap;
  }
  .travel-fan-panel.featured .travel-fan-label{opacity:1;}
  @media (max-width:800px){
    .travel-fan{height:300px;flex-direction:column;}
    .travel-fan-panel.featured{flex:2;}
  }
  .cta-mid h2{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(1.5rem, 4vw, 2.9rem);line-height:1.15;margin:0 auto 30px;max-width:100%;
    background-image:url('https://travel-club.fr/img/Fond_texte.webp');
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  }

  .postcards-section{padding:112px 6vw 88px;text-align:center;background:var(--navy);}
  .steps-section{padding:112px 6vw;text-align:center;background:var(--tint);}
  .steps-section .kicker{color:var(--gold);}
  .steps-section h2{font-family:'Zilla Slab',serif;font-weight:600;font-size:2.1rem;color:var(--ink);margin-bottom:50px;}
  .steps-flow{display:flex;align-items:stretch;justify-content:center;gap:12px;flex-wrap:wrap;max-width:1300px;margin:0 auto;}
  .step-card{background:#fff;border-radius:12px;padding:26px 20px;flex:1;min-width:190px;max-width:230px;border:1px solid #E6E6F0;display:flex;flex-direction:column;}
  .step-card .num{width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--gold);font-family:'Baloo 2',sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
  .step-card h3{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.02rem;color:var(--ink);margin-bottom:8px;min-height:2.6em;display:flex;align-items:center;justify-content:center;text-align:center;}
  .step-card p{font-size:.84rem;color:var(--sub);line-height:1.5;}
  .arrow{color:#c7c7d6;font-size:1.4rem;display:flex;align-items:center;}
  @media (max-width:800px){.steps-flow{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.step-card{max-width:none;min-width:0;}.arrow{display:none;}}
  @media (max-width:480px){.steps-flow{grid-template-columns:1fr;}}
  .postcards-section .kicker{color:var(--gold);}
  .postcards-section h2{font-family:'Zilla Slab',serif;font-weight:600;font-size:2.2rem;color:#fff;margin-bottom:50px;}
  .postcards{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;}

  /* ---------- LOGO TRUSTPILOT (v2) ---------- */
  .trustpilot-badge{display:flex;align-items:center;gap:10px;justify-content:center;margin:10px auto 30px;width:fit-content;flex-wrap:wrap;background:#fff;border-radius:999px;padding:10px 20px;box-shadow:0 8px 20px rgba(0,0,0,.2);}
  .trustpilot-logo{height:22px;width:auto;display:block;}
  .trustpilot-label{font-family:'Work Sans',sans-serif;font-weight:600;font-size:.85rem;color:var(--ink);}
  .trustpilot-stars{display:flex;gap:2px;}
  .trustpilot-stars svg{border-radius:2px;}
  .postcard{background:#fff;width:250px;padding:26px;box-shadow:0 10px 26px rgba(26,27,61,.09);border-radius:2px;text-align:left;}
  .postcard:nth-child(1){transform:rotate(-3deg);}
  .postcard:nth-child(2){transform:rotate(1.5deg);margin-top:-14px;}
  .postcard:nth-child(3){transform:rotate(-1deg);}
  .postcard:nth-child(4){transform:rotate(2deg);margin-top:-8px;}
  .postcard:nth-child(5){transform:rotate(-2.5deg);}
  .postcard .stamp{font-family:'Zilla Slab',serif;font-size:1.6rem;color:var(--gold);margin-bottom:12px;line-height:1;}
  .postcard p{font-size:.88rem;color:var(--ink);line-height:1.6;font-family:'Karla',sans-serif;font-style:italic;margin-bottom:14px;}
  .postcard .who{font-size:.76rem;color:var(--sub);font-family:'Work Sans',sans-serif;font-style:normal;}

  .faq-section{padding:100px 6vw;background:var(--tint);}
  .faq-section .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start;max-width:1100px;margin:0 auto;}
  .faq-section .faq-photo{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:12px;}
  .faq-section h2{font-family:'Zilla Slab',serif;font-weight:600;font-size:2rem;color:var(--ink);margin-bottom:34px;text-align:left;}

  /* ---------- CONTACT SECTION ---------- */
  .contact-section{padding:100px 6vw;}
  .contact-section .kicker{color:var(--gold);text-align:center;}
  .contact-section > h2{font-family:'Zilla Slab',serif;font-weight:600;font-size:2.1rem;color:var(--ink);text-align:center;margin-bottom:10px;}
  .contact-section .subtitle{text-align:center;color:var(--sub);font-size:.9rem;margin-bottom:50px;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1000px;margin:0 auto;align-items:start;}
  .contact-channels p{color:var(--sub);line-height:1.65;font-size:.9rem;margin-bottom:14px;}
  .channel-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
  .channel-row-stack{flex-direction:column;align-items:flex-start;}
  .channel-row-stack .channel-card{flex:0 0 auto;}
  .channel-card{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border:1px solid #E6E6F0;border-radius:10px;text-decoration:none;color:var(--ink);transition:box-shadow .15s ease, transform .15s ease;flex:1 1 200px;min-width:0;}
  .channel-card:hover{box-shadow:0 10px 24px rgba(26,27,61,.09);transform:translateY(-1px);}
  .channel-card .icon{width:36px;height:36px;border-radius:50%;background:var(--tint);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
  .channel-card .line{font-weight:400;font-size:.86rem;}
  .contact-form-card .lede{font-size:.82rem;color:var(--sub);margin-bottom:16px;text-align:center;}
  .contact-form-card{background:#fff;border-radius:12px;padding:34px;border:1px solid #E6E6F0;box-shadow:0 10px 30px rgba(26,27,61,.06);}
  .contact-form-card h3{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.1rem;margin-bottom:16px;text-align:center;}
  .field textarea{border:1px solid #E1E1EC;border-radius:5px;padding:11px 12px;font-family:'Work Sans',sans-serif;font-size:.9rem;color:var(--ink);background:#fff;resize:vertical;min-height:100px;}
  .field textarea:focus{outline:2px solid var(--navy);outline-offset:1px;}
  @media (max-width:800px){.contact-grid{grid-template-columns:1fr;}}
  .faq-item{border-bottom:1px solid #E6E6F0;padding:18px 0;}
  .faq-item summary{cursor:pointer;font-weight:600;font-size:.96rem;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+';font-family:'Space Mono',monospace;font-size:1.2rem;color:var(--gold);}
  .faq-item[open] summary::after{content:'–';}
  .faq-item p{margin-top:12px;color:var(--sub);font-size:.88rem;line-height:1.65;}

  .field{display:flex;flex-direction:column;gap:6px;}
  .field label{font-size:.78rem;font-weight:600;color:var(--ink);}
  .field input, .field select{border:1px solid #E1E1EC;border-radius:5px;padding:11px 12px;font-family:'Work Sans',sans-serif;font-size:.9rem;color:var(--ink);background:#fff;}
  .field input:focus, .field select:focus{outline:2px solid var(--navy);outline-offset:1px;}
  /* Bordure rouge dès que le champ est rempli mais invalide — pas avant (:not(:placeholder-shown)
     exclut le champ encore vide au premier affichage, pour ne pas paraître déjà en erreur avant
     même d'avoir commencé à écrire). Couleur reprise de .rdv-cal-error, déjà utilisée ailleurs
     sur le site pour les messages d'erreur. */
  .field input:not(:placeholder-shown):invalid{border-color:#a34a3a;}
  .field input:not(:placeholder-shown):invalid:focus{outline-color:#a34a3a;}
  .field-error{display:none;font-size:.68rem;color:#a34a3a;margin-top:4px;}
  .field input:not(:placeholder-shown):invalid ~ .field-error{display:block;}
  /* Label flottant animé (comme un placeholder au repos, se réduit vers le coin en haut à
     gauche au focus ou une fois rempli) plutôt qu'un label sur sa propre ligne — gagne de la
     hauteur sur les formulaires courts type LP. Placé après les règles .field génériques
     ci-dessus pour bien les surcharger (même spécificité CSS, donc l'ordre dans le fichier
     décide). L'ordre input puis label en HTML est nécessaire pour le sélecteur "+" ci-dessous. */
  .field-inset{position:relative;}
  .field-inset input{width:100%;padding:14px 12px;transition:padding .15s ease;}
  .field-inset input:focus,
  .field-inset input:not(:placeholder-shown){padding:21px 12px 7px;}
  .field-inset label{
    position:absolute;left:13px;top:50%;transform:translateY(-50%);
    font-family:'Work Sans',sans-serif;font-size:.9rem;font-weight:600;color:var(--sub);
    pointer-events:none;transition:all .15s ease;background:transparent;
  }
  .field-inset input:focus + label,
  .field-inset input:not(:placeholder-shown) + label{
    top:9px;transform:translateY(0);font-size:.64rem;font-weight:700;
    letter-spacing:.03em;text-transform:uppercase;color:var(--sub);
  }
  .field-inset input:focus{outline:2px solid var(--navy);outline-offset:1px;}
  .optin-row{display:flex;align-items:flex-start;gap:8px;margin:14px 0;}
  .optin-row input[type="checkbox"]{margin-top:3px;flex-shrink:0;width:15px;height:15px;accent-color:var(--navy);}
  .optin-row label{font-size:.74rem;line-height:1.5;color:var(--sub);}
  .optin-row label a{color:var(--ink);text-decoration:underline;}

  .submit-btn{background:var(--navy);color:#fff;font-weight:700;font-size:.9rem;padding:14px 28px;border-radius:5px;}
  .submit-btn:disabled{background:#c9cad6;cursor:not-allowed;}

  /* ---------- RDV BOOKING WIDGET (step 2 : dates & créneaux) ---------- */
  .rdv-cal-header{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px;}
  .rdv-cal-header span{font-family:'Zilla Slab',serif;font-weight:600;font-size:.95rem;color:var(--ink);text-transform:capitalize;}
  .rdv-cal-nav{background:#fff;border:1px solid #E1E1EC;border-radius:6px;width:30px;height:30px;font-size:1rem;cursor:pointer;color:var(--navy);}
  .rdv-cal-nav:disabled{opacity:.3;cursor:not-allowed;}
  .rdv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;}
  .rdv-cal-dow{text-align:center;font-size:.66rem;color:var(--sub);text-transform:uppercase;padding-bottom:2px;}
  .rdv-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:.78rem;cursor:pointer;border:1px solid transparent;position:relative;}
  .rdv-cal-cell.blank{cursor:default;}
  .rdv-cal-cell.status-available{background:#F1F7F3;color:#2c5f45;border-color:#8fcbb0;font-weight:600;}
  .rdv-cal-cell.status-full{background:#FBEAE6;color:#a34a3a;cursor:not-allowed;}
  .rdv-cal-cell.status-not_open{background:#F5F5FA;color:#b7b8c9;cursor:not-allowed;}
  .rdv-cal-cell.status-past{color:#d8d8e0;cursor:not-allowed;}
  .rdv-cal-cell.status-weekend{color:#d8d8e0;cursor:not-allowed;background:#F5F5FA;}
  .rdv-cal-cell.selected{background:var(--navy)!important;color:#fff!important;border-color:var(--navy);}
  .rdv-cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.7rem;color:var(--sub);margin-bottom:14px;}
  .rdv-cal-legend span{display:flex;align-items:center;gap:5px;}
  .rdv-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
  .rdv-dot-available{background:#8fcbb0;}
  .rdv-dot-full{background:#e3a89a;}
  .rdv-dot-notopen{background:#d5d6e3;}
  .rdv-dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:14px 0 10px;}
  .rdv-date-chip{flex:0 0 auto;padding:9px 12px;border-radius:8px;border:1px solid #E1E1EC;text-align:center;cursor:pointer;font-size:.72rem;background:#fff;min-width:56px;}
  .rdv-date-chip .d{font-family:'Zilla Slab',serif;font-size:1.05rem;font-weight:600;color:var(--ink);}
  .rdv-date-chip.selected{border-color:var(--gold-dark);background:#FBF3DE;}
  .rdv-date-chip.empty{opacity:.35;cursor:not-allowed;}
  .rdv-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:7px;margin-bottom:6px;}
  .rdv-slot{padding:8px 4px;border-radius:6px;border:1px solid #E1E1EC;text-align:center;font-size:.78rem;cursor:pointer;background:#fff;font-weight:500;color:var(--ink);}
  .rdv-slot.selected{background:var(--navy);color:#fff;border-color:var(--navy);}
  .rdv-slot.taken{opacity:.3;cursor:not-allowed;text-decoration:line-through;}
  .rdv-empty-msg{font-size:.78rem;color:var(--sub);font-style:italic;margin-bottom:10px;}
  .rdv-back-link{text-align:center;font-size:.76rem;color:var(--sub);margin-top:12px;cursor:pointer;text-decoration:underline;}
  .funnel-no-commitment{text-align:center;font-size:.76rem;font-weight:700;color:var(--navy);margin-top:12px;}
  .rdv-confirm-box{background:#F5FAF7;border:1px solid #8fcbb0;border-radius:8px;padding:18px;text-align:center;}
  .rdv-confirm-date{font-family:'Zilla Slab',serif;font-size:1.1rem;font-weight:600;color:var(--navy);margin-top:6px;}

  footer{padding:36px 6vw;background:var(--navy);border-top:1px solid rgba(255,255,255,.08);text-align:center;}
  footer img{height:40px;margin:0 auto 10px;}
  .footer-social{display:flex;gap:14px;justify-content:center;margin:12px 0;}
  .footer-social a{color:#c9cae0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);transition:background .15s ease, color .15s ease;}
  .footer-social a:hover{background:rgba(255,255,255,.12);color:#fff;}
  .footer-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:16px 0;}
  .footer-links a{font-size:.78rem;color:#c9cae0;text-decoration:none;}
  .footer-links a:hover{text-decoration:underline;}
  footer .f{font-family:'Space Mono',monospace;font-size:.66rem;color:#7274a0;letter-spacing:.04em;}
  .accred-logos{display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap;}
  .accred-logo{position:relative;}
  .accred-logo img{height:90px;width:auto;display:block;}
  .accred-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(6px);width:220px;background:var(--navy);color:#fff;font-family:'Work Sans',sans-serif;font-size:.72rem;line-height:1.5;text-align:center;padding:10px 12px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;z-index:5;}
  .accred-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--navy);}
  .accred-logo:hover .accred-tooltip,.accred-logo.active .accred-tooltip{opacity:1;transform:translateX(-50%) translateY(0);}
  @media (max-width:800px){
    .accred-tooltip{width:180px;}
    .accred-logo:first-child .accred-tooltip{left:0;transform:translateX(0) translateY(6px);}
    .accred-logo:first-child:hover .accred-tooltip,.accred-logo:first-child.active .accred-tooltip{transform:translateX(0) translateY(0);}
    .accred-logo:first-child .accred-tooltip::after{left:20px;transform:translateX(0);}
    .accred-logo:last-child .accred-tooltip{left:auto;right:0;transform:translateX(0) translateY(6px);}
    .accred-logo:last-child:hover .accred-tooltip,.accred-logo:last-child.active .accred-tooltip{transform:translateX(0) translateY(0);}
    .accred-logo:last-child .accred-tooltip::after{left:auto;right:20px;transform:translateX(0);}
  }
  .trust-bar{background:var(--tint);padding:40px 6vw;text-align:center;}
  .trust-bar-label{display:block;font-family:'Zilla Slab',serif;font-weight:600;font-size:1.05rem;color:var(--ink);margin-bottom:22px;}

  @media (max-width:800px){
    .hero-inner{padding:30px 6vw;grid-template-columns:1fr;gap:28px;}
    .hero-lead{text-align:center;max-width:none;display:contents;}
    .hero-inner h1{order:1;}
    .hero-inner .hero-form{order:2;}
    .hero-inner .lead-subtext{order:3;text-align:center;}
    .hero-lead .lead-text{margin-left:auto;margin-right:auto;}
    .hero-trust-badges{justify-content:center;}
    .hero-lead h1{font-size:1.8rem;}
    .hero-trust-badges{display:grid;grid-template-columns:1fr 1fr;gap:6px;justify-items:center;}
    .hero-trust-badges span{white-space:normal;text-align:center;}
    .guarantees .wrap,.faq-section .wrap{grid-template-columns:1fr;}
    .faq-section .faq-photo{min-height:220px;}
    .hero-form{padding:30px 25px;}
    .statband{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px 12px;text-align:center;}

    /* Espacements de section resserrés sur mobile/tablette */
    .why-section,.services-section,.feature-highlights,.guarantees,.cta-mid,.postcards-section,.steps-section,.faq-section,.contact-section{padding-top:64px;padding-bottom:64px;}
    nav{height:84px;padding:0 5vw;}
    nav .logo{height:38px;}
    .hero-photo{margin-top:-122px;padding-top:122px;}

    /* Titres de section réduits */
    .why-title{font-size:1.5rem!important;}
    .services-section h2,.steps-section h2,.postcards-section h2,.contact-section>h2{font-size:1.6rem;margin-bottom:8px;}
    .faq-section h2{font-size:1.5rem;}
    .g-card .big{font-size:1.8rem;}
    .g-card{padding:26px;}

    .accred-logos{gap:24px;}
    .accred-logo img{height:60px;}
    .trust-bar{padding:32px 6vw;}

    .postcards{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
    .postcard-hide-mobile{display:none;}
    .postcard{width:auto;max-width:none;padding:18px;transform:none!important;margin-top:0!important;}
    .postcard .stamp{font-size:1.3rem;margin-bottom:8px;}
    .postcard p{font-size:.8rem;line-height:1.5;margin-bottom:10px;}
    .postcard .who{font-size:.66rem;}

    .statband{padding:32px 6vw;}
    .statband .stat .v{font-size:1.7rem;}

    nav .cta{padding:11px 20px;font-size:.82rem;}
    .channel-card{padding:11px 12px;gap:8px;flex-basis:0;}
    .channel-card .icon{width:30px;height:30px;}
    .channel-card .line{font-size:.8rem;}
  }
  @media (max-width:480px){
    .cta-mid h2{white-space:normal;font-size:1.65rem;}
    html{font-size:17px;}
    section,nav,.hero-photo,.trust-bar{padding-left:5vw;padding-right:5vw;}
    .hero-form{padding:26px 20px;}
    .why-section,.services-section,.feature-highlights,.guarantees,.cta-mid,.postcards-section,.steps-section,.faq-section,.contact-section{padding-top:52px;padding-bottom:52px;}
    .offer-cols{gap:8px;}
    .contact-form-card{padding:24px 20px;}
    .step-card{min-width:0;max-width:none;width:100%;}
    .postcard{max-width:none;transform:none!important;margin-top:0!important;}
  }

  /* --- Fonds d'image dynamiques (remplace les style="background-image" inline) --- */
  .bg-provence{background-image:url('https://travel-club.fr/img/Provence_France.webp');}
  .bg-bali{background-image:url('https://travel-club.fr/img/Bali_Indonesie.webp');}
  .bg-santorin{background-image:url('https://travel-club.fr/img/Santorin_Grece.webp');}
  .bg-maldives{background-image:url('https://travel-club.fr/img/Maldives.webp');}
  .bg-positano{background-image:url('https://travel-club.fr/img/Positano_Italie.webp');}
  .bg-panglao{background-image:url('https://travel-club.fr/img/Offre-Hotel-Panglao.webp');}
  .bg-newyork-hotel{background-image:url('https://travel-club.fr/img/Offre-Hotel-NewYork.webp');}
  .bg-londres{background-image:url('https://travel-club.fr/img/Offre-Hotel-Londres.webp');}
  .bg-bangkok{background-image:url('https://travel-club.fr/img/Offre-Hotel-Bangkok.webp');}
  .bg-marrakech{background-image:url('https://travel-club.fr/img/Marrakech_Maroc.webp');}
  .bg-seychelles{background-image:url('https://travel-club.fr/img/Seychelles.webp');}
  .bg-newyork-fan{background-image:url('https://travel-club.fr/img/New-York_États-Unis.webp');}
  .bg-chamonix{background-image:url('https://travel-club.fr/img/Chamonix_France.webp');}

  /* --- Utilitaires ponctuels (remplace les style="" isolés restants) --- */
  .text-center{text-align:center;}
  .mt-8{margin-top:8px;}
  .mt-10{margin-top:10px;}
  .mt-16{margin-top:16px;}
  .mt-20{margin-top:20px;}
  .mt-24{margin-top:24px;}
  .mt-30{margin-top:30px;}
  .mt-44{margin-top:44px;}
  .mt-50{margin-top:50px;}
  .mb-16{margin-bottom:16px;}
  .mb-20{margin-bottom:20px;}
  .step-hidden{display:none;}
  .rdv-note{font-size:.73rem;color:var(--sub);}
  .rdv-consent-note{margin-top:20px;font-size:.62rem;font-style:italic;}
  .rdv-confirm-date{font-size:.85rem;color:var(--ink);}
  .rdv-confirm-sub{font-size:.78rem;color:var(--sub);}
  .btn-dark{background:var(--navy);border-color:rgba(255,255,255,.25);color:#fff;}
  .honeypot{position:absolute;left:-9999px;}

  /* --- Bannière de consentement cookies --- */
  .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid #E6E6F0;box-shadow:0 -10px 30px rgba(26,27,61,.12);transform:translateY(100%);transition:transform .3s ease;padding:20px;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-banner-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
  .cookie-banner-text{flex:1 1 400px;font-size:.86rem;color:var(--ink);margin:0;line-height:1.5;}
  .cookie-banner-text a{color:var(--navy);text-decoration:underline;}
  .cookie-banner-actions{display:flex;gap:12px;flex:0 0 auto;}
  .btn-cookie{padding:11px 22px;border-radius:999px;font-weight:700;font-size:.86rem;cursor:pointer;border:2px solid transparent;font-family:inherit;}
  .btn-cookie-primary{background:var(--gold-btn-gradient);border-color:var(--gold-border);color:#fff;}
  .btn-cookie-secondary{background:#fff;border-color:#E6E6F0;color:var(--ink);}
  @media(max-width:640px){
    .cookie-banner-inner{flex-direction:column;align-items:stretch;}
    .cookie-banner-text{flex:1 1 auto;}
    .cookie-banner-actions{justify-content:stretch;}
    .btn-cookie{flex:1;}
  }

  /* --- Inscription newsletter directe dans le footer, sur une seule ligne --- */
  .footer-newsletter{max-width:920px;margin:0 auto 28px;padding:24px 28px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.03);}
  .footer-newsletter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;}
  .footer-newsletter-label{color:#fff;font-weight:700;font-size:.88rem;white-space:nowrap;}
  .footer-newsletter-row input[type="text"], .footer-newsletter-row input[type="email"]{flex:0 1 170px;border:1px solid rgba(255,255,255,.2);border-radius:5px;padding:11px 12px;font-family:'Work Sans',sans-serif;font-size:.85rem;background:#fff;color:var(--ink);}
  .footer-newsletter-optin{justify-content:center;text-align:left;max-width:420px;margin:12px auto 0;}
  .footer-newsletter-optin label{font-size:.78rem;line-height:1.4;color:rgba(255,255,255,.88);}
  .footer-newsletter-optin input[type="checkbox"]{accent-color:var(--gold);}
  .footer-newsletter-optin label a{color:rgba(255,255,255,.85);}
  #nl-submit-btn{flex:0 0 auto;background:var(--gold-btn-gradient);border:2px solid var(--gold-border);color:#fff;font-weight:700;font-size:.85rem;padding:11px 22px;border-radius:999px;cursor:pointer;white-space:nowrap;}

  /* --- Popup notification newsletter (bas à droite, façon notif discrète) --- */
  .nl-popup{
    position:fixed;right:20px;bottom:20px;z-index:80;
    background:#fff;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);
    padding:20px;width:290px;max-width:calc(100vw - 40px);
    transform:translateY(140%);opacity:0;transition:transform .4s ease, opacity .4s ease;
    pointer-events:none;
  }
  .nl-popup.visible{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nl-popup-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:1.3rem;line-height:1;color:var(--sub);cursor:pointer;padding:2px;}
  .nl-popup-title{font-weight:700;font-size:.88rem;color:var(--ink);margin:0 0 12px;padding-right:16px;}
  .nl-popup input[type="text"], .nl-popup input[type="email"]{width:100%;box-sizing:border-box;border:1px solid #E1E1EC;border-radius:5px;padding:10px 12px;font-family:'Work Sans',sans-serif;font-size:.85rem;color:var(--ink);margin-bottom:8px;}
  .nl-popup-optin{margin:8px 0;}
  .nl-popup-optin label{font-size:.76rem;}
  #nlp-submit-btn{width:100%;background:var(--gold-btn-gradient);border:2px solid var(--gold-border);color:#fff;font-weight:700;font-size:.85rem;padding:10px;border-radius:999px;cursor:pointer;margin-top:4px;}
  .nl-popup-status{font-size:.76rem;color:var(--sub);text-align:center;margin:8px 0 0;}
  @media(max-width:480px){ .nl-popup{right:12px;bottom:12px;left:12px;width:auto;} }

  /* ---------- RDV Funnel (rdv-funnel-v2.html) ---------- */
  /* v2 : reprend franchement l'habillage de la Version A du hero LP — pas
     juste badge + bulles ajoutés au design existant, mais la même présence
     visuelle (grand titre, voile allégé, photos qui défilent, respiration
     verticale). */
  /* Note historique : cette page était pensée volontairement minimaliste
     (l'argumentaire vit dans le kit email, pas ici) — ce parti pris plus
     "vendeur" est l'exception assumée pour la v2, sur demande explicite. */
  /* Scope .rdv-funnel-page : evite tout impact sur les autres pages du site. */
  body.rdv-funnel-page{
    margin:0;
    font-family:'Work Sans',sans-serif;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    position:relative;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  body.rdv-funnel-page::-webkit-scrollbar{display:none;width:0;height:0;}
  /* Le scroll (::-webkit-scrollbar / scrollbar-width) est en réalité porté
     par <html>, pas <body> — on masque aussi la barre à ce niveau, scopé au
     funnel via :has() pour ne pas toucher les autres pages du site. */
  html.funnel-html{scrollbar-width:none;-ms-overflow-style:none;}
  html.funnel-html::-webkit-scrollbar{display:none;width:0;height:0;}
  /* Zone photo : prend tout l'espace flexible restant du body (topbar/bandeau
     sont fixed, hors flux ; le footer, lui, reste en flux normal) — donc
     cette zone s'arrête PILE là où commence le footer, quelle que soit la
     hauteur de la page. */
  .funnel-photo-area{position:relative;flex:1;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--navy);}
  /* Photos de fond qui défilent (mêmes classes bg-* et hero-slide que la LP),
     calées dans .funnel-photo-area (donc plus jamais derrière le footer). */
  .funnel-slides{position:absolute;inset:0;z-index:0;overflow:hidden;}
  /* Dégradé supprimé (v2) : plus aucun voile sur la photo. */
  /* Transition plus lente : 6s d'affichage -> 9s (voir rdv-funnel.js), fondu 2.5s -> 3.5s */
  .funnel-slides .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 3.5s ease;}
  .funnel-slides .hero-slide.active{opacity:1;}

  /* ---------- ÉTIQUETTE DE LIEU (v4) ----------
     En bas de .funnel-photo-area (donc en bas de la photo, comme sur
     l'index) — et comme cette zone s'arrête avant le footer, l'étiquette ne
     peut plus jamais s'y retrouver mêlée. L'opacité suit toujours .active,
     même mécanisme CSS que la photo : pas de JS séparé à faire tourner. */
  .funnel-slide-label{
    position:absolute;left:20px;bottom:16px;z-index:1;
    font-family:'Work Sans',sans-serif;font-weight:500;font-size:.72rem;
    color:rgba(255,255,255,.85);letter-spacing:.03em;text-shadow:0 1px 4px rgba(0,0,0,.6);
    opacity:0;transition:opacity 3.5s ease;
  }
  .hero-slide.active .funnel-slide-label{opacity:1;}

  /* ---------- HEADER FIXE (v2) ----------
     Logo à gauche, titre en face à droite, accrochés en haut de page.
     Flou retiré (v2) : le bandeau doit se voir comme posé au-dessus de tout,
     pas fondu dans la photo. Titre agrandi (1.3rem -> 1.7rem). */
  .funnel-topbar{
    position:fixed;top:0;left:0;right:0;z-index:6;height:78px;
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
    padding:0 6vw;
    background:rgba(10,12,26,.35);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .funnel-topbar img{height:50px;flex-shrink:0;}
  .funnel-topbar .funnel-tagline{
    grid-column:2;justify-self:center;
    margin:0;color:#fff;font-family:'Baloo 2',sans-serif;font-weight:800;
    font-size:1.7rem;line-height:1.1;white-space:nowrap;text-align:center;
    text-shadow:0 1px 0 rgba(0,0,0,.9), 0 2px 6px rgba(0,0,0,.85);
  }

  /* ---------- BANDEAU "-70%" (v2) ----------
     Remplace le badge pilule : une bande dorée continue, pleine largeur,
     accrochée juste sous le logo — nettement plus visible qu'un petit badge
     perdu à côté du logo. */
  .funnel-savings-banner{
    position:fixed;top:78px;left:0;right:0;z-index:6;
    background:var(--gold-btn-gradient);
    border-bottom:2px solid var(--gold-border);
    padding:11px 6vw;text-align:center;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
  }
  .funnel-savings-banner span{color:#fff;font-family:'Work Sans',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.35);}
  .funnel-savings-banner strong{font-size:1.18em;}
  @media(max-width:560px){
    .funnel-topbar{height:auto;min-height:58px;padding:8px 4vw;grid-template-columns:auto 1fr;}
    .funnel-topbar img{height:38px;width:auto;}
    .funnel-topbar .funnel-tagline{grid-column:2;font-size:1.05rem;white-space:normal;text-align:center;}
    .funnel-tagline-break{display:block;}
    .funnel-savings-banner{top:58px;padding:9px 4vw;}
    .funnel-savings-banner span{font-size:.74rem;}
  }

  .funnel-center, body.rdv-funnel-page footer{position:relative;z-index:2;}
  /* Le dégagement pour le topbar/bandeau est maintenant porté par
     .funnel-photo-area (padding-top) — donc ce centrage flex se fait dans
     l'espace réellement visible sous le header, pas collé dessous. */
  /* top explicite (et non inset:0) : inset:0 se cale sur le bord du padding,
     pas après — le header n'aurait donc pas été exclu de la zone de
     centrage. Avec top:130px, le centrage se fait uniquement dans l'espace
     visible entre le bas du bandeau doré et le footer. */
  .funnel-center{position:absolute;top:130px;left:0;right:0;bottom:0;display:flex;align-items:center;align-items:safe center;justify-content:center;padding:0 6vw 40px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;}
  .funnel-center::-webkit-scrollbar{display:none;width:0;height:0;}
  @media(max-width:480px){
    .funnel-center{top:112px;}
  }
  .funnel-wrap{max-width:560px;width:100%;}
  .funnel-wrap .hero-form{box-shadow:0 30px 70px rgba(0,0,0,.4);width:100%;}
  /* Prénom / Email côte à côte : la carte peut être plus large et moins
     haute, vu qu'elle est seule, centrée en pleine page (pas partagée avec
     un bloc titre comme sur l'index). */
  .funnel-form-row{display:flex;gap:14px;}
  .funnel-form-row .field{flex:1;min-width:0;}
  @media(max-width:480px){
    .funnel-form-row{flex-direction:column;gap:0;}
  }
  /* Calendrier plus compact dans le funnel : la carte tient sans avoir à
     scroller, et le haut ("Choisissez votre créneau") ne finit plus sous
     le header. */
  .funnel-wrap .rdv-cal-grid{grid-template-columns:repeat(7,32px);justify-content:center;gap:6px;}
  .funnel-wrap .rdv-cal-cell{aspect-ratio:1;width:32px;font-size:.72rem;}
  .funnel-wrap .rdv-cal-dow{width:32px;}
  .funnel-wrap .rdv-cal-header{margin:10px 0 6px;}
  .funnel-wrap .rdv-cal-legend{margin-bottom:10px;font-size:.66rem;gap:10px;}
  /* Sous-titre déplacé dans le footer, au-dessus des liens */
  .footer-sub{
    font-family:'Zilla Slab',serif;font-weight:600;font-size:1rem;color:#fff;
    margin:0 0 18px;
  }
  .rdv-slot.taken{pointer-events:none;}
  .funnel-state{display:none;}
  .funnel-state.active{display:block;}
  .spinner{
    width:28px;height:28px;margin:0 auto 16px;
    border:3px solid rgba(232,189,58,.3);border-top-color:var(--gold);
    border-radius:50%;animation:spin .8s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  #state-loading{text-align:center;padding:40px 6vw;color:#fff;}
  #state-error{text-align:center;padding:24px 6vw;background:#fff;border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.4);}
  #error-message{color:#a34a3a;font-size:.95rem;line-height:1.6;margin-bottom:8px;}
  .funnel-error-sub{color:var(--sub);font-size:.85rem;}
  .funnel-error-link{color:var(--navy);}
  #manual-error{display:none;color:#a34a3a;font-size:.78rem;margin:0 0 10px;}
  #manual-error.visible{display:block;}
  .rdv-cal-error{grid-column:1/-1;text-align:center;font-size:.78rem;color:#a34a3a;padding:16px 0;}
  .rdv-cal-span{grid-column:1/-1;}

/* Petits téléphones : cartes postales d'avis sur une colonne (2 colonnes = ~100px de texte, illisible) */
@media (max-width:480px){.postcards{grid-template-columns:1fr;gap:16px;}.postcard{width:auto;}}
