/* Griglia prodotti */

.woocommerce .woocommerce-loop-product__title{
    font-size: var(--font-size-md) !important;
    font-weight: bold;
    color: var(--dark-brown);
    text-transform: uppercase;
}

.woocommerce ul.products li.product .custom-quantity input[type="number"] {
    background-color: var(--white);
}

.woocommerce ul.products li.product .single-product-attributes img{
    width: auto;
    max-height: 18px;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0;
}


.woocommerce ul.products li.product .custom-quantity,
.woocommerce ul.products li.product button.single_add_to_cart_button{
    display: inline-block;
    vertical-align: bottom;
    font-size: var(--font-size-sm);
}

.woocommerce ul.products li.product .custom-quantity .qty{
    width: 30px;
}



.archive.woocommerce .woocommerce-products-header{
	display: none;
}

.category-toolbar__filtri-toggle{
	display: none !important;
}


.woocommerce .shop-wrap{
	max-width: 1600px;
	margin: 0 auto;
	padding: var(--double-spacing) var(--std-spacing) var(--std-spacing) var(--std-spacing);
}

.single-product.woocommerce{
	background-color: var(--light-rose);
}

/* Layout a due colonne (mobile-first: impilato, da 1024px in poi affiancato) */
.single-product-layout-custom{
	display: flex;
	flex-direction: column;
	gap: var(--triple-spacing);
}

@media screen and (min-width: 1024px) {
	.single-product-layout-custom{
		flex-direction: row;
		align-items: flex-start;
		gap: var(--large-spacing);
	}
}

.single-product-layout-custom .single-product-gallery-col{
	width: 100%;
}

@media screen and (min-width: 1024px) {
	.single-product-layout-custom .single-product-gallery-col{
		width: 48%;
		flex-shrink: 0;
	}
}

.single-product-layout-custom .product-right-info{
	width: 100%;
	font-size: var(--font-size-md);
	color: var(--dark-brown);
}

@media screen and (min-width: 1024px) {
	.single-product-layout-custom .product-right-info{
		width: 48%;
	}
}

.single-product-layout-custom .single-product-page-title{
	font-size: var(--font-size-xl);
	border-bottom: 1px solid var(--dark-brown);
	padding-bottom: var(--std-spacing);
	margin-bottom: var(--std-spacing);
}

@media screen and (min-width: 1024px) {
	.single-product-layout-custom .single-product-page-title{
		font-size: var(--font-size-xxl);
	}
}

.single-product-subtitle{
	font-size: var(--font-size-md);
	font-weight: 600;
	margin-bottom: var(--very-small-spacing);
}

.single-product-tagline{
	font-size: var(--font-size-md);
	font-style: italic;
	color: var(--red);
	margin-bottom: var(--std-spacing);
}

.single-product-intensity{
	display: flex;
	align-items: center;
	gap: var(--small-spacing);
	margin-bottom: var(--double-spacing);
}

.single-product-intensity .intensity-label{
	font-weight: 600;
}

.single-product-intensity img{
	width: auto;
	max-height: 20px;
	vertical-align: middle;
}

.single-product-purchase-block{
	margin-bottom: var(--double-spacing);
}

.acquista-ora-label{
	font-weight: 600;
	margin-bottom: var(--very-small-spacing);
}

.single-product-package-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--std-spacing);
	margin-bottom: var(--std-spacing);
}

.single-product-package-row .confezione-info{
	font-size: var(--font-size-sm);
}

.single-product-package-row .regular-price-inline{
	font-size: var(--font-size-md);
	font-weight: 600;
	text-decoration: line-through;
	color: var(--brown);
}

.single-product-cart-row{
	margin-bottom: var(--std-spacing);
}

.single-product-final-price{
	font-size: var(--font-size-sm);
	color: var(--dark-brown);
}

.single-product-final-price .price{
	display: inline-block;
	font-size: var(--font-size-xl);
	font-weight: bold;
	color: var(--dark-brown) !important;
	margin-right: var(--very-small-spacing);
}

.single-product-final-price .iva-inclusa{
	font-size: var(--font-size-sm);
}

.single-product-final-price .price-per-kg{
	display: block;
	font-size: var(--font-size-xs);
	color: var(--brown);
	margin-top: 2px;
}

.single-product-layout-custom .single-product-attributes img{
	vertical-align: center;
}

.shop-features-list{
	margin-bottom: var(--std-spacing);
}

.shop-features-list li{
	line-height: 180%;
}

.assistance-list{
    display:flex;
    align-items:center;
    gap:15px;

    padding:0;
    margin: 10px 0 var(--double-spacing) 0;
    list-style:none;
}

.assistance-list li{
    margin:0;
    padding:0;
}

.assistance-list a{
    display:flex;
    align-items:center;
    justify-content:center;
    width: 64px;
    height: 64px;
    transition:all .3s ease;
}

.assistance-list a:hover{
    transform:translateY(-3px);
}

.assistance-list img{
    width: 64px;
    height:auto;
    display:block;
}

.single-product-wishlist{
	margin-bottom: var(--double-spacing);
}




/* Quantity */


/* Contenitore */
.custom-quantity {
    display: flex;
    align-items: center;
    border: 0;
    border-radius: 4px;
    overflow: hidden;
    width: fit-content;
}

/* Input al centro */
.custom-quantity input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
    background-color: var(--light-rose);
    width: 56px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    border: none;
    padding: 0;
    margin: 0;
}

.custom-quantity input[type="number"]::-webkit-inner-spin-button,
.custom-quantity input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

/* Pulsanti +/- */
.custom-quantity .qty-btn,
.woocommerce .quantity .custom-quantity .qty{
    width: 36px;
}

.custom-quantity .qty-btn{
    height: 54px;
    border: none;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    color: #333;
    transition: background 0.2s;
    background: transparent;
}

.custom-quantity{
	margin-right: -5px !important;
    border-left-radius: 10px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;

    border-left: 1px solid var(--dark-brown);
    border-top: 1px solid var(--dark-brown);
    border-bottom: 1px solid var(--dark-brown);
}

@media screen and (min-width: 537px) {

	.woocommerce .quantity .custom-quantity .qty,
	.custom-quantity .qty-btn {
	    width: 44px;
	}
}


/*
.custom-quantity .qty-btn:hover {
    background: #e8e8e8;
}

.custom-quantity .qty-btn:active {
    background: #ddd;
}
*/


.woocommerce ul.products li.product button.single_add_to_cart_button,
.woocommerce .single-product-layout-custom button.single_add_to_cart_button{
	background-color: var(--brown) !important;
	font-size: var(--font-size-sm);
	font-weight: 600;
	height: 56px;

	border-right-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    
    border-right: 1px solid var(--dark-brown);
    border-top: 1px solid var(--dark-brown);
    border-bottom: 1px solid var(--dark-brown);

    padding-right: 40px;
    background-image: url("images/add-to-cart-icon-white.png");
    background-position: 95% center;
    background-repeat: no-repeat;
    transition: background-color .3s ease-in-out;
}

