/* =====================================================================
   recherche-sejour.css — barre de recherche « maison » (voir recherche-sejour.js)
   Couleurs : variables --rs-* définies dans theme.css (§ 7).
   ===================================================================== */
.recherche-sejour{width:100%;font-family:'Manrope',sans-serif;container-type:inline-size;container-name:rs;}
/* Mise en page selon la LARGEUR DE LA BARRE (requête de conteneur), pas de l'écran : empilée dès que la barre fait
   moins de 720 px (tablette, téléphone) ; les 44 px tactiles restent liés à l'écran (≤ 640 px) plus bas. */
.rs-barre{
  display:flex;align-items:stretch;gap:0;width:100%;min-height:56px;
  background:var(--rs-fond);border:1px solid var(--rs-bord);border-radius:10px;
  box-shadow:0 8px 28px rgba(0,0,0,.18);padding:5px;text-align:left;
}
.rs-champ{
  flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px;
  padding:6px 14px;margin:0;border:0;border-radius:7px;background:transparent;
  color:var(--rs-texte);font:inherit;text-align:left;cursor:pointer;position:relative;
}
.rs-champ + .rs-champ::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--rs-bord);}
.rs-champ:hover,.rs-champ[aria-expanded="true"]{background:var(--rs-survol);}
.rs-champ:focus-visible,.rs-champ:focus-within{outline:2px solid var(--rs-accent);outline-offset:-2px;}
.rs-champ svg{width:22px;height:22px;flex-shrink:0;fill:var(--rs-accent);}
.rs-txt{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.rs-etiq{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rs-gris);}
.rs-val{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rs-vide .rs-val{color:var(--rs-gris);font-weight:500;}
.rs-dates{flex-grow:1.25;}
.rs-type{flex-grow:1.45;}
.rs-type select{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0 18px 0 0;margin:0;
  font:inherit;font-size:15px;font-weight:600;color:var(--rs-texte);cursor:pointer;width:100%;min-height:22px;
  background-image:linear-gradient(45deg,transparent 50%,var(--rs-accent) 50%),linear-gradient(135deg,var(--rs-accent) 50%,transparent 50%);
  background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55%;background-size:5px 5px;background-repeat:no-repeat;
}
.rs-type select:focus{outline:none;}
.rs-go{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  margin:0 0 0 5px;padding:0 22px;border-radius:7px;min-height:46px;cursor:pointer;
  font:inherit;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.rs-go svg{width:19px;height:19px;fill:currentColor;}
.rs-mention{margin:.6rem 0 0;font-size:13px;font-weight:600;color:var(--rs-mention);}
.ctv-widget-wrap .rs-mention{text-align:center;}  /* pages Locatif / Emplacements (barre centrée) */

/* ---------- Fenêtres : calendrier et participants ---------- */
.rs-fen{
  position:absolute;z-index:1200;background:var(--rs-fond);color:var(--rs-texte);
  border:1px solid var(--rs-bord);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.28);
  padding:16px 18px;font-family:'Manrope',sans-serif;font-size:15px;
}
.rs-fen[hidden],.rs-voile[hidden]{display:none;}
.rs-fen-cal{width:min(640px,calc(100vw - 16px));}
.rs-fen-pers{width:320px;}
.rs-cal-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.rs-aide{margin:0;font-size:14px;font-weight:600;text-align:center;color:var(--rs-gris);}
.rs-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--rs-bord);background:transparent;cursor:pointer;display:grid;place-items:center;}
.rs-nav svg{width:22px;height:22px;fill:var(--rs-texte);}
.rs-nav:disabled{opacity:.3;cursor:default;}
.rs-mois-ligne{display:flex;gap:26px;}
.rs-mois{flex:1 1 0;min-width:0;}
.rs-mois-titre{margin:4px 0 8px;text-align:center;font-family:'Marcellus',serif;font-size:17px;text-transform:capitalize;}
.rs-semaine,.rs-jours{display:grid;grid-template-columns:repeat(7,1fr);}
.rs-semaine span{text-align:center;font-size:12px;font-weight:700;color:var(--rs-gris);padding:4px 0;text-transform:uppercase;}
.rs-jour{
  height:40px;border:0;background:transparent;color:var(--rs-texte);font:inherit;font-size:14px;font-weight:600;
  cursor:pointer;border-radius:999px;position:relative;
}
.rs-jour:hover:not(:disabled){background:var(--rs-survol);}
.rs-jour:disabled{color:var(--rs-eteint);cursor:default;text-decoration:line-through;text-decoration-color:var(--rs-bord);}
.rs-jour.rs-auj{box-shadow:inset 0 0 0 1px var(--rs-accent);}
.rs-jour.rs-entre{background:var(--rs-plage);border-radius:0;}
.rs-jour.rs-debut,.rs-jour.rs-fin{background:var(--rs-actif);color:var(--rs-sur-actif);}
.rs-jour:focus-visible{outline:2px solid var(--rs-accent);outline-offset:1px;}
.rs-saison{margin:10px 0 0;font-size:12.5px;color:var(--rs-gris);text-align:center;}
.rs-pied{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;}
.rs-fen-pers .rs-pied{justify-content:flex-end;}
.rs-lien{background:none;border:0;padding:10px 4px;font:inherit;font-weight:600;color:var(--rs-texte);text-decoration:underline;cursor:pointer;}
.rs-ok{min-height:44px;padding:0 22px;border-radius:8px;border:0;background:var(--rs-actif);color:var(--rs-sur-actif);font:inherit;font-weight:700;cursor:pointer;}
.rs-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rs-bord);}
.rs-ligne p{margin:0;display:flex;flex-direction:column;}
.rs-ligne small{font-size:12.5px;color:var(--rs-gris);}
.rs-compteur{display:flex;align-items:center;gap:10px;}
.rs-compteur button{width:40px;height:40px;border-radius:50%;border:1px solid var(--rs-accent);background:transparent;color:var(--rs-texte);font-size:20px;line-height:1;cursor:pointer;}
.rs-compteur button:disabled{opacity:.3;cursor:default;}
.rs-compteur output{min-width:22px;text-align:center;font-weight:700;}
.rs-age{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:14px;}
.rs-age select{min-height:40px;border:1px solid var(--rs-bord);border-radius:8px;background:var(--rs-fond);color:var(--rs-texte);font:inherit;padding:0 8px;}

