/*
 * Bonvini 1909 - CSS custom del tema.
 * Sezione 1: ex CSS aggiuntivo del Customizer, spostato il 2026-10-04 (contenuto invariato).
 * Accodato da functions.php (handle bonvini-custom) dopo style.css, priorità 999.
 */

button#place_order,
button.fc-step__substep-save.button{
	background-color:#68af80;
	color: white;
}

#select2-shipping_state-container .select2-selection__clear{
	display: none;
}

.bg-light--ext{
	position: relative;
}
.bg-light--ext:before {
    content: '';
    position: absolute;
    width: 100vw;
    left: calc(-50vw + 50%);
    /* transform: TRANSLATEX(-50%); */
    background-color: var(--light);
    height: 100%;
    top: 0;
    z-index: -1;
}

.bonvini-home-section > .d-flex {
    min-height: 95svh;
}

.woocommerce.single-product button.button.alt{
	margin: 8px;
	flex: 0 1 220px;
}

@media (max-width: 768px){
	/* Larghezza fissa: con width:auto il campo number prendeva la larghezza intrinseca (~300 px
	   a 27 px di corpo) e spezzava [-][qtà][+] su tre righe (2026-10-19). */
	body.single-product form.cart .quantity input {
		width: 3.5rem !important;
		padding: 0;
		font-size: 1.25rem;
		text-align: center;
	}
	#wc-bonvini-add-to-cart-plus, #wc-bonvini-add-to-cart-minus{
		width: 2.5rem;
	}
}


body.single-product form.cart{
	align-items: center;
}

.home .cart-badge-image{
	filter: invert(1);
}

/*banner usa */
/* --- WooCommerce Store Notice: show only on store pages & stick to bottom --- */

/* 1) Hide everywhere by default */
body.store-notice-hidden .woocommerce-store-notice,
body.store-notice-hidden p.demo_store {
  display: none !important;
}
body.store-notice-hidden .site,
body.store-notice-hidden .site-content,
body.store-notice-hidden #page {
  padding-bottom: 0 !important;
}

/* 2) Show on WooCommerce pages only (shop, tax archives, single product, cart, checkout) */
body.woocommerce .woocommerce-store-notice,
body.woocommerce-page .woocommerce-store-notice,
body.post-type-archive-product .woocommerce-store-notice,
body.tax-product_cat .woocommerce-store-notice,
body.tax-product_tag .woocommerce-store-notice,
body.single-product .woocommerce-store-notice,
body.woocommerce-cart .woocommerce-store-notice,
body.woocommerce-checkout .woocommerce-store-notice,
body.woocommerce .demo_store,
body.woocommerce-page .demo_store,
body.post-type-archive-product .demo_store,
body.tax-product_cat .demo_store,
body.tax-product_tag .demo_store,
body.single-product .demo_store,
body.woocommerce-cart .demo_store,
body.woocommerce-checkout .demo_store {
  display: flex;
	align-items: start;
}

/* 3) Bottom bar styling */
.woocommerce-store-notice,
p.demo_store {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  padding-bottom: calc(.75rem + env(safe-area-inset-bottom)); /* iOS safe area */
  text-align: left;
  font-size: 14px;
  line-height: 1.4;
  background: #68af80;   
  color: #fff;
  box-shadow: 0 -6px 16px rgba(0,0,0,.15);
	min-height: 64px;
	top: auto !important;
}

/* Links + dismiss button */
.woocommerce-store-notice a,
p.demo_store a {
  color: inherit;
	color: black;
	text-decoration: none;
}

.woocommerce-store-notice__dismiss-link {
  margin-left: .75rem;
  background: #fff;
  color: #68af80;
  padding: .25rem .6rem;
  border-radius: 4px;
  text-decoration: none;
  line-height: 1;
}