.woocommerce ul.products li.product button.single_add_to_cart_button:hover,
.woocommerce .single-product-layout-custom button.single_add_to_cart_button:hover{
    background-image: url("images/add-to-cart-icon-white.png");
    background-color: var(--green) !important;
}




/* Wishlist */

.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button__label{
	color: var(--dark-brown);
}

/* Accordion Descrizione / Caratteristiche prodotto */

.single-product-accordions{
	border-top: 1px solid var(--brown);
}

.accordion-item{
	border-bottom: 1px solid var(--brown);
}

.accordion-trigger {
    display: block;
	cursor: pointer;
	font-size: var(--font-size-md);
	font-weight: bold;
	text-decoration: none;
	color: inherit;
	position: relative;
	padding: var(--std-spacing) 0;
}

.accordion-trigger::after {
    content: '+';
	display: block;
	transition: transform 0.3s ease;
	position: absolute;
	right: 0;
	top: var(--std-spacing);
}

.single-product-characteristics table{
	width: 100%;
	border-collapse: collapse;
	font-size: var(--font-size-sm);
}

.single-product-characteristics table th,
.single-product-characteristics table td{
	text-align: left;
	padding: var(--small-spacing) 0;
	border-bottom: 1px solid var(--light-rose);
}

.single-product-characteristics table th{
	width: 40%;
	font-weight: 600;
	color: var(--dark-brown);
}


.accordion-trigger.open::after {
    /* transform: rotate(-180deg); */
    content: '-';
}

/* Descrizione nascosta di default */
.single-product-description {
    overflow: hidden;
    font-size: var(--font-size-sm);
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}

.single-product-description.open {
    max-height: 2000px; /* valore alto abbastanza da contenere qualsiasi descrizione */
    opacity: 1;
    padding: var(--std-spacing) 0 var(--double-spacing) 0;
}

.single-product-description h2,
.single-product-description h3,
.single-product-description h4{
	margin-top: var(--std-spacing);
	margin-bottom: var(--std-spacing);
}


.single-product-notes{
	margin-top: var(--triple-spacing);
	padding: var(--double-spacing) var(--double-spacing);
	background-color: var(--white);
}

.single-product-notes p{
	margin-bottom: var(--small-spacing);
}





/* ==========================================================================
   Gallery immagini prodotto singolo
   ========================================================================== */

.single-product-gallery-col .woocommerce-product-gallery{
	position: relative;
}

.single-product-gallery-col .woocommerce-product-gallery__wrapper{
	margin: 0;
}

.single-product-gallery-col .woocommerce-product-gallery__image{
	background-color: var(--white);
	border-radius: 8px;
	overflow: hidden;
}

.single-product-gallery-col .woocommerce-product-gallery__image img{
	width: 100%;
	height: auto;
	display: block;
}

/* Icona zoom (lente) */
.single-product-gallery-col .woocommerce-product-gallery__trigger{
	top: var(--std-spacing);
	right: var(--std-spacing);
	background: var(--white);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	z-index: 5;
}

/* Frecce prev/next (iniettate via JS da flexslider) */
.single-product-gallery-col ul.flex-direction-nav{
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	transform: translateY(-50%);
	z-index: 4;
	pointer-events: none;
}

.single-product-gallery-col ul.flex-direction-nav li{
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
}

.single-product-gallery-col li.flex-nav-prev{
	left: -20px;
}

.single-product-gallery-col li.flex-nav-next{
	right: -20px;
}

.single-product-gallery-col ul.flex-direction-nav a{
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--brown);
	text-indent: -9999px;
	overflow: hidden;
	position: relative;
	transition: background-color .3s ease;
}

.single-product-gallery-col ul.flex-direction-nav a:hover{
	background: var(--dark-brown);
}

.single-product-gallery-col ul.flex-direction-nav a::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid var(--white);
	border-right: 2px solid var(--white);
}

.single-product-gallery-col a.flex-prev::before{
	transform: translate(-30%, -50%) rotate(-135deg);
}

.single-product-gallery-col a.flex-next::before{
	transform: translate(-70%, -50%) rotate(45deg);
}

/* Indicatori (miniature ridotte a piccole barre, stile "dash") */
/* Nascosti per ora (display:none) su richiesta - markup e stili restano pronti per un eventuale ripristino futuro */
.single-product-gallery-col ol.flex-control-nav{
	display: none;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin: var(--std-spacing) 0 0 0;
	padding: 0;
	list-style: none;
}

.single-product-gallery-col ol.flex-control-nav li{
	margin: 0;
}

.single-product-gallery-col ol.flex-control-nav img{
	display: block;
	width: 28px;
	height: 4px;
	object-fit: cover;
	border-radius: 2px;
	cursor: pointer;
	opacity: .35;
	transition: opacity .2s ease;
}

.single-product-gallery-col ol.flex-control-nav img.flex-active{
	opacity: 1;
}


/* ==========================================================================
   Prodotti correlati (in fondo alla pagina prodotto)
   ========================================================================== */

.woocommerce .related.products{
	margin-top: var(--large-spacing);
	padding-top: var(--large-spacing);
	border-top: 1px solid var(--brown);
}

.woocommerce .related.products > h2{
	text-align: center;
	font-size: var(--font-size-xl);
	color: var(--dark-brown);
	margin-bottom: var(--double-spacing);
}


/* ==========================================================================
   Archivio categoria prodotto (shop / product_cat)
   ========================================================================== */

.archive.woocommerce,
.tax-product_cat.woocommerce{
	background-color: var(--white);
}

.shop-wrap--archivio-prodotti{
	max-width: var(--wide-content-width);
}


.term-capsule-compatibili h1{
	/* font-size: 47px; */
}

/* --- Hero categoria: struttura wp-block-cover (come le pagine interne) ---
   CSS scritto da zero perché il file CSS nativo dei blocchi Gutenberg non è
   garantito che si carichi su questo template PHP custom (non passa da
   the_content()), quindi non possiamo fare affidamento su di esso. */

.shop-wrap .wp-block-cover.page-header-section{
	overflow: hidden;
	min-height: 868px;
	margin-bottom: var(--triple-spacing);

	/*
	   Full-bleed: l'hero deve coprire tutta la larghezza del viewport (100vw),
	   ma sta dentro .woocommerce .shop-wrap che è centrato con max-width:1600px
	   e margin:0 auto. Il calcolo per "sfondare" il contenitore centrato:

	   1) width:100vw          -> l'elemento è largo quanto tutto il viewport
	   2) position:relative
	      left:50%             -> sposta il bordo sinistro dell'elemento al
	                              centro esatto del viewport (50% della sua
	                              larghezza NORMALE, cioè quella dentro
	                              shop-wrap, non ancora 100vw)
	      right:50%             -> idem per il bordo destro, per simmetria
	   3) margin-left:-50vw     -> lo ritira indietro di metà viewport, in
	      margin-right:-50vw       modo che il centro dell'elemento torni a
	                                coincidere col centro del viewport invece
	                                che col centro di shop-wrap

	   Risultato: qualunque sia la larghezza o la posizione di shop-wrap
	   (centrato, con padding, ecc.), l'hero si estende sempre da bordo a
	   bordo del viewport, ignorando completamente il contenitore.
	*/
	position: relative;
	left: 50%;
	right: 50%;
	width: calc(100vw - 7px);
	max-width: 100vw;
	margin-left: -50vw;
	margin-right: -50vw;
	margin-top: calc(-1 * var(--double-spacing)); /* annulla il padding-top di .shop-wrap, cosi l'hero parte da subito senza spazio sopra */
}

