/* Sit&Way · Moteur de recherche : ecran destination (mobile), calendrier vertical, messages d'aide */

/* ---------- Message d'aide sous un champ ---------- */
.hs-champ{position:relative;}
.sw-erreur{position:absolute;left:12px;right:12px;top:calc(100% + 6px);z-index:30;background:#14312E;color:#fff;font:600 13.5px/1.35 'DM Sans',sans-serif;
  padding:10px 13px;border-radius:12px;box-shadow:0 12px 26px -12px rgba(0,0,0,.55);animation:swErrIn .25s ease;}
.sw-erreur::before{content:"";position:absolute;left:22px;top:-6px;width:12px;height:12px;background:#14312E;transform:rotate(45deg);border-radius:2px;}
@keyframes swErrIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.sw-secoue{animation:swSecoue .42s ease;}
.sw-secoue input,.sw-secoue .sw-declencheur{border-color:#C25E3C!important;box-shadow:0 0 0 3px rgba(194,94,60,.18)!important;}
@keyframes swSecoue{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}

/* ---------- Suggestions (ordinateur) ---------- */
.sw-sugg mark{background:none;color:#C25E3C;font-weight:800;}
.sw-sugg-ico svg{display:block;}
.sw-sugg-vide{padding:12px 14px;font:600 14px/1.45 'DM Sans',sans-serif;color:#14312E;}
.sw-sugg-vide small{font-weight:500;color:#6B7D7A;}

/* ---------- Destination en ecran plein (mobile) ---------- */
.sw-dest-plein{position:fixed;inset:0;z-index:1400;background:#FBF7F1;display:flex;flex-direction:column;font-family:'DM Sans',system-ui,sans-serif;
  transform:translateY(100%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.9,.25,1),visibility 0s .32s;}
.sw-dest-plein.sw-visible{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.9,.25,1);}
.sdp-tete{display:flex;align-items:center;gap:6px;padding:calc(10px + env(safe-area-inset-top)) 10px 6px;}
.sdp-retour{width:46px;height:46px;border:0;background:none;color:#14312E;display:grid;place-items:center;border-radius:50%;cursor:pointer;}
.sdp-retour:active{background:#F1EADF;}
.sdp-titre{font:500 21px 'Lora',Georgia,serif;color:#14312E;}
.sdp-champ{display:flex;align-items:center;gap:10px;margin:4px 16px 8px;padding:0 6px 0 14px;height:56px;border-radius:16px;background:#fff;border:2px solid #C25E3C;
  box-shadow:0 10px 24px -18px rgba(194,94,60,.9);color:#C25E3C;}
.sdp-champ input{flex:1;min-width:0;border:0!important;outline:0;background:none!important;box-shadow:none!important;padding:0!important;font:600 17px 'DM Sans',sans-serif!important;color:#14312E;-webkit-appearance:none;appearance:none;}
.sdp-champ input::-webkit-search-cancel-button{display:none;}
.sdp-eff{width:40px;height:40px;border:0;border-radius:50%;background:#F1EADF;color:#14312E;font-size:15px;cursor:pointer;flex:none;}
.sdp-corps{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 0 calc(24px + env(safe-area-inset-bottom));}
.sdp-groupe{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#A8865A;padding:16px 20px 6px;}
.sdp-ligne{display:flex;align-items:center;gap:14px;width:100%;padding:12px 20px;border:0;background:none;text-align:left;cursor:pointer;min-height:60px;font-family:inherit;}
.sdp-ligne:active{background:#F1EADF;}
.sdp-ico{width:40px;height:40px;border-radius:12px;background:#FBEDE5;color:#C25E3C;display:grid;place-items:center;flex:none;}
.sdp-tx{flex:1;min-width:0;border-bottom:1px solid rgba(20,49,46,.08);padding-bottom:12px;margin-bottom:-12px;}
.sdp-tx b{display:block;font-size:16.5px;font-weight:600;color:#14312E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sdp-tx b mark{background:none;color:#C25E3C;font-weight:800;}
.sdp-tx small{display:block;font-size:13.5px;color:#6B7D7A;margin-top:2px;}
.sdp-aide{padding:18px 20px;color:#6B7D7A;font-size:15px;line-height:1.5;margin:0;}
.sdp-charge{animation:swPulse 1s ease-in-out infinite alternate;}
@keyframes swPulse{from{opacity:.45}to{opacity:1}}
.sdp-vide{margin:14px 16px;padding:16px;border-radius:16px;background:#fff;border:1px solid rgba(20,49,46,.1);}
.sdp-vide b{display:block;color:#14312E;font-size:15.5px;margin-bottom:4px;}
.sdp-vide span{color:#6B7D7A;font-size:14px;line-height:1.5;}

/* ---------- Calendrier vertical (mobile, comme Booking) ---------- */
.sw-panneau.sw-feuille.sw-vertical{top:calc(8px + env(safe-area-inset-top));max-height:none;padding-top:10px;}
.sw-vertical .sw-tete{position:sticky;top:-10px;z-index:3;background:#fff;margin:-10px -18px 0;padding:12px 18px 6px;}
.sw-jsem-barre{position:sticky;top:34px;z-index:2;display:grid;grid-template-columns:repeat(7,1fr);background:#fff;margin:0 -18px;padding:8px 18px 8px;
  border-bottom:1px solid rgba(20,49,46,.08);font:700 12px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#8A9A97;text-align:center;}
.sw-mois-liste .sw-mois{padding-top:18px;}
.sw-mois-liste .sw-mois-titre{font:500 19px 'Lora',Georgia,serif;color:#14312E;text-transform:capitalize;margin:0 0 10px 4px;text-align:left;}
.sw-vertical .sw-pied{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));z-index:3;margin:10px -18px 0;padding:12px 18px calc(14px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97);box-shadow:0 -10px 24px -18px rgba(0,0,0,.4);}
.sw-vertical .sw-resume{font-size:14px;}
.sw-vertical .sw-valider{min-height:52px;border-radius:999px;font-size:16px;}
.sw-valider[disabled]{opacity:.55;}

/* ---------- Chambres : groupes ---------- */
.swc-groupe{display:block;margin:4px 0 12px;font:700 13.5px 'DM Sans',sans-serif;color:#C25E3C;text-decoration:none;}

/* ---------- Dates : deux cases Arrivee | Depart ---------- */
.sw-deux .sw-declencheur{display:flex!important;align-items:stretch;gap:0;padding-top:6px!important;padding-bottom:6px!important;min-height:58px;}
.sw-deux .sw-valeur{display:flex;align-items:center;flex:1;min-width:0;gap:0;}
.sw-demi{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.15;padding:2px 10px 2px 0;}
.sw-demi + .sw-demi{border-left:1px solid rgba(20,49,46,.14);padding-left:12px;}
.sw-demi small{font:700 10.5px 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8A9A97;}
.sw-demi b{font:600 15px 'DM Sans',sans-serif;color:#9AA6A3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;}
.sw-demi.ok b{color:#14312E;}
.sw-deux .sw-pastille{flex:none;align-self:center;margin:0 8px 0 4px;}
.sw-deux .sw-ico-cal{display:none;}
@media (min-width:701px){.sw-demi b{font-size:14px;}.sw-deux .sw-pastille{display:none;}}
.sw-vertical .sw-pied{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;}

/* ---------- Ville de depart (facultative) ---------- */
.hs-facultatif{margin-left:6px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:none;color:#A8B3B1;}
.hs-grid.sw-grid.avec-origine{grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) minmax(0,1.35fr) minmax(0,1fr) auto;}
@media (max-width:980px){
  .hs-grid.sw-grid.avec-origine{grid-template-columns:1fr 1fr;}
  .sw-grid.avec-origine .hs-origine,.sw-grid.avec-origine .hs-destination{grid-column:auto;}
}
@media (max-width:700px){
  .hs-grid.sw-grid.avec-origine{grid-template-columns:1fr;}
  .sw-grid.avec-origine .hs-origine,.sw-grid.avec-origine .hs-destination{grid-column:1/-1;}
}
@media (min-width:981px){
  .hero-search:has(.avec-origine){max-width:1180px;width:100%;}
  .hs-grid.sw-grid.avec-origine{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1.2fr) auto;}
  .avec-origine .hs-facultatif{display:none;}
  .avec-origine .hs-champ label{white-space:nowrap;}
}

/* ==========================================================================
   Mobile : moteur de recherche facon Booking / Hotels.com
   La recherche visible des l'arrivee, une ligne par champ avec son icone, un seul gros bouton.
   ========================================================================== */
@media (max-width:700px){
  .hero-slider.hero-avec-recherche{min-height:0!important;}
  .hero-avec-recherche .hero-content{padding-top:26px!important;padding-bottom:26px!important;}
  .hero-avec-recherche .hero-badge,.hero-avec-recherche .hero-defiler{display:none!important;}
  .hero-avec-recherche h1{font-size:33px!important;line-height:1.08!important;margin:0 0 8px!important;}
  .hero-avec-recherche .lead{font-size:15px!important;line-height:1.5!important;margin:0 0 4px!important;}

  .hero-search{margin-top:16px!important;padding:0!important;border-radius:18px!important;border:3px solid #D4AE6A!important;overflow:visible;
    box-shadow:0 22px 44px -24px rgba(5,15,13,.75)!important;background:#fff!important;}
  .hero-search .sw-grid{display:block!important;}
  .hero-search .hs-champ{position:relative;padding:0!important;border:0!important;border-bottom:1px solid rgba(20,49,46,.09)!important;min-height:62px;}
  .hero-search .hs-champ > label{position:absolute!important;left:16px;top:50%;transform:translateY(-50%);margin:0!important;font-size:0!important;letter-spacing:0!important;z-index:2;pointer-events:none;}
  .hero-search .hs-champ > label .hs-ico{display:grid;place-items:center;color:#C25E3C;}
  .hero-search .hs-champ > label .hs-ico svg{width:21px;height:21px;}
  .hero-search .hs-champ > input[type="text"],.hero-search .hs-champ .sw-declencheur{
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    min-height:62px!important;padding:8px 14px 8px 52px!important;font-size:16.5px!important;font-weight:600!important;color:#14312E;}
  .hero-search .hs-champ > input[type="text"]::placeholder{color:#7D8B88;font-weight:500;}
  .hero-search .hs-champ:first-child{border-radius:15px 15px 0 0;}
  .hero-search .hs-champ:active{background:#FBF6EF;}
  .hero-search .sw-deux .sw-declencheur{padding-top:8px!important;padding-bottom:8px!important;}
  .hero-search .sw-demi small{font-size:10.5px;}
  .hero-search .sw-demi b{font-size:15.5px;}
  .hero-search .sw-demi:not(.ok) b{color:#7D8B88;font-weight:500;}
  .hero-search .hs-submit{padding:10px!important;border:0!important;}
  .hero-search .hs-submit .btn{width:100%;min-height:56px!important;border-radius:14px!important;font-size:17px!important;font-weight:700!important;letter-spacing:.01em;}
  .hero-search .sw-erreur{left:52px;right:12px;}

  .hero-reassurance{flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:6px 14px!important;margin-top:14px!important;font-size:12.5px!important;}
  .ht-raccourcis{margin-top:14px!important;}
}
@media (min-width:981px){
  .hero-search{max-width:1060px!important;}
  .hs-grid.sw-grid,.ht-grid.sw-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1.35fr) minmax(0,1.15fr) auto!important;}
  .sw-grid .hs-champ > label{white-space:nowrap;}
}

/* Mobile : meme ligne pour les boutons "Voyageurs" des transferts et l'echange depart / arrivee */
@media (max-width:700px){
  .hero-search .hs-champ .hs-trigger{
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:100%;
    min-height:62px!important;padding:8px 14px 8px 52px!important;font-size:16.5px!important;font-weight:600!important;color:#14312E;
    display:flex!important;align-items:center;justify-content:space-between;}
  .hero-search .ts-grid{display:block!important;position:relative;}
  .hero-search .ts-grid .hs-champ{border-right:0!important;}
  .hero-search .ts-inverser{position:absolute!important;right:14px;top:62px;transform:translateY(-50%);z-index:4;width:40px;height:40px;margin:0!important;
    border-radius:50%;background:#fff!important;border:1px solid rgba(20,49,46,.14)!important;box-shadow:0 6px 14px -8px rgba(0,0,0,.35);}
  .hero-search .ts-depart input,.hero-search .ts-arrivee input{padding-right:62px!important;}
  .hero-search .lib-long{display:none;}
}
