/* ==========================================================================
   Carosello (Shin Design)
   L'aspetto lo decide il tema: frecce = .FrecciaSito dentro .SuFoto, punti = indicatori
   delle Slide (.gpSlideIndicators, con la forma del tema), forme dei temi su
   .carousel-inner / .item (foglia, cerchio, triangolo). Qui solo posizione, misure e movimento.
   Nessun margine proprio: lo spazio tra i blocchi resta quello di Impostazioni Sito.
   ========================================================================== */
.cs{position:relative;margin:0;line-height:1.4;--cs-alto:56.25%}
.cs-vuoto-pubblico{display:none}

/* formato: altezza in proporzione alla larghezza (sul telefono, se scelto, un altro formato) */
.cs .cs-quadro{position:relative;width:100%;height:0;padding:0 0 var(--cs-alto)!important;margin:0;touch-action:pan-y}
@media(max-width:767px){.cs .cs-quadro{padding-bottom:var(--cs-alto-tel,var(--cs-alto))!important}}

/* foto una sopra l'altra; si vede solo quella attiva (più quelle in passaggio) */
.cs .cs-palco{position:absolute!important;inset:0;width:auto!important;height:auto;overflow:hidden;margin:0;background:#111}
.cs .cs-palco>.cs-diapo{position:absolute!important;inset:0;left:0!important;display:block!important;margin:0;visibility:hidden;transition:none!important;will-change:transform,opacity}
.cs .cs-palco>.cs-diapo.attiva{visibility:visible;z-index:1}
.cs .cs-palco>.cs-diapo.cs-entra{z-index:2}
.cs .cs-palco>.cs-diapo>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1}
.cs[data-zoom="1"] .cs-palco>.cs-diapo>img{cursor:zoom-in}
.gp_editing .cs .cs-palco>.cs-diapo>img{cursor:default}

/* movimento lento verso il punto di fuoco (la durata la calcola lo script) */
@keyframes cs-lento{from{transform:scale(1)}to{transform:scale(1.12)}}
.cs-lento .cs-palco>.cs-diapo.attiva>img{animation:cs-lento var(--cs-kb,9s) linear both}

/* didascalia in basso a sinistra, su un velo che si schiarisce verso l'alto */
.cs .cs-palco .cs-didascalia{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:clamp(36px,6vw,80px) clamp(16px,3vw,34px) clamp(14px,2.2vw,26px);
	background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.26) 55%,rgba(0,0,0,0));color:#fff!important;text-align:left!important;
	font-size:clamp(15px,.5vw + 12px,19px);line-height:1.4;text-shadow:0 1px 6px rgba(0,0,0,.35);pointer-events:none}
.cs .cs-palco .cs-didascalia *{color:inherit!important;margin:0!important}
.cs .cs-palco .cs-didascalia a{pointer-events:auto;text-decoration:underline}
.cs .cs-palco .no_caption{display:none}
.cs-punti-sopra .cs-palco .cs-didascalia{padding-bottom:calc(clamp(14px,2.2vw,26px) + 34px)}

/* carosello vuoto (solo per chi modifica) */
.cs .cs-vuoto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#aaa;background:#f3f3f3;font-size:15px}