/* 4) Add bottom space so bar doesn’t cover content/footer */
body.woocommerce .site,
body.woocommerce-page .site,
body.woocommerce .site-content,
body.woocommerce-page .site-content,
body.woocommerce #page,
body.woocommerce-page #page {
  padding-bottom: 64px; /* roughly the bar height */
}

/* Mobile: make the store notice dismiss link a small "X" icon */
@media (max-width: 768px) {
  .woocommerce-store-notice__dismiss-link {
    /* hide the text visually but keep the link accessible */
    color: transparent !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;

    /* compact, tappable icon */
    width: 28px;
    height: 28px;
    min-width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin-left: .5rem;
    border-radius: 9999px;
    box-shadow: none !important;
  }

  .woocommerce-store-notice__dismiss-link::after {
    content: "×";           /* the icon */
    color: #fff;            /* contrasts with your #68af80 bar */
    font-size: 20px;
    line-height: 1;
  }
}

#cookiescript_badge{
	display: none !important;
	visibility: hidden;
}

.footer_prod_cat li a{
	padding: 0;
}


/* =====================================================================
   Sezione 2: dicitura "Esaurito" sulle card prodotto
   2026-10-04 badge sull'immagine → 2026-10-05 accanto al prezzo, stessa tipografia.
   Markup: <span class="bonvini-badge-esaurito">Esaurito</span> DENTRO il prezzo:
   - loop WC classico: span.price (woocommerce/loop/price.php del tema);
   - griglia blocchi WC: div.wc-block-grid__product-price (plugin bonvini-core);
   - shop-page.php "Novità": div.wc-block-grid__product-price.
   Font, corpo, peso e colore uguali all'importo; separatore "·" generato in CSS.
   ===================================================================== */
/* Stessa tipografia dell'importo: il tema stila .woocommerce-Price-amount (style.css,
   1.125rem / 300 / #212529) e non il contenitore .price (che in WC è verde e più piccolo). */
.price .bonvini-badge-esaurito {
	font-family: inherit;
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1;
	color: rgb(33, 37, 41);
	white-space: nowrap;
}
.bonvini-badge-esaurito::before {
	content: "\00B7";
	margin: 0 0.35em;
}
/* Prezzo vuoto: niente separatore */
.price > .bonvini-badge-esaurito:first-child::before {
	content: none;
	margin: 0;
}

/* Lieve attenuazione dell'immagine dei prodotti esauriti */
.woocommerce ul.products li.product.outofstock img,
ul.products li.product.outofstock img,
li.wc-block-grid__product:has(.bonvini-badge-esaurito) .wc-block-grid__product-image img {
	opacity: 0.6;
}


/* =====================================================================
   Sezione 3 (2026-10-04): pulsante acquisto scheda prodotto più compatto
   Prima: altezza 3.5rem, font 1rem, flex 0 1 220px (style.css ~1252 + Customizer).
   Ora: altezza 3.1rem (49.6px, > 44px touch), font 0.9375rem, flex 0 1 200px.
   Quantità, +/- e cuore wishlist allineati alla stessa altezza.
   Specificità identica a style.css: vince perché caricato dopo.
   ===================================================================== */
.woocommerce.single-product #respond input#submit.alt,
.woocommerce.single-product a.button.alt,
.woocommerce.single-product button.button.alt,
.woocommerce.single-product input.button.alt {
	height: 3.1rem;
	padding: 0 0.875rem;
	font-size: 0.9375rem;
	line-height: 1;
}

/* il link (prodotti esterni) non centra il testo da solo come <button>/<input> */
.woocommerce.single-product a.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.woocommerce.single-product button.button.alt {
	flex: 0 1 200px;
}

#wc-bonvini-add-to-cart-plus,
#wc-bonvini-add-to-cart-minus {
	height: 3.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.single-product form.cart .quantity {
	height: 3.1rem;
}

#wc-bonvini-add-to-cart-plus button,
#wc-bonvini-add-to-cart-minus button,
body.single-product form.cart .quantity input {
	height: 100%;
	padding-top: 0;
	padding-bottom: 0;
}