/* Evita la scrollbar orizzontale che 100vw puo introdurre (include lo spazio
   della scrollbar verticale del browser, che il viewport "reale" non ha) */
.woocommerce .shop-wrap{
	/* overflow-x: hidden; */
}

/* --- Hero categoria mobile: versione semplificata (no overlay, no flex),
   immagine a piena larghezza sopra, testo con padding sotto --- */

.category-hero-mobile{
	margin-bottom: var(--std-spacing);
	width: calc(100% + 40px);
	transform: translateX(-20px);
	background-color: #e8e0cc;
}

.category-hero-mobile__image-wrap{
	/* Full-bleed, stesso calcolo della hero desktop (vedi sopra) */
	position: relative;
	left: 50%;
	right: 50%;
	width: calc(100vw - 7px);
	margin-left: -50vw;
	margin-right: -50vw;
	margin-top: calc(-1 * var(--double-spacing));
}

.category-hero-mobile__image{
	display: block;
	width: 100%;
	height: auto;
}

.category-hero-mobile__text{
	padding: 20px;
	text-align: center;
}

.category-hero-mobile__text h1{
	color: var(--dark-brown);
	font-size: 28px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 var(--std-spacing) 0;
}

@media screen and (min-width: 1024px) {
	.category-hero-mobile__text h1{
		font-size: 35px;
	}
}

.category-hero-mobile__text p{
	color: var(--dark-brown);
	font-size: var(--font-size-md);
	line-height: var(--high-line-height);
	margin: 0;
}

@media screen and (min-width: 1450px) {
	.category-hero-mobile{
		display: none;
	}
}

.shop-wrap .wp-block-cover.is-position-top-right{
	align-items: flex-start;
	justify-content: flex-end;
}

.shop-wrap .wp-block-cover__image-background{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.shop-wrap .wp-block-cover__background{
	position: absolute;
	inset: 0;
	background-color: #000;
	z-index: 2;
}

.shop-wrap .wp-block-cover__background.has-background-dim-0{
	opacity: 0;
}

.shop-wrap .wp-block-cover__inner-container{
	position: relative;
	z-index: 3;
	width: 100%;
}

.shop-wrap .page-header-section section{
	padding: 100px 100px 0 100px;
	max-width: 720px;
	margin-right: 0 !important;
}

@media screen and (max-width: 781px) {
	.shop-wrap .page-header-section section{
		padding: var(--triple-spacing) var(--double-spacing) 0 var(--double-spacing);
	}
}

.shop-wrap .page-header-section h1{
	padding-bottom: var(--double-spacing);
	border-bottom: 1px solid #fff;
	margin-bottom: var(--double-spacing);
	text-transform: uppercase;
}

.shop-wrap .page-header-section h3{
	font-weight: normal;
}


/* --- Hero categoria (fallback quando non è impostata un'immagine) --- */

.category-hero{
	background: linear-gradient(135deg, var(--bordeaux) 0%, var(--red) 100%);
	margin-bottom: var(--triple-spacing);
}

.category-hero__inner{
	max-width: var(--wide-content-width);
	margin: 0 auto;
	padding: var(--triple-spacing) var(--std-spacing);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--double-spacing);
}

@media screen and (min-width: 1024px) {
	.category-hero__inner{
		flex-direction: row;
		padding: var(--large-spacing) var(--double-spacing);
	}
}

.category-hero__image{
	width: 100%;
	max-width: 480px;
}

.category-hero__image img{
	width: 100%;
	height: auto;
	display: block;
}

.category-hero__text{
	color: var(--white);
	text-align: center;
}

@media screen and (min-width: 1024px) {
	.category-hero__text{
		text-align: left;
	}
}

.category-hero__text h1{
	font-size: var(--font-size-xxl);
	color: var(--white);
	margin-bottom: var(--std-spacing);
	text-transform: uppercase;
}

.category-hero__text p{
	font-size: var(--font-size-md);
	font-weight: 600;
	line-height: var(--high-line-height);
}

/* --- Breadcrumb --- */

.woocommerce nav.woocommerce-breadcrumb{
	max-width: var(--wide-content-width);
	margin: 0 auto var(--std-spacing) auto;
	border-top: 1px solid #999;
	padding: var(--std-spacing) var(--std-spacing) 0 var(--std-spacing);
	font-size: var(--font-size-sm);
	color: var(--brown);
}

@media screen and (min-width: 1450px) {

	.woocommerce nav.woocommerce-breadcrumb{
		border-top: 0;
	}
}

.woocommerce nav.woocommerce-breadcrumb a{
	color: var(--brown);
}

/* --- Fascia intro colorata --- */

.category-intro-banner {
	background-color: var(--olive-green);
	color: var(--white);
	text-align: center;
	padding: var(--triple-spacing) var(--std-spacing);
	margin-bottom: var(--double-spacing);

	/* full-bleed */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.category-intro-banner p{
	font-size: var(--font-size-md);
	max-width: 900px;
	margin: 0 auto;	line-height: var(--high-line-height);
}

@media screen and (min-width: 1024px) {
	.category-intro-banner p{
		font-size: var(--font-size-lg);
	}
}




/* --- Blocco "Scegli il sistema" (riuso #selettore-sistema-section, stili in style.css) --- */

.bast-filtro-sistema-wrap{
}

.bast-filtro-sistema-wrap #selettore-sistema-section{
	scroll-margin-top: 120px;
}

.bast-filtro-sistema-wrap #selettore-sistema-section{
	background: none !important;
}

.bast-filtro-sistema-wrap #selettore-sistema-section h2{
	color: var(--olive-green) !important;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column a{
	color: var(--white);
}

/* Immagini caricate come file nel tema (/images/), non da libreria media
   (es. cialde-miscele-caffe.jpg / cialde-bevande.jpg): niente attributi
   width/height noti a priori, quindi le vincolo via CSS a un riquadro della
   stessa dimensione delle altre immagini del blocco (176x176), senza
   deformarle qualunque sia la proporzione reale del file. */
.bast-filtro-sistema-wrap #selettore-sistema-section .bast-filtro-sistema__img{
	width: 176px;
	height: 176px;
	object-fit: contain;
}

/* Stato attivo (sottocategoria che si sta visitando): stesso effetto dell'hover,
   ma persistente - niente ::hover, si aggancia alla classe .is-active aggiunta
   in PHP sulla colonna corrispondente alla pagina corrente. */
