/* Catalogo camere pubblico — temizzabile via variabili --zp-* (vedi Zenith_Public_Style) */
.zrooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--zp-grid-min,280px),1fr));gap:22px;
  max-width:var(--zp-container,1180px);margin:0 auto;font-family:var(--zp-font,system-ui,-apple-system,Segoe UI,Roboto,sans-serif)}
.zrooms-empty{grid-column:1/-1;text-align:center;color:var(--zp-muted,#5c7794);padding:40px}
.zroom-card{display:flex;flex-direction:column;border:1px solid var(--zp-border,#e2e6ed);border-radius:var(--zp-radius,12px);
  overflow:hidden;background:var(--zp-bg,#fff);text-decoration:none;color:inherit;box-shadow:0 1px 6px rgba(0,0,0,.05);
  transition:box-shadow .2s,transform .2s}
.zroom-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px)}
.zroom-cover{height:200px;background-size:cover;background-position:center;background-color:var(--zp-bg-soft,#eef1f5)}
.zroom-noimg{display:flex;align-items:center;justify-content:center;color:var(--zp-muted,#9aa3b2);font-size:40px}
.zroom-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.zroom-name{font-size:19px;font-weight:800;color:var(--zp-text,#1c2032)}
.zroom-chips{display:flex;flex-wrap:wrap;gap:6px}
.zroom-chip{font-size:12px;color:var(--zp-text-soft,#46526c);background:var(--zp-bg-soft,#f1f4f8);
  border:1px solid var(--zp-border,#e2e6ed);border-radius:calc(var(--zp-radius,12px) / 2);padding:3px 8px}
.zroom-short{font-size:13px;color:var(--zp-text-soft,#5a6478);line-height:1.5;margin:0}
.zroom-more{margin-top:auto;font-size:13px;font-weight:700;color:var(--zp-accent,#1c2840)}

/* ── Preset di layout ── */
/* flat: niente bordo/ombra */
.zrooms.zp-preset-flat .zroom-card{border:0;box-shadow:none}
.zrooms.zp-preset-flat .zroom-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);transform:none}
/* overlay: nome+testo sopra la copertina */
.zrooms.zp-preset-overlay .zroom-card{position:relative}
.zrooms.zp-preset-overlay .zroom-cover{height:300px}
.zrooms.zp-preset-overlay .zroom-body{position:absolute;inset:auto 0 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;padding:18px 16px 14px}
.zrooms.zp-preset-overlay .zroom-name{color:#fff}
.zrooms.zp-preset-overlay .zroom-short{color:rgba(255,255,255,.9)}
.zrooms.zp-preset-overlay .zroom-chip{background:rgba(255,255,255,.18);color:#fff;border-color:transparent}
.zrooms.zp-preset-overlay .zroom-more{color:#fff}

/* Scheda singola */
.zroom-single{max-width:var(--zp-container,1080px);margin:0 auto;font-family:var(--zp-font,system-ui,-apple-system,Segoe UI,Roboto,sans-serif)}
.zroom-back{display:inline-block;color:var(--zp-accent,#1c2840);font-weight:700;text-decoration:none;margin-bottom:10px;font-size:14px}
.zroom-title{font-size:30px;font-weight:800;color:var(--zp-text,#1c2032);margin:0 0 16px}
.zroom-gallery{margin-bottom:22px}
.zroom-main img{width:100%;max-height:520px;object-fit:cover;border-radius:var(--zp-radius,12px);display:block}
.zroom-gallery.zroom-noimg{height:300px;border-radius:var(--zp-radius,12px);flex-direction:column;background:var(--zp-bg-soft,#eef1f5)}
.zroom-gallery.zroom-noimg span{font-size:48px}.zroom-gallery.zroom-noimg small{color:var(--zp-muted,#9aa3b2)}
.zroom-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px}
/* Foto e miniature sono pulsanti: si toglie l'aspetto da bottone e si tiene la
   forma di prima. Il contorno del fuoco resta (vedi :focus-visible in fondo). */
.zroom-zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.zroom-thumb{width:96px;height:66px;border-radius:8px;cursor:pointer;opacity:.7;border:2px solid transparent;flex:0 0 auto;
  padding:0;background:none;overflow:hidden;line-height:0}
.zroom-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.zroom-thumb.on,.zroom-thumb:hover{opacity:1;border-color:var(--zp-accent,#1c2840)}
.zroom-detail{display:flex;gap:28px;flex-wrap:wrap}
.zroom-detail-main{flex:1;min-width:280px}
.zroom-side{flex:0 0 260px}
.zroom-h{font-size:16px;font-weight:800;color:var(--zp-text,#1c2032);margin:18px 0 8px}
.zroom-desc{font-size:15px;color:var(--zp-text-soft,#3a4458);line-height:1.7}
.zroom-amen{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:14px;color:var(--zp-text-soft,#46526c)}
.zroom-amen li:before{content:'• ';color:var(--zp-accent,#1c2840)}
.zroom-hl{list-style:none;padding:0;margin:0;font-size:14px;color:#1b7c44;line-height:1.9}
.zroom-video{position:relative;padding-top:56.25%;border-radius:var(--zp-radius,12px);overflow:hidden}
.zroom-video iframe,.zroom-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:680px){.zroom-side{flex-basis:100%}.zroom-amen{grid-template-columns:1fr}}
/* Dove si trova la tastiera si deve vedere, e solo a chi naviga così. */
.zrooms :focus-visible,.zroom-single :focus-visible{
  outline:3px solid var(--zp-accent,#1c2840);outline-offset:2px;border-radius:6px}
.zlb :focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:50%}
/* Lightbox (ingrandimento + slideshow) */
.zlb{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center}
.zlb-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.zlb-x{position:absolute;top:16px;right:20px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:26px;cursor:pointer;line-height:1}
.zlb-prev,.zlb-next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:30px;cursor:pointer;line-height:1}
.zlb-prev{left:16px}.zlb-next{right:16px}
.zlb-x:hover,.zlb-prev:hover,.zlb-next:hover{background:rgba(255,255,255,.3)}
.zlb-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-size:13px;font-family:system-ui,sans-serif;opacity:.85}
@media(max-width:680px){.zlb-prev,.zlb-next{width:42px;height:42px;font-size:24px}}

/* "A partire da €X" — in HTML e servito dal server, non dal widget.
   Un assistente che legge la pagina non esegue il JavaScript: se il prezzo
   sta solo nel motore di prenotazione, per lui la pagina non ha prezzi e
   verra' citata l'OTA al posto del sito della struttura. */
.zroom-da {
  margin: 10px 0 2px;
  font-size: 14px;
  color: var(--zp-text, #2b2b2b);
}
.zroom-da strong { font-size: 17px; font-weight: 700; }
.zroom-da span   { font-size: 12px; opacity: .7; }

/* Prezzi minimi per mese. Dati veri, dal calendario: un assistente che legge
   la pagina non esegue il motore di prenotazione, quindi se il prezzo di
   agosto sta solo li' dentro, per lui non esiste e cita l'OTA. */
.zroom-mesi { margin: 18px 0; }
.zroom-mesi-t {
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; opacity: .7; margin-bottom: 8px;
}
.zroom-mesi ul { list-style: none; margin: 0; padding: 0; }
.zroom-mesi li {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,.07); font-size: 14px;
}
.zroom-mesi li span { text-transform: capitalize; flex: 1 1 auto; }

/* Due colonne solo dove weekend e feriale differiscono davvero: a griglia
   piatta sarebbero due colonne di numeri uguali, cioe' rumore. */
.zroom-mesi-hd {
  display: flex; align-items: baseline; gap: 12px;
  font-size: 10px; text-transform: uppercase; letter-spacing: .05em;
  opacity: .55; padding-bottom: 4px;
}
.zroom-mesi-hd span { flex: 1 1 auto; }
.zroom-mesi-hd em { flex: 0 0 84px; text-align: right; font-style: normal; }
.zroom-mesi li { gap: 12px; }
.zroom-mesi li strong { flex: 0 0 84px; text-align: right; }
.zroom-mesi li strong:only-of-type { flex: 0 0 auto; }
.zroom-mesi li strong { font-weight: 700; white-space: nowrap; }
.zroom-mesi-n { font-size: 11px; opacity: .6; margin-top: 8px; line-height: 1.5; }