.tinv-wraper.woocommerce.tinv-wishlist.tinvwl-after-add-to-cart {
	height: 3.1rem;
	width: 3.1rem;
}

/* Desktop: +/- quadrati come prima (sotto 768px resta la larghezza 2.5rem del Customizer) */
@media (min-width: 769px) {
	#wc-bonvini-add-to-cart-plus,
	#wc-bonvini-add-to-cart-minus {
		width: 3.1rem;
	}
}

/* Smartphone (2026-10-19): selettore quantità unitario [-|qtà|+] e pulsante sulla stessa riga,
   che occupa lo spazio restante (va a capo da solo solo sotto i ~330 px). Altezza 3.1rem (>= 44px). */
@media (max-width: 575.98px) {
	body.single-product form.cart .single_variation_wrap {
		flex: 1 1 100%;
		min-width: 0;
	}
	body.single-product form.cart,
	body.single-product .woocommerce-variation-add-to-cart {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		row-gap: 0.75rem;
	}
	body.single-product form.cart .quantity,
	#wc-bonvini-add-to-cart-plus,
	#wc-bonvini-add-to-cart-minus {
		flex: 0 0 auto;
	}
	#wc-bonvini-add-to-cart-plus,
	#wc-bonvini-add-to-cart-minus {
		width: 2.75rem;
	}
	body.single-product form.cart .quantity input {
		width: 3rem !important;
	}
	/* Lo spazio sta a destra del "+": se il pulsante va a capo resta allineato a sinistra. */
	#wc-bonvini-add-to-cart-plus {
		margin-right: 0.75rem;
	}
	.woocommerce.single-product button.button.alt {
		flex: 1 1 10rem;
		min-width: 0;
		max-width: none;
		margin: 0;
		white-space: nowrap;
	}
}


/* Quantità bloccata (2026-10-05): ultimo pezzo disponibile o prodotto venduto singolarmente.
   Il campo è identico agli altri (sola lettura, valore 1 a piena opacità); solo i +/- sono
   attenuati e disattivati. Sotto, a tutta riga, una nota che spiega il limite.
   Markup: plugin bonvini-core (input.qty--fixed, .is-disabled, p.bv-qty-note). */
body.single-product form.cart .quantity input.qty--fixed {
	cursor: default;
	opacity: 1;
}
#wc-bonvini-add-to-cart-minus.is-disabled,
#wc-bonvini-add-to-cart-plus.is-disabled {
	opacity: 0.35;
}
#wc-bonvini-add-to-cart-minus.is-disabled button,
#wc-bonvini-add-to-cart-plus.is-disabled button {
	cursor: not-allowed;
}
body.single-product form.cart .bv-qty-note {
	flex: 1 1 100%;
	order: 20;
	margin: 0.625rem 0 0;
	font-size: 0.875rem;
	font-weight: 300;
	line-height: 1.4;
	color: #6b6f73;
}


/* =====================================================================
   Sezione 4 (2026-10-04): select del checkout e di Mio account allineate agli input.
   Riferimenti (CSS caricati sul checkout): gli input di testo prendono bordo e raggio da
   woocommerce.css (.woocommerce form .form-row .input-text: padding .5em, bordo
   var(--wc-form-border-width) var(--wc-form-border-color), raggio var(--wc-form-border-radius),
   altezza auto) - vince su .form-control di Bootstrap. Le select2/selectWoo (select2.css di WC)
   usano invece le variabili FC --fluidcheckout--field-* (default 45.625px, raggio 0).
   Per avere altezza IDENTICA fissiamo un'unica altezza per input e select (text-align verticale
   naturale per gli input, line-height = altezza interna per select2) e diamo a select2/TomSelect
   lo stesso bordo e raggio degli input tramite le variabili di WC/FC.
   Specificità > regole FC (div.woocommerce form .form-row ...), nessun !important.
   ===================================================================== */
