  :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%;}
  #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);}

  .hero-photo{
    position:relative;
    overflow:hidden;
    margin-top:-108px;
    min-height:100vh;
    min-height:100dvh;
    padding-top:108px;
    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:14px;}
  .hero-trust-badges span{font-family:'Work Sans',sans-serif;font-weight:600;font-size:.66rem;color:var(--navy);background:#fff;border:1px solid #E6E6F0;padding:5px 9px;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;}

  /* ---------- 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 .lede{font-size:.82rem;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;}
  .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 .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;gap:50px;align-items:flex-start;}
  .why-content{flex:0 0 auto;width:38%;}
  .why-compare{flex:1 1 auto;min-width:0;}
  .why-section .compare-widget{margin-top:0;max-width:none;}
  .why-section .kicker{color:var(--gold);}
  .why-section p{color:var(--sub);line-height:1.75;font-size:.96rem;margin-bottom:16px;}
  .why-list{list-style:none;margin-top:20px;}
  .why-list li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink);margin-bottom:10px;}
  .why-list li b{font-weight:700;}
  .why-list .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-gradient);margin-top:8px;flex-shrink:0;}
  .why-content .foot{text-align:left;font-family:'Zilla Slab',serif;font-weight:600;font-size:.98rem;color:var(--ink);margin-top:26px;line-height:1.4;}
  @media (max-width:900px){.why-grid{flex-direction:column;align-items:stretch;gap:36px;}.why-content{width:100%;}.why-compare{width:100%;}.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%;height:360px;border-radius:12px;position:relative;overflow:hidden;display:flex;background:var(--navy);}
  .offer-ribbon-wrap{position:absolute;top:-8px;right:-8px;width:150px;height:150px;overflow:hidden;z-index:3;}
  .offer-ribbon{position:absolute;top:30px;right:-50px;width:210px;background:var(--gold);color:#fff;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.05rem;padding:8px 0;transform:rotate(40deg);text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.35);}
  .offer-photo{flex:1 1 50%;background-size:cover;background-position:center;}
  .offer-info{flex:1 1 50%;padding:32px 66px 32px 30px;display:flex;flex-direction:column;justify-content:center;color:#fff;}
  .offer-hotel-name{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.25rem;line-height:1.3;color:#fff;margin-bottom:8px;}
  .offer-meta{font-family:'Work Sans',sans-serif;font-weight:500;font-size:.74rem;color:#8f91ac;line-height:1.5;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);}
  .offer-prices{display:flex;flex-direction:column;gap:14px;}
  .offer-cols{display:flex;align-items:center;gap:14px;}
  .offer-cols .col{flex:1;text-align:center;}
  .offer-cols .col .src{font-family:'Work Sans',sans-serif;font-size:.68rem;font-weight:700;color:#8f91ac;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
  .offer-cols .col.b .src{text-transform:none;}
  .offer-cols .col .src img{height:22px;width:auto;display:block;margin:0 auto;}
  .offer-cols .col.b .val{font-family:'Baloo 2',sans-serif;text-decoration:line-through;color:#8f91ac;font-size:1.15rem;}
  .offer-cols .col.t .val{font-family:'Baloo 2',sans-serif;font-weight:700;color:#4ade80;font-size:1.6rem;}
  .offer-cols .arrow{color:var(--gold);font-size:1.2rem;}
  .offer-save{text-align:center;background:rgba(232,189,58,.1);border-radius:8px;padding:9px;font-family:'Work Sans',sans-serif;font-weight:700;font-size:.82rem;color:var(--gold);}
  @media (max-width:700px){.offer-card{flex-direction:column;height:auto;}.offer-photo{flex:0 0 200px;height:200px;width:100%;}.offer-info{padding:24px;}}

  .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;}}

  .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;}
  .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;}
  .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;}
  .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;}
    .lead-subtext{text-align:left;}
    .hero-lead h1{font-size:1.8rem;}
    .hero-trust-badges{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
    .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;gap:28px 16px;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:-84px;padding-top:84px;}

    /* 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-hotel-name{font-size:1.1rem;}
    .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:.76rem;color:var(--sub);}
  .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.html) ---------- */
  /* Page volontairement minimaliste : juste le calendrier. */
  /* L'argumentaire (chiffres, garanties, accreditations) est dans le kit email, pas ici -- */
  /* la personne l'a deja lu, le funnel ne doit pas ralentir le clic vers creneau. */
  /* 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;
    background:
      linear-gradient(180deg, rgba(21,26,51,.88) 0%, rgba(21,26,51,.72) 45%, rgba(21,26,51,.88) 100%),
      url('https://travel-club.fr/img/Santorin_Grece.webp') center / cover no-repeat fixed;
  }
  .funnel-header{padding:28px 6vw 0;text-align:center;flex-shrink:0;}
  .funnel-header img{height:42px;}
  .funnel-tagline{color:#fff;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.6rem;line-height:1.15;margin:12px 0 0;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);}
  @media(max-width:480px){ .funnel-tagline{font-size:1.3rem;} }
  .funnel-center{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 6vw 48px;}
  .funnel-wrap{max-width:460px;width:100%;}
  .funnel-wrap .hero-form{box-shadow:0 30px 70px rgba(0,0,0,.4);width:100%;}
  .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;}