.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column.is-active p{
	background-color: #c0392b;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column.is-active p::after{
	opacity: 1;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column.is-active figure img{
	transform: scale(1.1);
}

/* Sotto-sottocategorie "Miscele caffè" / "Bevande": nascosti di default,
   rivelati in hover sulla stessa colonna (pillola, immagine, o i link stessi
   - questi ultimi cosi il pannello resta aperto mentre ci si sposta sopra
   per cliccarli). Presenti solo per le sottocategorie che hanno davvero
   figlie (vedi PHP) - su "A Modo Mio" (senza figlie) semplicemente non
   vengono generati, quindi qui non c'e' nulla da nascondere. */
.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column .bast-filtro-sistema__sotto{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: var(--small-spacing);
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-6px);
	transition: max-height .25s ease, opacity .25s ease, transform .25s ease;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column:has(p:hover, figure:hover, .bast-filtro-sistema__sotto:hover) .bast-filtro-sistema__sotto{
	max-height: 100px;
	opacity: 1;
	transform: translateY(0);
}

/* Stesso effetto hover di pillola/immagine (background rosso, fumetto,
   zoom), ma esteso perche' scatti anche passando sopra ai link "Miscele
   caffè"/"Bevande" - non solo su pillola/immagine come nell'originale.
   Specificita' piu' alta della regola equivalente in style.css (grazie a
   .bast-filtro-sistema-wrap in piu' nel selettore), quindi la sovrascrive
   correttamente per questo blocco. */
.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column:has(p:hover, figure:hover, .bast-filtro-sistema__sotto:hover) p{
	background-color: #c0392b;
	cursor: pointer;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column:has(p:hover, figure:hover, .bast-filtro-sistema__sotto:hover) p::after{
	opacity: 1;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column:has(p:hover, figure:hover, .bast-filtro-sistema__sotto:hover) figure{
	cursor: pointer;
}

.bast-filtro-sistema-wrap #selettore-sistema-section .wp-block-column:has(p:hover, figure:hover, .bast-filtro-sistema__sotto:hover) figure img{
	transform: scale(1.1);
}

/* Pulsanti "Miscele caffè" / "Bevande": bordo arrotondato a pillola, stessa
   larghezza fissa per entrambi (cosi restano allineati anche se il testo ha
   lunghezza diversa). Il bordo usa currentColor, quindi segue automaticamente
   il colore del testo nei vari stati (default/hover/attivo) senza doverlo
   ripetere. */
.bast-filtro-sistema-wrap #selettore-sistema-section .bast-filtro-sistema__sotto .bast-filtro-sistema__sotto-link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	box-sizing: border-box;
	white-space: nowrap;
	padding: 8px 12px;
	border: 2px solid currentColor;
	border-radius: 100px;
	font-size: var(--font-size-sm);
	font-weight: 700;
	text-decoration: none;
	color: var(--olive-green);
}

.bast-filtro-sistema-wrap #selettore-sistema-section .bast-filtro-sistema__sotto .bast-filtro-sistema__sotto-link:hover{
	color: #c0392b;
}

/* Pagina corrente (es. si e' su ".../capsule-compatibili-con-nespresso-miscele-caffe/"):
   rosso permanente sul link corrispondente, stesso colore dell'hover ma
   senza bisogno di passarci sopra col mouse. */
.bast-filtro-sistema-wrap #selettore-sistema-section .bast-filtro-sistema__sotto .bast-filtro-sistema__sotto-link.is-active{
	color: #c0392b;
}

/* --- Toolbar filtri / ordinamento --- */

.category-toolbar{
	max-width: var(--wide-content-width);
	margin: 0 auto;
	padding: 0 var(--std-spacing) var(--std-spacing) var(--std-spacing);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--double-spacing);
	border-bottom: 1px solid var(--light-grey);
}

.category-toolbar__filtri-toggle{
	background: none;
	border: none;
	cursor: pointer;
	font-size: var(--font-size-sm);
	font-weight: 600;
	color: var(--dark-brown);
	padding: var(--small-spacing) 0;
}

.category-toolbar__filtri-toggle::before{
	content: '⚙';
	margin-right: 6px;
}

.category-toolbar__ordina select{
	border: none;
	background: transparent;
	font-size: var(--font-size-sm);
	color: var(--dark-brown);
	cursor: pointer;
}

/* --- Pannello filtri --- */

.category-filtri-panel{
	max-width: var(--wide-content-width);
	margin: 0 auto;
	padding: var(--double-spacing) var(--std-spacing);
	display: none;
	flex-wrap: wrap;
	gap: var(--triple-spacing);
	background-color: var(--light-rose);
}

.category-filtri-panel.open{
	display: flex;
}

.bast-filtri__gruppo{
	border: none;
	padding: 0;
	margin: 0;
}

.bast-filtri__gruppo legend{
	font-weight: 600;
	color: var(--dark-brown);
	margin-bottom: var(--small-spacing);
}

.bast-filtri__opzione{
	display: block;
	font-size: var(--font-size-sm);
	margin-bottom: 6px;
	cursor: pointer;
}

.category-filtri-panel__submit{
	align-self: flex-end;
	background-color: var(--brown);
	color: var(--white);
	border: none;
	padding: var(--small-spacing) var(--double-spacing);
	border-radius: 6px;
	cursor: pointer;
	font-weight: 600;
	height: fit-content;
}

.category-filtri-panel__submit:hover{
	background-color: var(--dark-brown);
}


/* ==========================================================================
   Card prodotto (griglia archivio / correlati / shortcode)
   ========================================================================== */

/* Il clearfix legacy di WooCommerce (content:" "; display:table) genera uno
   pseudo-elemento che, dentro un contenitore display:grid, diventa una vera
   cella della griglia: occupa il primo posto e spinge tutte le card di una
   colonna, lasciando vuoto lo spazio a sinistra. Con display:grid non serve
   comunque (il clearfix serve solo per i layout a float), quindi lo disattivo. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{
	content: none !important;
	display: none !important;
}

.woocommerce ul.products{
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: var(--double-spacing) var(--std-spacing);
	list-style: none;

	margin: 0 auto var(--std-spacing) auto !important;
	/* padding: var(--double-spacing) var(--std-spacing) 0 var(--std-spacing) !important; */
	padding: 0 !important;
	max-width: var(--wide-content-width) !important;
	float: none !important;
	width: auto !important;
}

.woocommerce ul.products li.product{
	flex: 0 0 calc((100% - var(--std-spacing)) / 2) !important;
	max-width: calc((100% - var(--std-spacing)) / 2) !important;
}

@media screen and (min-width: 782px) {
	.woocommerce ul.products li.product{
		flex-basis: calc((100% - (2 * var(--std-spacing))) / 3) !important;
		max-width: calc((100% - (2 * var(--std-spacing))) / 3) !important;
	}
}

@media screen and (min-width: 1280px) {
	.woocommerce ul.products li.product{
		flex-basis: calc((100% - (4 * var(--std-spacing))) / 5) !important;
		max-width: calc((100% - (4 * var(--std-spacing))) / 5) !important;
	}
}

.woocommerce ul.products li.product{
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after{
	content: none !important;
	display: none !important;
}

.woocommerce ul.products li.product.bast-card{
	background-color: var(--white);
	border: 1px solid var(--light-grey);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-self: stretch;
	transition: box-shadow .2s ease, transform .2s ease;
}

.woocommerce ul.products li.product.bast-card:hover{
	box-shadow: 0 8px 28px rgba(0,0,0,0.10);
	transform: translateY(-2px);
}

.bast-card__image-wrap{
	position: relative;
	aspect-ratio: 300 / 400;
	overflow: hidden;
	padding: var(--std-spacing);
}

.bast-card__image-wrap img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}