body.woocommerce-checkout,
body.woocommerce-account {
	--bonvini-field-height: 2.75rem; /* 44px: target touch */
	--bonvini-field-padding-x: 0.5rem;
	--bonvini-field-radius: var(--wc-form-border-radius, 4px);
	--bonvini-field-border-width: var(--wc-form-border-width, 1px);
	--bonvini-field-border-color: var(--wc-form-border-color, rgba(32, 7, 7, 0.8));
	/* Componenti FC (select2 e TomSelect) */
	--fluidcheckout--field--height: var(--bonvini-field-height);
	--fluidcheckout--field--border-radius: var(--bonvini-field-radius);
	--fluidcheckout--field--border-width: var(--bonvini-field-border-width);
	--fluidcheckout--field--border-color: var(--bonvini-field-border-color);
	--fluidcheckout--field--padding-left: var(--bonvini-field-padding-x);
}

/* Input di testo e select native: stessa altezza fissa (testo centrato dal browser). */
body.woocommerce-checkout div.woocommerce form .form-row input.input-text,
body.woocommerce-account div.woocommerce form .form-row input.input-text,
body.woocommerce-checkout div.woocommerce form .form-row select,
body.woocommerce-account div.woocommerce form .form-row select {
	box-sizing: border-box;
	height: var(--bonvini-field-height);
	padding-top: 0;
	padding-bottom: 0;
	border-radius: var(--bonvini-field-radius);
}

body.woocommerce-checkout div.woocommerce form .form-row select,
body.woocommerce-account div.woocommerce form .form-row select {
	padding-left: var(--bonvini-field-padding-x);
	border: var(--bonvini-field-border-width) solid var(--bonvini-field-border-color);
	line-height: normal;
}

/* select2 / selectWoo (Paese, Provincia, Nazione, Tipologia quando potenziate). */
body.woocommerce-checkout div.woocommerce form .form-row .select2-container .select2-selection--single,
body.woocommerce-account div.woocommerce form .form-row .select2-container .select2-selection--single {
	position: relative;
	box-sizing: border-box;
	height: var(--bonvini-field-height);
	min-height: var(--bonvini-field-height);
	padding: 0;
	border: var(--bonvini-field-border-width) solid var(--bonvini-field-border-color);
	border-radius: var(--bonvini-field-radius);
	line-height: normal;
}

body.woocommerce-checkout div.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered,
body.woocommerce-account div.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
	min-height: 0;
	height: calc(var(--bonvini-field-height) - var(--bonvini-field-border-width) * 2);
	/* spazio per la "×" di deselezione + il caret, che restano separati */
	padding: 0 3.5rem 0 var(--bonvini-field-padding-x);
	line-height: calc(var(--bonvini-field-height) - var(--bonvini-field-border-width) * 2);
	border-radius: var(--bonvini-field-radius);
}

/* Caret: colonna fissa di 2rem a destra, centrato verticalmente. */
body.woocommerce-checkout div.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow,
body.woocommerce-account div.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow {
	position: absolute;
	top: 0;
	right: 0;
	width: 2rem;
	height: 100%;
	min-height: 0;
	margin: 0;
	transform: none;
}

/* "×" (select2-selection__clear): a sinistra del caret, mai sovrapposta. */
body.woocommerce-checkout div.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__clear,
body.woocommerce-account div.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__clear {
	position: absolute;
	top: 50%;
	right: 2rem;
	float: none;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0 0.375rem;
	line-height: 1;
	transform: translateY(-50%);
	z-index: 1;
}

/* TomSelect (se FC usa i componenti avanzati): altezza/bordo/raggio dalle variabili sopra. */
body.woocommerce-checkout .ts-wrapper.single .ts-control,
body.woocommerce-account .ts-wrapper.single .ts-control {
	align-items: center;
	box-sizing: border-box;
}


