/* ==========================================================================
   Garden Frutta - stili propri del tema (gli stili ereditati sono in gf-base.css)
   ========================================================================== */

/* Sezioni a tutta larghezza (prima calcolate via JS dal page builder) */
.gf-section.gf-section-stretched {
	width: calc(100vw - var(--gf-sb, 0px));
	left: 50%;
	margin-left: calc((100vw - var(--gf-sb, 0px)) / -2);
	position: relative;
}

/* Pannello laterale: il pulsante chiudi si vede anche su desktop (il pannello copre il pulsante menu) */
.gf-panel-on .gf-panel-close {
	display: block;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
	color: #06793a;
}
.gf-panel-close:hover, .gf-panel-close:focus-visible { color: #fff; background-color: #06793a; outline: 0; }

/* Mappa Google con stile (uploads-mgfct/.../mappa): occupa lo spazio dell'iframe originale */
.gf-mappa-stile { width: 100%; height: 100%; min-height: 300px; }

/* Griglia prodotti: 3 colonne desktop, 2 tablet, 1 mobile */
.gf-prodotti-griglia .row > .col { flex: 0 0 33.3333%; max-width: 33.3333%; }
#container .gf-gallery.gf-prodotti-griglia .row .col { margin-bottom: 30px; } /* una sola riga: spazio tra le file */
@media (max-width: 1024px) { .gf-prodotti-griglia .row > .col { flex-basis: 50%; max-width: 50%; } }
@media (max-width: 767px) { .gf-prodotti-griglia .row > .col { flex-basis: 100%; max-width: 100%; } }

/* News: immagine di copertina sempre nello stesso formato */
.blog-loop .featured_image img { width: 100%; aspect-ratio: 695 / 253; object-fit: cover; }

/* Video: anteprima con l'immagine, il player YouTube (senza cookie) si carica al clic */
.gf-widget-video .gf-wrapper { position: relative; aspect-ratio: var(--video-aspect-ratio, 16 / 9); }
.gf-video-yt { background: #000; }
.gf-video-yt .gf-custom-embed-image-overlay:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }

/* Grafico a torta */
.gf-pie-chart svg { position: absolute; top: 0; left: 0; }

/* Lightbox immagini */
.gf-lightbox {
	position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, .9);
	display: flex; align-items: center; justify-content: center;
}
.gf-lightbox img { max-width: 90vw; max-height: 85vh; box-shadow: 0 0 30px rgba(0, 0, 0, .5); }
.gf-lightbox button {
	position: absolute; background: none; border: 0; color: #fff; font-size: 48px; line-height: 1;
	cursor: pointer; padding: 10px 18px; opacity: .8;
}
.gf-lightbox button:hover, .gf-lightbox button:focus { opacity: 1; }
.gf-lightbox-chiudi { top: 10px; right: 10px; }
.gf-lightbox-prec { left: 10px; top: 50%; transform: translateY(-50%); }
.gf-lightbox-succ { right: 10px; top: 50%; transform: translateY(-50%); }

/* Slider: transizione della traccia */
.gf-sw-wrapper { transition-property: transform; transition-timing-function: ease; will-change: transform; }
/* l'effetto zoom (Ken Burns) ingrandisce lo sfondo: senza taglio debordava sulla slide accanto */
.gf-widget-slides .gf-sw-slide { overflow: hidden; }

/* Sfondo che segue il mouse */
.gf-motion-effects-parent { position: relative; }
.gf-motion-effects-container { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.gf-motion-effects-layer { position: absolute; inset: -20px; transition: transform .4s ease-out; }
.gf-motion-effects-parent > .gf-container { position: relative; z-index: 1; }

/* Parallax: il livello copre anche lo spostamento */
.gf-parallax-background.gf-el-parallax { position: absolute; left: 0; right: 0; top: -15%; bottom: -15%; height: auto !important; z-index: 0; }
.gf-el-parallax-background > .gf-container { position: relative; z-index: 1; }

/* Accessibilita': movimento ridotto */
@media (prefers-reduced-motion: reduce) {
	.gf-ken-burns--active { transform: none !important; transition: none !important; }
	.animated { animation: none !important; }
}

/* Archivio categoria prodotti: titolo e introduzione sopra la griglia */
.gf-archivio-testa { max-width: 920px; margin: 10px auto 50px; text-align: center; }
.gf-archivio-titolo { font-family: "Roboto Slab", Georgia, serif; font-weight: 700; font-size: 34px; line-height: 1.25; color: #3b3b3b; margin: 0 0 18px; }
.gf-archivio-titolo::after { content: ""; display: block; width: 60px; height: 3px; background: #06793a; margin: 18px auto 0; }
.gf-archivio-intro { color: #666; font-size: 16px; line-height: 1.7; }
.gf-archivio-intro p { margin: 0; }
@media (max-width: 767px) { .gf-archivio-titolo { font-size: 26px; } .gf-archivio-testa { margin-bottom: 34px; } }

/* Paginazione degli elenchi */
.gf-paginazione ul.page-numbers { display: flex; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.gf-paginazione li { margin: 0; padding: 0; }
.gf-paginazione li::before { display: none; }
.gf-paginazione .page-numbers:not(ul) { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid #e6e6e6; color: #3b3b3b; font-family: "Roboto Slab", Georgia, serif; font-weight: 700; font-size: 15px; text-decoration: none; transition: background-color .2s, color .2s, border-color .2s; }
.gf-paginazione a.page-numbers:hover, .gf-paginazione a.page-numbers:focus-visible { border-color: #06793a; color: #06793a; outline: 0; }
.gf-paginazione .page-numbers.current { background: #06793a; border-color: #06793a; color: #fff; }
.gf-paginazione .prev, .gf-paginazione .next { font-size: 22px; }