/* frecce: posizione e misura; aspetto dal tema (.FrecciaSito in .SuFoto) */
.cs .cs-nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin:-24px 0 0!important;padding:0;cursor:pointer;font-size:16px;line-height:1;text-decoration:none!important;user-select:none}
.cs .cs-prec{left:14px}
.cs .cs-succ{right:14px}
.cs .cs-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* riserva per i temi che non conoscono .FrecciaSito: specificità zero, il tema vince sempre */
:where(.cs .cs-nav){display:flex;align-items:center;justify-content:center;background:var(--colore-cliente,#2c3e50);color:var(--testo-su-colore,#fff)}
@media(hover:none){.cs .cs-nav{display:none!important}}
@media(max-width:600px){.cs .cs-nav{width:40px;height:40px;margin-top:-20px!important;font-size:14px}.cs .cs-prec{left:8px}.cs .cs-succ{right:8px}}
.cs-uno .cs-nav,.cs-uno .cs-punti{display:none!important}

/* punti: gli indicatori delle Slide del sito (forma del tema) */
.cs .cs-punti{margin:clamp(12px,1.6vw,20px) 0 0;padding:0;text-align:center!important;font-size:20px;line-height:1}
.cs .cs-punti .gpSlideIndicators{position:static!important;left:auto!important;bottom:auto!important;display:inline-block!important;max-width:100%;margin:0!important;padding:0!important;list-style:none!important;white-space:normal}
.cs .cs-punti .gpSlideIndicators li{display:inline-block!important;margin:0 3px!important;cursor:pointer;list-style:none!important}
.cs .cs-punti .gpSlideIndicators li>a{display:none!important}
.cs .cs-punti .gpSlideIndicators li:focus-visible{outline:2px solid var(--colore-cliente,#2c3e50);outline-offset:2px}
/* sotto la foto: sul fondo della pagina, quindi tenui nel colore del testo e pieni nel colore del sito */
.cs.cs-punti-sotto .cs-punti .gpSlideIndicators li{color:rgba(0,0,0,.25)!important;color:color-mix(in srgb,currentColor 28%,transparent)!important;text-shadow:none}
.cs.cs-punti-sotto .cs-punti .gpSlideIndicators li:hover{color:rgba(0,0,0,.45)!important;color:color-mix(in srgb,currentColor 50%,transparent)!important}
.cs.cs-punti-sotto .cs-punti .gpSlideIndicators li.gpSlideActive{color:var(--colore-cliente,#2c3e50)!important}
.cs.cs-punti-sotto .cs-punti .gpSlideIndicators li:before{color:inherit!important;text-shadow:none!important}
/* sulla foto: come nella Slide-Home */
.cs-punti-sopra .cs-punti{position:absolute;left:0;right:0;bottom:12px;z-index:3;margin:0;pointer-events:none}
.cs-punti-sopra .cs-punti .gpSlideIndicators{pointer-events:auto}
.cs-punti-nessuno .cs-punti{display:none}
/* pagina senza SliderFactory: punti semplici */
.cs-senza-sf .cs .cs-punti .gpSlideIndicators li{width:10px;height:10px;border-radius:50%;background:currentColor;font-size:0;vertical-align:middle;transition:transform .2s}
.cs-senza-sf .cs .cs-punti .gpSlideIndicators li.gpSlideActive{transform:scale(1.25)}
.cs-senza-sf .cs.cs-punti-sopra .cs-punti .gpSlideIndicators li{color:rgba(255,255,255,.55)!important;box-shadow:0 0 3px rgba(0,0,0,.35)}
.cs-senza-sf .cs.cs-punti-sopra .cs-punti .gpSlideIndicators li.gpSlideActive{color:#fff!important}

/* foto a schermo intero */
.cs-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(10,10,10,.96);display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.cs-lightbox[hidden]{display:none}
.cs-lightbox .cs-lb-foto{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:94vw}
.cs-lightbox img{max-width:94vw;max-height:84vh;object-fit:contain;user-select:none;-webkit-user-drag:none;display:block}
.cs-lightbox .cs-lb-dida{color:#e6e6e6;font-size:15px;line-height:1.45;text-align:center;max-width:70ch;padding:0 60px}
.cs-lightbox .cs-lb-dida[hidden]{display:none}
.cs-lightbox .cs-lb-dida *{color:inherit!important;margin:0}
.cs-lightbox button{border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;padding:0}
.cs-lightbox button:hover,.cs-lightbox button:focus-visible{background:rgba(255,255,255,.25)}
.cs-lightbox button[hidden]{display:none}
.cs-lightbox .cs-lb-freccia{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;font-size:18px}
.cs-lightbox .cs-lb-prec{left:12px}
.cs-lightbox .cs-lb-succ{right:12px}
.cs-lightbox .cs-lb-chiudi{position:absolute;top:14px;right:14px;z-index:3;width:46px;height:46px;border-radius:50%;font-size:22px}
.cs-lightbox .cs-lb-contatore{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#ddd;font-size:13px}
@media(max-width:767px){.cs-lightbox .cs-lb-freccia{width:40px;height:40px;font-size:15px}.cs-lightbox .cs-lb-dida{padding:0 16px}}
html.cs-bloccato{overflow:hidden}

@media(prefers-reduced-motion:reduce){.cs-lento .cs-palco>.cs-diapo.attiva>img{animation:none}}


/* ==========================================================================
   GALLERIA (tipo di sezione «Galleria»): le stesse parti del Carosello, mostrate tutte insieme
   a griglia (riquadri uguali, formato --cg-formato) o a parete (foto intere in colonne). Colonne: --cg-col.
   ========================================================================== */
.cs.cs-galleria{margin:0}
.cs.cs-galleria .cg-titolo{margin:0 0 clamp(18px,2.2vw,30px)!important}
.cs-galleria .cg-titolo[hidden]{display:none}
.cs.cs-galleria .cs-quadro{position:static!important;padding:0!important;height:auto!important;aspect-ratio:auto!important;max-height:none!important}
.cs.cs-galleria .cs-palco{position:static!important;inset:auto;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:0!important;width:auto!important;height:auto!important;transform:none!important;aspect-ratio:auto!important;display:grid;grid-template-columns:repeat(var(--cg-col,3),minmax(0,1fr));gap:clamp(8px,1vw,14px);background:none!important;overflow:visible!important;border-radius:0!important;clip-path:none!important}
.cs.cs-galleria .cs-palco>.cs-diapo{position:relative!important;inset:auto;left:auto!important;margin:0!important;visibility:visible!important;opacity:1!important;transform:none!important;z-index:auto!important;aspect-ratio:var(--cg-formato,16/9);overflow:hidden;background:#eee}
.cs.cs-galleria .cs-palco>.cs-diapo>img{position:absolute!important;inset:0;transition:transform .5s ease!important}
.cs.cs-galleria[data-zoom="1"] .cs-palco>.cs-diapo{cursor:zoom-in}
@media(hover:hover){.cs.cs-galleria[data-zoom="1"] .cs-palco>.cs-diapo:hover>img{transform:scale(1.04)!important}}
/* a parete: foto intere, in colonne */
.cs.cs-galleria.cg-parete .cs-palco{display:block;columns:var(--cg-col,3);column-gap:clamp(8px,1vw,14px)}
.cs.cs-galleria.cg-parete .cs-palco>.cs-diapo{aspect-ratio:auto;break-inside:avoid;margin:0 0 clamp(8px,1vw,14px)!important;display:block!important}
.cs.cs-galleria.cg-parete .cs-palco>.cs-diapo>img{position:static!important;height:auto!important}
/* didascalie: al passaggio del mouse (sempre visibili sul telefono); nascoste se così in Design */
.cs.cs-galleria .cs-didascalia{opacity:0;transition:opacity .25s;padding:clamp(24px,3vw,40px) 12px 10px!important;font-size:14px!important}
.cs.cs-galleria .cs-diapo:hover .cs-didascalia,.cs.cs-galleria .cs-diapo:focus-within .cs-didascalia{opacity:1}
@media(hover:none){.cs.cs-galleria .cs-didascalia{opacity:1}}
.cs.cs-galleria.cg-senza-dida .cs-didascalia{display:none!important}
/* niente frecce né punti */
.cs.cs-galleria .cs-nav,.cs.cs-galleria .cs-punti{display:none!important}
/* in modifica: le foto si riordinano dalla colonna o dal riquadro grande */
.gp_editing .cs.cs-galleria .cs-palco>.cs-diapo{cursor:default}
@media(max-width:991px){.cs.cs-galleria{--cg-col:2!important}}
@media(max-width:480px){.cs.cs-galleria.cg-griglia .cs-palco{gap:6px}}
/* gallerie una dopo l'altra: staccate con la spaziatura scelta in Design (--spazio-paragrafi) */
.filetype-GalleriaShin + .filetype-GalleriaShin{margin-top:var(--spazio-paragrafi,60px)!important}