/* =====================================================================
   Sezione 5 (2026-10-05): mini-carrello dell'header, rifatto.
   Markup: woocommerce/cart/mini-cart.php (.bv-minicart), dentro
   .mini-cart-dropdown > .widget_shopping_cart_content (header.php).
   Lettura: righe allineate a sinistra a griglia (miniatura | nome e
   quantità | totale riga), cifre allineate a destra, un solo peso forte
   (nomi 500), azione primaria piena (Pagamento) e secondaria a filo.
   Annulla le regole di style.css (~1463-1510, ~1972) che centravano le righe.
   ===================================================================== */
.mini-cart-dropdown.dropdown-menu {
	--bv-mc-ink: #212529;
	--bv-mc-muted: #6b6f73;
	--bv-mc-line: #e6e6e6;
	--bv-mc-thumb-bg: #f4f4f4;
	--bv-mc-accent: var(--bonvini-color, #68af80);
	width: 23rem;
	max-width: calc(100vw - 2rem);
	padding: 0;
	border: 1px solid var(--bv-mc-line);
	border-radius: 4px;
	box-shadow: 0 12px 32px rgba(33, 37, 41, 0.12);
	color: var(--bv-mc-ink);
	text-align: left;
}

.bv-minicart {
	font-size: 0.9375rem;
	line-height: 1.35;
}

.bv-minicart__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem 0.75rem;
	border-bottom: 1px solid var(--bv-mc-line);
}
.bv-minicart__title {
	font-size: 1rem;
	font-weight: 500;
}
.bv-minicart__count {
	font-size: 0.8125rem;
	color: var(--bv-mc-muted);
}

/* Elenco: blocco normale (style.css lo rendeva flex colonna centrato) e scroll se lungo */
.mini-cart-dropdown .bv-minicart .bv-minicart__list {
	display: block;
	max-height: min(22rem, 55vh);
	margin: 0;
	padding: 0 1.25rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
}
.mini-cart-dropdown .bv-minicart .bv-minicart__item {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr) auto;
	column-gap: 0.875rem;
	align-items: start;
	margin: 0;
	padding: 0.875rem 0;
	border-bottom: 1px solid var(--bv-mc-line);
	text-align: left;
}
.mini-cart-dropdown .bv-minicart .bv-minicart__item:last-child {
	border-bottom: 0;
}
/* Il clearfix di WooCommerce (li::before/::after, display:table) diventerebbe una cella della griglia */
.mini-cart-dropdown .bv-minicart .bv-minicart__item::before,
.mini-cart-dropdown .bv-minicart .bv-minicart__item::after {
	content: none;
	display: none;
}

.bv-minicart__thumb {
	display: block;
	width: 3.5rem;
	height: 3.5rem;
	background: var(--bv-mc-thumb-bg);
}
.mini-cart-dropdown .bv-minicart .bv-minicart__thumb img {
	display: block;
	float: none;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	box-shadow: none;
}

.bv-minicart__info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}
.mini-cart-dropdown .bv-minicart a.bv-minicart__name,
.mini-cart-dropdown .bv-minicart .bv-minicart__name {
	display: -webkit-box;
	padding: 0;
	overflow: hidden;
	color: var(--bv-mc-ink);
	font-weight: 500;
	text-decoration: none;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.mini-cart-dropdown .bv-minicart a.bv-minicart__name:hover,
.mini-cart-dropdown .bv-minicart a.bv-minicart__name:focus-visible {
	text-decoration: underline;
	text-underline-offset: 2px;
}
/* Varianti / dati extra (dl.variation di WC) */
.bv-minicart__info dl.variation {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--bv-mc-muted);
}
.bv-minicart__info dl.variation dt,
.bv-minicart__info dl.variation dd,
.bv-minicart__info dl.variation p {
	display: inline;
	margin: 0;
	font-weight: 300;
}
.mini-cart-dropdown .bv-minicart .bv-minicart__info .quantity,
.mini-cart-dropdown .bv-minicart .bv-minicart__info .quantity .amount {
	font-size: 0.8125rem;
	font-weight: 300;
	line-height: 1.35;
	color: var(--bv-mc-muted);
}

