/********************************************
 *  MOBILE – TEMA FIONDA
 *  Breakpoint principale: max-width 768px
 ********************************************/
@media (max-width: 768px) {

	html { 
		overflow-y: visible !important;
	}

	body {
		font-size: 16px;
		line-height: 1.5;
		overflow-x: hidden;
	}

	section,
	.wp-block-group {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

	img {
		max-width: 100%;
		height: auto;
	}


	/* HEADER */

	.contenitore-header,
	.header,
	.menu-prodotti {
		display: none !important;
	}

	.pulsante-acquista a {
		background: none;
		padding: 0;
	} 
	
	.menu-mobile {
		display: block;
	}
	
	.header-mobile {
		z-index: 1000;
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		padding: 14px 0;
		background: white;
		box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	}
	
	.header-mobile-left {
		padding: 8px 0 0 15px;
	}
	
	.menu-mobile-toggle .wp-block-button__link {
		background-color: transparent;
		color: var(--verde-logo);
		font-size: 32px;
		font-family: Arial;
		padding: 0;
	}
	.header-mobile.open .menu-mobile-toggle {
		transform: rotate(90deg);
		transition: transform .3s ease;
	}
	
	.logo-mobile {
		max-width: 110px !important;
		height: auto;
		display: block;
	}

	.header-mobile-right {
		text-align: right;
		padding: 10px 15px 0 0;
	}
	
	/* PANNELLO LATERALE */
	
	.mobile-menu-pannel {
		position: fixed;
		top: 0;
		margin-top: 0;
		left: -100%;
		width: 75%;
		height: 100vh;
		background: white;
		padding: 14px 28px;
		display: flex;
		flex-direction: column;
		gap: 2px;
		transition: left .35s ease;
		z-index: 3000;
		overflow-y: auto;
		box-shadow: 4px 0 20px rgba(0,0,0,0.15);
	}
	
	.mobile-menu-pannel-logo {
		width: 100%;
		text-align: center;
		padding: 0 0 12px 0;
	}
	
	.mobile-menu-pannel-logo::after {
		content: "";
		display: block;
		width: 75%; 
		height: 1px;
		background: var(--oro);
		margin: 12px auto 0; 
	}

	.mobile-menu-pannel-logo img {
		width: 110px; 
		height: auto;
		display: inline-block;
	}

	
	/* Menu principale */
	.mobile-menu-pannel nav ul {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		flex-direction: column;
		gap: 20px;
		font-size: 1.2rem;
		font-weight: 500;
	}
	/* Fine Menu principale */
	
	/* Menu prodotti */
	.mobile-menu-prodotti {
		margin: 20px 0;
		width: 75%;
	}	
	.mobile-menu-prodotti::before,
	.mobile-menu-prodotti::after {
		content: "";
		display: block;
		width: 100%; 
		height: 1px;
		background: var(--oro);
		margin: 12px auto 0; 
	}
	
	/* Contenitore voci principali Menu prodotti */
	.mobile-menu-prodotti-accordion-item {
		border-bottom: 1px solid rgba(0,0,0,0.1);
		padding: 10px 0;
	}	

	/* Voci principali Menu prodotti */
	.mobile-menu-prodotti-accordion-toggle {	
		width: 100%;
		background: none;
		border: none;
		padding: 0;
		font-family: var(--font-testi);
		font-size: 1.2rem;
		color: var(--verde-logo);
		font-weight: 500;
		display: flex;
		justify-content: space-between;
		align-items: center;
		cursor: pointer;
		
	}	
	
	/* Freccia voci principali Menu prodotti */
	.mobile-menu-prodotti-accordion-toggle .arrow {		
		width: 10px;
		height: 10px;
		border-right: 2px solid var(--verde-logo);
		border-bottom: 2px solid var(--verde-logo);
		transform: rotate(45deg);
		transition: transform .25s ease;
	}	

	.mobile-menu-prodotti-accordion-item.open .arrow {	
		transform: rotate(-135deg);
	}

	/* Contenitore sottovoci Menu prodotti */
	.mobile-menu-prodotti-accordion-content {
		max-height: 0;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		gap: 5px;
		padding: 10px 0 0 10px;
		transition: max-height .3s ease;
		color: var(--verde-logo);
		text-decoration: none;
		font-size: 1rem;
	}

	.header-mobile.open + .mobile-menu-pannel {
		left: 0;
	}
	/* Fine Menu prodotti */
	
	.mobile-menu-pannel-social 	{
		padding: 20px 0;
		display: flex;
		justify-content: center;
	}

	.mobile-menu-pannel-social .wp-block-social-links {
		display: flex;
		gap: 18px;
	}	

	.mobile-overlay {
		position: fixed;
		margin-top: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0,0,0,0.35);
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease;
		z-index: 998;
	}

	.header-mobile.open ~ .mobile-overlay {
		opacity: 1;
		pointer-events: auto;
	}
	/* FINE PANNELLO LATERALE */

	/* FINE HEADER */
	
	.contenitore-pagina {
		padding: 0 10px 0 10px !important;
	}
	.contenitore-testo-pagina {
		border-radius: 0px;
		padding: 20px !important;
		margin-top: 0 !important;
	}

	 /* CAROSELLO 1080x1350 */

	.carosello-next,
	.carosello-prev {
		display: none;
	}

	.contenitore-carosello {
		padding: 0 0;
		border-radius: 0px;
	}

	.carousel-slide { 
		aspect-ratio: 3 / 4; 
	}

	.carosello-dots {
		display: flex;
		justify-content: center;
		gap: 8px;
		margin: 5px 0 10px 0 !important;
	}

	.carosello-dots .dot {
		width: 8px;
		height: 8px;
		background: var(--verde-chiaro);
		border-radius: 50%;
		transition: background 0.3s ease, transform 0.3s ease, border 0.3s ease;
		transform 0.3s ease;
	}

	.carosello-dots .dot.active {
		background: var(--verde-logo);
		transform: scale(1.3);
	}

	.carosello-testo {
		padding: 10px 20px;
		max-width: 95%;
		top: 35%;
	}

	.carosello-testo .frase-sopra {
		font-size: 26px;
		line-height: 1.2;
	}

	.carosello-testo .frase-sotto {
		font-size: 32px;
		line-height: 1.1;
	}

	/* FINE CAROSELLO */
	
	.sezione h2 {
		margin: 20px 0 20px 0 !important;
	}
	
	/********************************
	* SEZIONE SERVIZI
	********************************/

	.contenitore-servizi {
		padding: 0 !important;
	}
	
	.servizi-griglia {
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 20px;
	}

	.servizio {
 		max-width: 100%;
		border-radius: 0px;
	}

	.servizio h3 {
		background: var(--beige2);
		padding: 0px;
	}

	.servizio p {
		padding: 0px 16px;
		font-size: 1rem;
	}


    /********************************
     * SEZIONE CONTATTI
     ********************************/

	.contenitore-contatti {
		padding-top: 0;
	}
	
	.contatti-griglia {
		grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)) !important;
		gap: 10px;
		margin-bottom: 20px;
		padding: 0 10px 0 10px !important;
	}


	.contatto {
		max-width: 100%;
	}


    /********************************
     * SEZIONE DOVE SIAMO (MAPPA)
     ********************************/
    .contenitore-mappa {
		border-radius: 0px;
        flex-direction: column;
		margin: 0 !important;
    }

    .contenitore-mappa-sinistra,
    .contenitore-mappa-destra {
        width: 100%;
    }

    .contenitore-mappa-sinistra iframe {
        min-height: 280px;
		border-radius: 0px;
    }

    .contenitore-mappa-destra {
        padding: 16px 16px 0 16px;
		font-size: 1rem;
    }
	
	.contenitore-mappa-destra p {
		margin-bottom: 0;
	}


    /********************************
     * SEZIONE RECENSIONI
     ********************************/
    .contenitore-recensioni {
        padding: 20px !important;
		border-radius: 0px;
		margin: 0 !important;
    }

    .trustindex-segnaposto {
        padding: 20px;
        font-size: 1rem;
        text-align: center;
    }


	/* FOOTER */

	.contenitore-footer .wp-block-columns {
		flex-direction: column !important;
		padding: 0 20px;
		gap: 0px;
	}

	.contenitore-footer .wp-block-column {
		width: 100% !important;
		text-align: left;
	}

	.contenitore-footer {
		padding-top: 0px;
		padding-bottom: 20px;
	}

	.contenitore-footer h3 {
		font-size: 13px;
		padding-top: 15px;
		padding-bottom: 6px;
	}

	.contenitore-footer p {
		font-size: 13px;
		line-height: 1.6;
		padding-bottom: 0px;
	}

	.icone-social-footer {
		padding-top: 0;
		display: flex;
		justify-content: flex-start;
	}

	.icone-social-footer ul {
		gap: 14px;
	}

	.cmplz-btn.cmplz-manage-consent {
		font-size: 13px;
		margin-top: 6px;
	}

	.whatsapp-btn {
			display: flex;
	}

	.scroll-top-btn {
		bottom: 20px;
		right: 20px;
		padding: 12px 18px;
		font-size: 16px;
	}

	.cmplz-cookiebanner {
		padding: 20px !important;
	}

	.cmplz-buttons .cmplz-btn {
		width: 100%;
		margin-bottom: 10px;
	}
}