
    html,body,#root{height:100%;overflow:hidden}
    /* Scrollbar jaune plus visible */
    ::-webkit-scrollbar{height:10px;width:10px}
    ::-webkit-scrollbar-track{background:#18181b}
    ::-webkit-scrollbar-thumb{background:#F5C04A;border-radius:9999px;border:2px solid #18181b}
    ::-webkit-scrollbar-thumb:hover{background:#ffd76a}
    *{scrollbar-width:thin;scrollbar-color:#F5C04A #18181b}
    .scroll-panel,.offers-scroll-panel{height:100vh;overflow-y:scroll!important;overflow-x:hidden;scrollbar-gutter:stable both-edges;-webkit-overflow-scrolling:touch;}
    .scroll-panel::-webkit-scrollbar,.offers-scroll-panel::-webkit-scrollbar{width:10px;height:10px;display:block;}
    .scroll-panel::-webkit-scrollbar-track,.offers-scroll-panel::-webkit-scrollbar-track{background:#18181b;}
    .scroll-panel::-webkit-scrollbar-thumb,.offers-scroll-panel::-webkit-scrollbar-thumb{background:#F5C04A;border-radius:9999px;border:2px solid #18181b;}
    .video-panel{height:100vh;overflow:hidden!important;overscroll-behavior:none;}
    .video-panel::-webkit-scrollbar{display:none;}
    .video-panel{scrollbar-width:none;}
  

/* Ajout titres style accueil (inspiré de autre_updated) */
    .panel-content{
      position: relative;
      z-index: 2;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding: 40px;
      gap: 18px;
      padding-bottom: 160px;
    }
    .title-left,.title-right{
      font-size: 42px;
      letter-spacing: .5px;
      font-weight: 800;
      text-transform: uppercase;
      text-decoration: none;
      color: #ffffff;
      transition: color .22s ease, transform .22s ease;
    }
    button:hover .title-left, button:hover .title-right{color:#F5C04A;transform:translateY(-3px);}
    .title-left{ align-self:flex-start; text-align:left; font-size:42px; letter-spacing:.5px; font-weight:800; text-transform:uppercase; text-decoration:none; color:#ffffff; }
    .title-right{ align-self: flex-end; text-align: right; }
    @media(hover:hover){button:hover .title-left,button:hover .title-right{animation:hidaFloat 1.7s ease-in-out infinite;color:#f5c04a}}
    button:focus-visible .title-left,button:focus-visible .title-right{color:#f5c04a;text-decoration:underline}
    @keyframes hidaFloat{0%,100%{transform:translateY(-2px)}50%{transform:translateY(-8px)}}
    @media(prefers-reduced-motion:reduce){button:hover .title-left,button:hover .title-right{animation:none!important}}



    /* Améliorations UI demandées */
    .promo-wrap{position:fixed;bottom:.85rem;left:50%;z-index:40;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:left 1.05s cubic-bezier(.22,.8,.22,1),transform 1.05s cubic-bezier(.22,.8,.22,1);}
    .promo-center{left:50%;transform:translateX(-50%);}
    .promo-left{left:50%;transform:translateX(-100%);}
    .promo-right{left:50%;transform:none;}
    @media (max-width:768px){.promo-wrap{bottom:.65rem}.promo-left,.promo-right{left:50%;transform:translateX(-50%);}}
    .promo-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:max-content;
      max-width:calc(100vw - 24px);
      padding:10px 22px;
      border-radius:9999px;
      background:rgba(0,0,0,.72);
      border:1px solid rgba(245,192,74,.38);
      box-shadow:0 10px 30px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.04);
      backdrop-filter:blur(10px);
      animation:promoFloat 2.8s ease-in-out infinite;
    }
    @keyframes promoFloat{
      0%,100%{transform:translateY(0) scale(1)}
      50%{transform:translateY(-4px) scale(1.015)}
    }
    .top-action{
      font-weight:800;
      color:#fff;
      background:rgba(0,0,0,.58)!important;
      border-color:rgba(255,255,255,.34)!important;
      box-shadow:0 8px 24px rgba(0,0,0,.25);
      backdrop-filter:blur(8px);
    }
    .top-action:hover{background:rgba(245,192,74,.22)!important;border-color:rgba(245,192,74,.65)!important}
    .media-replace-img{animation:mediaFade .28s ease-out both}
    @keyframes mediaFade{from{opacity:.25;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}

    .brand-logo{height:5rem;width:auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.5));}
    .brand-logo-stack{position:relative;display:block;height:5rem;width:max-content;}
    .brand-logo-stack .brand-logo{display:block;transition:opacity .72s ease,filter .72s ease,transform .72s cubic-bezier(.22,.8,.22,1);}
    .brand-logo-secondary{position:absolute;inset:0;opacity:0;transform:scale(.985);filter:drop-shadow(0 8px 22px rgba(0,0,0,.5)) blur(5px);}
    .logo-wrap{position:absolute;top:0;transition:left 1.05s cubic-bezier(.22,.8,.22,1),right 1.05s cubic-bezier(.22,.8,.22,1),transform 1.05s cubic-bezier(.22,.8,.22,1);}
    .logo-center{left:50%;transform:translateX(-50%);}
    .logo-left{left:50%;transform:translateX(-100%);} /* le bord droit du logo s’arrête au milieu */
    .logo-right{left:50%;right:auto;transform:none;} /* le bord gauche du logo commence au milieu */
    .logo-wrap button{display:block;cursor:pointer;transition:transform .62s cubic-bezier(.22,.8,.22,1);transform-origin:top center;will-change:transform;}
    .logo-wrap button:hover,.logo-wrap button:focus-visible{transform:none;}
    .logo-wrap button:hover .brand-logo-primary,.logo-wrap button:focus-visible .brand-logo-primary{opacity:0;filter:drop-shadow(0 8px 22px rgba(0,0,0,.5)) blur(3px);transition-delay:.54s;}
    .logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{opacity:1;transform:scale(1);filter:drop-shadow(0 10px 26px rgba(0,0,0,.55)) blur(0);transition-delay:.54s;}
    .close-x{color:#F5C04A!important;border-color:rgba(245,192,74,.72)!important;}
    .close-x svg{color:#F5C04A!important;stroke:#F5C04A!important;}
    .close-x:hover{background:rgba(245,192,74,.18)!important;border-color:#F5C04A!important;}
    @media (max-width: 768px){.brand-logo{height:4.25rem}.logo-left,.logo-right{left:50%;right:auto;transform:translateX(-50%);}}
    .option-price{color:#F5C04A;font-weight:800;margin-left:.35rem;}
    .section-kicker{color:#F5C04A!important;font-weight:900;text-transform:none;font-size:1rem;line-height:1.25;}
    .section-kicker::first-letter{text-transform:uppercase;}
    .product-title{text-transform:uppercase;}
    .select-choice{color:#fff!important;text-transform:none!important;font-size:.875rem;font-weight:600;}
    .price-duration-pill{min-width:116px;text-align:center;border:1px solid rgba(245,192,74,.45);background:rgba(245,192,74,.12);border-radius:16px;padding:8px 12px;line-height:1.15;}
    .reserve-btn{color:#fff!important;}
    .booking-cta{width:100%;border:1px solid rgba(245,192,74,.72);background:transparent;color:#050505!important;box-shadow:0 12px 30px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.05);letter-spacing:.025em;text-transform:uppercase;position:relative;overflow:hidden;min-height:42px;padding:0!important;}
    .booking-cta:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(245,192,74,.20),0 0 0 1px rgba(255,255,255,.08);filter:saturate(1.05);}
    .booking-cta .cta-main{align-self:stretch;flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#F5C04A 0%,#DFA52A 100%);color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.34);padding:0 12px;}
    .booking-cta .cta-price{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#111;border-left:1px solid rgba(0,0,0,.10);border-radius:0;padding:5px 10px;min-width:88px;line-height:1.05;}
    .booking-cta .cta-price .price-value{font-size:.9rem;font-weight:900;}
    .booking-cta .cta-price .duration-value{font-size:.64rem;font-weight:800;opacity:.72;margin-top:2px;}
    .tile-grid{display:flex!important;flex-wrap:wrap;align-items:flex-start;}
    .tile-expanded-preview{flex:0 0 100%;min-width:100%;z-index:4;border-color:#F5C04A!important;box-shadow:0 18px 42px rgba(0,0,0,.36),0 0 0 1px rgba(245,192,74,.36);background:rgba(245,192,74,.12);}
    .tile-expanded-preview .tile-image{height:18rem;}
    @media (max-width:768px){.tile-expanded-preview .tile-image{height:14rem;}}
    .option-tile{transition:all .24s ease;flex:1 1 calc(50% - .75rem);min-width:calc(50% - .75rem);}
    @media (min-width:768px){.option-tile{flex-basis:calc(33.333% - .75rem);min-width:calc(33.333% - .75rem);}}
    .option-tile.tile-expanded{order:0;flex-basis:100%;min-width:100%;z-index:3;opacity:1!important;transform:none!important;border-color:#F5C04A;box-shadow:0 16px 34px rgba(0,0,0,.28);}
    .tile-grid.tile-grid-has-expanded .option-tile:not(.tile-expanded){order:0;opacity:.88;transform:none;}
    .option-tile.tile-expanded .tile-image{height:16rem;}
    .tile-image{transition:height .22s ease;}
    .popup-rect{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;width:auto;height:32px;padding:0 12px;border-radius:999px;background:rgba(0,0,0,.82);border:1px solid rgba(245,192,74,.85);color:#fff;font-size:.78rem;font-weight:900;opacity:0;transition:opacity .18s ease,transform .18s ease;box-shadow:0 10px 24px rgba(0,0,0,.32);}
    .popup-rect:hover{transform:translateY(-1px);background:rgba(245,192,74,.95);color:#090909;}
    .option-tile.tile-expanded .popup-rect,.option-tile:hover .popup-rect{opacity:1;}
    .tile-label{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.15;}
    .tile-label .option-price{display:block;margin-left:0;}
    .product-masonry{column-count:1;column-gap:1rem;}
    @media (min-width:768px){.product-masonry{column-count:2;}}
    .product-card{break-inside:avoid;margin-bottom:1rem;display:inline-block;width:100%;position:relative;border-color:rgba(245,192,74,.26)!important;box-shadow:0 18px 45px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.03);}
    .product-card.retraits-left{break-before:column;-webkit-column-break-before:always;}
    .product-card:before{content:"";position:absolute;inset:0;border-radius:1.5rem;border:1px solid rgba(245,192,74,.34);pointer-events:none;}
    .product-card > .relative:first-child:after{content:"";position:absolute;left:0;right:0;bottom:0;height:62px;background:linear-gradient(to top,rgba(9,9,11,.95),transparent);pointer-events:none;}
    .poster-image{position:relative;height:11rem;width:100%;background:#18181b;overflow:hidden;}
    .poster-info-btn{position:absolute;right:12px;top:12px;z-index:2;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border-radius:999px;background:rgba(0,0,0,.82);border:1px solid rgba(245,192,74,.85);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.32);transition:background .18s ease,color .18s ease,transform .18s ease;}
    .poster-info-btn:hover{transform:translateY(-1px);background:rgba(245,192,74,.95);color:#090909;}
    .poster-image img{height:100%;width:100%;object-fit:cover;}
    .poster-image:after{content:"";position:absolute;left:0;right:0;bottom:0;height:62px;background:linear-gradient(to top,rgba(9,9,11,.95),transparent);pointer-events:none;}
    .booking-modal-card{max-height:90vh;overflow-y:auto;}
    .popup-window{position:relative;}
    .visual-popup-card{max-height:64vh;}
    .visual-popup-media{min-height:220px;height:64vh;max-height:64vh;display:flex;align-items:center;justify-content:center;background:#050505;}
    .visual-popup-media img,.visual-popup-media video,.visual-popup-media iframe{max-height:100%;max-width:100%;height:100%;width:100%;object-fit:contain;}
    .visual-popup-media iframe{border:0;background:#050505;}
    @media (max-width:768px){.visual-popup-card{max-height:82vh}.visual-popup-media{height:38vh;min-height:200px}}
    .youtube-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,0,0,.55),rgba(0,0,0,.15)),url('assets/images/concept.jpg') center/cover;}
    .youtube-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(245,192,74,.75);background:rgba(0,0,0,.72);color:#fff;border-radius:999px;padding:14px 22px;font-weight:900;box-shadow:0 18px 44px rgba(0,0,0,.38);}
    .youtube-button:hover{background:rgba(245,192,74,.95);color:#090909;}
    .concept-video-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:clamp(14px,4vw,48px);background:rgba(0,0,0,.78);backdrop-filter:blur(10px);}
    .concept-video-card{position:relative;width:min(1100px,96vw);border-radius:28px;overflow:hidden;background:#050505;border:1px solid rgba(245,192,74,.42);box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.05);}
    .concept-video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#050505;}
    .concept-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#050505;}
    .concept-video-close{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:9999px;background:rgba(0,0,0,.72);border:1px solid rgba(245,192,74,.76);color:#F5C04A;box-shadow:0 10px 24px rgba(0,0,0,.32);}
    .concept-video-close:hover{background:rgba(245,192,74,.18);border-color:#F5C04A;}
    @media (max-width:768px){.concept-video-card{width:96vw;border-radius:20px}.concept-video-close{top:8px;right:8px;width:38px;height:38px}}
    .route-fade{animation:routeFade .42s ease both;}
    @keyframes routeFade{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
    .contact-panel{display:flex;align-items:flex-start;justify-content:center;padding:5rem clamp(24px,5vw,72px) clamp(24px,5vw,72px);} 
    @media (max-width:768px){.contact-panel{padding-top:4.25rem;}}
    .contact-quote-wrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:clamp(24px,6vw,80px);padding-bottom:clamp(28px,5vh,64px);pointer-events:none;}
    .contact-quote{max-width:min(82%,520px);text-align:center;color:#F5C04A;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3.1vw,3.35rem);line-height:1.05;font-weight:800;font-style:italic;text-shadow:0 12px 34px rgba(0,0,0,.72);}
    @media (max-width:768px){.contact-quote{font-size:clamp(1.35rem,7vw,2.25rem);max-width:90%;}.contact-quote-wrap{padding-bottom:clamp(20px,4vh,42px);}}
    .contact-form{width:min(100%,620px);display:grid;gap:1rem;}
    .contact-form textarea{min-height:150px;}
    .contact-form button{justify-self:end;}

    /* Agrandissement dynamique des options : la miniature survolée prend toute la largeur, les autres passent dessous */
    .option-tile.is-selected{background:rgba(245,192,74,.12);border-color:#F5C04A!important;box-shadow:0 0 0 1px rgba(245,192,74,.35),0 12px 28px rgba(0,0,0,.24);}
    .option-tile.tile-expanded{order:0;flex-basis:100%!important;min-width:100%!important;z-index:3;border-color:#F5C04A!important;box-shadow:0 18px 42px rgba(0,0,0,.36),0 0 0 1px rgba(245,192,74,.36);}
    .tile-grid.tile-grid-has-expanded .option-tile:not(.tile-expanded){order:0;opacity:.92;}
    .option-tile.tile-expanded .tile-image{height:18rem;}
    @media (max-width:768px){.option-tile.tile-expanded .tile-image{height:14rem;}}


    /* Options visuelles fixes : une grande image + miniatures, sans zoom dynamique */
    .visual-choice-block{box-shadow:0 18px 45px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.03);}
    .fixed-choice-main{height:18rem;}
    @media (max-width:768px){.fixed-choice-main{height:14rem;}}
    .fixed-choice-caption{position:absolute;left:0;right:0;bottom:0;padding:18px 16px 14px;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.06));}
    .fixed-choice-info{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 13px;border-radius:999px;background:rgba(0,0,0,.82);border:1px solid rgba(245,192,74,.85);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.32);}
    .fixed-choice-info:hover{background:rgba(245,192,74,.95);color:#090909;}
    .fixed-choice-thumb{cursor:pointer;}
    .fixed-choice-thumb.is-selected{box-shadow:0 0 0 1px rgba(245,192,74,.35),0 12px 28px rgba(0,0,0,.24);}
    .fixed-choice-thumb .thumb-image img{transition:none!important;}



/* Édition Premium 2026 : correctifs sans changer le split-screen */
.brand-logo{height:clamp(5.4rem,9vw,8rem);width:auto;max-width:42vw;object-fit:contain}
.brand-logo-stack{height:clamp(5.4rem,9vw,8rem);min-width:clamp(170px,25vw,310px);display:grid;place-items:center}
.brand-logo-stack .brand-logo{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;object-fit:contain}
.logo-wrap button:hover,.logo-wrap button:focus-visible{transform:none}
.logo-wrap button:hover .brand-logo-primary,.logo-wrap button:focus-visible .brand-logo-primary{opacity:0;transform:translateY(-6px);transition-delay:0s}
/* Le logo téléphone vient de l'avant-plan de l'observateur jusqu'au logo fixe, sans rebond. */
.logo-wrap button{perspective:1100px;transform:none!important}
.logo-wrap button:hover .brand-logo-primary,.logo-wrap button:focus-visible .brand-logo-primary{opacity:0;transform:scale(.94);filter:blur(3px);transition:opacity .24s ease,transform .35s ease,filter .25s ease}
.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{opacity:1;animation:logoApproach .85s cubic-bezier(.16,.84,.25,1) both;filter:drop-shadow(0 12px 28px rgba(0,0,0,.65));transition:none}
@keyframes logoApproach{0%{opacity:0;transform:perspective(900px) translateZ(540px) scale(1.28);filter:blur(9px)}30%{opacity:.75;filter:blur(2px)}100%{opacity:1;transform:perspective(900px) translateZ(0) scale(1);filter:blur(0)}}
.close-x svg,.concept-video-close svg{transition:transform .35s ease}
.close-x:hover svg,.close-x:focus-visible svg,.concept-video-close:hover svg,.concept-video-close:focus-visible svg{transform:rotate(90deg)}
.gift-amounts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.gift-amounts button{flex:1 0 60px;min-width:0;min-height:44px;white-space:nowrap}
.gift-custom{flex:1 1 135px;width:100%;min-width:0;min-height:44px}
.offers-title-row{flex-wrap:wrap;gap:12px}.offer-tabs{flex-wrap:wrap;max-width:100%}.offer-tabs button{min-height:40px}
.contact-quote{color:#ffda72!important;text-shadow:0 2px 22px rgba(0,0,0,.7);overflow-wrap:anywhere}
.concept-video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:768px){.brand-logo{height:5.2rem;max-width:75vw}.brand-logo-stack{height:5.2rem;min-width:185px}.offers-scroll-panel{padding-top:8.5rem}}
@media(prefers-reduced-motion:reduce){.brand-logo-stack img,.close-x svg,.concept-video-close svg{animation:none!important;transition:none!important}}
#hida-loader{position:fixed;inset:0;z-index:9999;background:#090909;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .55s ease,visibility .55s ease;color:#f5c04a;pointer-events:auto}
#hida-loader.finished{opacity:0;visibility:hidden;pointer-events:none}
#hida-loader img{display:block;width:min(380px,78vw);max-height:35vh;object-fit:contain;animation:loaderIn .6s ease both}
#hida-loader span{font-size:.7rem;letter-spacing:.28em}
@keyframes loaderIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Correctifs de lisibilité et centrage de la bannière par demi-écran */
.massage-zone-grid>label{min-width:0;min-height:50px;overflow-wrap:anywhere;align-items:center}
.massage-zone-grid>label>span{min-width:0;white-space:normal}
.promo-right{left:75%;transform:translateX(-50%)}
.promo-left{left:25%;transform:translateX(-50%)}
.promo-center{left:50%;transform:translateX(-50%)}
.promo-pill{max-width:min(46vw,520px);white-space:normal}
.forfait-test{display:block;width:100%;height:clamp(125px,18vw,185px);object-fit:cover;background:#111}
@media(max-width:768px){.promo-right,.promo-left,.promo-center{left:50%;transform:translateX(-50%)}.promo-pill{max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{animation:none!important;opacity:1;transform:none}}

/* Mise à jour : logo téléphonique lisible, sans agrandir le premier logo. */
.brand-logo-stack{overflow:visible;isolation:isolate}
.brand-logo-stack .brand-logo-secondary{height:clamp(8.4rem,14vw,12rem);width:auto;max-width:min(56vw,560px);max-height:none;left:50%;top:50%;right:auto;bottom:auto;margin:0;transform:translate(-50%,-50%) scale(.96);transform-origin:center center;object-fit:contain}
.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{animation:logoApproachLarge .8s cubic-bezier(.18,.8,.22,1) both}
@keyframes logoApproachLarge{0%{opacity:0;transform:translate(-50%,-50%) perspective(1100px) translateZ(450px) scale(1.24);filter:blur(8px)}45%{opacity:.9;filter:blur(1px)}100%{opacity:1;transform:translate(-50%,-50%) perspective(1100px) translateZ(0) scale(1);filter:blur(0)}}
@media(max-width:768px){.brand-logo-stack .brand-logo-secondary{height:clamp(6.3rem,22vw,9rem);max-width:85vw}}
@media(prefers-reduced-motion:reduce){.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{transform:translate(-50%,-50%)!important;animation:none!important}}
/* Pas d'image de remplacement sur la vidéo Concept : seule la première image décodée du MP4 apparaît. */
.concept-video-frame video{background:#050505}

.product-masonry{column-count:initial!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem}
@media(max-width:760px){.product-masonry{grid-template-columns:1fr}}
/* Correctifs finaux : l'animation reste visible sous le bord supérieur de la fenêtre. */
.logo-wrap{top:clamp(14px,3vh,38px);z-index:65}
.brand-logo-stack{overflow:visible}
.brand-logo-stack .brand-logo-secondary{height:clamp(6.2rem,10vw,9rem);max-height:min(9rem,calc(100dvh - 110px));transform-origin:50% 0%;}
.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{animation:logoApproachSafe .72s cubic-bezier(.18,.81,.2,1) both}
@keyframes logoApproachSafe{0%{opacity:0;transform:translate(-50%,-35%) scale(1.22);filter:blur(7px)}100%{opacity:1;transform:translate(-50%,-35%) scale(1);filter:blur(0)}}
@media(max-width:768px){.logo-wrap{top:18px}.brand-logo-stack .brand-logo-secondary{height:clamp(5.5rem,19vw,7rem);max-width:88vw}}
.numbered-offer{min-width:0;display:flex;flex-direction:column}.numbered-offer>.product-card{flex:1;display:flex;flex-direction:column}.numbered-offer>.product-card>.p-4{flex:1;display:flex;flex-direction:column}.numbered-offer>.product-card>.p-4>.pt-2{margin-top:auto}
.offer-sequence{color:#f8d67d;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin:0 0 .5rem .45rem}
.gift-side{display:flex;flex-direction:column}.gift-submit{align-self:flex-end;margin-top:auto;min-height:44px}
.hida-video-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.08);cursor:pointer;color:#100e09;transition:opacity .25s ease}
.hida-video-overlay span{display:grid;place-items:center;width:70px;height:70px;background:#f5c04a;border-radius:50%;font-size:27px;box-shadow:0 8px 30px #0008}
.hida-video-overlay.is-playing{opacity:0;pointer-events:none}.hida-video-box{position:relative;aspect-ratio:16/9;background:#000}.hida-video-box video{width:100%;height:100%;display:block;object-fit:contain}
@media(prefers-reduced-motion:reduce){.logo-wrap button:hover .brand-logo-secondary{animation:none!important}}

/* Ajustements vérifiés du 23 octobre — la vidéo et les rubriques d'origine sont préservées. */
.logo-wrap{top:0!important;z-index:65;}
.logo-left{left:25%!important;right:auto!important;transform:translateX(-50%)!important}
.logo-right{left:75%!important;right:auto!important;transform:translateX(-50%)!important}
.logo-center{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
.brand-logo-stack{height:clamp(6.4rem,10vw,10rem)!important;min-width:clamp(190px,27vw,390px)!important;overflow:visible}
.brand-logo-stack .brand-logo-primary{height:clamp(6.4rem,10vw,10rem)!important}
.brand-logo-stack .brand-logo-secondary{height:clamp(10rem,16vw,15rem)!important;max-height:none!important;max-width:clamp(270px,39vw,630px)!important;top:0!important;left:50%!important;right:auto!important;bottom:auto!important;margin:0!important;transform:translateX(-50%)!important;transform-origin:50% 0%}
.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{animation:hidaPerspectiveTop .8s cubic-bezier(.17,.82,.22,1) both!important}
@keyframes hidaPerspectiveTop{0%{opacity:0;transform:translateX(-50%) perspective(1100px) translateZ(320px) scale(1.09);filter:blur(6px)}100%{opacity:1;transform:translateX(-50%) perspective(1100px) translateZ(0) scale(1);filter:blur(0)}}
@media(max-width:768px){.logo-left,.logo-right{left:50%!important}.brand-logo-stack{height:6rem!important;min-width:185px!important}.brand-logo-stack .brand-logo-secondary{height:clamp(8.4rem,27vw,11rem)!important;max-width:90vw!important}}
.product-heading-row h3{flex:1;min-width:0;line-height:1.3}
.product-heading-row>div:last-child{flex:none;min-width:95px;white-space:nowrap}
.product-card{border:2px solid #b98527!important;overflow:hidden}
.product-card img{max-width:100%}
.poster-image{margin:0;overflow:hidden}
.contact-form input,.contact-form textarea,.contact-form select{border:1px solid #d39a32!important;outline-offset:2px}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid #f5b52d;border-color:#ffc456!important}
.contact-quote{font-size:clamp(.95rem,2.0vw,2.2rem)!important;color:#f5ac23!important;max-width:none!important;width:100%;white-space:nowrap;overflow-wrap:normal!important;text-shadow:0 4px 16px #000}
.contact-quote-wrap{padding-left:10px!important;padding-right:10px!important}
.offers-title-row{position:sticky;top:0;z-index:30;background:rgba(9,9,11,.98);padding:12px 4px;border-bottom:1px solid #8b611e;backdrop-filter:blur(8px)}
.offer-tabs{flex-wrap:nowrap!important}.offer-tabs button{white-space:nowrap}
.offers-scroll-panel{padding-top:clamp(8rem,12vw,11.5rem)!important}
.offer-sequence{color:#fff!important}
.hida-video-overlay{background:transparent!important;color:white!important}
.hida-video-overlay span{width:auto!important;height:auto!important;display:block!important;background:transparent!important;border-radius:0!important;color:white!important;text-shadow:0 2px 20px #000!important;box-shadow:none!important;font-size:clamp(3rem,6vw,5rem)!important}
.hida-video-pause{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:3rem;opacity:0;transition:opacity .2s;cursor:pointer}
.hida-video-box:hover .hida-video-pause,.hida-video-pause:focus-visible{opacity:1}
.hida-video-controls{position:absolute;bottom:12px;right:12px;display:flex;gap:10px;align-items:center;background:#000b;padding:8px 12px;border-radius:12px;opacity:1}
.hida-video-controls button{color:#fff;padding:6px 9px;min-height:35px;border:1px solid #b98527;border-radius:7px}
.hida-video-controls button:hover{background:#9e6c18}
@media(prefers-reduced-motion:reduce){.logo-wrap button:hover .brand-logo-secondary,.logo-wrap button:focus-visible .brand-logo-secondary{animation:none!important;opacity:1}}
@media(max-width:1120px){.offers-title-row{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.offer-tabs{gap:3px!important}.offer-tabs button{font-size:11px!important;padding:7px!important}.contact-quote{font-size:clamp(.72rem,3.7vw,1rem)!important}}

/* Retouches : campagnes mensuelles, bandeau des prestations et commandes vidéo discrètes. */
.promo-pill{gap:.38rem;flex-wrap:wrap;line-height:1.35;max-width:min(48vw,660px);padding:10px 18px;font-size:clamp(.76rem,1.08vw,.96rem);}
.promo-label{color:#fff;font-weight:700;white-space:nowrap}
.promo-accent{color:#f5c04a;font-weight:850;white-space:nowrap}
.promo-code{letter-spacing:.055em}
.promo-muted{color:#c6bba8;font-size:.85em}
.promo-separator{color:#e7c57d;margin:0 .15rem}
/* La rangée d'offres colle désormais directement sous les actions du haut. */
.offers-scroll-panel{padding-top:0!important;}
.offers-title-row{top:0!important;margin-top:0!important;padding:66px 8px 12px!important;background:rgba(9,9,11,.97);z-index:35;}
/* Champs unifiés, y compris date / numéro avec valeurs préremplies. */
.contact-form input,.contact-form select,.contact-form textarea{background:#18181b!important;color:#f4f4f5!important;opacity:1!important;color-scheme:dark;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a1a1aa!important;opacity:1}
.contact-form input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.8);opacity:.85}
/* Deux seules icônes individuelles, sans plaque rectangulaire. */
.hida-video-controls{background:transparent!important;backdrop-filter:none!important;padding:0!important;gap:8px!important;box-shadow:none!important;}
.hida-video-controls button{display:grid;place-items:center;width:36px;height:36px;min-height:0!important;padding:0!important;border-radius:50%!important;background:rgba(0,0,0,.52)!important;border:1px solid rgba(245,192,74,.5)!important;color:white!important;box-shadow:0 2px 12px rgba(0,0,0,.25);transition:background .2s,border-color .2s;}
.hida-video-controls button:hover,.hida-video-controls button:focus-visible{background:rgba(0,0,0,.84)!important;border-color:#f5c04a!important;}
@media(max-width:768px){.promo-pill{max-width:calc(100vw - 20px);gap:.26rem .4rem;padding:9px 13px;font-size:.78rem}.offers-title-row{padding-top:67px!important}.promo-separator{margin:0}}

    body:has([role="dialog"]) .logo-wrap,body:has([role="dialog"]) .promo-wrap{visibility:hidden!important;pointer-events:none!important}
    .contact-form input[type="date"],.booking-modal-card input[type="date"]{color-scheme:dark;min-height:46px;cursor:pointer}
    .contact-form input[type="date"]::-webkit-calendar-picker-indicator,.booking-modal-card input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1);opacity:1}
    .contact-form input,.contact-form select,.contact-form textarea{background-color:#18181b!important;border:1px solid #52525b!important;color:#fff!important}
    .contact-form input::placeholder,.contact-form textarea::placeholder{color:#a1a1aa!important}
    /* Accueil : libellé des univers accessibles par clic. */
.home-offer-title{display:flex;flex-direction:column;gap:.35rem;align-items:inherit}
.home-offer-eyebrow{display:block;color:#f5c04a;font-size:clamp(.82rem,1.3vw,1.12rem);font-weight:800;letter-spacing:.24em;line-height:1.1;text-shadow:0 2px 12px #000}
.video-panel{cursor:pointer}
.video-panel:focus-visible{outline:3px solid #f5c04a;outline-offset:-3px}
/* L'encart peut remonter après la suppression du compteur redondant. */
.offers-scroll-panel .offers-title-row{margin-bottom:.65rem}

    /* Réservation intégrée : les onglets et le titre restent visibles. */
    .booking-inline-shell{width:100%;position:relative;isolation:isolate;}
    .booking-inline-card{width:100%;max-width:none;}
    .booking-inline-card .grid.md\:grid-cols-2{grid-template-columns:minmax(0,1fr);}
    .booking-inline-card .border-r{border-right:0;border-bottom:1px solid #27272a;}
    .booking-slide-in{animation:hidaBookingSlide .34s ease-out both;}
    .booking-back{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 14px;padding:9px 15px;border:1px solid rgba(245,192,74,.65);border-radius:999px;color:#f5c04a;font-weight:700;background:#18181b;}
    .booking-back:hover{background:#27272a;}
    @keyframes hidaBookingSlide{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
    @media(prefers-reduced-motion:reduce){.booking-slide-in{animation:none}}


/* Accueil : labels alignés sur les bords respectifs des deux univers. */
.video-panel .panel-content{position:absolute!important;inset:auto 0 0 0!important;width:100%!important;padding:clamp(20px,4vw,64px)!important;display:flex!important;transform:none!important;}
.video-panel.text-left .panel-content{justify-content:flex-start!important;text-align:left!important;}
.video-panel.text-right .panel-content{justify-content:flex-end!important;text-align:right!important;}
.video-panel.text-left .home-offer-title{align-items:flex-start!important;text-align:left!important;}
.video-panel.text-right .home-offer-title{align-items:flex-end!important;text-align:right!important;}
.video-panel .home-offer-title{width:auto!important;max-width:100%;}
.booking-inline-card input,.booking-inline-card select,.booking-inline-card textarea,.contact-form input,.contact-form select,.contact-form textarea{background-color:#18181b!important;border:1px solid #52525b!important;color:#f4f4f5!important;opacity:1!important;color-scheme:dark;}
.booking-inline-card input::placeholder,.contact-form input::placeholder{color:#a1a1aa!important;opacity:1!important;}
.booking-inline-card input[type=date]::-webkit-calendar-picker-indicator,.contact-form input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer;opacity:1;}
.booking-inline-shell[role=region] .booking-inline-card{border-radius:20px;}
.booking-inline-card .book-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
.booking-inline-card .book-day{border:1px solid #3f3f46;border-radius:8px;padding:7px 0;font-size:12px;text-align:center;}
.booking-inline-card .book-day:disabled{opacity:.28;cursor:not-allowed;}
.booking-inline-card .book-day.selected{background:#eab308!important;color:#000;border-color:#facc15;}
@media(max-width:768px){.video-panel .panel-content{padding:20px!important}.booking-inline-card .book-day{padding:6px 0}}

    
/* Accueil : titres au bord extérieur et sur la même ligne de base. */
.video-panel .panel-content{bottom:clamp(35px,7.5vh,108px)!important;top:auto!important;left:0!important;right:0!important;padding:0 clamp(16px,3.2vw,48px)!important;align-items:flex-end!important;}
.video-panel.text-left .panel-content{justify-content:flex-start!important;}
.video-panel.text-right .panel-content{justify-content:flex-end!important;}
.video-panel.text-left .home-offer-title{text-align:left!important;align-items:flex-start!important}
.video-panel.text-right .home-offer-title{text-align:right!important;align-items:flex-end!important}
.video-panel .home-offer-eyebrow{color:#f5a623!important;font-weight:850!important;letter-spacing:.16em}
.video-panel .title-left,.video-panel .title-right{color:#fff!important}
.video-panel:hover .home-offer-title{filter:drop-shadow(0 5px 18px #000);transform:translateY(-4px)}
.video-panel .home-offer-title{transition:transform .25s}
.contact-panel{display:flex!important;flex-direction:column!important;justify-content:center!important;padding-top:90px!important;padding-bottom:40px!important}
.contact-panel .contact-form{width:100%;margin-top:auto;margin-bottom:auto}
.numbered-offer.is-expanded{grid-column:1/-1;}
.product-card.is-expanded{border-color:#d8ac44!important;animation:hidaExpand .28s ease-out;}
.product-card.is-expanded .poster-image{height:clamp(180px,30vh,310px)!important}
.product-card .inline-offer-detail{font-size:.92rem;line-height:1.65}
@keyframes hidaExpand{from{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.phone-country-wrap{display:flex;align-items:center;gap:8px;width:100%}
.phone-country-wrap select{max-width:155px;min-width:100px}


/* Correctif 24/10 : titres calés aux deux angles inférieurs, même ligne. */
.video-panel .panel-content{position:absolute!important;top:auto!important;bottom:clamp(62px,10vh,112px)!important;left:0!important;right:0!important;height:auto!important;display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:flex-start!important;padding:0 clamp(18px,3vw,45px)!important;gap:0!important;transform:none!important}
.video-panel.text-left .panel-content{justify-content:flex-start!important;align-items:flex-end!important}
.video-panel.text-right .panel-content{justify-content:flex-end!important;align-items:flex-end!important}
.video-panel.text-left .home-offer-title{margin:0 auto 0 0!important;align-items:flex-start!important;text-align:left!important}
.video-panel.text-right .home-offer-title{margin:0 0 0 auto!important;align-items:flex-end!important;text-align:right!important}
.video-panel .title-left,.video-panel .title-right{display:block!important;position:static!important;margin:0!important;line-height:1.12!important}
.booking-inline-card input[type=date]{background-color:#18181b!important;color-scheme:dark!important;border-color:#52525b!important}
.booking-inline-card input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}
.no-slots-msg{color:#fff!important;font-weight:800!important;font-size:1rem!important;line-height:1.5}
.offers-title-row .offer-tabs{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:767px){.video-panel .panel-content{bottom:80px!important;padding:0 20px!important}}

/* HIDA 24/10 : interactions discrètes, accessibilité et fermeture par demi-écran */
@keyframes hida-invite {0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.video-panel .home-offer-title{animation:hida-invite 3.8s ease-in-out infinite;transform-origin:center bottom;will-change:transform}
.video-panel:hover .home-offer-title,.video-panel:focus-visible .home-offer-title{animation-play-state:paused;transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){.video-panel .home-offer-title{animation:none!important}}
.top-action{width:42px!important;height:42px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important}
.top-close-half-left{position:fixed!important;top:16px!important;left:16px!important;right:auto!important;z-index:95!important}
.top-close-half-right{position:fixed!important;top:16px!important;right:16px!important;z-index:95!important}
.hida-legal-inline{margin-top:16px;border:1px solid #665127;border-radius:20px;padding:20px;background:#101010;color:#ddd;line-height:1.65}
.hida-legal-inline h3{font-size:1.15rem;color:#f2c35a;font-weight:700;margin-bottom:10px}
.hida-legal-inline a{color:#f2c35a;text-decoration:underline}
.hida-share{display:inline-flex;align-items:center;gap:6px;color:#f1ce7c;border:1px solid #826a30;border-radius:999px;padding:6px 12px;font-size:.85rem}
.hida-gift-wide{display:block!important;max-width:100%}
.hida-gift-wide>div{width:100%;margin-bottom:18px}

/* HIDA 24/10 — corrections ciblées sans remplacer le catalogue ou la logique du serveur */
.video-panel .home-offer-title{animation:none!important;transform:none!important;transition:filter .24s ease!important}
.video-panel:hover .home-offer-title{animation:none!important;transform:none!important}
.video-panel .home-offer-title:hover,.video-panel .home-offer-title:focus-within{animation:hida-title-hint 1.65s ease-in-out infinite!important;filter:drop-shadow(0 4px 16px rgba(0,0,0,.65))}
@keyframes hida-title-hint{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.video-panel:hover .home-offer-eyebrow{color:#fff!important}
.video-panel:hover .title-left,.video-panel:hover .title-right{color:#f5a623!important;transform:none!important}
.video-panel .home-offer-title:hover .title-left,.video-panel .home-offer-title:hover .title-right{transform:none!important}
.video-panel .hida-home-video{background:#000}
/* Croix du volet massages : coin supérieur droit de la moitié gauche */
.top-close-half-right{left:auto!important;right:16px!important;top:16px!important}
@media(max-width:767px){.top-close-half-right{right:16px!important;left:auto!important}}
@media(prefers-reduced-motion:reduce){.video-panel .home-offer-title:hover{animation:none!important}}


/* HIDA story library — navigation discrète, vidéo moins haute, texte défilant */
.hida-story-shell{position:relative;display:grid;grid-template-columns:185px minmax(0,1fr);width:min(1100px,96vw);height:min(680px,85vh);min-height:300px;overflow:hidden;border-radius:25px;background:#0c0b0b;border:1px solid rgba(245,192,74,.46);box-shadow:0 30px 95px #000c}
.hida-story-menu{display:flex;flex-direction:column;gap:7px;padding:72px 14px 24px;background:linear-gradient(160deg,#181512,#090909);border-right:1px solid #bc934633}
.hida-story-tab{text-align:left;padding:13px 15px;border-radius:12px;border:1px solid transparent;color:#d7d2c9;font-size:14px;letter-spacing:.02em;transition:background .2s,border-color .2s,color .2s}
.hida-story-tab:hover{color:#f5c04a;background:#e1ab2120}.hida-story-tab.selected{color:#f5c04a;border-color:#b88a455c;background:#f5c04a13;font-weight:700}
.hida-story-main{min-width:0;min-height:0;display:flex;justify-content:center;align-items:center;overflow-y:auto;animation:routeFade .26s ease both}
.hida-story-video{width:min(100%,800px);aspect-ratio:16/9;max-height:68vh;margin:30px;background:#000}
.hida-story-video .hida-video-box,.hida-story-video video{height:100%;width:100%;object-fit:contain}
.hida-story-article{width:min(100%,760px);height:100%;overflow-y:auto;padding:38px clamp(18px,4vw,48px) 55px;color:#efece5;line-height:1.75;white-space:normal}
.hida-story-illustration{height:145px;overflow:hidden;border-radius:16px;margin:0 0 28px;border:1px solid #f5c04a3b;background:#151515}
.hida-story-illustration img{width:100%;height:100%;object-fit:cover}
.hida-story-article h1{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.24;color:#f5c04a;font-weight:700;margin:0 0 22px}
.hida-story-article p{white-space:pre-line;margin:0 0 17px;font-size:clamp(.93rem,1.3vw,1.03rem)}
.hida-story-shell>.concept-video-close{right:12px;top:12px;z-index:8}
@media(max-width:650px){.hida-story-shell{display:flex;flex-direction:column;height:90vh}.hida-story-menu{flex-direction:row;overflow-x:auto;padding:65px 12px 12px;flex-shrink:0;border-right:0;border-bottom:1px solid #bc934633;gap:4px}.hida-story-tab{white-space:nowrap;padding:9px 12px;font-size:12px}.hida-story-main{flex:1;align-items:flex-start}.hida-story-video{margin:16px 4px}.hida-story-article{padding:16px 18px 38px}.hida-story-illustration{height:115px}}

  /* Lecture immersive et panneau éditorial moitié texte / moitié illustration */
  .hida-story-video{width:100%;height:100%;max-height:none;margin:0;aspect-ratio:auto}
  .hida-story-video .hida-video-box,.hida-story-video video{height:100%;width:100%;object-fit:contain}
  .hida-story-article{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0!important;max-width:none!important;width:100%!important}
  .hida-story-illustration{height:100%!important;min-height:100%;margin:0!important;border:0!important;border-radius:0!important;position:sticky;top:0}
  .hida-story-text{padding:42px 30px 65px;min-width:0}
  @media(max-width:750px){.hida-story-article{display:flex;flex-direction:column}.hida-story-illustration{position:static;min-height:150px;height:180px!important}.hida-story-text{padding:24px 20px 50px}}
  .legal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.legal-tabs a,.legal-tabs button{padding:9px 12px;border:1px solid #ad883e;border-radius:10px;color:#eee}.legal-tabs button.selected{color:#131313;background:#f5c04a}.legal-panel{min-height:130px}

/* HIDA BEAUTÉ — finition responsive et accessibilité visuelle (24/10/2026).
   Retouches de présentation uniquement : aucun comportement métier modifié. */
:root { color-scheme: dark; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, svg { max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: rgba(245,192,74,.18); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #f5c04a;
  outline-offset: 3px;
}
:where(.scroll-panel, .offers-scroll-panel, .hida-story-article) { overscroll-behavior-y: contain; }
:where(.contact-form, .booking-modal-card) :is(input, select, textarea) {
  max-width: 100%; min-width: 0; border-radius: 10px;
}
:where(.contact-form, .booking-modal-card) :is(input, select, textarea):focus-visible {
  border-color: #f5c04a!important;
  box-shadow: 0 0 0 2px rgba(245,192,74,.22);
}
:where(.product-card, .option-tile, .tile-expanded-preview) { min-width: 0; }
:where(.product-card, .option-tile) img { object-fit: cover; }

/* Hauteurs de viewport modernes : meilleure stabilité sur Safari iPhone et Chrome Samsung. */
@supports (height: 100dvh) {
  html, body, #root { height: 100dvh; }
  .scroll-panel, .offers-scroll-panel, .video-panel { height: 100dvh; }
}
@media (max-width: 767px) {
  /* Évite le zoom iOS sur les champs et améliore les zones tactiles. */
  :where(.contact-form, .booking-modal-card) :is(input, select, textarea) { font-size: 16px; }
  :where(.contact-form, .booking-modal-card) :is(button, input[type="submit"]) { min-height: 44px; }
  .hida-video-controls button { width: 44px; height: 44px; }
  .offers-scroll-panel { padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }
  .scroll-panel { padding-bottom: env(safe-area-inset-bottom, 0px); }
  .promo-wrap { bottom: calc(.65rem + env(safe-area-inset-bottom, 0px)); }
  .promo-pill { max-width: calc(100vw - 24px); text-align: center; justify-content: center; }
  .offers-title-row { max-width: 100%; }
  .offer-tabs { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .offer-tabs button { flex-shrink: 0; }
  .hida-story-shell { max-height: calc(100dvh - 18px); }
  .hida-story-article { overflow-wrap: anywhere; }
}
@media (max-width: 390px) {
  .booking-cta .cta-price { min-width: 74px; padding-inline: 6px; }
  .booking-cta .cta-main { padding-inline: 8px; }
  .promo-pill { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; }
  .promo-pill, .media-replace-img, .hida-story-main { animation: none!important; }
  .promo-wrap, .logo-wrap { transition-duration: .01ms!important; }
}