.bv-minicart__side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.375rem;
	text-align: right;
}
.mini-cart-dropdown .bv-minicart .bv-minicart__line-total,
.mini-cart-dropdown .bv-minicart .bv-minicart__line-total .amount {
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.35;
	color: var(--bv-mc-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.mini-cart-dropdown .bv-minicart a.bv-minicart__remove {
	position: static;
	display: inline;
	width: auto;
	height: auto;
	padding: 0;
	border-radius: 0;
	border: 0;
	background: none;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.35;
	color: var(--bv-mc-muted) !important; /* WC: .woocommerce a.remove { color:red !important } */
	text-decoration: underline;
	text-underline-offset: 2px;
}
.mini-cart-dropdown .bv-minicart a.bv-minicart__remove:hover,
.mini-cart-dropdown .bv-minicart a.bv-minicart__remove:focus-visible {
	background: none;
	color: var(--bv-mc-ink) !important; /* WC: .woocommerce a.remove:hover { color:#fff !important } */
}
/* Riga in rimozione (WC aggiunge il blockUI sul widget) */
.bv-minicart .blockUI.blockOverlay {
	background: rgba(255, 255, 255, 0.7) !important;
}

.bv-minicart__foot {
	padding: 0.875rem 1.25rem 1.25rem;
	border-top: 1px solid var(--bv-mc-line);
	background: #fafafa;
	border-radius: 0 0 4px 4px;
}
.mini-cart-dropdown .bv-minicart .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 0.875rem;
	font-weight: 400;
}
.mini-cart-dropdown .bv-minicart .woocommerce-mini-cart__total strong {
	font-weight: 500;
}
.mini-cart-dropdown .bv-minicart .woocommerce-mini-cart__total .amount {
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--bv-mc-ink);
	font-variant-numeric: tabular-nums;
}
.mini-cart-dropdown .bv-minicart .bonvini-fsb--mini {
	margin: 0 0 1rem;
}

/* Pulsanti: secondario a filo (Visualizza carrello), primario pieno (Pagamento), affiancati */
.mini-cart-dropdown .bv-minicart p.woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.625rem;
	margin: 0;
}
.mini-cart-dropdown .bv-minicart p.woocommerce-mini-cart__buttons a,
.mini-cart-dropdown .bv-minicart p.woocommerce-mini-cart__buttons a:first-child {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--bv-mc-accent);
	border-radius: 3px;
	background: #fff;
	color: var(--bv-mc-accent);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}
.mini-cart-dropdown .bv-minicart p.woocommerce-mini-cart__buttons a.checkout {
	background: var(--bv-mc-accent);
	color: #fff;
	font-weight: 500;
}
.mini-cart-dropdown .bv-minicart p.woocommerce-mini-cart__buttons a:hover {
	background: #f1f7f3;
}
.mini-cart-dropdown .bv-minicart p.woocommerce-mini-cart__buttons a.checkout:hover {
	background: #57996d;
	border-color: #57996d;
}
.mini-cart-dropdown .bv-minicart a:focus-visible {
	outline: 2px solid var(--bv-mc-ink);
	outline-offset: 2px;
}

/* Stato vuoto */
.bv-minicart__empty {
	padding: 1.25rem;
}
.mini-cart-dropdown .bv-minicart .woocommerce-mini-cart__empty-message {
	margin: 0 0 0.5rem;
	color: var(--bv-mc-ink);
}
.mini-cart-dropdown .bv-minicart a.bv-minicart__shop-link {
	color: var(--bv-mc-accent);
	font-weight: 500;
}

@media (prefers-reduced-motion: reduce) {
	.bv-minicart * {
		transition: none !important;
	}
}


