/* Pagina generica: styles scoped to the new template only. */
.falciani-generic-hero{position:relative;isolation:isolate;width:100%;height:80vh;height:80svh;min-height:300px;background-image:var(--falciani-hero-image);background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:32px 5vw}
.falciani-generic-hero__shade{position:absolute;inset:0;background:rgba(0,0,0,.30);z-index:-1}
.falciani-generic-hero__title{position:relative;color:#fff;text-align:center;line-height:1.15;font-size:clamp(2rem,5vw,5rem);margin:0;text-shadow:0 2px 12px rgba(0,0,0,.35);overflow-wrap:anywhere}
#contenitore_contenuto_post_articolo.falciani-generic-content{margin-top:0!important;position:relative}
.falciani-generic-content #cont_pagina_normale{margin-top:0!important}
@media(max-width:767px){.falciani-generic-hero{height:auto;min-height:0;aspect-ratio:1/1;padding:20px}.falciani-generic-hero__title{font-size:clamp(1.6rem,7vw,3rem)}}

/* Overlay del solo sfondo fisso: 20% nero, separato dalla hero. */
#immagine_in_bg_sito.falciani-generic-backdrop { position:fixed; isolation:isolate; background-position:center center; background-size:cover; background-repeat:no-repeat; }
#immagine_in_bg_sito.falciani-generic-backdrop::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.20); pointer-events:none; }

/* Titolo hero: stesso carattere Jost dei titoli del sito, in grassetto. */
.falciani-generic-hero h1.falciani-generic-hero__title {font-family:"Jost",sans-serif !important;font-weight:700 !important;font-optical-sizing:auto;text-transform:uppercase;color:#fff !important;font-size:clamp(2rem,5vw,5rem) !important;line-height:1.12;letter-spacing:.015em;}
@media(max-width:767px){.falciani-generic-hero h1.falciani-generic-hero__title{font-size:clamp(1.6rem,7vw,3rem) !important;}}

/* Il contenitore intero invade la base della hero di 80px. */
#contenitore_contenuto_post_articolo.falciani-generic-content{margin-top:-80px!important;z-index:2;position:relative}
.falciani-gallery{position:relative;max-width:1200px;width:calc(100% - 32px);margin:32px auto 64px;z-index:2}
.falciani-gallery__viewport{overflow:hidden;touch-action:pan-y}
.falciani-gallery__track{display:flex;gap:12px;transition:transform .35s ease;will-change:transform}
.falciani-gallery__item{flex:0 0 calc((100% - 36px)/4);aspect-ratio:1/1;min-width:0;padding:0;border:0;background:transparent;cursor:pointer;overflow:hidden}
.falciani-gallery__item img{display:block;width:100%;height:100%;object-fit:cover}
.falciani-gallery__controls{display:flex;justify-content:center;gap:24px;margin-top:14px}
.falciani-gallery__controls button{cursor:pointer;border:1px solid currentColor;background:transparent;color:inherit;padding:8px 17px}
.falciani-lightbox[hidden]{display:none!important}
.falciani-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.88);color:#fff;padding:54px 48px;box-sizing:border-box}
.falciani-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;min-width:0}
.falciani-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain}
.falciani-lightbox figcaption{text-align:center;margin-top:14px;max-width:75ch;overflow:auto;max-height:80px}
.falciani-lightbox button{cursor:pointer;background:transparent;border:0;color:#fff;font-size:32px;padding:10px}
.falciani-lightbox__close{position:absolute;right:12px;top:8px}
@media(max-width:767px){.falciani-gallery__item{flex-basis:100%}.falciani-lightbox{padding:55px 8px}.falciani-lightbox__prev,.falciani-lightbox__next{font-size:24px!important;padding:4px!important}}
@media(prefers-reduced-motion:reduce){.falciani-gallery__track{transition:none}}

/* v1.4 — Carosello edge-to-edge: quattro quadrati da 25vw su desktop,
   un quadrato da 100vw su smartphone, senza interspazi. */
.falciani-gallery {
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  max-width:none;
  margin:32px 0 64px;
  padding:0;
  box-sizing:border-box;
}
.falciani-gallery__viewport {width:100%;}
.falciani-gallery__track {gap:0;}
.falciani-gallery__item {flex:0 0 25%;aspect-ratio:1/1;box-sizing:border-box;}
@media(max-width:767px){.falciani-gallery__item{flex-basis:100%;}}

/* v1.5 — Solo template Pagina generica: distanza inferiore del contenuto. */
.falciani-generic-content #cont_pagina_normale {
  margin: 0 auto 80px auto !important;
}

/* Navigazione del carosello leggibile su qualsiasi sfondo. */
.falciani-gallery__controls .falciani-gallery__prev,
.falciani-gallery__controls .falciani-gallery__next {
  background-color: #fff;
  color: #171717;
  border: 1px solid #fff;
}