/* ---------- Téléphone : barre empilée, fenêtres en panneau bas d'écran ---------- */
.rs-voile{position:fixed;inset:0;z-index:1190;background:rgba(0,0,0,.45);}
html.rs-bloque,html.rs-bloque body{overflow:hidden;}
.rs-fen.rs-feuille{
  position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:88vh;overflow:auto;
  border-radius:16px 16px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0px));
}
/* Barre à 3 champs (accueil) : empilée sous 720 px de large */
@container rs (max-width:719px){
  .rs-barre:not(.rs-sans-type){display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;}
  .rs-barre:not(.rs-sans-type) .rs-dates{grid-column:1 / -1;}
  .rs-barre.rs-sans-type .rs-pers{grid-column:1 / -1;}
  .rs-barre:not(.rs-sans-type) .rs-champ{min-height:48px;padding:6px 10px;}
  .rs-barre:not(.rs-sans-type) .rs-champ + .rs-champ::before{display:none;}
  .rs-barre:not(.rs-sans-type) .rs-pers{background:var(--rs-survol-doux);}
  .rs-barre:not(.rs-sans-type) .rs-type{background:var(--rs-survol-doux);}
  .rs-barre:not(.rs-sans-type) .rs-dates{background:var(--rs-survol-doux);}
  .rs-barre:not(.rs-sans-type) .rs-go{grid-column:1 / -1;margin:2px 0 0;min-height:48px;}
  .rs-barre:not(.rs-sans-type) .rs-val{font-size:14.5px;}
}
/* Barre à 2 champs (Locatif, Emplacements) : empilée seulement sous 540 px */
@container rs (max-width:539px){
  .rs-barre.rs-sans-type{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;}
  .rs-barre.rs-sans-type .rs-dates{grid-column:1 / -1;}
  .rs-barre.rs-sans-type .rs-pers{grid-column:1 / -1;}
  .rs-barre.rs-sans-type .rs-champ{min-height:48px;padding:6px 10px;}
  .rs-barre.rs-sans-type .rs-champ + .rs-champ::before{display:none;}
  .rs-barre.rs-sans-type .rs-pers{background:var(--rs-survol-doux);}
  .rs-barre.rs-sans-type .rs-type{background:var(--rs-survol-doux);}
  .rs-barre.rs-sans-type .rs-dates{background:var(--rs-survol-doux);}
  .rs-barre.rs-sans-type .rs-go{grid-column:1 / -1;margin:2px 0 0;min-height:48px;}
  .rs-barre.rs-sans-type .rs-val{font-size:14.5px;}
}
@media (max-width:640px){
  .rs-jour{height:44px;}
  .rs-nav,.rs-compteur button{width:44px;height:44px;}
  .rs-age select{min-height:44px;}
}
@container rs (max-width:400px){
  .rs-barre:not(.rs-sans-type) :is(.rs-pers,.rs-type) svg{display:none;}
  .rs-type select{font-size:13.5px;padding-right:14px;background-position:calc(100% - 7px) 55%,calc(100% - 2px) 55%;}
  .rs-pers,.rs-type{padding-left:8px;padding-right:8px;}
}