/* =====================================================================
   Sezione 6 (2026-10-05): carrello, prodotti venduti singolarmente.
   Stesso campo quantità degli altri (sola lettura, valore 1) e +/- nascosti.
   Da md in su i +/- restano come segnaposto invisibili, così il campo è
   allineato a quello delle altre righe; sotto md spariscono.
   Markup: woocommerce/cart/cart.php (.quantity--fixed, .is-placeholder).
   ===================================================================== */
.woocommerce-cart-form .wc-bonvini-add-to-cart-minus.is-placeholder,
.woocommerce-cart-form .wc-bonvini-add-to-cart-plus.is-placeholder {
	visibility: hidden;
}
@media (max-width: 767.98px) {
	.woocommerce-cart-form .wc-bonvini-add-to-cart-minus.is-placeholder,
	.woocommerce-cart-form .wc-bonvini-add-to-cart-plus.is-placeholder {
		display: none;
	}
}
/* Campo con bordo su 4 lati: senza +/- accanto non ha bordi laterali in prestito */
.woocommerce-cart-form .quantity--fixed .input-text.qty.text {
	border: 1px solid #000;
	cursor: default;
	-moz-appearance: textfield;
	appearance: textfield;
}
.woocommerce-cart-form .quantity--fixed .input-text.qty.text::-webkit-inner-spin-button,
.woocommerce-cart-form .quantity--fixed .input-text.qty.text::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}


/* =====================================================================
   Sezione 7 (2026-10-05): focus da tastiera sempre visibile (WCAG 2.4.7).
   style.css e il CSS inline del carrello tolgono l'outline a hamburger, +/-,
   quantità, coupon, ricerca e pulsanti: qui torna, solo con la tastiera
   (:focus-visible non scatta al clic del mouse). Doppio anello scuro/bianco
   per essere visibile sia su fondo chiaro sia sull'header scuro della home.
   !important necessario: le regole che azzerano l'outline hanno specificità
   più alta e coprono anche lo stato :focus.
   ===================================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid #212529 !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px #fff !important;
}


/* =====================================================================
   Sezione 8 (2026-10-05): pannello di ricerca nell'header della home
   (template-parts/header/search-panel.php, modificatore "home"). Sta dentro l'header sticky, quindi
   compare sotto il menu anche dopo lo scroll; niente margini negativi.
   ===================================================================== */
body .bonvini-search-container.bonvini-search-container--home {
	margin-bottom: 0;
}
body .bonvini-search-container.bonvini-search-container--home > .container {
	margin-top: 0;
}


/* =====================================================================
   Sezione 9 (2026-10-05): header e footer, ex <style> inline in header.php,
   nel vecchio header della home e in footer.php (contenuto invariato).
   ===================================================================== */
@media (min-width: 992px) {
	.sticky-lg-top {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 1020;
	}

	.mobile-background {
		display: none;
	}
}

/* Header della home: con il menu mobile aperto lo sfondo è bianco e si vede il logo positivo. */
body.home.hover-fixed #masthead {
	background-color: white !important;
}
.positive-logo {
	display: none;
}

.cmplz-show-banner {
	cursor: pointer;
}


/* =====================================================================
   Sezione 10 (2026-10): stili prima inline nei template.
   ===================================================================== */

/* Scheda prodotto, "Informazioni aggiuntive": titolo del campo ACF
   (ex style="" in woocommerce/single-product/tabs/additional-information.php;
   !important per conservare la precedenza dello stile inline). */
.bonvini-product-additional-infos .bonvini-product-additional-infos__title {
	text-transform: uppercase !important;
	color: #808080 !important;
	font-weight: 300 !important;
}

/* Template "Shop page" (shop-page.php): cuore della wishlist sulle card e riquadri
   "In evidenza" con velatura (ex <style> inline nel template, stesse regole, limitate
   al template come prima). */
