/* Rinnovo · R3 — foto intere nelle schede: nessun taglio, anche le verticali; sotto, la stessa foto sfumata. */
#dgallery.gallery, #ormeggio .gallery, #expdetail .s13-hero { height: min(100vw, 64vh); min-height: 280px; background: #0c2a33; isolation: isolate; }
@media (min-width: 920px) { #dgallery.gallery, #ormeggio .gallery, #expdetail .s13-hero { height: min(560px, 62vh); } }
#dgallery.gallery.glv::before, #ormeggio .gallery.glv::before, #expdetail .s13-hero.glv::before {
  content: ''; position: absolute; inset: -40px; z-index: 0; background: var(--glv-foto) center / cover no-repeat;
  filter: blur(28px) saturate(1.15) brightness(.82); transform: scale(1.08); transition: background-image .3s;
}
#dgallery .gslide img, #ormeggio .gallery .gslide img, #expdetail .s13-hero img, #expdetail .s13-hero .gal img { object-fit: contain; background: transparent; position: relative; z-index: 1; }
#dgallery .gstrip, #ormeggio .gallery .gstrip, #expdetail .s13-hero .gal { position: relative; z-index: 1; }
#dgallery .gstrip { position: absolute; }
/* La sfumatura in basso resta leggera: serve ai pallini, non deve coprire la foto. */
#dgallery.gallery::after, #expdetail .s13-hero::after { z-index: 2; height: 72px; top: auto; background: linear-gradient(to top, rgba(8, 40, 49, .42), transparent); }
#dgallery .dots { bottom: 56px; }
/* Lo sfondo sfumato resta nel riquadro dell'esperienza (sotto ci sono categoria e titolo). */
#expdetail .s13-hero { overflow: hidden; }
/* Nelle schede di barca e ormeggio il foglio copre i 40 px in basso della galleria: il pulsante sta sopra, come i pallini. */
#dgallery .glv-apri, #ormeggio .gallery .glv-apri { bottom: 54px; }
.glv-apri { position: absolute; right: 14px; bottom: 14px; z-index: 6; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 0;
  background: rgba(255, 255, 255, .94); color: #0c2a33; font: 700 .875rem 'Plus Jakarta Sans', system-ui, sans-serif; cursor: pointer; box-shadow: 0 6px 18px -10px rgba(0, 0, 0, .5); }
.glv-apri:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
#dgallery img, #expdetail .s13-hero img { cursor: zoom-in; }
/* A tutto schermo. */
.glv-vista { position: fixed; inset: 0; z-index: 9500; background: #061921; color: #fff; }
.glv-vista[hidden] { display: none; }
html.glv-aperta, html.glv-aperta body { overflow: hidden; }
.glv-file { display: flex; width: 100%; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.glv-file::-webkit-scrollbar { display: none; }
.glv-file figure { flex: 0 0 100%; height: 100%; margin: 0; display: flex; align-items: center; justify-content: center; scroll-snap-align: center; padding: calc(56px + env(safe-area-inset-top, 0px)) 8px calc(56px + env(safe-area-inset-bottom, 0px)); box-sizing: border-box; }
.glv-file img { max-width: 100%; max-height: 100%; object-fit: contain; }
.glv-btn { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .16); color: #fff; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.glv-btn:focus-visible { outline: 3px solid #5FC9D8; outline-offset: 2px; }
.glv-chiudi { top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px; }
.glv-prima, .glv-dopo { top: 50%; transform: translateY(-50%); }
.glv-prima { left: 12px; } .glv-dopo { right: 12px; }
@media (hover: none) { .glv-prima, .glv-dopo { display: none; } }
.glv-conta { position: absolute; left: 0; right: 0; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); margin: 0; text-align: center; font: 600 .9375rem 'Plus Jakarta Sans', system-ui, sans-serif; }
/* Sul telefono le foto dell'annuncio riempiono tutto il riquadro (niente bande sfocate ai lati) e il riquadro è più
   alto; sul PC e sul tablet restano intere. La foto intera si vede sempre con «Vedi le foto». */
@media (max-width: 599px) {
  #dgallery .gslide img, #ormeggio .gallery .gslide img, #expdetail .s13-hero img, #expdetail .s13-hero .gal img { object-fit: cover; }
  #dgallery.gallery.glv::before, #ormeggio .gallery.glv::before, #expdetail .s13-hero.glv::before { display: none; }
  #dgallery.gallery, #ormeggio .gallery, #expdetail .s13-hero { height: min(118vw, 68vh); }
}