.woocommerce-products-header h1{
	margin: 20px 0;
}

.woocommerce .woocommerce-result-count{
	color: #999;
	display: block;
	font-size: var(--font-size-sm);
	margin-top: var(--std-spacing);
}

.bast-card__body{
	padding: var(--std-spacing);
	flex: 1;
}

.woocommerce ul.products li.product .bast-card__body .woocommerce-loop-product__title{
	margin-bottom: var(--very-small-spacing);
}

.bast-card__composizione-miscela{
	font-size: var(--font-size-xs);
	color: var(--brown);
	margin-bottom: 2px;
}

.bast-card__composizione,
.bast-card__confezione{
	font-size: var(--font-size-xs);
	color: var(--dark-brown);
	margin-bottom: 4px;
}

.bast-card__intensity{
	display: block;
	font-size: var(--font-size-sm);
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	color: var(--red);
}

.bast-card__intensity img{
	max-height: 24px;
	width: 104px !important;
	margin: 0 !important;
}

.bast-card__formato{
	color: var(--dark-brown);
	font-weight: 500;
	font-size: var(--font-size-xs);
	border-top: 1px solid var(--dark-brown);
	border-bottom: 1px solid var(--dark-brown);
	line-height: normal;
	padding: 3px 0;
	margin: 10px 0;
}

.woocommerce ul.products li.product .price{
	color: var(--dark-brown);
	font-weight: bold;
	font-size: var(--font-size-normal);
	margin: 0;
}

.bast-card__price-kg{
	font-size: var(--font-size-xxs);
	color: var(--brown);
	margin-top: 2px;
}

.bast-card__footer{
	margin-top: auto;
	padding: 0 var(--std-spacing) 20px var(--std-spacing);
}

.bast-card__footer form.cart{	
	width: 100%;
	border: 1px solid var(--brown);
	border-radius: 10px;
	overflow: hidden;
	text-align: center;
}

.bast-card__footer form.cart .single_add_to_cart_button{
	width: 100%;
}


@media screen and (min-width: 537px) {
	
	.bast-card__intensity{
		display: flex;
	}

	.bast-card__footer form.cart{
		display: flex !important; 
		align-items: center;	
		flex-wrap: nowrap !important;
		gap: 6px;
	}
}


.bast-card__footer .custom-quantity,
.bast-card__footer button.single_add_to_cart_button{
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
}

.bast-card__footer .custom-quantity{
	flex: 0 0 auto;
}

.bast-card__footer .custom-quantity input[type="number"]{
	width: 26px;
	height: 38px;
	font-size: var(--font-size-normal);
	font-weight: bold;
}

.bast-card__footer .custom-quantity .qty-btn{
	width: 26px;
	height: 38px;
	font-size: var(--font-size-sm);
}

.bast-card__footer button.single_add_to_cart_button{
	flex: 1 1 auto;
	min-width: 0;
	height: 38px;
	padding: 0 6px !important;
	background-image: none !important;
	white-space: normal;
	font-size: var(--font-size-xxs);
	line-height: 1.15;
	text-align: center;
}


/* ==========================================================================
   Sezione "Come scegliere"
   ========================================================================== */

.category-come-scegliere{
	background-color: var(--tiffany);
	margin-top: var(--triple-spacing);
	padding-bottom: var(--triple-spacing);
	position: relative;
}

.term-caffe-macinato-e-in-grani,
.term-capsule-compatibili .category-come-scegliere,
.term-cialde-compatibili .category-come-scegliere,
.term-crema-di-caffe .category-come-scegliere{
	background-color: none;	
	backdrop-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	color: var(--dark-brown);
}

.term-caffe-macinato-e-in-grani .category-come-scegliere,
.term-capsule-compatibili .category-come-scegliere,
.term-crema-di-caffe .category-come-scegliere{
	background-image: url("images/sfondo-consigli-capsule.jpg");
}

.term-cialde-compatibili .category-come-scegliere{
	background-image: url("images/sfondo-consigli-cialde.jpg");
}



.category-come-scegliere .category-come-scegliere__testo,
.category-come-scegliere .category-come-scegliere__testo strong,
.category-come-scegliere .category-come-scegliere-mobile__testo,
.category-come-scegliere .category-come-scegliere-mobile__testo strong{
	color: var(--dark-brown);
}

.category-come-scegliere .category-come-scegliere__testo,
.category-come-scegliere .category-come-scegliere__testo strong,
.category-come-scegliere .category-come-scegliere-mobile__testo,
.category-come-scegliere .category-come-scegliere-mobile__testo strong{
	color: var(--dark-brown);
}


.category-come-scegliere__pill-wrap{
	display: flex;
	justify-content: center;
	transform: translateY(-24px);
	background-color: var(--tiffany);
	padding: 20px;
}

.category-come-scegliere__pill{
	background-color: var(--white);
	color: var(--dark-brown);
	font-weight: 700;
	font-size: var(--font-size-lg);
	padding: var(--std-spacing) 30px;
	border-radius: 100px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.12);
	text-align: center;
	line-height: 135%;
}

.category-come-scegliere__inner{
	max-width: var(--wide-content-width);
	margin: 0 auto;
	padding: 0 var(--double-spacing);
	display: flex;
	flex-direction: column;
	gap: var(--double-spacing);
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.category-come-scegliere__inner{
		flex-direction: row;
	}
}

.category-come-scegliere__testo{
	color: var(--white);
	font-size: var(--font-size-md);
	line-height: var(--high-line-height);
}

.category-come-scegliere__testo p{
	margin-bottom: var(--std-spacing);
}

.category-come-scegliere__testo strong{
	color: var(--white);
}

.category-come-scegliere__immagine{
	width: 100%;
}

.category-come-scegliere__immagine img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
}


/* ==========================================================================
   Blocco finale condiviso (widget area "archivio-prodotti-footer")
   ========================================================================== */

.category-blocco-finale{
	background: linear-gradient(135deg, var(--bordeaux) 0%, var(--red) 100%);
	color: var(--white);
	padding: var(--triple-spacing) var(--std-spacing);
	margin-top: var(--triple-spacing);
	display: flex;
	flex-wrap: wrap;
	gap: var(--triple-spacing);
	justify-content: center;
}

.category-blocco-finale .archivio-footer-widget{
	flex: 1 1 320px;
	max-width: 520px;
}

.category-blocco-finale .archivio-footer-widget img{
	width: 100%;
	height: auto;
	border-radius: 12px;
	display: block;
}

.category-blocco-finale .widget-title{
	color: var(--white);
	font-size: var(--font-size-xl);
	margin-bottom: var(--std-spacing);
}

.category-blocco-finale input[type="email"],
.category-blocco-finale input[type="text"]{
	width: 100%;
	padding: var(--small-spacing) var(--std-spacing);
	border: none;
	border-radius: 6px;
	margin-bottom: var(--small-spacing);
	font-size: var(--font-size-sm);
}

