/* Componenti di prenotazione condivisi (barra in basso, carrello, risultati disponibilità),
   stilizzati con le variabili di Residenza Martin (styles.css). NON cambia il look del sito. */

/* selettore lingua: header RM è CHIARO → testo scuro (sul tema RSL resta bianco di default) */
.lang-sel[role="group"]{--lang-fg:#2E2620;--lang-line:rgba(46,38,32,.18);--lang-bg:rgba(46,38,32,.04);--lang-active-fg:#fff}

/* hero: inquadratura foto su mobile (mostra il letto, non il soffitto) */
.hero__img{object-position:center 50%}
@media(max-width:480px){.hero__title{font-size:2.2rem}.hero__sub{font-size:.97rem}}

/* ===== BARRA DISPONIBILITÀ in basso (si apre al clic) ===== */
body{padding-bottom:72px}
.booknow{position:fixed;left:0;right:0;bottom:0;z-index:45;box-shadow:0 -8px 30px rgba(20,16,12,.22)}
.booknow__open{width:100%;border:0;cursor:pointer;background:var(--espresso,#2E2620);color:#fff;padding:.9rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;line-height:1.2}
.booknow__open-t{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.84rem}
.booknow__open-s{font-size:.72rem;color:rgba(255,255,255,.62)}
.booknow__panel{display:none;background:var(--espresso,#2E2620);padding:1.1rem var(--pad-x) 1.2rem;position:relative}
.booknow.open .booknow__open{display:none}
.booknow.open .booknow__panel{display:block;animation:bnUp .3s ease}
@keyframes bnUp{from{transform:translateY(22px);opacity:0}to{transform:none;opacity:1}}
.booknow__close{position:absolute;top:.35rem;right:.7rem;background:none;border:0;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;opacity:.8}
.booknow__fields{display:flex;gap:0}
.booknow__fields .hb-field{padding:.7rem 1rem;border-right:1px solid rgba(255,255,255,.15)}
.booknow__fields .hb-field span{color:rgba(255,255,255,.6)}
.booknow__fields .hb-field input,.booknow__fields .hb-field select{color:#fff}
.booknow__fields .hb-field select option{color:var(--text,#2E2620)}
.booknow__submit{width:100%;margin-top:.9rem}
@media(max-width:700px){.booknow__fields{flex-direction:column}.booknow__fields .hb-field{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}}
@media(min-width:701px){
  body{padding-bottom:96px}
  .booknow{left:50%;right:auto;transform:translateX(-50%);bottom:1.2rem;width:min(940px,calc(100% - 2rem));border-radius:14px;overflow:hidden}
  .booknow__submit{width:auto;align-self:center;margin:.2rem auto 0;display:block}
}

/* ===== CARRELLO ===== */
.cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:46;background:var(--espresso,#2E2620);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem var(--pad-x);box-shadow:0 -8px 30px rgba(20,16,12,.25)}
.cart-bar[hidden]{display:none}
.cart-bar__info{display:flex;align-items:baseline;gap:.8rem}
.cart-bar__info b{font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;font-weight:500}
.cart-bar__info span{font-family:var(--serif);font-size:1.3rem;color:#fff}
.cart-bar .btn{flex:none}
@media(min-width:701px){.cart-bar{left:50%;right:auto;transform:translateX(-50%);bottom:1.2rem;width:min(940px,calc(100% - 2rem));border-radius:14px}}
.rate__btn--in{background:#2e7d52!important}
.rate__btn--in:hover{background:#276a46!important}
.bmodal__cart{margin:.5rem 0 .2rem}
.bm-cart-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line,#E7DFD0);font-size:.95rem}
.bm-cart-row:last-child{border-bottom:0}
.bm-cart-row b{font-family:var(--serif)}
.bm-twoprop{display:block;background:#f6efe2;border:1px solid var(--oro,#C9A24B);color:#6b5320;border-radius:8px;padding:.7rem .9rem;font-size:.86rem;line-height:1.45;margin:.5rem 0}

/* ===== RISULTATI DISPONIBILITÀ: card orizzontale ===== */
.avail-results{max-width:var(--maxw);margin:1.6rem auto 0;display:grid;gap:1.3rem}
.avail-results .rcard{display:grid;grid-template-columns:260px 1fr;align-items:stretch;border:1px solid var(--line,#E7DFD0);border-radius:12px;overflow:hidden;background:#fff;text-align:left;box-shadow:0 6px 22px rgba(20,16,12,.06)}
.avail-results .rcard__img{width:100%;height:100%;aspect-ratio:auto;min-height:190px;max-height:240px;object-fit:cover;margin:0}
.avail-results .rcard__body{padding:1.2rem 1.5rem}
.avail-results .rcard__name{font-family:var(--serif);font-size:1.5rem;margin:0 0 .9rem}
.avail-results .rcard--off{opacity:.5}
.avail-results .rates{display:flex;flex-direction:column;gap:.55rem}
.avail-results .rate{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line,#E7DFD0);padding-top:.55rem}
.avail-results .rate:first-child{border-top:0;padding-top:0}
.avail-results .rate__info b{display:block;font-size:.98rem;color:var(--text,#2E2620)}
.avail-results .rate__info span{color:var(--muted,#8C8174);font-size:.8rem}
.avail-results .rate__buy{display:flex;align-items:center;gap:.9rem;flex:none}
.avail-results .rate__price{font-family:var(--serif);font-size:1.35rem;color:var(--text,#2E2620)}
.avail-results .rate__btn{padding:.5rem 1.1rem;font-size:.72rem}
.avail-results .rcard__note{color:var(--muted,#8C8174);padding:1rem 1.5rem;margin:0}
@media(max-width:640px){
  .avail-results .rcard{grid-template-columns:1fr}
  .avail-results .rcard__img{min-height:160px;max-height:190px}
  .avail-results .rate{flex-direction:column;align-items:flex-start;gap:.35rem}
}
/* === parità RSL 2026-06-15: selettore Adulti/Bambini + header fixed mobile + safe-area === */
.avail-results .rcard__occ{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;margin:0 0 .9rem}
.avail-results .rcard__occ label{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#8C8174)}
.avail-results .rcard__occ select{font-family:var(--sans);border:1px solid var(--line);border-radius:8px;padding:.3rem .55rem;background:#fff;color:var(--text);cursor:pointer;text-transform:none}
.booknow__open{padding-bottom:calc(.9rem + env(safe-area-inset-bottom))}
@media(max-width:820px){
  .header .btn--book{display:inline-flex;align-items:center;padding:.5rem 1.05rem;font-size:.82rem}
  .header{position:fixed;top:0;left:0;right:0;z-index:60}
  body{padding-top:var(--hh,62px)}
}

/* #19 — mobile RM: hero meno alta/più equilibrata + widget disponibilità compatto */
@media(max-width:700px){
  .hero{min-height:min(70vh,580px)}
  .hero__img{object-position:center 42%}
  .hero__content{padding-bottom:1.4rem}
  .booknow__open{padding:.6rem 1rem}
  .booknow__open-t{font-size:.8rem}
  .booknow__open-s{font-size:.7rem}
  .booknow__panel{padding:.85rem var(--pad-x) 1rem}
  .booknow__fields .hb-field{padding:.5rem .9rem}
  .booknow__submit{margin-top:.7rem}
}

/* === pagine camera/struttura (parità RSL) === */
/* === Pagina camera (SEO/deep-link) === */
.room-page{max-width:var(--maxw,1180px);margin:0 auto;padding:1.4rem var(--pad-x) 4rem}
.rp-crumb{font-size:.8rem;color:var(--muted);margin:.4rem 0 1.2rem}
.rp-crumb a{color:var(--muted);text-decoration:none}
.rp-crumb a:hover{color:var(--book)}
.rp-gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:.6rem;align-items:stretch}
.rp-gallery__hero,.rp-gallery__cell{padding:0;border:0;cursor:pointer;background:none;border-radius:12px;overflow:hidden;position:relative}
.rp-gallery__hero img{width:100%;height:clamp(320px,46vw,520px);object-fit:cover;display:block}
.rp-gallery__grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.6rem}
.rp-gallery__cell img{width:100%;height:100%;min-height:120px;object-fit:cover;display:block}
.rp-gallery__hero:hover img,.rp-gallery__cell:hover img{filter:brightness(.92)}
.rp-gallery__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,18,16,.5);color:#fff;font-weight:600;font-size:.95rem}
.rp-chips{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;color:var(--muted);font-size:.92rem;margin:.2rem 0 1rem}
.rp-lb{position:fixed;inset:0;z-index:600;background:rgba(12,10,8,.94);display:flex;align-items:center;justify-content:center}
.rp-lb[hidden]{display:none}
.rp-lb__img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px}
.rp-lb__close{position:absolute;top:.8rem;right:1.3rem;background:none;border:0;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;opacity:.85}
.rp-lb__close:hover{opacity:1}
.rp-lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.14);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rp-lb__nav:hover{background:rgba(255,255,255,.26)}
.rp-lb__prev{left:1.1rem}.rp-lb__next{right:1.1rem}
.rp-lb__count{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.88rem;opacity:.85}
@media(max-width:700px){.rp-gallery{grid-template-columns:1fr}.rp-gallery__grid{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr}.rp-gallery__hero img{height:clamp(240px,56vw,360px)}.rp-gallery__cell img{height:84px;min-height:0}.rp-lb__nav{width:42px;height:42px}}
/* === Pagina struttura === */
.struct-page{max-width:var(--maxw,1180px);margin:0 auto;padding:1.4rem var(--pad-x) 2rem;text-align:center}
.struct-page .rp-crumb{text-align:left}
.struct-page .rp-desc{margin:.6rem auto 0;max-width:62ch}
.struct-cta{display:inline-block;margin:1.5rem 0 0}
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;margin:2.6rem 0 0;text-align:left}
.scard{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}
.scard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(20,18,16,.12)}
.scard__img{width:100%;height:200px;object-fit:cover;display:block}
.scard__body{padding:1rem 1.2rem 1.3rem}
.scard__name{font-family:var(--serif);margin:0 0 .2rem;color:var(--text)}
.scard__meta{color:var(--muted);font-size:.88rem;margin:0}
.rp-body{margin-top:2rem;max-width:760px}
.rp-eyebrow{color:var(--book);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem}
.rp-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem;color:var(--text)}
.rp-desc{color:var(--text);line-height:1.7;font-size:1.05rem;max-width:60ch}
.rp-amen{list-style:none;padding:0;margin:1.6rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem .7rem}
.rp-amen__item{background:var(--ivory,#f7f8fa);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;color:var(--text)}
.rp-aside{align-self:start;position:sticky;top:90px;border:1px solid var(--line);border-radius:14px;padding:1.5rem;text-align:center;box-shadow:0 10px 30px rgba(20,18,16,.06)}
.rp-aside__bed{font-weight:600;margin:0 0 .2rem;color:var(--text)}
.rp-aside__cap{color:var(--muted);margin:0 0 1.2rem;font-size:.9rem}
.rp-cta{width:100%}
.rp-aside__note{color:var(--muted);font-size:.72rem;margin:.7rem 0 0}
@media(max-width:820px){ .rp-body{grid-template-columns:1fr} .rp-aside{position:static} }

/* link "Vedi la camera" nelle card home -> pagina camera */
.room__more{display:inline-block;margin-left:1.1rem;color:var(--blu,#1d3470);font-weight:600;text-decoration:none;font-size:.92rem}
.room__more:hover{text-decoration:underline}
@media(max-width:600px){.room__more{display:block;margin:.7rem 0 0}}