.page-template-shop-page .tinv-wraper.woocommerce.tinv-wishlist.tinvwl-shortcode-add-to-cart {
	position: absolute;
	z-index: 10;
	margin: 0;
	top: 10px;
	left: 10px;
}
.page-template-shop-page .link-evidenza-container {
	position: relative;
	line-height: 1;
}
.page-template-shop-page .overlayer {
	position: absolute;
	height: 100%;
	width: 100%;
	background-image: url("../images/layer_r.png");
	background-size: cover;
}
.page-template-shop-page .link-evidenza-container:hover .overlayer {
	background-image: none;
}
.page-template-shop-page .link-sezione-evidenza-container.text-center {
	z-index: 9;
}


/* =====================================================================
   Sezione 11 (2026-10): un solo h1 per pagina. Titoli che erano h1 e ora sono h2,
   con lo stesso aspetto (h1 del tema: 32px, interlinea 1.2, 10px sotto).
   ===================================================================== */
h2.bv-h1 {
	font-size: 32px;
	line-height: 1.2;
	padding-bottom: 10px;
}
.page-template-shop-page h2.bv-h1 {
	font-weight: 500;
}
/* Mostra in evidenza (template-parts/content-mostra.php): come h1.entry-title */
h2.entry-title.bv-h1-entry {
	font-size: 1.31rem;
	line-height: 1.2;
	padding: 0 0 10px;
	font-weight: 600;
	text-transform: none;
}


/* =====================================================================
   Sezione 12 (2026-10): comandi del menu diventati <button> (accessibili da
   tastiera e con un nome per i lettori di schermo), con l'aspetto di prima.
   ===================================================================== */
.menu-item.search .bonvini-search-toggle,
.bonvini-mobile-search-toggle,
button.mobile-dropdown-toggle {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	line-height: inherit;
	text-align: inherit;
	cursor: pointer;
}
/* Ricerca nel menu mobile (bonvini-core): tutta la cella è cliccabile, come prima */
.bonvini-mobile-search-toggle {
	width: 100%;
}
/* Sottomenu nel menu mobile: il pulsante non occupa spazio (come lo <span> vuoto di prima),
   il "+" (::after) ha un'area di tocco di circa 44×44 px senza spostarsi */
button.mobile-dropdown-toggle {
	width: 100%;
	height: 0;
	overflow: visible;
}
@media (max-width: 1200px) {
	button.mobile-dropdown-toggle::after {
		padding: 14px 17px;
		margin: -14px -17px 0 0;
	}
}


/* =====================================================================
   Sezione 13 (2026-10): mobile e tocco.
   ===================================================================== */
/* Newsletter (Mailchimp) nel footer: sotto i 16 px iPhone ingrandisce la pagina al tocco */
@media (max-width: 767.98px) {
	#mc_embed_signup input[type="email"],
	#mce-EMAIL {
		font-size: 16px;
	}
}
/* Carrello: la X per rimuovere un prodotto resta di 27 px, l'area di tocco arriva a 45 px */
.woocommerce .cart a.remove {
	position: relative;
}
.woocommerce .cart a.remove::after {
	content: "";
	position: absolute;
	top: -9px;
	right: -9px;
	bottom: -9px;
	left: -9px;
}
/* Logo e icone dell'header hanno width/height (spazio riservato prima del caricamento):
   l'altezza resta quella del CSS, la larghezza segue le proporzioni (senza questa regola
   l'attributo width varrebbe come larghezza fissa e deformerebbe le immagini) */
.navbar-brand img,
img.cart-badge-image,
img.wishlist-image {
	width: auto;
}

/* ==========================================================================
   Sezione 14 (2026-10-19): reCAPTCHA.
   Badge nascosto; al suo posto la dicitura di Google nel footer del tema e del
   checkout (bonvini_theme_recaptcha_notice(), inc/template-functions.php).
   ========================================================================== */
.grecaptcha-badge {
	visibility: hidden !important;
}
.bv-recaptcha-notice {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	opacity: 0.8;
}
.bv-recaptcha-notice a {
	color: inherit;
	text-decoration: underline;
}
.bv-recaptcha-notice--checkout {
	padding: 1rem 0;
	text-align: center;
}