.category-blocco-finale button,
.category-blocco-finale input[type="submit"]{
	background-color: var(--white);
	color: var(--bordeaux);
	border: none;
	border-radius: 100px;
	padding: var(--small-spacing) var(--double-spacing);
	font-weight: 700;
	cursor: pointer;
}

.category-blocco-finale a{
	color: var(--white);
	text-decoration: underline;
}


/* Colonne personalizzate per lo shortcode [prodotti_categoria] (stesso approccio flex) */
.woocommerce ul.products.bast-columns-3 li.product,
.woocommerce ul.products.bast-columns-4 li.product{
	flex-basis: calc((100% - var(--std-spacing)) / 2) !important;
	max-width: calc((100% - var(--std-spacing)) / 2) !important;
}

@media screen and (min-width: 782px) {
	.woocommerce ul.products.bast-columns-3 li.product,
	.woocommerce ul.products.bast-columns-4 li.product{
		flex-basis: calc((100% - (2 * var(--std-spacing))) / 3) !important;
		max-width: calc((100% - (2 * var(--std-spacing))) / 3) !important;
	}
}

@media screen and (min-width: 1280px) {
	.woocommerce ul.products.bast-columns-3 li.product{
		flex-basis: calc((100% - (2 * var(--std-spacing))) / 3) !important;
		max-width: calc((100% - (2 * var(--std-spacing))) / 3) !important;
	}
	.woocommerce ul.products.bast-columns-4 li.product{
		flex-basis: calc((100% - (3 * var(--std-spacing))) / 4) !important;
		max-width: calc((100% - (3 * var(--std-spacing))) / 4) !important;
	}
}


/* ==========================================================================
   Il mio account (WooCommerce My Account)
   ========================================================================== */

/* Contenitore: griglia standard del sito, max 1440px, 20px di padding */
.woocommerce-account .entry-content{
	max-width: 1440px;
	margin: 0 auto;
	padding: var(--triple-spacing) 20px;
	box-sizing: border-box;
}

.woocommerce-account .woocommerce{
	display: flex;
	flex-direction: column;
	gap: var(--triple-spacing);
}

@media screen and (min-width: 782px) {
	.woocommerce-account .woocommerce{
		flex-direction: row;
		align-items: flex-start;
	}
}

/* Messaggio "Ciao [nome]..." e notice varie */
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info{
	background-color: var(--white);
	border-left: 4px solid var(--red);
	padding: var(--std-spacing);
	margin-bottom: var(--double-spacing);
	list-style: none;
	color: var(--dark-brown);
}

.woocommerce-account p.woocommerce-info{
	background-color: var(--light-rose);
	border-left: 4px solid var(--pacific-blue);
	padding: var(--std-spacing);
	color: var(--dark-brown);
}

.woocommerce-account p.woocommerce-info a{
	color: var(--bordeaux);
	font-weight: 600;
}


/* --- Navigazione laterale --- */

.woocommerce-account .woocommerce-MyAccount-navigation{
	flex: 0 0 auto;
	width: 100%;
	background-color: var(--white);
	border: 1px solid var(--light-grey);
	border-radius: 8px;
	overflow: hidden;
}

@media screen and (min-width: 782px) {
	.woocommerce-account .woocommerce-MyAccount-navigation{
		flex: 0 0 240px;
		width: 240px;
		position: sticky;
		top: var(--std-spacing);
	}
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
	margin: 0;
	border-bottom: 1px solid var(--light-grey);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display: block;
	padding: var(--std-spacing);
	color: var(--dark-brown);
	font-weight: 600;
	font-size: var(--font-size-sm);
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
	background-color: var(--light-rose);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
	background-color: var(--red);
	color: var(--white);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
	color: var(--bordeaux);
}


/* --- Contenuto --- */

.woocommerce-account .woocommerce-MyAccount-content{
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	background-color: var(--white);
	border: 1px solid var(--light-grey);
	border-radius: 8px;
	padding: var(--double-spacing);
	box-sizing: border-box;
	color: var(--dark-brown);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
	color: var(--dark-brown);
	margin-bottom: var(--std-spacing);
}

.woocommerce-account .woocommerce-MyAccount-content a{
	color: var(--bordeaux);
}

.woocommerce-account .woocommerce-MyAccount-content mark{
	background: none;
	color: var(--dark-brown);
	font-weight: 600;
}


/* --- Tabelle ordini / download --- */

.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-table--order-details,
.woocommerce-account table.woocommerce-MyAccount-downloads{
	width: 100%;
	border-collapse: collapse;
	font-size: var(--font-size-sm);
	margin-bottom: var(--double-spacing);
}

.woocommerce-account table.woocommerce-orders-table thead th,
.woocommerce-account table.woocommerce-table--order-details thead th,
.woocommerce-account table.woocommerce-MyAccount-downloads thead th{
	text-align: left;
	padding: var(--small-spacing) var(--std-spacing);
	background-color: var(--light-rose);
	color: var(--dark-brown);
	font-weight: 600;
	border-bottom: 1px solid var(--light-grey);
}

.woocommerce-account table.woocommerce-orders-table tbody td,
.woocommerce-account table.woocommerce-table--order-details tbody td,
.woocommerce-account table.woocommerce-MyAccount-downloads tbody td{
	padding: var(--small-spacing) var(--std-spacing);
	border-bottom: 1px solid var(--light-grey);
	vertical-align: middle;
}

.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td{
	border-bottom: none;
}

.woocommerce-account .woocommerce-orders-table__cell-order-status mark.order-status{
	display: inline-block;
	background-color: var(--light-rose);
	color: var(--dark-brown);
	padding: 2px 10px;
	border-radius: 20px;
	font-size: var(--font-size-xxs);
	text-transform: uppercase;
	font-weight: 600;
}


/* --- Bottoni generici (View, Pay, Details, Salva modifiche, ecc.) --- */

.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account input.button{
	display: inline-block;
	background-color: var(--red) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 4px;
	padding: var(--small-spacing) var(--double-spacing);
	font-size: var(--font-size-md);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease;
}

.woocommerce-account .button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account input.button:hover{
	background-color: var(--bordeaux) !important;
	color: var(--white) !important;
}

.woocommerce-account .woocommerce-Button--cancel,
.woocommerce-account a.button.cancel{
	background-color: transparent !important;
	color: var(--bordeaux) !important;
	border: 1px solid var(--bordeaux) !important;
}


/* --- Indirizzi --- */

.woocommerce-account .woocommerce-Addresses{
	display: flex;
	flex-wrap: wrap;
	gap: var(--double-spacing);
}

.woocommerce-account .woocommerce-Address{
	flex: 1 1 280px;
	background-color: var(--light-rose);
	border-radius: 8px;
	padding: var(--double-spacing);
}

