/* ===== Version mobile & tablette (refonte complète) =====
   Principes : site CALME (aucune animation en boucle), pas de débordement horizontal, cibles tactiles ≥ 48 px,
   contenu compact, carrousels à glisser, barre d'actions fixe en bas. */
html,body{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mbar{display:none}

/* ---------- tout mouvement automatique coupé sur écrans tactiles / petits écrans ---------- */
@media(max-width:980px),(hover:none){
  html,body{overflow-anchor:none}
  .parts,.glow,.scroll-hint,.progress,.scene,.hero-cards{display:none!important}
  .parts i,.sun,.cloud,.plane,.waves path,.glint,.stars-bg circle,.hc,.hc-chip,.sec::before,.sec::after,.sec.alt::before,.sec.alt::after,.mc-dot::after,.slides img,.marquee div{animation:none!important}
  .slides img{transform:none!important}
  .stats{animation:none!important;background-size:100% 100%}
  .hero-video,#heroVideo{display:none!important}
  body{animation:none}
  .hero-t .w,.hero-s,.rotator,.search{opacity:1!important;transform:none!important;animation:none!important}
  .reveal{transition-duration:.45s}
}

@media(max-width:980px){
  .wrap{width:auto;margin-inline:0;padding-inline:18px}
  .wrap.narrow{max-width:none}
  .sec{padding:2.8rem 0}
  .sec-h{margin-bottom:1.6rem}
  .sec-h h2,h2{font-size:clamp(1.65rem,6.6vw,2.2rem);line-height:1.12}
  .sec-h p{font-size:1rem}
  .kicker{font-size:.72rem;letter-spacing:.2em}
  .btn{min-height:50px;padding:.85rem 1.5rem}
  .btn-lg{padding:1rem 1.6rem}
  input,select,textarea,.f input,.f select,.f textarea{font-size:16px!important;min-height:50px;border-radius:14px}
  textarea{min-height:110px}
  .grid2{grid-template-columns:1fr}
  .center .btn{width:100%;max-width:420px}

  /* ----- hero ----- */
  .home .hero{min-height:0;display:block;padding-top:var(--hh)}
  .hero-in{display:block;padding:1.6rem 18px 2.2rem}
  .hero::after{background:linear-gradient(180deg,rgba(6,24,38,.55) 0%,rgba(6,24,38,.5) 45%,rgba(6,24,38,.88) 100%)}
  .hero-t{font-size:clamp(2.15rem,9.4vw,2.9rem);line-height:1.06;max-width:none;margin-top:.6rem}
  .hero-s{font-size:1.02rem;line-height:1.55;margin:.9rem 0 1.3rem;max-width:none}
  .rotator{display:none}
  .search{display:grid;grid-template-columns:1fr;gap:.55rem;padding:.7rem;border-radius:22px;max-width:none}
  .search label{flex:none;min-height:54px;padding:0 1rem;border-radius:14px}
  .search label{min-width:0}
  .search select,.search input{min-height:52px}
  .search .btn{width:100%;min-height:54px;font-size:1.02rem}
  .trust{margin-top:1.1rem;font-size:.9rem;flex-wrap:wrap}

  /* ----- page header (pages internes) ----- */
  .phero{height:auto;min-height:300px}
  .phero-o{position:relative;min-height:300px;padding:calc(var(--hh) + 1rem) 0 1.8rem}
  .phero h1{font-size:clamp(1.9rem,8vw,2.6rem)}

  /* ----- destinations : grille d'images (plus d'accordéon) ----- */
  .showcase-sec{padding-bottom:1.6rem}
  .split-h p{display:none}
  .showcase{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:auto;margin-bottom:1.4rem}
  .pn,.pn.on{flex:none;height:200px;border-radius:22px;transition:none}
  .pn:first-child{grid-column:1/-1;height:230px}
  .pn:last-child:nth-child(even){grid-column:1/-1;height:180px}
  .pn-t{left:14px;right:14px;bottom:14px}
  .pn-t small{display:block;font-size:.62rem;letter-spacing:.14em;opacity:.9}
  .pn-t b{font-size:1.5rem;white-space:normal}
  .pn-x{display:none}
  .pn img{filter:none;transform:none!important}

  /* ----- promesses / avis : carrousels à glisser ----- */
  .pillars,.revs{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -18px 1.6rem;padding:4px 18px 14px;columns:auto;scrollbar-width:none;scroll-padding-inline:18px}
  .pillars::-webkit-scrollbar,.revs::-webkit-scrollbar{display:none}
  .pillar,.revs>*{flex:0 0 80%;scroll-snap-align:start;padding:1.5rem;break-inside:auto;margin:0}

  /* ----- vidéo / reel ----- */
  .reel-card{min-height:420px;border-radius:26px}
  .reel-t{padding:1.5rem}
  .reel-t h2{font-size:1.7rem}

  /* ----- tableau comparatif ----- */
  .cmp-h,.cmp-r{grid-template-columns:1fr 44px 64px;padding:.8rem 1rem;font-size:.92rem}
  .cmp-h b{font-size:.68rem;line-height:1.15;text-align:center}

  /* ----- packs ----- */
  #packs .grid3{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -18px 1.4rem;padding:4px 18px 14px;scrollbar-width:none}
  #packs .grid3::-webkit-scrollbar{display:none}
  #packs .grid3{scroll-padding-inline:18px}
  #packs .grid3>*{flex:0 0 84%;scroll-snap-align:start}
  .grid3{grid-template-columns:1fr;gap:1.2rem}
  .filters{flex-direction:column;align-items:stretch;gap:.7rem;margin-bottom:1.2rem}
  .filters>div{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin:0 -18px;padding-inline:18px}
  .filters>div::-webkit-scrollbar{display:none}
  .chip{flex:none;min-height:44px;padding:.6rem 1.1rem}
  .filters select{min-height:50px;width:100%}

  /* ----- étapes / stats / galerie ----- */
  .steps{gap:1.4rem}
  .step::after{display:none}
  .stats-in{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:2rem 0}
  .stats-in b{font-size:2.2rem}
  .stats-in span{font-size:.7rem;letter-spacing:.06em;line-height:1.25}
  .mason{columns:2;column-gap:10px}
  .mason .mi:nth-child(n+7){display:none}
  .mi{margin-bottom:10px;border-radius:16px}

  /* ----- newsletter / CTA / pages ----- */
  .news-in,.news-in.with-img{grid-template-columns:1fr;gap:1.4rem}
  .news-img{order:-1;max-height:200px;border-radius:20px}
  .nl:not(.nlb-form){flex-direction:column;align-items:stretch}.nl:not(.nlb-form) input,.nl:not(.nlb-form) .btn{width:100%;flex:none;height:auto}
  .cta{padding:3rem 0}
  .pdet,.dgrid,.sm-grid,.about-grid{grid-template-columns:1fr;gap:1.6rem}
  .pside{position:static}
  .mosaic{grid-template-columns:1fr 1fr;gap:12px}
  .mosaic .big{grid-column:auto;grid-row:auto}

  /* ----- pied de page compact ----- */
  .ftr{padding:2.6rem 0 6rem}
  .ftr-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 1rem}
  .ftr-grid>*:first-child{grid-column:1/-1}
  .ftr-grid>*:last-child{grid-column:1/-1}
  .ftr h4,.ftr .ftr-h{font-size:1.05rem}
  .ftr li{margin-bottom:.35rem}
  .ftr-bot{flex-direction:column;gap:.6rem;margin-top:1.6rem}
}

