/* Casa Lume Lento: pagine camere e galleria (26/09/2026).
   Stessa identita della home (token di casa.css): notte scura, Crimson Pro +
   Arsenal SC, color lume solo per prenotare. Niente ombre, niente frecce
   decorative, niente emoji. Tutto fermo con movimento ridotto. */

/* Pagina camera: titolo e galleria */
.camera-pagina{padding:9.5rem var(--gutter) 0;max-width:var(--max);margin:0 auto}
.camera-nome{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,5.4vw,5.2rem);line-height:1.02;letter-spacing:-.012em;margin:1.2rem 0 0}
.camera-sotto{color:var(--osso-2);max-width:34rem;margin:1rem 0 0;font-size:1.2rem}
.galleria-camera{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(.8rem,2vw,1.4rem);margin-top:2.4rem;align-items:start}
.galleria-camera .foto-btn{padding:0;border:0;background:none;cursor:zoom-in;text-align:left}
.galleria-camera .foto-principale{aspect-ratio:3/2}
.galleria-camera .foto-principale img{width:100%;height:100%;object-fit:cover}
.galleria-mini{display:grid;gap:clamp(.8rem,2vw,1.4rem)}
.galleria-mini .foto{aspect-ratio:3/2}
.galleria-nome{margin:.8rem 0 0;font:400 .86rem/1.5 var(--sans);letter-spacing:.05em;color:var(--osso-3)}

/* Riga di dati chiave */
.dati-chiave{list-style:none;margin:2.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--linea)}
.dati-chiave li{padding:1.1rem 1rem 1.2rem 0;border-bottom:1px solid var(--linea)}
.dati-chiave b{display:block;font:400 .78rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--osso-3);margin-bottom:.4rem}
.dati-chiave span{font-family:var(--serif);font-size:1.25rem}

/* Racconto e servizi */
.camera-corpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);padding:3.4rem 0;max-width:var(--max)}
.servizi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem}
.servizi li{position:relative;padding-left:1.15rem;color:var(--osso-2)}
.servizi li::before{content:"";position:absolute;left:0;top:.68em;width:.6rem;height:1px;background:var(--osso-3)}

/* Tabella prezzi: numeri messi da js/casa.js leggendo PREZZI di prenota.js */
.tabella-prezzi{width:100%;border-collapse:collapse;margin-top:1.4rem}
.tabella-prezzi caption{text-align:left;color:var(--osso-2);padding-bottom:1rem;max-width:36rem}
.tabella-prezzi th,.tabella-prezzi td{padding:.9rem .6rem;border-bottom:1px solid var(--linea);text-align:left;font-weight:400}
.tabella-prezzi thead th{font:400 .78rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--osso-3)}
.tabella-prezzi tbody th{font-family:var(--serif);font-size:1.15rem}
.tabella-prezzi td{font-variant-numeric:lining-nums}
.prezzi-nota{color:var(--osso-3);font:400 .9rem/1.6 var(--sans);letter-spacing:.04em;margin:1rem 0 0}

/* Chiamata a prenotare */
.prenota-camera{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2rem;padding:2.6rem 0;border-top:1px solid var(--linea)}
.prenota-camera p{margin:0;color:var(--osso-2)}

/* Le altre camere */
.altre-camere{padding:1rem 0 6rem}
.altre-griglia{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,2rem);margin-top:2rem}