.woocommerce-account .woocommerce-Address-title{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--std-spacing);
	margin-bottom: var(--std-spacing);
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{
	margin: 0 !important;
	font-size: var(--font-size-sm) !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

.woocommerce-account address{
	font-style: normal;
	line-height: var(--high-line-height);
}


/* --- Form (login, registrazione, modifica account, indirizzi) --- */

.woocommerce-account form .form-row{
	margin-bottom: var(--std-spacing);
}

.woocommerce-account form label{
	display: block;
	font-weight: 600;
	font-size: var(--font-size-sm);
	color: var(--dark-brown);
	margin-bottom: 6px;
}

.woocommerce-account form .required{
	color: var(--bordeaux);
	text-decoration: none;
}

.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form select,
.woocommerce-account form textarea{
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--light-grey) !important;
	border-radius: 4px;
	padding: var(--small-spacing) var(--std-spacing);
	font-size: var(--font-size-sm);
	color: var(--dark-brown);
	background-color: var(--white);
	margin: 0;
}

.woocommerce-account form input[type="text"]:focus,
.woocommerce-account form input[type="email"]:focus,
.woocommerce-account form input[type="password"]:focus,
.woocommerce-account form input[type="tel"]:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus{
	border-color: var(--red) !important;
	outline: none;
}

.woocommerce-account form fieldset{
	border: 1px solid var(--light-grey);
	border-radius: 8px;
	padding: var(--double-spacing);
	margin-bottom: var(--double-spacing);
}

.woocommerce-account form fieldset legend{
	font-weight: 600;
	color: var(--dark-brown);
	padding: 0 var(--small-spacing);
}

.woocommerce-account .woocommerce-form-login__rememberme{
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: normal;
}

.woocommerce-account .lost_password{
	margin-top: var(--std-spacing);
	font-size: var(--font-size-sm);
}


/* --- Dettaglio ordine singolo --- */

.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details{
	margin-top: var(--double-spacing);
}

.woocommerce-account ul.woocommerce-order-overview{
	list-style: none;
	margin: 0 0 var(--double-spacing) 0;
	padding: var(--std-spacing);
	background-color: var(--light-rose);
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--std-spacing) var(--triple-spacing);
}

.woocommerce-account ul.woocommerce-order-overview li{
	margin: 0;
	font-size: var(--font-size-sm);
}

.woocommerce-account ul.woocommerce-order-overview li strong{
	display: block;
	color: var(--dark-brown);
	font-size: var(--font-size-md);
}


/* ==========================================================================
   Il mio account - Login / Registrazione (utenti non loggati)
   ========================================================================== */

.woocommerce-account .bastimento-login-register{
	display: flex;
	flex-direction: column;
	gap: var(--triple-spacing);
	list-style: none;
	margin: 0;
	padding: 0;
	color: var(--dark-brown);
}

@media screen and (min-width: 782px) {
	.woocommerce-account .bastimento-login-register{
		flex-direction: column;
	}
}

.woocommerce-account .bastimento-login-register .u-column1,
.woocommerce-account .bastimento-login-register .u-column2{
	flex: 1 1 0;
	min-width: 0;
}

.woocommerce-account .bastimento-login-register h2{
	font-size: var(--font-size-xl) !important;
	margin-bottom: var(--std-spacing) !important;
	font-weight: bold;
}

.woocommerce-account .bastimento-login-register__intro{
	margin-bottom: var(--double-spacing);
	line-height: var(--high-line-height);
}

/* --- Colonna "Nuovo cliente" --- */

.bastimento-crea-account-toggle{
	display: block;
	width: 100%;
	background-color: var(--red) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 4px;
	padding: var(--std-spacing) var(--double-spacing) !important;
	font-size: var(--font-size-md);
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease;
}

.bastimento-crea-account-toggle:hover{
	background-color: var(--bordeaux) !important;
}

.bastimento-register-form-wrap{
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height .4s ease, opacity .3s ease;
}

.bastimento-register-form-wrap.open{
	max-height: 800px;
	opacity: 1;
	margin-top: var(--double-spacing);
}

.bastimento-social-login{
	margin-top: var(--triple-spacing);
}

.bastimento-social-login h3{
	font-size: var(--font-size-md) !important;
	margin-bottom: var(--small-spacing) !important;
}

.bastimento-social-login__note{
	font-size: var(--font-size-xs);
	color: var(--brown);
	margin-bottom: var(--std-spacing);
}

.bastimento-social-login__list{
	display: flex;
	gap: var(--std-spacing);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bastimento-social-login__icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: var(--red);
	color: var(--white);
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease, transform .2s ease;
}

.bastimento-social-login__icon:hover{
	background-color: var(--bordeaux);
	transform: translateY(-2px);
}

/* --- Colonna "Clienti registrati" --- */

.bastimento-clienti-registrati .form-row-first,
.bastimento-clienti-registrati .form-row-last{
	width: 100%;
	float: none;
	margin-bottom: var(--std-spacing);
}

.bastimento-login-actions{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--std-spacing);
}

.bastimento-login-actions .woocommerce-form-login__rememberme{
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: normal !important;
	margin: 0 !important;
}


.woocommerce-form.woocommerce-form-login{
	padding: 20px 20px 70px 20px !important;
	color: var(--dark-brown);
}

.woocommerce-form-login__submit{
	display: block;
	width: 100%;
	background-color: var(--green) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 4px;
	padding: var(--std-spacing) var(--double-spacing) !important;
	font-size: var(--font-size-md);
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease;
}

.woocommerce-form-login__submit:hover{
	background-color: var(--dark-green) !important;
}


.woocommerce form .password-input,
.woocommerce-page form .password-input {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.woocommerce form .password-input input[type="password"],
.woocommerce form .password-input input[type="text"],
.woocommerce-page form .password-input input[type="password"],
.woocommerce-page form .password-input input[type="text"] {
    padding-right: 2.5rem;
    margin-bottom: 0;
}

/* nasconde l'icona nativa di Edge/IE per evitare doppioni */
.woocommerce form .password-input input::-ms-reveal,
.woocommerce-page form .password-input input::-ms-reveal {
    display: none;
}

/* reset del pulsante nativo del browser */
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
    all: unset;
    position: absolute;
    right: 0.7em;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #999; /* grigio chiaro richiesto */
    display: inline-flex;
    align-items: center;
}

.woocommerce form .show-password-input::after,
.woocommerce-page form .show-password-input::after {
    font-family: WooCommerce;
    speak: never;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    text-decoration: none;
    content: "\e010"; /* occhio chiuso = mostra password */
    font-size: 18px;
}

/* quando la password è visibile (classe aggiunta dal JS nativo di WC) */
.woocommerce form .show-password-input.display-password::after,
.woocommerce-page form .show-password-input.display-password::after {
    content: "\e601"; /* occhio aperto = nascondi password */
    color: #666;
}

.woocommerce-account .lost_password{
	text-align: right;
}

.woocommerce-account .lost_password a{
	color: var(--dark-brown);
}


/* ==========================================================================
   Paginazione prodotti (archivio categoria)
   ========================================================================== */

.woocommerce-pagination{
	display: flex;
	justify-content: center;
	max-width: var(--wide-content-width);
	margin: var(--triple-spacing) auto;
	padding: 0 var(--std-spacing);
}

.woocommerce-pagination ul.page-numbers{
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0 !important;
}

.woocommerce-pagination ul.page-numbers li{
	margin: 0;
	border-right: 0 !important;
}