@media(max-width:560px){
  body{font-size:16px}
  .mosaic{grid-template-columns:1fr}
  .cmp-h b.us{font-size:.62rem}
}

/* ---------- barre d'actions fixe en bas ---------- */
@media(max-width:760px){
  .mbar{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:55;gap:6px;padding:6px;border-radius:22px;background:rgba(10,34,51,.96);box-shadow:0 16px 40px -10px rgba(0,0,0,.55)}
  .mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;color:#fff;font-size:.88rem;font-weight:500;padding:.8rem .4rem;border-radius:16px;min-height:48px;-webkit-tap-highlight-color:transparent}
  .mbar a.go{flex:1.7;background:linear-gradient(135deg,#e0b05a,#b88429);color:#1b1304;font-weight:600}
  .mbar .ic{width:18px;height:18px}
  body.nav-open .mbar{display:none}
  .toast,.cookie{bottom:86px}
  .totop{bottom:150px;right:14px;width:42px;height:42px}
  .wa-float{bottom:150px;right:14px}
}
@media(max-width:980px){.phero>img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transform:none!important}}

/* ===== Améliorations UX mobile (v10) ===== */
html{scroll-padding-top:90px}
a,button,summary,label,select,.chip,.card{touch-action:manipulation;-webkit-tap-highlight-color:rgba(201,149,60,.18)}
.nav-quick{display:none}
@media(max-width:980px){
  /* retour tactile : tout élément cliquable réagit au doigt */
  .btn:active,.chip:active,.mbar a:active,.pn:active{transform:scale(.97);transition:transform .08s}
  .card.pack:active,.card.dest:active{transform:scale(.985)}
  /* recherche d'accueil compacte : 2 colonnes au lieu de 6 lignes */
  .search{grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem}
  .search label{min-height:52px;padding:0 .8rem}
  .search label:nth-of-type(1),.search label:nth-of-type(6){grid-column:1/-1}
  .search label:nth-of-type(2),.search label:nth-of-type(3),.search label:nth-of-type(4),.search label:nth-of-type(5){grid-column:auto}
  .search label:nth-of-type(2) .ic,.search label:nth-of-type(3) .ic,.search label:nth-of-type(4) .ic,.search label:nth-of-type(5) .ic{display:none}
  .search .btn{grid-column:1/-1}
  .search select{text-overflow:ellipsis}
  /* carte entière cliquable (le lien du titre couvre la carte) */
  .card.pack,.card.dest{position:relative}
  .card.pack .card-body h3 a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
  .card.pack .btn{position:relative;z-index:2}
  /* pied de page : liens à 44 px de haut */
  .ftr li a,.ftr .ct a{display:inline-flex;align-items:center;min-height:44px}
  .ftr li{margin-bottom:0}
  .ftr .soc a{width:48px;height:48px}
  .ftr-bot .legal a{min-height:40px;display:inline-flex;align-items:center}
  .crumb a{display:inline-flex;align-items:center;min-height:36px}
  /* tiroir : accès direct appel / WhatsApp */
  .nav-quick{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.9rem}
  .nav-quick a{display:flex!important;align-items:center;justify-content:center;gap:.5rem;padding:.95rem .5rem!important;border:1.5px solid var(--navy)!important;border-radius:14px!important;font-size:1rem!important;color:var(--navy)!important;background:#fff!important}
  .nav-quick a::after{display:none!important}
  .nav-quick .ic{width:20px;height:20px}
  /* le bouton flottant du chat ne masque plus les formulaires */
  #mt-chat:not(.is-open) .mc-fab{width:50px;height:50px}
  #mt-chat:not(.is-open) .mc-bubble{display:none}
  /* respiration */
  .sec{padding:2.4rem 0}
  .faq summary{min-height:56px;padding:1rem 1.1rem}
  .bookbox{padding:1.2rem;border-radius:20px}
  .pside{scroll-margin-top:84px}
}
/* évite le zoom iOS et facilite la saisie */
@media(max-width:980px){input[type=date]{min-height:50px;-webkit-appearance:none;appearance:none;text-align:left}input[type=number]{-moz-appearance:textfield}}
/* le bandeau d'annonce plus compact */
@media(max-width:760px){.announce,.ann{font-size:.8rem;padding:.4rem .8rem}}