/* Galleria per temi */
.galleria-pagina{padding:9.5rem var(--gutter) 0;max-width:var(--max);margin:0 auto}
.temi{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0 0;padding:0}
.temi a{display:inline-block;border:1px solid var(--linea);color:var(--osso-2);text-decoration:none;font:400 .82rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:.8rem 1.2rem}
.temi a:hover{border-color:var(--osso);color:var(--osso)}
.tema{padding:3.4rem 0 0}
.tema-titolo{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.2vw,2.8rem);margin:0 0 1.6rem;width:fit-content;max-width:100%}
.griglia-galleria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.4rem);grid-auto-flow:dense}
.griglia-galleria .foto-btn{margin:0;padding:0;border:0;background:none;cursor:zoom-in;min-width:0}
.griglia-galleria .foto{aspect-ratio:4/3;height:100%}
.griglia-galleria .foto img{width:100%;height:100%;object-fit:cover}
.griglia-galleria .foto-btn.verticale{grid-row:span 2}
.griglia-galleria .foto-btn.verticale .foto{aspect-ratio:auto;min-height:100%}
/* Temi con 1 o 2 foto: piu grandi, senza colonne vuote */
.griglia-galleria:has(> .foto-btn:only-child){grid-template-columns:minmax(0,1fr)}
.griglia-galleria:has(> .foto-btn:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
/* Segnaposto delle foto in arrivo: resta lo sfondo scuro di .foto */
.foto-mancante{min-height:220px}
/* Segnaposto in griglia: senza rapporto fisso, resta largo come la colonna */
.griglia-galleria .foto.foto-mancante{aspect-ratio:auto}
.foto-mancante span{position:absolute;left:1.1rem;bottom:1rem;font:400 .86rem/1.4 var(--sans);letter-spacing:.06em;color:var(--osso-3)}

/* Finestra a tutto schermo */
.finestra{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--finestra-velo)}
.finestra[hidden]{display:none}
.finestra-testa{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--gutter)}
.finestra-contatore{font:400 .9rem/1 var(--sans);letter-spacing:.12em;color:var(--fisso-testo-2)}
.finestra-chiudi{background:none;border:1px solid var(--fisso-linea);color:var(--fisso-testo);cursor:pointer;font:400 .78rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.8rem 1.2rem}
.finestra-chiudi:hover{border-color:var(--fisso-testo)}
.finestra-corpo{position:relative;display:grid;place-items:center;min-height:0;padding:0 var(--gutter)}
.finestra-corpo img{max-width:100%;max-height:100%;object-fit:contain}
.finestra-freccia{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--fisso-linea);background:var(--freccia-velo);color:var(--fisso-testo);cursor:pointer;display:grid;place-items:center}
.finestra-freccia:hover{border-color:var(--fisso-testo)}
.finestra-freccia svg{width:18px;height:18px}
.finestra-indietro{left:calc(var(--gutter) / 2)}
.finestra-avanti{right:calc(var(--gutter) / 2)}
.finestra-piede{padding:1rem var(--gutter) calc(1.2rem + env(safe-area-inset-bottom));text-align:center;color:var(--fisso-testo-2)}
.finestra-piede p{margin:0}

/* Telefono */
@media (max-width:900px){
  .camera-pagina,.galleria-pagina{padding-top:7.5rem}
  .galleria-camera{grid-template-columns:1fr}
  .galleria-mini{grid-template-columns:1fr 1fr}
  .galleria-mini .foto{aspect-ratio:1/1}
  .dati-chiave{grid-template-columns:1fr 1fr}
  .camera-corpo{grid-template-columns:1fr}
  .servizi{grid-template-columns:1fr}
  .altre-griglia{grid-template-columns:1fr}
  .griglia-galleria{grid-template-columns:repeat(2,minmax(0,1fr))}
  .griglia-galleria:has(> .foto-btn:only-child){grid-template-columns:minmax(0,1fr)}
  .finestra-freccia{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  .finestra-corpo img{animation:none}
}
html.movimento .finestra-corpo img{animation:foto-dentro .45s var(--ease)}
@keyframes foto-dentro{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  html.movimento .finestra-corpo img{animation:none}
}
/* Eroe camera su computer: la foto grande riempie tutta l’altezza della riga
   (i bottoni centrano il contenuto da soli: griglia interna e altezza piena). */
@media (min-width:901px){
  .galleria-camera{align-items:stretch}
  .galleria-camera > .foto-btn:first-child{display:grid;align-self:stretch}
  .galleria-camera .foto-principale{height:100%;aspect-ratio:auto;overflow:hidden}
  .galleria-camera .foto-principale img{height:100%}
}.galleria-camera > .foto-btn{min-width:0}
.galleria-camera .foto-principale{min-width:0}
.galleria-mini{min-width:0}