.woocommerce-pagination .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px !important;
	line-height: 25px !important;
	display: inline-block !important;
	margin: 0 3px !important;
	height: 40px;
	padding: 0 6px;
	border-radius: 50%;
	background-color: var(--white);
	/* border: 1px solid var(--light-grey); */
	color: var(--dark-brown);
	font-size: var(--font-size-sm);
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.woocommerce-pagination a.page-numbers:hover{
	background-color: var(--light-rose);
	/* border-color: var(--red); */
	color: var(--red);
}

.woocommerce-pagination .page-numbers.current{
	background-color: var(--red);
	/* border-color: var(--red); */
	color: var(--white);
	cursor: default;
}

.woocommerce-pagination .page-numbers.dots{
	background: none;
	border: none;
	color: var(--brown);
	cursor: default;
}

.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next{
	border-radius: 50%;
	background-color: var(--white);
}

.woocommerce-pagination .page-numbers.prev:hover,
.woocommerce-pagination .page-numbers.next:hover{
	background-color: var(--red);
	border-color: var(--red);
	color: var(--white);
}


/* ==========================================================================
   Carrello e Checkout - contenitore standard 1440px con 20px di padding
   ========================================================================== */

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content{
	max-width: 1440px;
	margin: 0 auto;
	padding: var(--triple-spacing) 20px;
	box-sizing: border-box;
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce .wc-block-mini-cart__footer-checkout,
.woocommerce .wc-block-mini-cart__footer-cart{
	border-radius: 40px;
}


/* ==========================================================================
   Griglia prodotti dei WooCommerce Blocks (es. "Potresti essere interessato
   a..." nel carrello) - stile allineato alla griglia prodotti classica (.bast-card)
   ========================================================================== */

.wc-block-product-template{
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: var(--double-spacing) var(--std-spacing) !important;
	list-style: none !important;
	margin: 0 auto var(--triple-spacing) auto !important;
	padding: 0 !important;
}

.wc-block-product-template li.wc-block-product{
	flex: 0 0 calc((100% - var(--std-spacing)) / 2) !important;
	max-width: calc((100% - var(--std-spacing)) / 2) !important;
	margin: 0 !important;
	background-color: var(--white);
	border: 1px solid var(--light-grey);
	border-radius: 8px;
	overflow: hidden;
	display: flex !important;
	flex-direction: column;
	align-self: stretch;
	padding: 0 0 var(--std-spacing) 0 !important;
	transition: box-shadow .2s ease, transform .2s ease;
}

.wc-block-product-template li.wc-block-product:hover{
	box-shadow: 0 8px 28px rgba(0,0,0,0.10);
	transform: translateY(-2px);
}

@media screen and (min-width: 600px) {
	.wc-block-product-template li.wc-block-product{
		flex-basis: calc((100% - (2 * var(--std-spacing))) / 3) !important;
		max-width: calc((100% - (2 * var(--std-spacing))) / 3) !important;
	}
}

/* Immagine */
.wc-block-product-template .wc-block-components-product-image{
	background-color: var(--light-rose);
	aspect-ratio: 1 / 1;
	margin: 0 !important;
}

.wc-block-product-template .wc-block-components-product-image a{
	display: block;
	width: 100%;
	height: 100%;
}

.wc-block-product-template .wc-block-components-product-image img{
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: var(--std-spacing);
	box-sizing: border-box;
}

/* Titolo */
.wc-block-product-template h2.wp-block-post-title{
	font-size: var(--font-size-sm) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--dark-brown) !important;
	margin: var(--std-spacing) var(--std-spacing) var(--very-small-spacing) var(--std-spacing) !important;
	padding: 0 !important;
}

.wc-block-product-template h2.wp-block-post-title a{
	color: var(--dark-brown) !important;
	text-decoration: none !important;
}

/* Prezzo */
.wc-block-product-template .wc-block-components-product-price{
	margin: 0 var(--std-spacing) var(--std-spacing) var(--std-spacing) !important;
}

.wc-block-product-template .wc-block-components-product-price .woocommerce-Price-amount{
	font-size: var(--font-size-md) !important;
	font-weight: 700;
	color: var(--dark-brown);
}

/* Bottone aggiungi al carrello */
.wc-block-product-template .wc-block-components-product-button{
	margin: auto var(--std-spacing) 0 var(--std-spacing) !important;
}

.wc-block-product-template button.add_to_cart_button{
	display: block;
	width: 100%;
	background-color: var(--brown) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 100px !important;
	padding: var(--small-spacing) var(--std-spacing) !important;
	font-size: var(--font-size-sm) !important;
	font-weight: 600 !important;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s ease;
}

.wc-block-product-template button.add_to_cart_button:hover{
	background-color: var(--dark-brown) !important;
}

.wc-block-product-template .added_to_cart{
	display: block;
	text-align: center;
	margin-top: var(--small-spacing);
	font-size: var(--font-size-xs);
	color: var(--bordeaux);
}

.wc-block-components-product-metadata{
	font-size: 11px;
	display: none !important;
}

.wc-block-cart__main .wc-block-cart-items{
	background-color: #F5F0EC;
	padding: 20px;
}

/* ==========================================================================
   Bottone "Continua lo shopping" (pagina Carrello a blocchi)
   ========================================================================== */

.continua-shopping-wrap{
	text-align: center;
	margin-top: var(--double-spacing);
}

.continua-shopping-btn{
	display: inline-block;
	background-color: #E34F4B;
	color: var(--white);
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
	font-size: var(--font-size-sm);
	letter-spacing: 0.03em;
	padding: var(--std-spacing) var(--triple-spacing);
	border-radius: 100px;
	transition: background-color .2s ease;
}

.continua-shopping-btn:hover{
	background-color: var(--bordeaux);
	color: var(--white);
}


/* ==========================================================================
   Sezione "Come scegliere" - override desktop-content e versione mobile
   ========================================================================== */

/* Garantisce display:flex solo quando visibile (>=1024px), piu specifico
   della regola base .category-come-scegliere__inner{display:flex} che altrimenti
   vincerebbe sempre a parita di specificita con la classe utility generica */
.category-come-scegliere__inner.desktop-content{
	display: none;
}

@media screen and (min-width: 1024px) {
	.category-come-scegliere__inner.desktop-content{
		display: flex;
	}
}

/* Versione mobile semplificata: immagine a piena larghezza sopra, testo sotto */
.category-come-scegliere-mobile__image-wrap{
	/* Full-bleed, stesso calcolo usato per l'hero */
	position: relative;
	left: 50%;
	right: 50%;
	width: calc(100vw - 7px);
	margin-left: -50vw;
	margin-right: -50vw;
}

.category-come-scegliere-mobile__image-wrap img{
	display: block;
	width: 100%;
	height: auto;
}

.category-come-scegliere-mobile__testo{
	padding-top: var(--double-spacing) !important;
}

.category-come-scegliere-mobile__testo{
	padding: 20px;
	color: var(--white);
	line-height: var(--high-line-height);
}

.category-come-scegliere-mobile__testo p{
	margin-bottom: var(--std-spacing);
}

.category-come-scegliere-mobile__testo strong{
	color: var(--white);
}

.product-ean{
	font-size: var(--font-size-xs);
	color: var(--brown);
}
