/**
 * Theme Name:     Nextawards Child
 * Author:         Andrea Marchetti
 * Template:       nextawards
 * Text Domain:	   Nextawards Child
 * Description:    Responsive Starter WordPress Theme (WooCommerce Ready) with: Minimal Style, 4 Header Style, 2 Menus, 11 Amazing Block Patterns, Trasparent Header Template, WhatsApp Chat, Cool animations, Light and fast, Full Site Editing Template! Inspired by Awards Winning Web Sites. Correct setup and installation in theme folder readme file ;)
 */

/* ------------------------------------------------------------------------- *
/* Footer Box di Natale
/* ------------------------------------------------------------------------- */

/*
 * L'area widget "Footer" del parent theme avvolge ogni widget in un
 * wrapper fisso a col-33 (33% di larghezza, pensato per 3 widget
 * affiancati). Il footer usa un solo widget a blocchi per tutte le
 * colonne, quindi va forzato a piena larghezza: il contenitore che lo
 * ospita (.grid) è già a max-width:1400px, lo stesso sistema di
 * container riusato qui in tutto il footer.
 */
.footer-content .footer-container .grid > .col-33.widget_block {
	width: 100%;
}

.footer-content {
	padding-top: 40px;
	padding-bottom: 24px;
}

.footer-content hr {
	border-color: rgba(255, 255, 255, 0.2);
}

.footer-content a {
	color: #ffffff;
	text-decoration: none;
}

.footer-content a:hover {
	text-decoration: underline;
}

.footer-content .bdn-footer .wp-block-social-link {
	background: transparent;
}

.footer-content .bdn-footer-bottom {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	align-items: center;
}

.footer-content .bdn-footer-bottom p {
	color: #f9ece6;
	font-size: 0.85em;
	margin: 0;
}

/* Tablet: 4 colonne troppo compresse tra 769px e 1024px -> 2 + 2 */
@media (min-width: 783px) and (max-width: 1024px) {
	.footer-content .bdn-footer .wp-block-columns {
		flex-wrap: wrap;
	}
	.footer-content .bdn-footer .wp-block-column {
		flex-basis: 50% !important;
		margin-bottom: var(--wp--preset--spacing--40, 24px);
	}
}

/* Mobile: il core Gutenberg impila già le colonne sotto 782px */
@media (max-width: 768px) {
	.footer-content .bdn-footer .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ------------------------------------------------------------------------- *
/* Pagina Domande frequenti (scope: body.page-id-2297)
/* ------------------------------------------------------------------------- */

/*
 * L'header è fisso (position:fixed) e alto ~138px (topbar + nav):
 * senza scroll-margin-top il salto da anchor nasconderebbe il
 * titolo della categoria sotto l'header. Regola generica, utile
 * a qualunque futura pagina con anchor verso un h2.
 */
h2[id] {
	scroll-margin-top: 160px;
}

/*
 * Il template "Contained No Title" (condiviso anche da altre pagine,
 * es. Contatti) contena il contenuto in .col-70 (70% di .grid,
 * max-width:1400px). Per la sola pagina FAQ la sezione richiede una
 * larghezza maggiore: si allarga .col-70 SOLO qui, tramite lo scope
 * sul body class della pagina, cosi le altre pagine che usano lo
 * stesso template restano invariate. Su tablet/mobile il tema ha
 * gia le sue regole (.tab-90 e [class*='col-']{width:100%}), qui si
 * tocca solo il desktop.
 */
@media (min-width: 992px) {
	body.page-id-2297 .col-70 {
		width: 90%;
		max-width: 1400px;
	}
}

/*
 * Markup nativo Gutenberg: card categoria/FAQ sono blocchi Group,
 * le icone sono blocchi "Font Awesome Icon" (font-awesome/icon,
 * SVG inline con fill:currentColor — vanno dimensionate via CSS
 * perché il blocco non porta con sé uno stylesheet frontend), gli
 * accordion sono blocchi core/accordion. Tutto lo scoping avviene
 * tramite le className assegnate ai singoli blocchi (faq-cat-grid,
 * faq-cat-card, faq-grid, faq-card, faq-list...), quindi non tocca
 * nessun'altra pagina.
 */

/* --- 6 card di navigazione categoria --- */

.faq-cat-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 var(--wp--preset--spacing--60, 48px);
}

/*
 * Il blocco Group senza layout esplicito riceve da WordPress la
 * classe "is-layout-flow", che porta con sé la regola globale
 * ":root :where(.is-layout-flow) > * { margin-block: 24px 0 }" con
 * eccezione solo per :first-child. Questa regola è pensata per uno
 * stack verticale (flow) e non si annulla da sola quando il
 * contenitore viene reso a griglia via CSS: va neutralizzata qui,
 * in modo identico per tutte le card, cosi' e' la sola "gap" della
 * griglia a governare la spaziatura.
 */
.faq-cat-grid > .faq-cat-card,
.faq-grid > .faq-card {
	margin-block: 0;
}

.faq-cat-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #ffffff;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	padding: 22px 12px;
	text-align: center;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.faq-cat-card:hover,
.faq-cat-card:focus-within {
	border-color: #E02F2F;
	box-shadow: 0 8px 20px rgba(23, 23, 23, 0.08);
	transform: translateY(-2px);
}

.faq-cat-card__icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fcece6;
	margin: 0;
}

.faq-cat-card__icon img {
	width: 22px;
	height: 22px;
	display: block;
}

.faq-cat-card__label {
	margin: 0;
	color: #171717;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
}

/* Card intera cliccabile: il link copre l'area della card (stretched link) */
.faq-cat-card__label a {
	color: inherit;
	text-decoration: none;
}

.faq-cat-card__label a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.faq-cat-card__label a:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 2px;
}

/* --- griglia delle 6 card FAQ (categoria + accordion) --- */

.faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

.faq-card {
	background: #ffffff;
	border: 1px solid #d9d2ce;
	border-radius: 16px;
	padding: 28px;
}

.faq-card__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 8px;
}

.faq-card__icon {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fcece6;
	margin: 0;
}

.faq-card__icon img {
	width: 18px;
	height: 18px;
	display: block;
}

.faq-card__title {
	margin: 0;
	font-size: 20px;
	color: #171717;
}

/*
 * Accordion nativo (core/accordion): stessa presentazione
 * dell'implementazione precedente, ma applicata alle classi che il
 * blocco core genera davvero, scoped su .faq-list per non toccare
 * eventuali altri accordion del tema.
 */

.faq-list {
	margin-top: 4px;
}

.faq-list .wp-block-accordion-item {
	border-bottom: 1px solid #d9d2ce;
}

.faq-list .wp-block-accordion-item:last-child {
	border-bottom: none;
}

.faq-list .wp-block-accordion-heading {
	margin: 0;
}

.faq-list .wp-block-accordion-heading__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 14px 4px;
	background: none;
	border: none;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #171717;
}

.faq-list .wp-block-accordion-heading__toggle-icon {
	flex: 0 0 auto;
	font-size: 20px;
	font-weight: 400;
	color: #CC2929;
	transition: transform 0.2s ease;
}

.faq-list .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon,
.faq-list [aria-expanded="true"] .wp-block-accordion-heading__toggle-icon {
	transform: rotate(45deg);
}

.faq-list .wp-block-accordion-heading__toggle:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: -2px;
	border-radius: 4px;
}

.faq-list .wp-block-accordion-panel {
	padding: 0 4px 16px;
}

.faq-list .wp-block-accordion-panel p {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
	color: #222222;
}

/* --- responsive --- */

@media (max-width: 1024px) {
	.faq-cat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.faq-cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.faq-cat-card {
		padding: 16px 10px;
	}
	.faq-cat-card__label {
		font-size: 13px;
	}
	.faq-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.faq-card {
		padding: 20px;
	}
}

/* ------------------------------------------------------------------------- *
/* Pagina Condizioni di vendita (scope: classi cdv-*)
/* ------------------------------------------------------------------------- */

/*
 * Documento di lettura: colonna centrata, non full-width, per favorire
 * la leggibilità. Il template "Contained No Title" (.col-70) resta
 * invariato, questa larghezza si applica solo al contenuto interno.
 */
.cdv-doc {
	max-width: 760px;
	margin: 0 auto;
	padding: 96px 0 16px;
}

.cdv-hero {
	margin-bottom: 32px;
}

.cdv-eyebrow {
	margin: 0 0 8px;
	color: #CC2929;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cdv-hero h1 {
	margin: 0 0 12px;
	color: #171717;
}

.cdv-hero > p:not(.cdv-eyebrow) {
	margin: 0;
	color: #222222;
	font-size: 16px;
	line-height: 1.6;
}

.cdv-index {
	background: #fcece6;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	padding: 24px 28px;
	margin-bottom: 40px;
}

.cdv-index__title {
	margin: 0 0 12px;
	font-size: 16px;
	color: #171717;
}

.cdv-index ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 24px;
}

.cdv-index li {
	margin: 0;
}

.cdv-index a {
	color: #1b4332;
	text-decoration: none;
	font-size: 14.5px;
	line-height: 1.5;
}

.cdv-index a:hover,
.cdv-index a:focus-visible {
	text-decoration: underline;
}

.cdv-sep {
	border-color: #d9d2ce;
	margin: 0 0 8px;
}

/*
 * Group senza layout esplicito riceve da WordPress la classe
 * "is-layout-flow" (regola globale ":root :where(.is-layout-flow) > *
 * { margin-block: 24px 0 }"): qui il documento è comunque un flusso
 * verticale, quindi quella spaziatura va bene com'è e non viene
 * toccata. Si normalizzano solo lo spazio tra le sezioni e i titoli.
 */
.cdv-section {
	margin: 0 0 36px;
}

.cdv-section h2 {
	margin: 0 0 14px;
	color: #171717;
	font-size: 22px;
}

.cdv-section p {
	margin: 0 0 14px;
	color: #222222;
	font-size: 15.5px;
	line-height: 1.7;
}

.cdv-section p:last-child {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.cdv-doc {
		padding: 80px 0 8px;
	}
	.cdv-index {
		padding: 18px 18px;
	}
	.cdv-index ul {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------------- *
/* Shop WooCommerce (Shop + archivi categoria prodotto)
/* Scope: body.woocommerce-shop, body.tax-product_cat
/* ------------------------------------------------------------------------- */

/*
 * Gerarchia reale dentro .col-100.woocommerce-content (aperto dal parent,
 * invariato): NON esiste un #primary/#secondary. Il tema chiama
 * woocommerce_content() direttamente (vedi nextawards/woocommerce.php),
 * funzione che produce elementi fratelli allo stesso livello, nell'ordine:
 * h1.page-title (soppresso su Shop/categoria via woocommerce_show_page_title),
 * woocommerce_archive_description (qui iniettiamo .shop-header e .shop-sidebar
 * + .shop-sidebar__backdrop, priorità 5/6, prima dell'eventuale descrizione
 * nativa di categoria a priorità 10), .shop-toolbar (nostro wrapper),
 * ul.products, nav.woocommerce-pagination. Si usa CSS Grid con selettori
 * mirati sui singoli figli reali (non un'unica regola indiscriminata),
 * cosi' l'header resta full width in riga 1 e solo sidebar+contenuto
 * formano le due colonne nelle righe successive, indipendentemente
 * dall'ordine con cui compaiono nel DOM.
 */
body.woocommerce-shop .col-100.woocommerce-content,
body.tax-product_cat .col-100.woocommerce-content {
	display: block;
}

@media (min-width: 1200px) {
	body.woocommerce-shop .col-100.woocommerce-content,
	body.tax-product_cat .col-100.woocommerce-content {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		column-gap: 48px;
		align-items: start;
	}

	body.woocommerce-shop .col-100.woocommerce-content > .shop-header,
	body.tax-product_cat .col-100.woocommerce-content > .shop-header {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	body.woocommerce-shop .col-100.woocommerce-content > .shop-sidebar,
	body.tax-product_cat .col-100.woocommerce-content > .shop-sidebar {
		grid-column: 1;
	}

	/*
	 * .shop-body avvolge notices + toolbar + ul.products + paginazione
	 * (vedi bdn_shop_body_open/close in functions.php): un solo item di
	 * griglia in colonna 2, altezza naturale, nessuna dipendenza da righe
	 * implicite a campata variabile.
	 */
	body.woocommerce-shop .col-100.woocommerce-content > .shop-body,
	body.tax-product_cat .col-100.woocommerce-content > .shop-body {
		grid-column: 2;
		min-width: 0;
	}

	body.woocommerce-shop .col-100.woocommerce-content > .term-description,
	body.tax-product_cat .col-100.woocommerce-content > .term-description,
	body.tax-product_cat .col-100.woocommerce-content > .bdn-cat-story {
		grid-column: 1 / -1;
	}
}

/* --- Header Shop (eyebrow + H1 + intro), stesso linguaggio delle altre pagine --- */

.shop-header {
	padding: 96px 0 28px;
	max-width: 760px;
}

.shop-header__eyebrow {
	margin: 0 0 8px;
	color: #CC2929;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/*
 * Il parent theme nasconde con ".woocommerce-shop h1{display:none}"
 * l'H1 nativo sulla sola pagina Shop (nextawards/style.css, non
 * modificabile): la regola sotto lo riguarda anche il nostro H1
 * editoriale, va quindi ripristinato qui con selettore più specifico
 * (2 classi contro 1 classe+elemento), senza !important.
 */
body.woocommerce-shop .shop-header__title {
	display: block;
}

.shop-header__title {
	margin: 0 0 10px;
	color: #171717;
}

.shop-header__intro {
	margin: 0;
	color: #222222;
	font-size: 16px;
	line-height: 1.6;
	max-width: 640px;
}

/* --- Sidebar filtri --- */

.shop-sidebar {
	font-size: 14.5px;
}

.shop-sidebar__eyebrow {
	margin: 0 0 16px;
	color: #171717;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.shop-sidebar__drawer-header {
	display: none;
}

/*
 * I Group senza layout esplicito ricevono da WordPress "is-layout-flow"
 * (margin-block automatico tra i figli): qui la sidebar è un flusso
 * verticale naturale, quindi va bene cosi' com'è, nessuna correzione
 * necessaria (a differenza dei casi in cui il contenitore diventa una
 * grid). Lo spazio tra i gruppi filtro/separatori è comunque esplicito
 * qui sotto per coerenza visiva.
 */
.shop-filter-group {
	margin: 0 0 4px;
}

.shop-filter-group__title {
	margin: 0 0 12px;
	color: #171717;
	font-size: 15px;
	font-weight: 700;
}

.shop-sidebar__sep {
	border-color: #d9d2ce;
	margin: 20px 0;
}

.wp-block-woocommerce-product-filters {
	display: flex;
	flex-direction: column;
}

/*
 * Filtro Prezzo (woocommerce/product-filter-price-slider). Markup reale
 * (WooCommerce 11.1.2, verificato nel DOM e in
 * assets/client/blocks/woocommerce/product-filter-price-slider-style.css):
 * .__content = grid ("price-slider" sopra, campi min/max sotto: __left a
 * sinistra, __right a destra) > .__range con
 *   - ::before  = track totale (usa --range-color con opacity .3)
 *   - .range-bar = tratto attivo: gradient guidato da --low/--high (%)
 *     impostati da WooCommerce, colorato con --range-color
 *   - input[type=range].min / .max = maniglie (pointer-events solo sul thumb)
 * Non si sovrascrive il layout né il gradient: si impostano le variabili
 * previste dal blocco e si ridisegna solo il track base e il thumb.
 */
.wc-block-product-filter-price-slider__range {
	--range-color: #E02F2F;
	--wc-product-filter-price-slider-handle: #fff;
	--wc-product-filter-price-slider-handle-border: #E02F2F;
	margin: 18px 6px 14px;
}

.wc-block-product-filter-price-slider__range::before {
	background: #d9d2ce;
	opacity: 1;
	border-radius: 4px;
}

.wc-block-product-filter-price-slider__range .range-bar {
	border-radius: 4px;
}

.wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb {
	width: 12px;
	height: 12px;
	margin: -7px 0 0;
	box-shadow: 0 1px 3px rgba(23, 23, 23, 0.18);
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb {
	width: 12px;
	height: 12px;
	box-shadow: 0 1px 3px rgba(23, 23, 23, 0.18);
}

.wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb:hover {
	background: #fcece6;
	border-color: #E02F2F;
	transform: scale(1.1);
}

.wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 4px rgba(239, 52, 52, 0.25);
}

.wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 4px rgba(239, 52, 52, 0.25);
}

.wc-block-product-filter-price-slider__left input,
.wc-block-product-filter-price-slider__right input {
	width: 78px;
	min-height: 36px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	padding: 6px 10px;
	font-size: 13.5px;
	color: #171717;
	background: #fff;
	text-align: center;
	box-shadow: none;
}

.wc-block-product-filter-price-slider__left input:focus-visible,
.wc-block-product-filter-price-slider__right input:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 1px;
	border-color: #E02F2F;
}

/*
 * Lista categorie (woocommerce/product-filter-checkbox-list). Il blocco
 * genera un <fieldset><legend>...</legend><div class="…__items">…</div>
 * </fieldset>: senza reset il <fieldset> nativo del browser mostra il
 * bordo/padding di default (era la causa del "riquadro stile select"
 * segnalato). Il <legend> è già .screen-reader-text (nascosto in modo
 * accessibile), il titolo visibile è il nostro H3 "Categorie" sopra.
 */
.wp-block-woocommerce-product-filter-taxonomy fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.wc-block-product-filter-checkbox-list__items {
	display: flex;
	flex-direction: column;
}

.wc-block-product-filter-checkbox-list__item {
	border: 0;
}

.wc-block-product-filter-checkbox-list__label {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 8px 6px;
	margin: 0 -6px;
	border-radius: 6px;
	color: #171717;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.wc-block-product-filter-checkbox-list__label:hover {
	background: #fcece6;
}

.wc-block-product-filter-checkbox-list__input-wrapper {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.wc-block-product-filter-checkbox-list__input {
	accent-color: #E02F2F;
	width: 17px;
	height: 17px;
	margin: 0;
	cursor: pointer;
}

.wc-block-product-filter-checkbox-list__input:focus-visible,
.shop-sidebar a:focus-visible,
.shop-sidebar button:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 2px;
}

.wc-block-product-filter-checkbox-list__text-wrapper {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.wc-block-product-filter-checkbox-list__text {
	font-size: 14.5px;
	color: #171717;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wc-block-product-filter-checkbox-list__count {
	flex: 0 0 auto;
	font-size: 13px;
	color: #222222;
}

.wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__input:checked) .wc-block-product-filter-checkbox-list__text {
	font-weight: 700;
}

/*
 * Filtri attivi (chip rimovibili + azzera): il blocco
 * woocommerce/product-filter-active imposta da sé [hidden] e la classe
 * "wc-block-product-filter--hidden" quando non ci sono filtri attivi
 * (verificato nel DOM). Si usa :has() per nascondere anche il titolo
 * "Filtri attivi" e il separatore sopra, senza riservare spazio vuoto
 * e senza duplicare la logica di WooCommerce.
 */
.shop-sidebar__sep--active:has(+ .shop-filter-group--active .wc-block-product-filter--hidden),
.shop-filter-group--active:has(.wc-block-product-filter--hidden) {
	display: none;
}

.wp-block-woocommerce-product-filter-active {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.wc-block-product-filter-removable-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wc-block-product-filter-removable-chips__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fcece6;
	border: 1px solid #d9d2ce;
	border-radius: 100px;
	padding: 5px 6px 5px 12px;
	font-size: 13px;
	color: #171717;
}

.wc-block-product-filter-removable-chips__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 0;
	background: transparent;
	color: #171717;
	cursor: pointer;
	border-radius: 50%;
}

.wc-block-product-filter-removable-chips__remove:hover,
.wc-block-product-filter-removable-chips__remove:focus-visible {
	background: #E02F2F;
	color: #fff;
	outline: none;
}

.wc-block-product-filter-removable-chips__remove-icon {
	width: 14px;
	height: 14px;
}

.shop-clear-btn a,
.shop-clear-btn .wp-block-button__link {
	border-color: #d9d2ce !important;
	color: #171717 !important;
	font-size: 13px;
	padding: 6px 14px !important;
	border-radius: 100px;
}

.shop-clear-btn a:hover,
.shop-clear-btn .wp-block-button__link:hover {
	border-color: #E02F2F !important;
	color: #CC2929 !important;
}

/* --- Toolbar prodotti (risultati + ordinamento) --- */

.shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	column-gap: 16px;
	row-gap: 10px;
	padding: 16px 0;
	margin-bottom: 24px;
	border-bottom: 1px solid #d9d2ce;
}

.shop-toolbar .woocommerce-result-count {
	margin: 0;
	order: 3;
	color: #222222;
	font-size: 14px;
	flex: 0 0 100%;
}

.shop-toolbar .woocommerce-ordering {
	margin: 0;
	order: 2;
}

.shop-toolbar .woocommerce-ordering select {
	border: 1px solid #d9d2ce;
	border-radius: 100px;
	padding: 10px 16px;
	font-size: 14px;
	color: #171717;
	background-color: #fff;
	min-height: 44px;
}

.shop-toolbar .woocommerce-ordering select:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 2px;
}

.shop-toolbar__mobile-actions {
	order: 1;
	display: flex;
	gap: 10px;
}

.shop-filters-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	background: #1b4332;
	color: #fff;
	border: none;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.shop-filters-toggle:hover,
.shop-filters-toggle:focus-visible {
	background: #163a29;
}

.shop-filters-toggle:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 2px;
}

@media (min-width: 1200px) {
	.shop-toolbar {
		flex-wrap: nowrap;
	}
	.shop-toolbar .woocommerce-result-count {
		order: 1;
		flex: 0 1 auto;
	}
	.shop-toolbar .woocommerce-ordering {
		order: 2;
		margin-left: auto;
	}
	.shop-toolbar__mobile-actions {
		display: none;
	}
}

@media (max-width: 1199px) {
	.shop-toolbar__mobile-actions {
		flex: 1 1 48%;
	}
	.shop-toolbar .woocommerce-ordering {
		flex: 1 1 48%;
	}
	.shop-toolbar .woocommerce-ordering select {
		width: 100%;
	}
}

/* --- Griglia prodotti: da float legacy a CSS Grid, rispetta columns-N di WooCommerce --- */

/*
 * Il numero di colonne arriva dalla classe generata da WooCommerce
 * (ul.products.columns-N, impostata in Personalizza > WooCommerce): qui
 * viene solo tradotto in variabile. Sotto i breakpoint la variabile
 * scende per non comprimere le card (area prodotti ≈ 1064px con sidebar).
 */
body.woocommerce-shop .col-100.woocommerce-content ul.products,
body.single-product .col-100.woocommerce-content section.related ul.products,
body.tax-product_cat .col-100.woocommerce-content ul.products,
.bdn-bisco-grid ul.products,
.bdn-scalducci-grid ul.products {
	--bdn-cols: 4;
	display: grid;
	grid-template-columns: repeat(var(--bdn-cols), minmax(0, 1fr));
	column-gap: 24px;
	row-gap: 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products.columns-1,
body.tax-product_cat .col-100.woocommerce-content ul.products.columns-1 { --bdn-cols: 1; }
body.woocommerce-shop .col-100.woocommerce-content ul.products.columns-2,
body.tax-product_cat .col-100.woocommerce-content ul.products.columns-2 { --bdn-cols: 2; }
body.woocommerce-shop .col-100.woocommerce-content ul.products.columns-3,
body.tax-product_cat .col-100.woocommerce-content ul.products.columns-3 { --bdn-cols: 3; }
body.woocommerce-shop .col-100.woocommerce-content ul.products.columns-4,
body.tax-product_cat .col-100.woocommerce-content ul.products.columns-4 { --bdn-cols: 4; }

/*
 * CAUSA delle celle vuote (già diagnosticata): il clearfix legacy
 * ul.products::before/::after (content:" "; display:table) diventa grid item.
 */
body.woocommerce-shop .col-100.woocommerce-content ul.products::before,
body.single-product .col-100.woocommerce-content section.related ul.products::before,
body.tax-product_cat .col-100.woocommerce-content ul.products::before,
.bdn-bisco-grid ul.products::before,
.bdn-scalducci-grid ul.products::before,
body.woocommerce-shop .col-100.woocommerce-content ul.products::after,
body.single-product .col-100.woocommerce-content section.related ul.products::after,
body.tax-product_cat .col-100.woocommerce-content ul.products::after,
.bdn-bisco-grid ul.products::after,
.bdn-scalducci-grid ul.products::after {
	content: none;
	display: none;
}

/* --- Product card: aperta, gerarchia stabile (immagine, categoria, titolo, prezzo, CTA) --- */

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product,
body.single-product .col-100.woocommerce-content section.related ul.products li.product,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product,
.bdn-bisco-grid ul.products li.product,
.bdn-scalducci-grid ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	text-align: left;
	background: transparent;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .woocommerce-LoopProduct-link,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .woocommerce-LoopProduct-link,
.bdn-bisco-grid ul.products li.product .woocommerce-LoopProduct-link,
.bdn-scalducci-grid ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: #171717;
	text-decoration: none;
}

.bdn-card__media {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 14px;
	background: #f3e3dc;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .bdn-card__media img,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .bdn-card__media img,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .bdn-card__media img,
.bdn-bisco-grid ul.products li.product .bdn-card__media img,
.bdn-scalducci-grid ul.products li.product .bdn-card__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	transition: transform 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products li.product:hover .bdn-card__media img,
	body.single-product .col-100.woocommerce-content section.related ul.products li.product:hover .bdn-card__media img,
	body.tax-product_cat .col-100.woocommerce-content ul.products li.product:hover .bdn-card__media img,
	.bdn-bisco-grid ul.products li.product:hover .bdn-card__media img,
	.bdn-scalducci-grid ul.products li.product:hover .bdn-card__media img {
		transform: scale(1.03);
	}
}

/* Badge offerta: solo presentazione del sale flash nativo */
body.woocommerce-shop .col-100.woocommerce-content ul.products li.product span.onsale,
body.single-product .col-100.woocommerce-content section.related ul.products li.product span.onsale,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product span.onsale,
.bdn-bisco-grid ul.products li.product span.onsale,
.bdn-scalducci-grid ul.products li.product span.onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	right: auto;
	z-index: 2;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 4px 10px;
	border-radius: 6px;
	background: #E02F2F;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-family: inherit;
}

.bdn-card__cat {
	display: block;
	margin: 0 0 6px;
	color: #1b4332;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .woocommerce-loop-product__title,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .woocommerce-loop-product__title,
.bdn-bisco-grid ul.products li.product .woocommerce-loop-product__title,
.bdn-scalducci-grid ul.products li.product .woocommerce-loop-product__title {
	flex: 1 1 auto;
	margin: 0 0 10px;
	padding: 0;
	color: #171717;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
.bdn-bisco-grid ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
.bdn-scalducci-grid ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
	text-decoration: underline;
	text-decoration-color: #E02F2F;
	text-underline-offset: 3px;
}

.woocommerce-LoopProduct-link:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 4px;
	border-radius: 6px;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .price,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .price,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .price,
.bdn-bisco-grid ul.products li.product .price,
.bdn-scalducci-grid ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 0 0 14px;
	color: #171717;
	font-size: 17px;
	font-weight: 700;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .price del,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .price del,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .price del,
.bdn-bisco-grid ul.products li.product .price del,
.bdn-scalducci-grid ul.products li.product .price del {
	color: #222222;
	font-size: 14px;
	font-weight: 400;
	opacity: 1;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .price ins,
body.single-product .col-100.woocommerce-content section.related ul.products li.product .price ins,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product .price ins,
.bdn-bisco-grid ul.products li.product .price ins,
.bdn-scalducci-grid ul.products li.product .price ins {
	text-decoration: none;
	background: transparent;
	color: #171717;
}

/*
 * CTA nativa (a.add_to_cart_button, AJAX). Il parent la nasconde con
 * ".woocommerce ul.products li.product .button{display:none}" e colora
 * i .button con !important (inline in functions.php del parent): va
 * ripristinata con selettore più specifico e !important solo su
 * colori di sfondo/testo, gli unici in conflitto.
 */
body.woocommerce-shop .col-100.woocommerce-content ul.products li.product a.button,
body.single-product .col-100.woocommerce-content section.related ul.products li.product a.button,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product a.button,
.bdn-bisco-grid ul.products li.product a.button,
.bdn-scalducci-grid ul.products li.product a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: auto 0 0;
	min-height: 44px;
	padding: 10px 14px;
	border: 0;
	border-radius: 8px;
	background-color: #E02F2F !important;
	color: #fff !important;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product a.button:hover,
body.single-product .col-100.woocommerce-content section.related ul.products li.product a.button:hover,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product a.button:hover,
.bdn-bisco-grid ul.products li.product a.button:hover,
.bdn-scalducci-grid ul.products li.product a.button:hover {
	background-color: #d62a2a !important;
	color: #fff !important;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product a.button:focus-visible,
body.single-product .col-100.woocommerce-content section.related ul.products li.product a.button:focus-visible,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product a.button:focus-visible,
.bdn-bisco-grid ul.products li.product a.button:focus-visible,
.bdn-scalducci-grid ul.products li.product a.button:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product a.added_to_cart,
body.single-product .col-100.woocommerce-content section.related ul.products li.product a.added_to_cart,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product a.added_to_cart,
.bdn-bisco-grid ul.products li.product a.added_to_cart,
.bdn-scalducci-grid ul.products li.product a.added_to_cart {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 8px;
	color: #1b4332;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	text-decoration: underline;
}

/* Responsive: la variabile scende per non comprimere le card */
@media (max-width: 1359px) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products.products,
	body.single-product .col-100.woocommerce-content section.related ul.products.products,
	body.tax-product_cat .col-100.woocommerce-content ul.products.products,
	.bdn-bisco-grid ul.products.products,
	.bdn-scalducci-grid ul.products.products {
		--bdn-cols: 3;
	}
}

@media (max-width: 991px) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products.products,
	body.single-product .col-100.woocommerce-content section.related ul.products.products,
	body.tax-product_cat .col-100.woocommerce-content ul.products.products,
	.bdn-bisco-grid ul.products.products,
	.bdn-scalducci-grid ul.products.products {
		--bdn-cols: 3;
		column-gap: 20px;
		row-gap: 36px;
	}
}

@media (max-width: 767px) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products.products,
	body.single-product .col-100.woocommerce-content section.related ul.products.products,
	body.tax-product_cat .col-100.woocommerce-content ul.products.products,
	.bdn-bisco-grid ul.products.products,
	.bdn-scalducci-grid ul.products.products {
		--bdn-cols: 2;
		column-gap: 14px;
		row-gap: 30px;
	}
	.bdn-card__cat { font-size: 10.5px; }
	body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .woocommerce-loop-product__title,
	body.single-product .col-100.woocommerce-content section.related ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat .col-100.woocommerce-content ul.products li.product .woocommerce-loop-product__title,
	.bdn-bisco-grid ul.products li.product .woocommerce-loop-product__title,
	.bdn-scalducci-grid ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px;
	}
	body.woocommerce-shop .col-100.woocommerce-content ul.products li.product .price,
	body.single-product .col-100.woocommerce-content section.related ul.products li.product .price,
	body.tax-product_cat .col-100.woocommerce-content ul.products li.product .price,
	.bdn-bisco-grid ul.products li.product .price,
	.bdn-scalducci-grid ul.products li.product .price {
		font-size: 15px;
	}
	body.woocommerce-shop .col-100.woocommerce-content ul.products li.product a.button,
	body.single-product .col-100.woocommerce-content section.related ul.products li.product a.button,
	body.tax-product_cat .col-100.woocommerce-content ul.products li.product a.button,
	.bdn-bisco-grid ul.products li.product a.button,
	.bdn-scalducci-grid ul.products li.product a.button {
		font-size: 10px;
		letter-spacing: 0.03em;
		padding: 9px 6px;
	}
}

@media (max-width: 359px) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products.products,
	body.single-product .col-100.woocommerce-content section.related ul.products.products,
	body.tax-product_cat .col-100.woocommerce-content ul.products.products,
	.bdn-bisco-grid ul.products.products,
	.bdn-scalducci-grid ul.products.products {
		--bdn-cols: 1;
	}
}

/* --- Paginazione nativa: solo presentazione --- */

body.woocommerce-shop .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination {
	margin: 48px 0 0;
}

.shop-body {
	padding-bottom: 72px;
}

body.woocommerce-shop .woocommerce-pagination ul.page-numbers,
body.tax-product_cat .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

/* Stesso clearfix legacy (::before/::after) che diventa flex item e sposta il primo bottone */
body.woocommerce-shop .woocommerce-pagination ul.page-numbers::before,
body.tax-product_cat .woocommerce-pagination ul.page-numbers::before,
body.woocommerce-shop .woocommerce-pagination ul.page-numbers::after,
body.tax-product_cat .woocommerce-pagination ul.page-numbers::after {
	content: none;
	display: none;
}

body.woocommerce-shop .woocommerce-pagination ul.page-numbers li,
body.tax-product_cat .woocommerce-pagination ul.page-numbers li {
	float: none;
	margin: 0;
	border: 0;
	overflow: visible;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li .page-numbers,
body.tax-product_cat .woocommerce-pagination .page-numbers li .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	background: transparent;
	color: #171717;
	font-size: 14.5px;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li a.page-numbers:hover,
body.tax-product_cat .woocommerce-pagination .page-numbers li a.page-numbers:hover {
	background: #fcece6;
	border-color: #E02F2F;
	color: #171717;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li a.page-numbers:focus-visible,
body.tax-product_cat .woocommerce-pagination .page-numbers li a.page-numbers:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li span.page-numbers.current,
body.tax-product_cat .woocommerce-pagination .page-numbers li span.page-numbers.current {
	background: #E02F2F;
	border-color: #E02F2F;
	color: #fff;
	font-weight: 700;
}

/* --- Drawer/off-canvas filtri mobile (<1200px) --- */

@media (max-width: 1199px) {
	.shop-sidebar__drawer-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 18px 20px;
		border-bottom: 1px solid #d9d2ce;
	}

	.shop-sidebar__drawer-title {
		font-weight: 700;
		font-size: 15px;
		color: #171717;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.shop-sidebar__close {
		background: none;
		border: none;
		font-size: 26px;
		line-height: 1;
		color: #171717;
		cursor: pointer;
		padding: 4px 8px;
	}

	.shop-sidebar__close:hover,
	.shop-sidebar__close:focus-visible {
		color: #CC2929;
	}

	.shop-sidebar {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(320px, 88vw);
		background: #fff;
		z-index: 10000;
		transform: translateX(100%);
		transition: transform 0.25s ease;
		overflow-y: auto;
		box-shadow: -8px 0 24px rgba(23, 23, 23, 0.12);
	}

	.shop-sidebar.is-open {
		transform: translateX(0);
	}

	.shop-sidebar__eyebrow {
		padding: 0 20px;
		margin-top: 20px;
	}

	.shop-sidebar__content {
		padding: 0 20px 32px;
	}

	.shop-sidebar__backdrop {
		position: fixed;
		inset: 0;
		background: rgba(23, 23, 23, 0.4);
		z-index: 9999;
	}

	body.shop-drawer-open {
		overflow: hidden;
	}
}

@media (min-width: 1200px) {
	.shop-sidebar__backdrop {
		display: none;
	}
	.shop-sidebar__content {
		padding: 0;
	}
}


/* ------------------------------------------------------------------------- *
/* Carrello, Checkout, My Account (shortcode classici) + stato vuoto ricerca
/* Scope: body.bdn-wc-page (classe aggiunta da functions.php su is_cart /
/* is_checkout / is_account_page). Nessun override di template WooCommerce.
/* ------------------------------------------------------------------------- */

/*
 * Contenitore: il parent centra la pagina in "col-70 tab-100" (70% di 1400px),
 * pensato per testo. Carrello/checkout/account hanno due colonne: serve la
 * larghezza piena del .grid (max 1400px, gia' centrato dal parent).
 */
body.bdn-wc-page main.grid > .col-70 {
	width: 100%;
}

/*
 * Il titolo nativo della pagina (<h1> del template page.php del parent) viene
 * sostituito dall'header editoriale .shop-header stampato da functions.php
 * (stesso markup dell'header Shop): resta un solo H1 visibile.
 */
body.bdn-wc-page article > h1:first-child {
	display: none;
}

body.bdn-wc-page .text-content {
	--bdn-border: #d9d2ce;
	--bdn-radius: 14px;
	--bdn-radius-sm: 8px;
	--bdn-accent: #E02F2F;
	--bdn-green: #1b4332;
	--bdn-text: #171717;
	--bdn-muted: #222222;
	--bdn-cream: #fce8e2;
}

/* --- Bottoni: primario rosso, secondario contorno verde ------------------ */
/* Il parent colora ".woocommerce .button" con !important (functions.php inline): stessa strategia dello Shop. */
body.bdn-wc-page .woocommerce .button,
body.bdn-wc-page .woocommerce button.button,
body.bdn-wc-page .woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: var(--bdn-radius-sm);
	background-color: var(--bdn-accent) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

body.bdn-wc-page .woocommerce .button:hover,
body.bdn-wc-page .woocommerce button.button:hover {
	background-color: #d62a2a !important;
	color: #fff !important;
}

body.bdn-wc-page .woocommerce .button:disabled,
body.bdn-wc-page .woocommerce .button.disabled,
body.bdn-wc-page .woocommerce button.button:disabled[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

body.bdn-wc-page .woocommerce .button:focus-visible,
body.bdn-wc-page .woocommerce a:focus-visible,
body.bdn-wc-page .woocommerce input:focus-visible,
body.bdn-wc-page .woocommerce select:focus-visible,
body.bdn-wc-page .woocommerce textarea:focus-visible {
	outline: 2px solid var(--bdn-accent);
	outline-offset: 2px;
}

/* secondari: aggiorna carrello, applica coupon, azioni tabelle ordini, registrazione */
body.bdn-wc-page .woocommerce button[name="update_cart"],
body.bdn-wc-page .woocommerce button[name="apply_coupon"],
body.bdn-wc-page .woocommerce button[name="calc_shipping"],
body.bdn-wc-page .woocommerce .woocommerce-form-register__submit,
body.bdn-wc-page .woocommerce .woocommerce-orders-table .button,
body.bdn-wc-page .woocommerce a.woocommerce-button.edit,
body.bdn-wc-page .woocommerce .woocommerce-Address-title a.edit,
body.bdn-wc-page .woocommerce .woocommerce-form-coupon .button {
	background-color: #fff !important;
	border-color: var(--bdn-green);
	color: var(--bdn-green) !important;
}

body.bdn-wc-page .woocommerce button[name="update_cart"]:hover,
body.bdn-wc-page .woocommerce button[name="apply_coupon"]:hover,
body.bdn-wc-page .woocommerce button[name="calc_shipping"]:hover,
body.bdn-wc-page .woocommerce .woocommerce-form-register__submit:hover,
body.bdn-wc-page .woocommerce .woocommerce-orders-table .button:hover,
body.bdn-wc-page .woocommerce a.woocommerce-button.edit:hover,
body.bdn-wc-page .woocommerce .woocommerce-Address-title a.edit:hover,
body.bdn-wc-page .woocommerce .woocommerce-form-coupon .button:hover {
	background-color: var(--bdn-green) !important;
	color: #fff !important;
}

/* --- Avvisi WooCommerce (notices) ---------------------------------------- */
body.bdn-wc-page .woocommerce .woocommerce-info,
body.bdn-wc-page .woocommerce .woocommerce-message,
body.bdn-wc-page .woocommerce .woocommerce-error {
	position: static;
	margin: 0 0 20px;
	padding: 14px 18px;
	border: 1px solid var(--bdn-border);
	border-radius: var(--bdn-radius-sm);
	background: #fff;
	color: var(--bdn-text);
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}

body.bdn-wc-page .woocommerce .woocommerce-info::before,
body.bdn-wc-page .woocommerce .woocommerce-message::before,
body.bdn-wc-page .woocommerce .woocommerce-error::before {
	content: none;
}

body.bdn-wc-page .woocommerce .woocommerce-message {
	border-color: var(--bdn-green);
}

body.bdn-wc-page .woocommerce .woocommerce-error {
	border-color: var(--bdn-accent);
	background: #fff5f4;
}

body.bdn-wc-page .woocommerce .woocommerce-error li {
	margin: 0;
	padding: 2px 0;
}

body.bdn-wc-page .woocommerce .woocommerce-info a,
body.bdn-wc-page .woocommerce .woocommerce-message a,
body.bdn-wc-page .woocommerce .woocommerce-error a {
	color: var(--bdn-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* il pulsante "Visualizza carrello" dentro un avviso e' un .button: qui deve restare compatto */
body.bdn-wc-page .woocommerce .woocommerce-message a.button {
	float: right;
	min-height: 36px;
	padding: 6px 14px;
	margin-left: 12px;
	text-decoration: none;
}

/* --- Form: input, select, textarea, label -------------------------------- */
body.bdn-wc-page .woocommerce label {
	display: block;
	margin: 0 0 6px;
	color: var(--bdn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

body.bdn-wc-page .woocommerce label .required,
body.bdn-wc-page .woocommerce abbr.required {
	color: var(--bdn-accent);
	text-decoration: none;
	border: 0;
}

body.bdn-wc-page .woocommerce label .optional {
	color: var(--bdn-muted);
	font-weight: 400;
}

body.bdn-wc-page .woocommerce input[type="text"],
body.bdn-wc-page .woocommerce input[type="email"],
body.bdn-wc-page .woocommerce input[type="tel"],
body.bdn-wc-page .woocommerce input[type="password"],
body.bdn-wc-page .woocommerce input[type="number"],
body.bdn-wc-page .woocommerce input[type="search"],
body.bdn-wc-page .woocommerce select,
body.bdn-wc-page .woocommerce textarea,
body.bdn-wc-page .select2-container--default .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--bdn-border, #d9d2ce);
	border-radius: 8px;
	background-color: #fff;
	color: #171717;
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
}

body.bdn-wc-page .woocommerce textarea {
	min-height: 120px;
	resize: vertical;
}

body.bdn-wc-page .woocommerce input:focus,
body.bdn-wc-page .woocommerce select:focus,
body.bdn-wc-page .woocommerce textarea:focus {
	border-color: #171717;
}

body.bdn-wc-page .woocommerce .woocommerce-invalid input,
body.bdn-wc-page .woocommerce .woocommerce-invalid select,
body.bdn-wc-page .woocommerce .woocommerce-invalid .select2-selection {
	border-color: var(--bdn-accent, #E02F2F);
}

body.bdn-wc-page .woocommerce .woocommerce-validated input,
body.bdn-wc-page .woocommerce .woocommerce-validated select {
	border-color: var(--bdn-border, #d9d2ce);
}

/* select2 (Paese/Provincia): stessa altezza e stesso linguaggio degli input */
body.bdn-wc-page .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
	padding: 0 14px;
}

body.bdn-wc-page .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: #171717;
	line-height: 1.4;
}

body.bdn-wc-page .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 10px;
	height: 100%;
}

body.bdn-wc-page .select2-dropdown {
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	overflow: hidden;
}

body.bdn-wc-page .select2-container--default .select2-results__option--highlighted[aria-selected],
body.bdn-wc-page .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: #1b4332;
}

/* wrapper dei campi (WooCommerce + Checkout Manager): griglia a 2 colonne */
body.bdn-wc-page .woocommerce-billing-fields__field-wrapper,
body.bdn-wc-page .woocommerce-shipping-fields__field-wrapper,
body.bdn-wc-page .woocommerce-address-fields__field-wrapper,
body.bdn-wc-page .woocommerce-additional-fields__field-wrapper,
body.bdn-wc-page form.woocommerce-EditAccountForm,
body.bdn-wc-page form.woocommerce-EditAccountForm fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 18px;
}

body.bdn-wc-page .woocommerce form .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body.bdn-wc-page .woocommerce form .form-row-wide,
body.bdn-wc-page .woocommerce form .form-row.notes,
body.bdn-wc-page form.woocommerce-EditAccountForm > .clear,
body.bdn-wc-page form.woocommerce-EditAccountForm > p:not(.form-row-first):not(.form-row-last),
body.bdn-wc-page form.woocommerce-EditAccountForm fieldset > legend,
body.bdn-wc-page form.woocommerce-EditAccountForm fieldset > .form-row {
	grid-column: 1 / -1;
}

/* le righe condizionali nascoste dal Checkout Manager (display:none) non devono lasciare gap */
body.bdn-wc-page .woocommerce form .form-row[style*="display: none"],
body.bdn-wc-page .woocommerce form .form-row.wooccm-conditional-child[style*="display: none"] {
	display: none;
}

body.bdn-wc-page .woocommerce span.description,
body.bdn-wc-page .woocommerce .form-row em {
	color: var(--bdn-muted, #222222);
	font-size: 13px;
}

/* password con occhio "mostra": il bottone nativo resta, solo posizione/spazio */
body.bdn-wc-page .woocommerce .password-input {
	display: block;
	position: relative;
}

body.bdn-wc-page .woocommerce .password-input input {
	padding-right: 48px;
}

body.bdn-wc-page .woocommerce .show-password-input {
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}

/* fieldset nativo (cambio password): il default del browser lo disegna con bordo incassato e min-inline-size */
body.bdn-wc-page .woocommerce fieldset {
	min-width: 0;
	margin: 8px 0 0;
	padding: 24px;
	border: 1px solid var(--bdn-border, #d9d2ce);
	border-radius: 14px;
}

body.bdn-wc-page .woocommerce fieldset legend {
	padding: 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #171717;
}

/* card di sezione (dati fatturazione, spedizione, riepilogo, indirizzi, login...) */
body.bdn-wc-page .woocommerce h2,
body.bdn-wc-page .woocommerce h3 {
	margin: 0 0 20px;
	color: #171717;
	font-size: 22px;
	line-height: 1.25;
}

/* --- Tabelle generiche (riepiloghi, dettaglio ordine) --------------------- */
body.bdn-wc-page .woocommerce table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
}

body.bdn-wc-page .woocommerce table.shop_table th,
body.bdn-wc-page .woocommerce table.shop_table td {
	padding: 14px 0;
	border: 0;
	border-top: 1px solid var(--bdn-border, #d9d2ce);
	background: transparent;
	color: #171717;
	font-size: 15px;
	vertical-align: top;
}

body.bdn-wc-page .woocommerce table.shop_table thead th {
	border-top: 0;
	color: #222222;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ======================= CARRELLO ======================================== */

/*
 * .woocommerce contiene (fratelli): header, avvisi, form carrello, totali.
 * Griglia solo se c'e' il form (carrello non vuoto): lo stato vuoto resta a blocchi.
 */
@media (min-width: 992px) {
	body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) {
		display: grid;
		grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
		column-gap: 48px;
		align-items: start;
	}

	body.woocommerce-cart .woocommerce > .shop-header,
	body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	body.woocommerce-cart .woocommerce > .woocommerce-cart-form {
		grid-column: 1;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		grid-column: 2;
		position: sticky;
		top: 130px;
	}
}

/* Lo stato vuoto ("Il tuo carrello è vuoto"): testo semplice + CTA */
body.woocommerce-cart .woocommerce .cart-empty {
	max-width: 560px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	background: none;
	color: #222222;
	font-size: 16px;
	line-height: 1.6;
}

body.woocommerce-cart .woocommerce .return-to-shop {
	margin: 0 0 96px;
}

/* Tabella prodotti -> righe a griglia */
body.woocommerce-cart .woocommerce table.cart,
body.woocommerce-cart .woocommerce table.cart tbody {
	display: block;
}

/* intestazioni colonna: restano per gli screen reader, non a schermo */
body.woocommerce-cart .woocommerce table.cart thead {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

body.woocommerce-cart .woocommerce table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) 120px 96px;
	grid-template-areas:
		"thumb name qty subtotal"
		"thumb price qty subtotal"
		"thumb remove qty subtotal";
	column-gap: 20px;
	row-gap: 4px;
	align-items: start;
	padding: 24px 0;
	border-top: 1px solid #d9d2ce;
}

body.woocommerce-cart .woocommerce table.cart tr.cart_item:last-of-type {
	border-bottom: 1px solid #d9d2ce;
}

/* le celle: WooCommerce (smallscreen) le rende block con etichette ::before e text-align:right !important sotto 768px */
body.woocommerce-cart .woocommerce table.cart td {
	display: block;
	padding: 0;
	border: 0;
	text-align: left !important;
}

body.woocommerce-cart .woocommerce table.cart td::before {
	content: none !important;
}

body.woocommerce-cart .woocommerce table.cart td.product-thumbnail {
	grid-area: thumb;
}

body.woocommerce-cart .woocommerce table.cart td.product-thumbnail img {
	display: block;
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 10px;
	background: #fff;
}

body.woocommerce-cart .woocommerce table.cart td.product-name {
	grid-area: name;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

body.woocommerce-cart .woocommerce table.cart td.product-name a {
	color: #171717;
	text-decoration: none;
}

body.woocommerce-cart .woocommerce table.cart td.product-name a:hover {
	text-decoration: underline;
	text-decoration-color: #E02F2F;
	text-underline-offset: 3px;
}

body.woocommerce-cart .woocommerce table.cart td.product-name dl.variation {
	margin: 6px 0 0;
	color: #222222;
	font-size: 13px;
	font-weight: 400;
}

body.woocommerce-cart .woocommerce table.cart td.product-price {
	grid-area: price;
	color: #222222;
	font-size: 14px;
}

body.woocommerce-cart .woocommerce table.cart td.product-remove {
	grid-area: remove;
}

/* Rimozione: link nativo (a.remove, stessi href/AJAX) mostrato come azione testuale, non come "X" tonda */
body.woocommerce-cart .woocommerce a.remove {
	display: inline-block;
	width: auto;
	height: auto;
	margin-top: 4px;
	border-radius: 0;
	background: transparent !important;
	color: #555 !important;
	font-size: 0;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-cart .woocommerce a.remove::after {
	content: "Rimuovi";
	font-size: 13px;
	font-weight: 600;
}

body.woocommerce-cart .woocommerce a.remove:hover {
	background: transparent !important;
	color: #CC2929 !important;
}

body.woocommerce-cart .woocommerce table.cart td.product-quantity {
	grid-area: qty;
}

body.woocommerce-cart .woocommerce table.cart td.product-subtotal {
	grid-area: subtotal;
	font-size: 17px;
	font-weight: 700;
	text-align: right !important;
}

/* quantita': input numerico nativo, 48px touch-friendly */
body.woocommerce-cart .woocommerce .quantity {
	display: block;
}

body.woocommerce-cart .woocommerce .quantity input.qty {
	width: 100%;
	max-width: 120px;
	min-height: 48px;
	padding: 8px 10px;
	text-align: center;
}

/* riga azioni: coupon + aggiorna carrello */
body.woocommerce-cart .woocommerce table.cart tr:last-child {
	display: block;
}

body.woocommerce-cart .woocommerce table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding: 24px 0 0;
}

body.woocommerce-cart .woocommerce .coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 8px;
	row-gap: 6px;
	flex: 1 1 320px;
	max-width: 440px;
	float: none;
}

/* etichetta visibile (era .screen-reader-text): il testo arriva dal filtro gettext in functions.php */
body.woocommerce-cart .woocommerce .coupon label.screen-reader-text {
	position: static !important;
	grid-column: 1 / -1;
	width: auto;
	height: auto;
	margin: 0;
	clip: auto;
	clip-path: none;
	overflow: visible;
	color: #222222;
	font-size: 14px;
	font-weight: 600;
}

body.woocommerce-cart .woocommerce .coupon input#coupon_code {
	width: 100%;
	float: none;
	margin: 0;
}

body.woocommerce-cart .woocommerce .coupon .button {
	float: none;
}

body.woocommerce-cart .woocommerce button[name="update_cart"] {
	float: none;
	margin: 0;
}

/* Totali */
body.woocommerce-cart .woocommerce .cart-collaterals {
	float: none;
	width: auto;
}

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: 28px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
}

body.woocommerce-cart .woocommerce .cart_totals h2 {
	margin-bottom: 8px;
}

body.woocommerce-cart .woocommerce .cart_totals table,
body.woocommerce-cart .woocommerce .cart_totals tbody {
	display: block;
	width: 100%;
}

body.woocommerce-cart .woocommerce .cart_totals tr {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	column-gap: 16px;
}

body.woocommerce-cart .woocommerce .cart_totals th,
body.woocommerce-cart .woocommerce .cart_totals td {
	width: auto;
	padding: 14px 0;
	border-top: 0;
}

body.woocommerce-cart .woocommerce .cart_totals tr + tr {
	border-top: 1px solid #d9d2ce;
}

body.woocommerce-cart .woocommerce .cart_totals th {
	color: #222222;
	font-weight: 600;
	text-align: left;
}

body.woocommerce-cart .woocommerce .cart_totals td {
	text-align: right !important;
}

body.woocommerce-cart .woocommerce .cart_totals td::before {
	content: none !important;
}

/* riga spedizione: metodi a piena larghezza sotto l'etichetta */
body.woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals {
	display: block;
}

body.woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals th,
body.woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals td {
	display: block;
	width: 100%;
	padding: 14px 0 0;
	text-align: left !important;
}

body.woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals td {
	padding-top: 8px;
	padding-bottom: 14px;
}

body.woocommerce-cart .woocommerce .cart_totals tr.order-total th,
body.woocommerce-cart .woocommerce .cart_totals tr.order-total td {
	color: #171717;
	font-size: 20px;
	font-weight: 700;
}

body.woocommerce-cart .woocommerce .cart_totals tr.order-total td small {
	display: block;
	color: #222222;
	font-size: 12px;
	font-weight: 400;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
	padding: 8px 0 0;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 14px 24px;
	font-size: 14px;
}

/* Messaggio spedizione gratuita (visibile solo se la soglia e' realmente attiva in WooCommerce) */
.bdn-freeship {
	margin: 0 0 16px;
}

.bdn-freeship__text {
	margin: 0 0 8px;
	color: #1b4332;
	font-size: 14px;
	font-weight: 600;
}

.bdn-freeship__bar {
	height: 6px;
	border-radius: 100px;
	background: #fce8e2;
	overflow: hidden;
}

.bdn-freeship__bar span {
	display: block;
	height: 100%;
	border-radius: 100px;
	background: #1b4332;
}

/* ======================= CHECKOUT ======================================== */

/* toggle "Hai già un account?" / "Hai un codice promozionale?" e relativi form */
body.woocommerce-checkout .woocommerce .checkout_coupon,
body.woocommerce-checkout .woocommerce .woocommerce-form-login {
	margin: 0 0 20px;
	padding: 20px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	background: #fff;
}

body.woocommerce-checkout .woocommerce .checkout_coupon p,
body.woocommerce-checkout .woocommerce .woocommerce-form-login p {
	margin: 0 0 12px;
}

body.woocommerce-checkout .woocommerce form.checkout_coupon .form-row {
	float: none;
	width: 100%;
	margin: 0 0 12px;
}

@media (min-width: 992px) {
	body.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
		grid-template-rows: auto 1fr;
		column-gap: 48px;
		align-items: start;
	}

	body.woocommerce-checkout form.checkout > #customer_details {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	body.woocommerce-checkout form.checkout > #order_review_heading {
		grid-column: 2;
		grid-row: 1;
	}

	body.woocommerce-checkout form.checkout > #order_review {
		grid-column: 2;
		grid-row: 2;
		position: sticky;
		top: 130px;
	}
}

/* colonne native (float 48%) -> blocchi impilati, ognuno una card */
body.woocommerce-checkout .woocommerce .col2-set,
body.woocommerce-checkout .woocommerce .col2-set .col-1,
body.woocommerce-checkout .woocommerce .col2-set .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

body.woocommerce-checkout .woocommerce #customer_details {
	display: block;
}

body.woocommerce-checkout .woocommerce #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce #customer_details .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce #customer_details .woocommerce-additional-fields {
	margin: 0 0 24px;
	padding: 28px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
}

/* nessuna card vuota (es. campi note disattivati) */
body.woocommerce-checkout .woocommerce #customer_details .woocommerce-additional-fields:not(:has(.form-row)) {
	display: none;
}

body.woocommerce-checkout .woocommerce #ship-to-different-address {
	margin: 0 0 20px;
	font-size: 22px;
}

body.woocommerce-checkout .woocommerce #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 16px;
	cursor: pointer;
}

body.woocommerce-checkout .woocommerce #ship-to-different-address input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: #E02F2F;
}

body.woocommerce-checkout .woocommerce .woocommerce-shipping-fields:has(.shipping_address[style*="display: none"]) #ship-to-different-address {
	margin-bottom: 0;
}

/* Il tuo ordine: heading + review formano un'unica card */
body.woocommerce-checkout .woocommerce #order_review_heading {
	margin: 0;
	padding: 28px 28px 8px;
	border: 1px solid #d9d2ce;
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	background: #fff;
}

body.woocommerce-checkout .woocommerce #order_review {
	padding: 0 28px 28px;
	border: 1px solid #d9d2ce;
	border-top: 0;
	border-radius: 0 0 14px 14px;
	background: #fff;
}

@media (max-width: 991px) {
	body.woocommerce-checkout .woocommerce #order_review_heading {
		margin-top: 8px;
	}
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table td {
	padding: 12px 0;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot th {
	color: #222222;
	font-weight: 600;
	text-align: left;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table td {
	text-align: right;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table td.product-name {
	text-align: left;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table .order-total td {
	color: #171717;
	font-size: 20px;
	font-weight: 700;
}

/* metodi di spedizione (radio nativi) */
body.bdn-wc-page .woocommerce ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

body.bdn-wc-page .woocommerce ul#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	line-height: 1.45;
}

body.bdn-wc-page .woocommerce ul#shipping_method li:has(input:checked) {
	border-color: #1b4332;
	background: #f7faf8;
}

body.bdn-wc-page .woocommerce ul#shipping_method li input {
	flex: 0 0 auto;
	margin: 3px 0 0;
	accent-color: #E02F2F;
}

body.bdn-wc-page .woocommerce ul#shipping_method li label {
	flex: 1 1 auto;
	margin: 0;
	font-weight: 500;
}

body.bdn-wc-page .woocommerce .woocommerce-shipping-destination,
body.bdn-wc-page .woocommerce .shipping-calculator-button {
	margin: 8px 0 0;
	color: #222222;
	font-size: 13px;
	line-height: 1.5;
}

body.bdn-wc-page .woocommerce .shipping-calculator-button {
	color: #171717;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.bdn-wc-page .woocommerce .shipping-calculator-form {
	margin-top: 12px;
	text-align: left;
}

body.bdn-wc-page .woocommerce .shipping-calculator-form p {
	margin: 0 0 12px;
}

/* pagamento */
body.woocommerce-checkout .woocommerce #payment {
	border-radius: 0;
	background: transparent;
}

body.woocommerce-checkout .woocommerce #payment ul.payment_methods {
	margin: 16px 0 0;
	padding: 0;
	border: 0;
	list-style: none;
}

body.woocommerce-checkout .woocommerce #payment ul.payment_methods li {
	margin: 0 0 8px;
	padding: 14px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	background: #fff;
}

body.woocommerce-checkout .woocommerce #payment ul.payment_methods li label {
	display: inline;
	font-size: 15px;
}

body.woocommerce-checkout .woocommerce #payment div.payment_box {
	margin: 10px 0 0;
	padding: 12px 14px;
	border-radius: 8px;
	background: #fce8e2;
	color: #171717;
	font-size: 14px;
}

body.woocommerce-checkout .woocommerce #payment div.payment_box::before {
	content: none;
}

body.woocommerce-checkout .woocommerce #payment div.form-row.place-order {
	margin: 0;
	padding: 16px 0 0;
}

body.woocommerce-checkout .woocommerce .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce .woocommerce-privacy-policy-text {
	color: #222222;
	font-size: 13px;
	line-height: 1.55;
}

body.woocommerce-checkout .woocommerce .woocommerce-privacy-policy-text p {
	margin: 0 0 14px;
}

body.woocommerce-checkout .woocommerce .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce .woocommerce-terms-and-conditions-wrapper a {
	color: #171717;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-checkout .woocommerce #place_order {
	width: 100%;
	min-height: 56px;
	padding: 14px 24px;
	font-size: 14px;
	float: none;
}

/* nessun metodo di pagamento configurato: avviso WooCommerce mantenuto, solo presentazione */
body.woocommerce-checkout .woocommerce #payment .woocommerce-info,
body.woocommerce-checkout .woocommerce #payment li.woocommerce-notice {
	margin: 16px 0 0;
	padding: 14px 16px;
	font-size: 14px;
}

/* pagina "ordine ricevuto" */
body.woocommerce-order-received .woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin: 0 0 32px;
	padding: 24px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
	list-style: none;
}

body.woocommerce-order-received .woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	color: #222222;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

body.woocommerce-order-received .woocommerce ul.order_details li strong {
	display: block;
	margin-top: 4px;
	color: #171717;
	font-size: 16px;
	text-transform: none;
}

/* ======================= MY ACCOUNT ====================================== */

/* Login / registrazione (utente non autenticato) */
body.woocommerce-account .woocommerce #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}

body.woocommerce-account .woocommerce #customer_login .col-1,
body.woocommerce-account .woocommerce #customer_login .col-2 {
	float: none;
	width: 100%;
	max-width: none;
	padding: 32px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
}

body.woocommerce-account .woocommerce #customer_login .col-1 {
	border-color: #171717;
}

/* solo login (registrazione disabilitata): card singola centrata */
body.woocommerce-account .woocommerce #customer_login:not(:has(.col-2)) {
	grid-template-columns: minmax(0, 480px);
}

body.woocommerce-account .woocommerce form.woocommerce-form-login,
body.woocommerce-account .woocommerce form.woocommerce-form-register,
body.woocommerce-account .woocommerce form.lost_reset_password {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	text-align: left;
}

body.woocommerce-account .woocommerce form .form-row {
	margin-bottom: 18px;
}

body.woocommerce-account .woocommerce form.woocommerce-form-login .form-row,
body.woocommerce-account .woocommerce form.woocommerce-form-register .form-row {
	display: block;
}

body.woocommerce-account .woocommerce .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 16px 16px 0;
	font-weight: 500;
}

body.woocommerce-account .woocommerce .woocommerce-form-login__rememberme input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #E02F2F;
}

body.woocommerce-account .woocommerce .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce .woocommerce-form-register__submit {
	display: flex;
	width: 100%;
	margin: 0;
	float: none;
}

body.woocommerce-account .woocommerce p.lost_password {
	margin: 16px 0 0;
	font-size: 14px;
}

body.woocommerce-account .woocommerce p.lost_password a,
body.woocommerce-account .woocommerce .woocommerce-privacy-policy-text a {
	color: #171717;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-account .woocommerce .woocommerce-privacy-policy-text {
	color: #222222;
	font-size: 13px;
	line-height: 1.55;
}

/* Area autenticata: navigazione a sinistra + contenuto a destra */
@media (min-width: 768px) {
	body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		column-gap: 48px;
		align-items: start;
	}

	body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 0 4px;
	padding: 0;
	border: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 16px;
	border-radius: 8px;
	color: #171717;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: #fce8e2;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #1b4332;
	color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #555;
	font-weight: 500;
}

/* mobile: le voci restano visibili come pill che vanno a capo (nessun menu nascosto, nessun JS, nessun overflow) */
@media (max-width: 767px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 24px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li {
		margin: 0;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li a {
		padding: 10px 16px;
		border: 1px solid #d9d2ce;
		border-radius: 100px;
		background: #fff;
		font-size: 14px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
		border-color: #1b4332;
	}

	body.woocommerce-account .woocommerce #customer_login {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-account .woocommerce #customer_login .col-1,
	body.woocommerce-account .woocommerce #customer_login .col-2 {
		padding: 24px;
	}
}

body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	color: #171717;
	text-decoration: underline;
	text-decoration-color: #E02F2F;
	text-underline-offset: 3px;
}

/* Indirizzi */
body.woocommerce-account .woocommerce .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

body.woocommerce-account .woocommerce .woocommerce-Addresses .col-1,
body.woocommerce-account .woocommerce .woocommerce-Addresses .col-2 {
	float: none;
	width: auto;
	padding: 24px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title h2 {
	margin: 0;
	font-size: 20px;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title a.edit {
	float: none;
	min-height: 36px;
	padding: 6px 14px;
	font-size: 12px;
	text-decoration: none;
}

body.woocommerce-account .woocommerce address {
	color: #171717;
	font-style: normal;
	line-height: 1.6;
}

/* Form indirizzo / dettagli account: card come nel checkout */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
	padding: 28px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields > .woocommerce-address-fields__field-wrapper {
	margin-bottom: 20px;
}

body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .button,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields .button {
	float: none;
}

body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm em {
	display: block;
	margin-top: 6px;
}

/* Ordini: tabella leggibile */
body.woocommerce-account .woocommerce table.woocommerce-orders-table {
	width: 100%;
	border: 0;
}

body.woocommerce-account .woocommerce table.woocommerce-orders-table th,
body.woocommerce-account .woocommerce table.woocommerce-orders-table td {
	padding: 16px 12px 16px 0;
	vertical-align: middle;
}

body.woocommerce-account .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.woocommerce-account .woocommerce table.woocommerce-orders-table .button {
	min-height: 40px;
	padding: 8px 16px;
	margin: 0;
	font-size: 11px;
}

body.woocommerce-account .woocommerce .woocommerce-pagination {
	margin-top: 24px;
}

body.woocommerce-account .woocommerce .woocommerce-message .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
	float: none;
}

/* Ordini su mobile: ogni ordine diventa una card con coppie etichetta/valore (data-title nativo di WooCommerce) */
@media (max-width: 767px) {
	body.woocommerce-account .woocommerce table.woocommerce-orders-table,
	body.woocommerce-account .woocommerce table.woocommerce-orders-table tbody {
		display: block;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table tr {
		display: block;
		margin: 0 0 16px;
		padding: 4px 16px;
		border: 1px solid #d9d2ce;
		border-radius: 14px;
		background: #fff;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table th,
	body.woocommerce-account .woocommerce table.woocommerce-orders-table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 12px 0;
		border-top: 1px solid #ece6e2;
		text-align: right !important;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table tr > :first-child {
		border-top: 0;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table th::before,
	body.woocommerce-account .woocommerce table.woocommerce-orders-table td::before {
		content: attr(data-title) !important;
		float: none;
		color: #222222;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
		justify-content: flex-start;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}

	body.woocommerce-account .woocommerce .woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ======================= Responsive carrello / checkout / form =========== */
@media (max-width: 767px) {
	body.bdn-wc-page .woocommerce-billing-fields__field-wrapper,
	body.bdn-wc-page .woocommerce-shipping-fields__field-wrapper,
	body.bdn-wc-page .woocommerce-address-fields__field-wrapper,
	body.bdn-wc-page .woocommerce-additional-fields__field-wrapper,
	body.bdn-wc-page form.woocommerce-EditAccountForm,
	body.bdn-wc-page form.woocommerce-EditAccountForm fieldset {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-cart .woocommerce table.cart tr.cart_item {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumb name name"
			"thumb price price"
			"thumb remove remove"
			"qty qty subtotal";
		column-gap: 16px;
		row-gap: 4px;
	}

	body.woocommerce-cart .woocommerce table.cart td.product-thumbnail img {
		width: 72px;
		height: 72px;
	}

	body.woocommerce-cart .woocommerce table.cart td.product-quantity {
		margin-top: 12px;
	}

	body.woocommerce-cart .woocommerce table.cart td.product-subtotal {
		align-self: end;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals {
		margin-top: 32px;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
	body.woocommerce-checkout .woocommerce #customer_details .woocommerce-billing-fields,
	body.woocommerce-checkout .woocommerce #customer_details .woocommerce-shipping-fields,
	body.woocommerce-checkout .woocommerce #customer_details .woocommerce-additional-fields,
	body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields,
	body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
		padding: 20px;
	}

	body.woocommerce-checkout .woocommerce #order_review_heading {
		padding: 20px 20px 8px;
	}

	body.woocommerce-checkout .woocommerce #order_review {
		padding: 0 20px 20px;
	}

	body.woocommerce-cart .woocommerce table.cart td.actions {
		display: block;
	}

	body.woocommerce-cart .woocommerce .coupon {
		max-width: none;
		margin-bottom: 16px;
	}

	body.woocommerce-cart .woocommerce button[name="update_cart"] {
		width: 100%;
	}
}

/* ======================= RICERCA: stato "nessun risultato" =============== */
.shop-header--empty {
	max-width: 640px;
	padding-bottom: 96px;
}

.shop-header--empty .shop-header__intro + .shop-header__intro {
	margin-top: 8px;
}

.shop-header .shop-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 28px;
	padding: 12px 28px;
	border: 0;
	border-radius: 8px;
	background-color: #E02F2F !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}

.shop-header .shop-header__cta:hover {
	background-color: #d62a2a !important;
}

.shop-header .shop-header__cta:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 2px;
}

/* Correzioni dopo verifica: .woocommerce-cart-form e' float:left (WC layout) -> ridotto a shrink-to-fit; le tabelle .shop_table hanno sfondo grigio dal parent */
body.woocommerce-cart .woocommerce .woocommerce-cart-form {
	float: none;
	width: auto;
}

body.bdn-wc-page .woocommerce table.shop_table,
body.bdn-wc-page .woocommerce table.shop_table tbody,
body.bdn-wc-page .woocommerce table.shop_table tfoot {
	background: transparent;
}

/*
 * Regole del parent (nextawards/style.css, non modificabile) che vanno
 * superate con selettori piu' specifici:
 * - ".woocommerce-page.woocommerce-cart .cart-collaterals .cart_totals table" e
 *   "#order_review table.shop_table": sfondo #d4d4d4 + padding 10px;
 *   th/td con border-color #acacac !important;
 * - "@900px .cart-collaterals .cart_totals": margin-top:-55px e padding-bottom:20vh;
 * - ".checkout.woocommerce-checkout .select2-...--single": bordo 2px #ddd e altezza 40px.
 */
body.woocommerce-cart.woocommerce-page .woocommerce .cart-collaterals .cart_totals {
	margin: 0;
}

body.woocommerce-cart.woocommerce-page .woocommerce .cart-collaterals .cart_totals table.shop_table,
body.woocommerce-checkout.woocommerce-page .woocommerce #order_review table.shop_table {
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-cart.woocommerce-page .woocommerce .cart-collaterals .cart_totals table.shop_table td,
body.woocommerce-cart.woocommerce-page .woocommerce .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-checkout.woocommerce-page .woocommerce #order_review table.shop_table td,
body.woocommerce-checkout.woocommerce-page .woocommerce #order_review table.shop_table th {
	border-color: #d9d2ce !important;
}

body.woocommerce-cart.woocommerce-page .woocommerce .cart-collaterals .cart_totals tr:first-child th,
body.woocommerce-cart.woocommerce-page .woocommerce .cart-collaterals .cart_totals tr:first-child td {
	border-top-color: transparent !important;
}

body.bdn-wc-page .checkout.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: auto;
	min-height: 48px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
}

body.bdn-wc-page .checkout.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4;
}

body.bdn-wc-page .checkout.woocommerce-checkout input[type="text"],
body.bdn-wc-page .checkout.woocommerce-checkout input[type="number"],
body.bdn-wc-page .checkout.woocommerce-checkout input[type="tel"],
body.bdn-wc-page .checkout.woocommerce-checkout input[type="password"],
body.bdn-wc-page .checkout.woocommerce-checkout input[type="email"],
body.bdn-wc-page .checkout.woocommerce-checkout .woocommerce-additional-fields textarea,
body.bdn-wc-page .woocommerce form .form-row .input-text {
	border: 1px solid #d9d2ce;
}

/* parent: ".woocommerce #coupon_code{width:120px!important}" (style.css:853) -> serve !important + specificita' maggiore */
body.woocommerce-cart .woocommerce .coupon input#coupon_code {
	width: 100% !important;
}

/* parent (<=768px): ".woocommerce-page #content table.cart td.actions .coupon .button{width:calc(100vw - 210px)}" */
body.woocommerce-cart #content .woocommerce table.cart td.actions .coupon .button {
	width: auto;
	margin-right: 0;
}

/* parent WC smallscreen: ".woocommerce table.shop_table_responsive tbody th{display:none}" nasconderebbe le etichette dei totali sotto 768px */
body.woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tbody th {
	display: block;
}

body.woocommerce-cart .woocommerce .cart_totals tr.woocommerce-shipping-totals td {
	display: block;
}

/* WC smallscreen: ".woocommerce-page #content table.cart .product-thumbnail{display:none}" (<=768px) */
body.woocommerce-cart #content .woocommerce table.cart td.product-thumbnail {
	display: block;
}

/*
 * Parent (>=998px): ".woocommerce-checkout .checkout.woocommerce-checkout #order_review{width:45%;float:right}"
 * (e stesso per #order_review_heading) e ".woocommerce-checkout .col2-set{width:50%;float:left}":
 * dentro la griglia a due colonne le larghezze le decide la griglia.
 */
body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout #order_review {
	width: auto;
	float: none;
}

/* riga spedizione del riepilogo checkout: etichetta sopra, metodi a piena larghezza */
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	display: block;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	display: block;
	width: 100%;
	text-align: left;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
	padding-bottom: 0;
	border-bottom: 0;
}

body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	padding-top: 8px;
	border-top: 0;
}

/*
 * Gli errori di validazione (.woocommerce-NoticeGroup-checkout) vengono inseriti da wc-checkout.js
 * come primo figlio di form.checkout: nella griglia serve una riga dedicata a tutta larghezza,
 * altrimenti finiscono in una cella libera in fondo.
 */
@media (min-width: 992px) {
	body.woocommerce-checkout form.checkout {
		grid-template-rows: auto auto 1fr;
	}

	body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	body.woocommerce-checkout form.checkout > #customer_details {
		grid-row: 2 / span 2;
	}

	body.woocommerce-checkout form.checkout > #order_review_heading {
		grid-row: 2;
	}

	body.woocommerce-checkout form.checkout > #order_review {
		grid-row: 3;
	}
}

/* WooCommerce colora i campi validati di verde (#69bf29) e quelli errati di rosso scuro: allineati alla palette */
body.bdn-wc-page .woocommerce form .form-row.woocommerce-validated .select2-container,
body.bdn-wc-page .woocommerce form .form-row.woocommerce-validated input.input-text,
body.bdn-wc-page .woocommerce form .form-row.woocommerce-validated select,
body.bdn-wc-page .woocommerce form .form-row.woocommerce-validated .select2-selection {
	border-color: #d9d2ce;
}

body.bdn-wc-page .woocommerce form .form-row.woocommerce-invalid .select2-container,
body.bdn-wc-page .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.bdn-wc-page .woocommerce form .form-row.woocommerce-invalid select,
body.bdn-wc-page .woocommerce form .form-row.woocommerce-invalid .select2-selection {
	border-color: #E02F2F;
}

body.bdn-wc-page .woocommerce form .form-row.woocommerce-invalid label {
	color: #171717;
}

/*
 * Clearfix legacy di WooCommerce (woocommerce.css: ".woocommerce::before/::after" e
 * ".col2-set::before/::after" con content:" "; display:table): dentro una griglia diventano
 * celle vuote e spostano navigazione/contenuto (stesso problema gia' risolto su ul.products).
 */
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after,
body.woocommerce-account .col2-set::before,
body.woocommerce-account .col2-set::after,
body.woocommerce-cart .woocommerce::before,
body.woocommerce-cart .woocommerce::after {
	content: none;
	display: none;
}

/* Avvisi con pulsante (es. "Non e' stato ancora effettuato alcun ordine" + "Sfoglia prodotti"): testo prima, azione a destra */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(.button),
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message:has(.button) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
	order: 2;
	margin-left: auto;
	min-height: 40px;
	padding: 8px 18px;
	font-size: 11px;
}

/* Clearfix WC anche sull'header degli indirizzi (flex): la ::before vuota + gap sposta il titolo */
body.woocommerce-account .woocommerce-Address-title::before,
body.woocommerce-account .woocommerce-Address-title::after {
	content: none;
	display: none;
}

/* "Modifica" indirizzo: link di testo (il markup WC non ha la classe .button) */
body.woocommerce-account .woocommerce .woocommerce-Address-title a.edit {
	display: inline;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent !important;
	color: #171717 !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: #E02F2F;
	text-underline-offset: 3px;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title a.edit:hover {
	background: transparent !important;
	color: #CC2929 !important;
}

/* .screen-reader-text non e' definita dal parent: testo solo per screen reader (pattern WordPress standard) */
body.bdn-wc-page .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title {
	display: block;
	margin-bottom: 16px;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title h2 {
	margin: 0 0 6px;
	float: none;
	text-align: left;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title a.edit {
	display: inline-block;
	float: none;
}

/* form indirizzo / dettagli account: il <form> e' figlio diretto del contenuto (classe form assente su edit-address) */
body.woocommerce-account .woocommerce-MyAccount-content > form {
	padding: 28px;
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	background: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content > form > h2 {
	margin-bottom: 20px;
}

body.woocommerce-account .woocommerce-MyAccount-content > form > p:last-of-type {
	margin: 24px 0 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > form .button {
	float: none;
}

@media (max-width: 767px) {
	body.woocommerce-account .woocommerce-MyAccount-content > form {
		padding: 20px;
	}
}

body.woocommerce-account form.woocommerce-EditAccountForm > fieldset,
body.woocommerce-account form.woocommerce-EditAccountForm > .clear {
	grid-column: 1 / -1;
}

/* registrazione: azione secondaria (contorno verde) accanto al login rosso; specificita' > ".woocommerce button.button" */
body.bdn-wc-page .woocommerce button.button.woocommerce-form-register__submit {
	background-color: #fff !important;
	border-color: #1b4332;
	color: #1b4332 !important;
}

body.bdn-wc-page .woocommerce button.button.woocommerce-form-register__submit:hover {
	background-color: #1b4332 !important;
	color: #fff !important;
}

/*
 * Respiro laterale Carrello/Checkout/My Account. Prima: .col-70 del parent portato a width:100%
 * dentro main.grid (max-width 1400px) => contenuto largo 1372px, a soli 74px dal bordo a 1536px
 * (stessa larghezza dello Shop, ma senza la sua sola colonna di testo). Ora contenitore centrato
 * max 1200px (padding 24px => contenuto 1152px); le colonne restano proporzionali (65/35, 62/38).
 */
body.bdn-wc-page main.grid > .col-70 {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
}

@media (max-width: 767px) {
	body.bdn-wc-page main.grid > .col-70 {
		padding-inline: 20px;
	}
}

/* Mobile: main del parent ha gia' ~11px laterali, 14px di padding => ~25px totali (contenuto 329px a 390px) */
@media (max-width: 767px) {
	body.bdn-wc-page main.grid > .col-70 {
		padding-inline: 14px;
	}
}

/* Tablet (768-991px): sidebar account piu' stretta per non comprimere il contenuto */
@media (min-width: 768px) and (max-width: 991px) {
	body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: 200px minmax(0, 1fr);
		column-gap: 32px;
	}
}

/* Spazio inferiore di PAGINA (Carrello, Checkout, My Account): appartiene al wrapper, non all'ultimo elemento. Prima: 0. */
body.bdn-wc-page main.grid > .col-70 {
	padding-bottom: 96px;
}

@media (max-width: 991px) {
	body.bdn-wc-page main.grid > .col-70 {
		padding-bottom: 72px;
	}
}

@media (max-width: 767px) {
	body.bdn-wc-page main.grid > .col-70 {
		padding-bottom: 48px;
	}
}

/* il carrello vuoto aveva un proprio margin-bottom di 96px: ora lo spazio e' quello della pagina */
body.woocommerce-cart .woocommerce .return-to-shop {
	margin-bottom: 0;
}

/*
 * "Visualizza carrello" (a.added_to_cart, fratello del pulsante .added dopo l'add-to-cart AJAX):
 * e' position:absolute a top:100% della card, quindi vive interamente nel row-gap della griglia
 * (44px desktop / 36 / 30) e con ~27px di ingombro lascia < 20px prima della riga successiva.
 * Non puo' stare nel flusso della card senza sfalsare l'allineamento dei pulsanti della riga
 * (le card sono stese alla stessa altezza). Soluzione: il row-gap cresce di 24px SOLO mentre
 * la griglia contiene un link .added_to_cart (:has), cosi' le card senza link non cambiano.
 */
body.woocommerce-shop .col-100.woocommerce-content ul.products.products:has(li.product a.added_to_cart),
body.single-product .col-100.woocommerce-content section.related ul.products.products:has(li.product a.added_to_cart),
body.tax-product_cat .col-100.woocommerce-content ul.products.products:has(li.product a.added_to_cart),
.bdn-bisco-grid ul.products.products:has(li.product a.added_to_cart),
.bdn-scalducci-grid ul.products.products:has(li.product a.added_to_cart) {
	row-gap: 68px;
}

@media (max-width: 991px) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products.products:has(li.product a.added_to_cart),
	body.single-product .col-100.woocommerce-content section.related ul.products.products:has(li.product a.added_to_cart),
	body.tax-product_cat .col-100.woocommerce-content ul.products.products:has(li.product a.added_to_cart),
	.bdn-bisco-grid ul.products.products:has(li.product a.added_to_cart),
	.bdn-scalducci-grid ul.products.products:has(li.product a.added_to_cart) {
		row-gap: 60px;
	}
}

@media (max-width: 767px) {
	body.woocommerce-shop .col-100.woocommerce-content ul.products.products:has(li.product a.added_to_cart),
	body.single-product .col-100.woocommerce-content section.related ul.products.products:has(li.product a.added_to_cart),
	body.tax-product_cat .col-100.woocommerce-content ul.products.products:has(li.product a.added_to_cart),
	.bdn-bisco-grid ul.products.products:has(li.product a.added_to_cart),
	.bdn-scalducci-grid ul.products.products:has(li.product a.added_to_cart) {
		row-gap: 54px;
	}
}

body.woocommerce-shop .col-100.woocommerce-content ul.products li.product a.added_to_cart,
body.single-product .col-100.woocommerce-content section.related ul.products li.product a.added_to_cart,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product a.added_to_cart,
.bdn-bisco-grid ul.products li.product a.added_to_cart,
.bdn-scalducci-grid ul.products li.product a.added_to_cart {
	margin-top: 10px;
	line-height: 1.4;
}

/*
 * Menu principale: voce attiva = pill rossa con testo bianco.
 * Il parent disegna la pill come a::before (nero, opacity .15, left/right 0, bottom 14px, height 25px,
 * radius 30px) solo su ".menu > li.current-menu-item" e solo da 1190px (functions.php parent, stile "Pill"):
 * geometria invariata, cambiano solo colore/opacita'. Le pagine prodotto ricevono da WordPress
 * "current-menu-parent" sulla voce della loro categoria (mai current-menu-item), quindi la pill
 * va aggiunta anche li'. Il pseudo-elemento va dietro al testo: a diventa contesto di stacking (z-index:0)
 * e ::before z-index:-1 (a e li hanno lo stesso rettangolo, quindi la posizione non cambia).
 */
@media (min-width: 1190px) {
	/*
	 * Causa disallineamento verticale: .header__content e' flex ma non ha
	 * align-items (default "normal"=stretch): .header__logo e .header__quick
	 * (parent) si auto-centrano perche' hanno gia' "display:flex;align-items:
	 * center", ma il <nav> (senza classe) resta "display:block", quindi si
	 * stira a tutta l'altezza del content (stessa altezza del logo) e il suo
	 * contenuto (ul.menu) resta ancorato in alto invece di centrarsi. Fix
	 * strutturale: applico allo stesso <nav> lo stesso pattern flex+center
	 * gia' usato dal parent per logo/quick, solo da desktop (1190px) per non
	 * toccare il comportamento mobile/hamburger (nav off-canvas diverso).
	 */
	.header__content > nav {
		display: flex;
		align-items: center;
	}

	nav .menu > li.current-menu-item > a,
	nav .menu > li.current-menu-parent > a {
		position: relative;
		z-index: 0;
		opacity: 1; /* il parent porta i link del menu a opacity .8: attenuerebbe il rosso */
		color: #ffffff !important;
	}

	nav .menu > li.current-menu-item > a::before,
	nav .menu > li.current-menu-parent > a::before {
		content: "";
		position: absolute;
		left: -9px;
		right: -9px;
		bottom: 8px;
		height: 36px;
		border-radius: 8px;
		background: #b72a2a;
		opacity: 1;
		z-index: -1;
	}

	nav .menu > li.current-menu-item > a:hover,
	nav .menu > li.current-menu-item > a:focus,
	nav .menu > li.current-menu-item > a:focus-visible,
	nav .menu > li.current-menu-parent > a:hover,
	nav .menu > li.current-menu-parent > a:focus,
	nav .menu > li.current-menu-parent > a:focus-visible {
		color: #ffffff !important;
	}

	nav .menu > li.current-menu-item > a:focus-visible,
	nav .menu > li.current-menu-parent > a:focus-visible {
		outline: 2px solid #171717;
		outline-offset: 3px;
	}
}
/* nota: prefisso "nav" necessario, il parent stampa la sua regola ::before in un <style> inline dopo il child (stessa specificita' senza) */

/* ------------------------------------------------------------------------- *
/* Pagina prodotto singolo (body.single-product)
/* Markup nativo WooCommerce + i pochi elementi aggiunti da functions.php.
/* Gallery: solo presentazione (cornice, miniature); ordine e immagini sono quelli nativi.
/* ------------------------------------------------------------------------- */

/* Contenitore: stessa larghezza/respiro di Carrello, Checkout e My Account (1200px, 24px, 96px sotto). */
body.single-product main.grid > .col-100.woocommerce-content {
	max-width: 1200px;
	margin-inline: auto;
	padding: 40px 24px 96px;
}

@media (max-width: 991px) {
	body.single-product main.grid > .col-100.woocommerce-content {
		padding-bottom: 72px;
	}
}

@media (max-width: 767px) {
	body.single-product main.grid > .col-100.woocommerce-content {
		padding: 24px 14px 48px;
	}
}

/* Area principale: gallery | summary; le sezioni sotto occupano tutta la larghezza. */
body.single-product #content .col-100.woocommerce-content div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	column-gap: 64px;
	align-items: start;
	position: relative;
}

/* clearfix legacy WC (::before/::after con content:" "; display:table) = celle vuote della griglia */
body.single-product #content .col-100.woocommerce-content div.product::before,
body.single-product #content .col-100.woocommerce-content div.product::after {
	content: none;
	display: none;
}

body.single-product #content .col-100.woocommerce-content div.product > .woocommerce-product-gallery {
	grid-column: 1;
	float: none;
	width: auto;
	margin: 0;
}

body.single-product #content .col-100.woocommerce-content div.product > .summary {
	grid-column: 2;
	float: none;
	width: auto;
	margin: 0;
}

body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-desc,
body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-brand,
body.single-product #content .col-100.woocommerce-content div.product > section.related {
	grid-column: 1 / -1;
}

@media (max-width: 1199px) {
	body.single-product #content .col-100.woocommerce-content div.product {
		column-gap: 40px;
	}
}

@media (max-width: 991px) {
	body.single-product #content .col-100.woocommerce-content div.product {
		grid-template-columns: minmax(0, 1fr);
	}

	body.single-product #content .col-100.woocommerce-content div.product > .woocommerce-product-gallery,
	body.single-product #content .col-100.woocommerce-content div.product > .summary {
		grid-column: 1;
	}

	body.single-product #content .col-100.woocommerce-content div.product > .summary {
		margin-top: 32px;
	}
}

/* --- Gallery: rapporto naturale di ogni immagine (nessuna cornice forzata), miniature piccole in fila --- */

/*
 * Cornice sottile attorno al viewport di FlexSlider. Nessuna proporzione forzata: ogni slide
 * mostra la propria immagine nel rapporto naturale (1:1 la featured, 3:4 le altre) e il
 * viewport segue l'altezza della slide attiva (smoothHeight nativo di WooCommerce).
 */
body.single-product #content .woocommerce-product-gallery .flex-viewport {
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	overflow: hidden;
}

/* senza JS (nessun FlexSlider) la cornice resta coerente */
body.single-product #content .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
	border: 1px solid #d9d2ce;
	border-radius: 14px;
	overflow: hidden;
}

body.single-product #content .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(60px, 72px));
	gap: 10px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

body.single-product #content .woocommerce-product-gallery .flex-control-thumbs::before,
body.single-product #content .woocommerce-product-gallery .flex-control-thumbs::after {
	content: none;
	display: none;
}

body.single-product #content .woocommerce-product-gallery .flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
}

body.single-product #content .woocommerce-product-gallery .flex-control-thumbs li img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity 0.15s ease, border-color 0.15s ease;
}

body.single-product #content .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.single-product #content .woocommerce-product-gallery .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: #171717;
}

/* Badge PROMO nella gallery: stessa pill della card Shop (il testo arriva da woocommerce_sale_flash) */
body.single-product #content .col-100.woocommerce-content div.product > span.onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	right: auto;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 5px 12px;
	border-radius: 6px;
	background: #E02F2F;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-family: inherit;
}

/* --- Summary --- */
.bdn-single__cat {
	display: inline-block;
	margin: 0 0 10px;
	color: #1b4332;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.bdn-single__cat:hover,
.bdn-single__cat:focus-visible {
	color: #CC2929;
}

body.single-product #content .col-100.woocommerce-content div.product .summary .product_title {
	margin: 0 0 16px;
	color: #171717;
	font-size: clamp(28px, 2.4vw + 10px, 40px);
	line-height: 1.15;
	text-decoration: none;
}

body.single-product #content .col-100.woocommerce-content div.product .summary p.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0 0 20px;
	color: #171717;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
}

body.single-product #content .col-100.woocommerce-content div.product .summary p.price del {
	color: #222222;
	font-size: 17px;
	font-weight: 400;
	opacity: 1;
}

body.single-product #content .col-100.woocommerce-content div.product .summary p.price ins {
	background: transparent;
	color: #171717;
	text-decoration: none;
}

body.single-product #content .col-100.woocommerce-content div.product .summary .woocommerce-product-details__short-description {
	max-width: 60ch;
	margin: 0 0 8px;
	color: #222222;
	font-size: 16px;
	line-height: 1.7;
}

body.single-product #content .col-100.woocommerce-content div.product .summary .woocommerce-product-details__short-description p {
	margin: 0 0 14px;
}

body.single-product #content .col-100.woocommerce-content div.product .summary .woocommerce-product-details__short-description > :last-child {
	margin-bottom: 0;
}

/* quantita' (input nativo) + CTA */
body.single-product #content .col-100.woocommerce-content div.product .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0 0;
}

body.single-product #content .col-100.woocommerce-content div.product .summary form.cart::before,
body.single-product #content .col-100.woocommerce-content div.product .summary form.cart::after {
	content: none;
	display: none;
}

body.single-product #content .col-100.woocommerce-content div.product .summary form.cart div.quantity {
	float: none;
	margin: 0;
}

body.single-product #content .col-100.woocommerce-content div.product .summary form.cart .quantity input.qty {
	width: 84px;
	height: 56px;
	padding: 0 8px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	background: #fff;
	color: #171717;
	font-size: 17px;
	text-align: center;
}

body.single-product #content .col-100.woocommerce-content div.product .summary form.cart .quantity input.qty:focus-visible {
	outline: 2px solid #E02F2F;
	outline-offset: 2px;
}

/* il parent colora ".woocommerce .button" con !important (#e53434): stessa strategia dello Shop */
body.single-product #content .col-100.woocommerce-content div.product .summary form.cart button.single_add_to_cart_button {
	flex: 1 1 200px;
	float: none;
	min-height: 56px;
	margin: 0;
	padding: 14px 28px;
	border: 0;
	border-radius: 8px;
	background-color: #E02F2F !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: background-color 0.15s ease;
}

body.single-product #content .col-100.woocommerce-content div.product .summary form.cart button.single_add_to_cart_button:hover {
	background-color: #d62a2a !important;
}

body.single-product #content .col-100.woocommerce-content div.product .summary form.cart button.single_add_to_cart_button:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

.bdn-single__stock {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	color: #1b4332;
	font-size: 14px;
	font-weight: 600;
}

.bdn-single__stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}

.bdn-single__stock.out-of-stock {
	color: #555555;
}

/* --- Correlati: griglia/card = quelle dello Shop (regole condivise sopra) --- */
body.single-product #content .col-100.woocommerce-content section.related {
	margin-top: 88px;
}

body.single-product #content .col-100.woocommerce-content section.related > h2 {
	margin: 0 0 32px;
	color: #171717;
	font-size: 28px;
	line-height: 1.2;
}

@media (max-width: 767px) {
	body.single-product #content .col-100.woocommerce-content section.related {
		margin-top: 64px;
	}

	body.single-product #content .col-100.woocommerce-content section.related > h2 {
		font-size: 24px;
	}
}

/*
 * WooCommerce layout (woocommerce-layout.css) fissa larghezza/float di gallery, summary e
 * miniature con selettori che includono #content (es. ".woocommerce #content div.product div.images{width:48%;float:left}"):
 * i selettori di questa sezione usano lo stesso #content per prevalere senza !important.
 */

/* WooCommerce colora ".stock" (verde/oliva) con un selettore specifico: allineato alla palette (#1b4332) */
body.single-product #content div.product p.bdn-single__stock {
	color: #1b4332;
}

body.single-product #content div.product p.bdn-single__stock.out-of-stock {
	color: #555555;
}

@media (max-width: 767px) {
	body.single-product #content .col-100.woocommerce-content div.product .summary form.cart button.single_add_to_cart_button {
		padding: 14px 16px;
		font-size: 13px;
		letter-spacing: 0.04em;
	}

	body.single-product #content .col-100.woocommerce-content div.product .summary form.cart .quantity input.qty {
		width: 76px;
	}
}

/* Avviso "aggiunto al carrello" sul prodotto: stesso linguaggio degli avvisi di Carrello/Checkout (parent: box verde/azzurro con pulsante colorato) */
body.single-product .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .woocommerce-notices-wrapper .woocommerce-info,
body.single-product .woocommerce-notices-wrapper .woocommerce-error {
	margin: 0 0 24px;
	padding: 14px 18px;
	border: 1px solid #d9d2ce;
	border-radius: 8px;
	background: #fff;
	color: #171717;
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-message::before,
body.single-product .woocommerce-notices-wrapper .woocommerce-info::before,
body.single-product .woocommerce-notices-wrapper .woocommerce-error::before {
	content: none;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-message {
	border-color: #1b4332;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-error {
	border-color: #E02F2F;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-message a.button {
	float: right;
	min-height: 36px;
	padding: 6px 14px;
	margin-left: 12px;
	border-radius: 8px;
	background-color: #E02F2F !important;
	color: #fff !important;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.6;
	text-transform: uppercase;
}

/* --- Blocco informazioni sotto la CTA: righe con filetto, icona + titolo testuale --- */
.bdn-info {
	margin: 28px 0 0;
	border-top: 1px solid #d9d2ce;
}

.bdn-info__item {
	padding: 20px 0;
	border-bottom: 1px solid #d9d2ce;
}

.bdn-info__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
}

.bdn-info__icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	color: #171717;
}

.bdn-info__title {
	margin: 0;
	color: #171717;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bdn-info__text + .bdn-info__text { margin-top: 10px; }

.bdn-info__text {
	margin: 0;
	padding-left: 26px;
	color: #222222;
	font-size: 15px;
	line-height: 1.6;
}

/* --- Descrizione lunga: colonna editoriale centrata, titolo sopra --- */
.bdn-single-desc {
	margin-top: 48px;
}

.bdn-single-desc__title {
	max-width: 820px;
	margin: 0 auto 24px;
	color: #171717;
	font-size: 34px;
	line-height: 1.15;
}

.bdn-single-desc__body {
	max-width: 820px;
	margin: 0 auto;
	color: #171717;
	font-size: 18px;
	line-height: 1.8;
}

.bdn-single-desc__body p,
.bdn-single-desc__body ul,
.bdn-single-desc__body ol {
	margin: 0 0 1.3em;
}

.bdn-single-desc__body ul,
.bdn-single-desc__body ol {
	padding-left: 1.3em;
}

.bdn-single-desc__body ul {
	list-style: disc;
}

.bdn-single-desc__body li {
	margin: 0 0 0.4em;
}

.bdn-single-desc__body strong,
.bdn-single-desc__body b {
	font-weight: 700;
}

.bdn-single-desc__body a {
	color: #171717;
	text-decoration: underline;
	text-decoration-color: #E02F2F;
	text-underline-offset: 3px;
}

.bdn-single-desc__body > :last-child {
	margin-bottom: 0;
}

/* --- Sezione "Fatte a mano, una ad una": editoriale, senza card; predisposta per una foto reale --- */
.bdn-single-brand {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: 48px;
	margin-top: 72px;
	padding: 44px 0;
	border-top: 1px solid #d9d2ce;
	border-bottom: 1px solid #d9d2ce;
}

.bdn-single-brand__content {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.bdn-single-brand--has-media {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
}

.bdn-single-brand--has-media .bdn-single-brand__content {
	margin: 0;
	text-align: left;
}

.bdn-single-brand__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
}

.bdn-single-brand__title {
	margin: 0 0 20px;
	color: #171717;
	font-size: 36px;
	line-height: 1.15;
}

.bdn-single-brand__text {
	margin: 0 0 24px;
	color: #222222;
	font-size: 18px;
	line-height: 1.75;
}

/* Stesso linguaggio visivo del CTA principale (button.single_add_to_cart_button): rosso, uppercase, border-radius 8px */
.bdn-single-brand__link {
	display: inline-block;
	margin-top: 4px;
	padding: 14px 28px;
	border-radius: 8px;
	background-color: #E02F2F;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.bdn-single-brand__link:hover,
.bdn-single-brand__link:focus-visible {
	background-color: #d62a2a;
	color: #fff;
}

.bdn-single-brand__link:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

@media (max-width: 991px) {
	.bdn-single-desc {
		margin-top: 40px;
	}

	.bdn-single-brand--has-media {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.bdn-single-desc {
		margin-top: 32px;
	}

	.bdn-single-desc__title {
		margin-bottom: 20px;
		font-size: 26px;
	}

	.bdn-single-desc__body {
		font-size: 17px;
		line-height: 1.75;
	}

	.bdn-single-brand {
		margin-top: 48px;
		padding: 36px 0;
	}

	.bdn-single-brand__title {
		font-size: 28px;
	}

	.bdn-single-brand__text {
		font-size: 16px;
	}
}

/* ------------------------------------------------------------------------- *
 * Fascia editoriale/emozionale di collezione (archivi product_cat)
 * Fotografia full-bleed (100vw) con testo sovrapposto: una pausa
 * fotografica dopo il catalogo, non una seconda hero e non una card.
 *
 * Full width: la sezione è un grid item di .col-100.woocommerce-content
 * (vedi grid-column:1/-1 più sopra), che a sua volta è centrato nel
 * container .grid del parent (nextawards/style.css, non modificato). La
 * tecnica "width:100vw + margin negativo" è sicura qui perché tutti gli
 * antenati sono simmetrici rispetto al viewport (nessun overflow:hidden
 * a monte): il bleed esce quindi in modo pulito fino ai bordi reali della
 * finestra, senza hack sul punto di rendering dell'hook. overflow-x:hidden
 * scoped su body.tax-product_cat è solo una rete di sicurezza contro
 * l'eventuale 1px di scrollbar introdotto da 100vw su alcuni browser.
 * ------------------------------------------------------------------------- */
body.tax-product_cat {
	overflow-x: hidden;
}

.bdn-cat-story {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 56px;
	display: flex;
	align-items: center;
	min-height: 380px;
	overflow: hidden;
}

.bdn-cat-story__media {
	position: absolute;
	inset: 0;
}

.bdn-cat-story__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
 * Overlay per leggibilità: uniforme e leggero se il testo è centrato,
 * localizzato (più scuro sul lato del testo, trasparente sul resto della
 * foto) se il testo è a sinistra/destra. Nessun pannello/card dietro al
 * testo, solo il gradiente sulla foto stessa.
 */
.bdn-cat-story__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 23, 23, 0.32) 0%, rgba(23, 23, 23, 0.4) 100%);
}

.bdn-cat-story--left .bdn-cat-story__overlay {
	background: linear-gradient(90deg, rgba(23, 23, 23, 0.68) 0%, rgba(23, 23, 23, 0.34) 45%, rgba(23, 23, 23, 0) 75%);
}

.bdn-cat-story--right .bdn-cat-story__overlay {
	background: linear-gradient(270deg, rgba(23, 23, 23, 0.68) 0%, rgba(23, 23, 23, 0.34) 45%, rgba(23, 23, 23, 0) 75%);
}

.bdn-cat-story__inner {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 48px;
	display: flex;
}

.bdn-cat-story--center .bdn-cat-story__inner {
	justify-content: center;
}

.bdn-cat-story--left .bdn-cat-story__inner {
	justify-content: flex-start;
}

.bdn-cat-story--right .bdn-cat-story__inner {
	justify-content: flex-end;
}

.bdn-cat-story__content {
	max-width: 720px;
	color: #ffffff;
}

.bdn-cat-story--center .bdn-cat-story__content {
	text-align: center;
}

.bdn-cat-story--right .bdn-cat-story__content {
	text-align: right;
}

.bdn-cat-story__eyebrow {
	margin: 0 0 12px;
	color: #ffffff;
	font-weight: 700;
	font-size: 13.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.bdn-cat-story__title {
	margin: 0 0 16px;
	color: #ffffff;
	font-size: 38px;
	line-height: 1.15;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.bdn-cat-story__text {
	max-width: 620px;
	margin: 0;
	color: #ffffff;
	font-size: 18px;
	line-height: 1.6;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.bdn-cat-story--center .bdn-cat-story__text {
	margin-left: auto;
	margin-right: auto;
}

.bdn-cat-story__link {
	display: inline-block;
	margin-top: 18px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bdn-cat-story__link:hover,
.bdn-cat-story__link:focus-visible {
	color: #fcece6;
}

.bdn-cat-story__link:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
	border-radius: 2px;
}

@media (max-width: 767px) {
	.bdn-cat-story {
		margin-top: 40px;
		min-height: 420px;
	}

	.bdn-cat-story__inner {
		padding: 0 22px;
	}

	.bdn-cat-story__content {
		max-width: 100%;
	}

	.bdn-cat-story__title {
		font-size: 26px;
	}

	.bdn-cat-story__text {
		max-width: 100%;
		font-size: 16px;
	}

	/* Su mobile il testo occupa quasi tutta la larghezza: centrato indipendentemente dall'allineamento configurato, per evitare righe strette a bandiera contro un bordo. */
	.bdn-cat-story--left .bdn-cat-story__inner,
	.bdn-cat-story--right .bdn-cat-story__inner {
		justify-content: center;
	}

	.bdn-cat-story--left .bdn-cat-story__content,
	.bdn-cat-story--right .bdn-cat-story__content {
		text-align: center;
	}

	.bdn-cat-story--left .bdn-cat-story__overlay,
	.bdn-cat-story--right .bdn-cat-story__overlay {
		background: linear-gradient(180deg, rgba(23, 23, 23, 0.3) 0%, rgba(23, 23, 23, 0.5) 100%);
	}
}

/* ==========================================================================
   LANDING "SCALDUCCI" — pagina WordPress /scalducci/ (ID 38).
   Scoping esclusivo su body.page-id-38. Composizione ricostruita sulla
   reference (docs/references/pagina scalducci.jpeg) con il design system del
   sito: Barlow, palette Box di Natale, CTA .bdn-cta-button. 6 sezioni:
   hero, intro, prodotti, materiali, gesto finale, trust strip.
   ========================================================================== */

/* I gruppi sono grid/flex: azzero il margin-block di .is-layout-flow > * in
   modo generico (regola di progetto) e gestisco gli spazi per elemento. */
body.page-id-38 .bdn-scalducci-hero,
body.page-id-38 .bdn-scalducci-hero__panel,
body.page-id-38 .bdn-scalducci-intro,
body.page-id-38 .bdn-scalducci-products,
body.page-id-38 .bdn-scalducci-materials,
body.page-id-38 .bdn-scalducci-materials__content,
body.page-id-38 .bdn-scalducci-feature-row,
body.page-id-38 .bdn-scalducci-feature,
body.page-id-38 .bdn-scalducci-final,
body.page-id-38 .bdn-scalducci-final__copy,
body.page-id-38 .bdn-scalducci-trust,
body.page-id-38 .bdn-scalducci-trust__item,
body.page-id-38 .bdn-scalducci-trust__copy {
	margin-top: 0;
	margin-bottom: 0;
}

body.page-id-38 .bdn-scalducci-hero > *,
body.page-id-38 .bdn-scalducci-hero__panel > *,
body.page-id-38 .bdn-scalducci-materials > *,
body.page-id-38 .bdn-scalducci-materials__content > *,
body.page-id-38 .bdn-scalducci-feature-row > *,
body.page-id-38 .bdn-scalducci-feature > *,
body.page-id-38 .bdn-scalducci-final > *,
body.page-id-38 .bdn-scalducci-final__copy > *,
body.page-id-38 .bdn-scalducci-trust > *,
body.page-id-38 .bdn-scalducci-trust__item > *,
body.page-id-38 .bdn-scalducci-trust__copy > * {
	margin-block: 0;
}

/* Foto: riempiono la cella grid a tutta altezza (nessun gap, nessun radius) */
body.page-id-38 figure.bdn-scalducci-hero__media,
body.page-id-38 figure.bdn-scalducci-materials__media,
body.page-id-38 figure.bdn-scalducci-final__media {
	position: relative;
	margin: 0;
	min-height: 0;
}

body.page-id-38 figure.bdn-scalducci-hero__media img,
body.page-id-38 figure.bdn-scalducci-materials__media img,
body.page-id-38 figure.bdn-scalducci-final__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* CTA rossa (stesso linguaggio di .single_add_to_cart_button) + freccia */
body.page-id-38 .wp-block-button.bdn-cta-button .wp-block-button__link {
	padding: 15px 30px;
	border-radius: 8px;
	background-color: #E02F2F;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: background-color 0.15s ease;
}

body.page-id-38 .wp-block-button.bdn-cta-button .wp-block-button__link::after {
	content: "\2192";
	display: inline-block;
	margin-left: 12px;
	font-weight: 400;
	letter-spacing: 0;
}

body.page-id-38 .wp-block-button.bdn-cta-button .wp-block-button__link:hover,
body.page-id-38 .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	background-color: #d62a2a;
	color: #fff;
}

body.page-id-38 .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

body.page-id-38 .bdn-scalducci-final .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	outline-color: #171717;
}

/* ==========================================================================
   S01 HERO — foto 58% / pannello verde 42%, altezza ~570px, hero statico
   ========================================================================== */
body.page-id-38 .bdn-scalducci-hero {
	display: grid;
	grid-template-columns: 58fr 42fr;
	min-height: 570px;
	overflow: hidden;
	background: #1b4332;
}

body.page-id-38 .bdn-scalducci-hero__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 48px 72px 48px 56px;
	background: #1b4332;
}

body.page-id-38 .bdn-scalducci-hero__eyebrow {
	margin: 0 0 16px;
	color: #fcece6;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

body.page-id-38 .bdn-scalducci-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(38px, 2.6vw + 20px, 60px);
	font-weight: 700;
	line-height: 1.1;
}

body.page-id-38 .bdn-scalducci-hero h1::after {
	content: "";
	display: block;
	width: 56px;
	height: 1px;
	margin: 22px 0 22px;
	background: rgba(252, 236, 230, 0.55);
}

body.page-id-38 .bdn-scalducci-hero__text {
	margin: 0 0 12px;
	color: #fff;
	font-size: 18px;
	line-height: 1.6;
}

body.page-id-38 .bdn-scalducci-hero .wp-block-buttons {
	margin: 14px 0 0;
}

/* ==========================================================================
   S02 UNA LUCE CHE RACCONTA — intro centrata, compatta
   ========================================================================== */
body.page-id-38 .bdn-scalducci-intro {
	padding: 76px 24px 64px;
	background: #fcece6;
	text-align: center;
}

body.page-id-38 .bdn-scalducci-intro h2 {
	margin: 0 0 20px;
	color: #171717;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.15;
}

body.page-id-38 .bdn-scalducci-intro p {
	max-width: 600px;
	margin: 0 auto;
	color: #222222;
	font-size: 19px;
	line-height: 1.65;
}

/* ==========================================================================
   S03 PRODOTTI — 3 colonne in container ~1270px, pronte per i prodotti reali
   (shortcode bdn_scalducci_products: stesse card dello Shop). Empty state
   discreto: una sola riga, senza box.
   ========================================================================== */
body.page-id-38 .bdn-scalducci-products {
	padding: 40px 24px 72px;
	background: #fcece6;
}

body.page-id-38 .bdn-scalducci-products:has(.bdn-scalducci-grid__empty) {
	padding: 0 24px 40px;
}

body.page-id-38 .bdn-scalducci-products .bdn-scalducci-grid,
body.page-id-38 .bdn-scalducci-products .bdn-scalducci-grid__empty {
	max-width: 1270px;
	margin-left: auto;
	margin-right: auto;
}

/* Card: stessa resa dello Shop (regole condivise ~r.990-1330). Qui solo il numero di colonne. */
body.page-id-38 .bdn-scalducci-grid ul.products {
	--bdn-cols: 3;
}

/* Colonne a larghezza controllata (come le card dello Shop, ~248px), gruppo centrato */
body.page-id-38 .bdn-scalducci-grid ul.products.products {
	grid-template-columns: repeat(var(--bdn-cols), minmax(0, 248px));
	justify-content: center;
	column-gap: 48px;
}

body.page-id-38 .bdn-scalducci-grid__empty {
	padding: 0;
	margin-bottom: 0;
	color: #222222;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

/* ==========================================================================
   S04 ARGILLA, LEGNO E LUCE — foto 40% (taglio obliquo) / contenuto 60%
   ========================================================================== */
body.page-id-38 .bdn-scalducci-materials {
	display: grid;
	grid-template-columns: 40fr 60fr;
	min-height: 570px;
	background: #fcece6;
}

body.page-id-38 figure.bdn-scalducci-materials__media {
	clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}

body.page-id-38 .bdn-scalducci-materials__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 56px 150px 56px 80px;
}

body.page-id-38 .bdn-scalducci-materials h2 {
	margin: 0 0 18px;
	color: #171717;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.15;
}

body.page-id-38 .bdn-scalducci-materials__intro {
	max-width: 560px;
	margin: 0 0 32px;
	color: #222222;
	font-size: 19px;
	line-height: 1.65;
}

body.page-id-38 .bdn-scalducci-feature-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

body.page-id-38 .bdn-scalducci-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

body.page-id-38 .bdn-scalducci-feature__icon {
	display: block;
	width: 44px;
	height: 44px;
	margin: 0 0 12px;
	color: #1b4332;
}

body.page-id-38 .bdn-scalducci-feature__title {
	margin: 0 0 8px;
	color: #171717;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.page-id-38 .bdn-scalducci-feature__text {
	margin: 0;
	color: #222222;
	font-size: 14.5px;
	line-height: 1.55;
}

/* ==========================================================================
   S05 UN PICCOLO GESTO — testo a sinistra, foto a destra con raccordo morbido
   ========================================================================== */
body.page-id-38 .bdn-scalducci-final {
	display: grid;
	grid-template-columns: 46fr 54fr;
	min-height: 466px;
	overflow: hidden;
	background: #fcece6;
}

body.page-id-38 .bdn-scalducci-final__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 48px 16px 48px 100px;
}

body.page-id-38 .bdn-scalducci-final h2 {
	margin: 0 0 20px;
	color: #171717;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.15;
}

body.page-id-38 .bdn-scalducci-final p {
	margin: 0 0 12px;
	color: #222222;
	font-size: 19px;
	line-height: 1.65;
}

body.page-id-38 .bdn-scalducci-final .wp-block-buttons {
	margin: 14px 0 0;
}

/* Dissolvenza foto -> crema: velo dello stesso colore della sezione, non
   una mask (la mask su immagine full-height rallenta il render). */
body.page-id-38 figure.bdn-scalducci-final__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, #fcece6 0%, rgba(252, 236, 230, 0.7) 8%, rgba(252, 236, 230, 0.3) 16%, rgba(252, 236, 230, 0) 26%);
}

/* ==========================================================================
   S06 TRUST STRIP — 3 elementi con separatori verticali
   ========================================================================== */
body.page-id-38 .bdn-scalducci-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	min-height: 142px;
	padding: 0 max(24px, calc((100% - 1270px) / 2));
	background: #f3e3dc;
}

body.page-id-38 .bdn-scalducci-trust__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 24px;
}

body.page-id-38 .bdn-scalducci-trust__item + .bdn-scalducci-trust__item {
	border-left: 1px solid #d9d2ce;
}

body.page-id-38 .bdn-scalducci-trust__icon {
	display: block;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	color: #171717;
}

body.page-id-38 .bdn-scalducci-trust__title {
	margin: 0 0 4px;
	color: #171717;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

body.page-id-38 .bdn-scalducci-trust__text {
	margin: 0;
	color: #222222;
	font-size: 14px;
	line-height: 1.4;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
	body.page-id-38 .bdn-scalducci-hero {
		min-height: 520px;
	}
	body.page-id-38 .bdn-scalducci-hero__panel {
		padding: 40px 40px 40px 36px;
	}
	body.page-id-38 .bdn-scalducci-hero h1 {
		font-size: 38px;
	}
	body.page-id-38 .bdn-scalducci-intro h2,
	body.page-id-38 .bdn-scalducci-materials h2,
	body.page-id-38 .bdn-scalducci-final h2 {
		font-size: 36px;
	}
	body.page-id-38 .bdn-scalducci-grid ul.products {
		--bdn-cols: 2;
	}
	body.page-id-38 .bdn-scalducci-materials {
		grid-template-columns: 38fr 62fr;
	}
	body.page-id-38 .bdn-scalducci-materials__content {
		padding: 48px 40px 48px 56px;
	}
	body.page-id-38 .bdn-scalducci-feature-row {
		gap: 20px;
	}
	body.page-id-38 .bdn-scalducci-final__copy {
		padding: 40px 32px 40px 48px;
	}
	body.page-id-38 .bdn-scalducci-trust__item {
		flex-direction: column;
		gap: 10px;
		text-align: center;
	}
}

@media (max-width: 767px) {
	body.page-id-38 .bdn-scalducci-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	body.page-id-38 figure.bdn-scalducci-hero__media,
	body.page-id-38 figure.bdn-scalducci-materials__media,
	body.page-id-38 figure.bdn-scalducci-final__media {
		aspect-ratio: 4 / 3;
	}
	body.page-id-38 .bdn-scalducci-hero__panel {
		padding: 36px 22px 44px;
	}
	body.page-id-38 .bdn-scalducci-hero .wp-block-buttons,
	body.page-id-38 .bdn-scalducci-hero .wp-block-button,
	body.page-id-38 .bdn-scalducci-final .wp-block-buttons,
	body.page-id-38 .bdn-scalducci-final .wp-block-button {
		width: 100%;
	}
	body.page-id-38 .wp-block-button.bdn-cta-button .wp-block-button__link {
		display: block;
		text-align: center;
	}
	body.page-id-38 .bdn-scalducci-intro {
		padding: 48px 22px 40px;
	}
	body.page-id-38 .bdn-scalducci-intro h2,
	body.page-id-38 .bdn-scalducci-materials h2,
	body.page-id-38 .bdn-scalducci-final h2 {
		font-size: 30px;
	}
	body.page-id-38 .bdn-scalducci-intro p,
	body.page-id-38 .bdn-scalducci-materials__intro,
	body.page-id-38 .bdn-scalducci-final p {
		font-size: 15.5px;
	}
	body.page-id-38 .bdn-scalducci-products {
		padding: 0 22px 40px;
	}
	body.page-id-38 .bdn-scalducci-grid ul.products {
		--bdn-cols: 1;
	}
	body.page-id-38 .bdn-scalducci-materials {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	body.page-id-38 figure.bdn-scalducci-materials__media {
		clip-path: none;
	}
	body.page-id-38 .bdn-scalducci-materials__content {
		padding: 40px 22px 44px;
	}
	body.page-id-38 .bdn-scalducci-feature-row {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	body.page-id-38 .bdn-scalducci-final {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	body.page-id-38 .bdn-scalducci-final__copy {
		padding: 40px 22px 36px;
	}
	body.page-id-38 figure.bdn-scalducci-final__media::before {
		display: none;
	}
	body.page-id-38 .bdn-scalducci-trust {
		grid-template-columns: 1fr;
		padding: 8px 22px;
	}
	body.page-id-38 .bdn-scalducci-trust__item {
		flex-direction: row;
		justify-content: flex-start;
		gap: 18px;
		padding: 20px 0;
		text-align: left;
	}
	body.page-id-38 .bdn-scalducci-trust__item + .bdn-scalducci-trust__item {
		border-left: 0;
		border-top: 1px solid #d9d2ce;
	}
}


/* ==========================================================================
   LANDING "BISCÒ" — pagina WordPress /bisco/ (ID 2384).
   Scoping esclusivo su body.page-id-2384. Composizione ricostruita sulla
   reference (docs/references/pagina bisco.jpeg) con il design system del
   sito: Barlow, palette Box di Natale, CTA .bdn-cta-button. 6 sezioni:
   hero, 4 utilizzi, scegli il tuo Biscò, due scatoline, cinque gusti,
   4 blocchi editoriali.
   ========================================================================== */

/* Gruppi grid/flex: azzero il margin-block di .is-layout-flow > * in modo
   generico (regola di progetto); gli spazi sono gestiti per elemento. */
body.page-id-2384 :is(.bdn-bisco-hero, .bdn-bisco-hero__panel, .bdn-bisco-uses, .bdn-bisco-use, .bdn-bisco-products, .bdn-bisco-boxes, .bdn-bisco-box, .bdn-bisco-box__copy, .bdn-bisco-flavors, .bdn-bisco-flavors__row, .bdn-bisco-flavor, .bdn-bisco-edit, .bdn-bisco-edit__item, .bdn-bisco-edit__panel),
body.page-id-2384 :is(.bdn-bisco-hero, .bdn-bisco-hero__panel, .bdn-bisco-uses, .bdn-bisco-use, .bdn-bisco-products, .bdn-bisco-boxes, .bdn-bisco-box, .bdn-bisco-box__copy, .bdn-bisco-flavors, .bdn-bisco-flavors__row, .bdn-bisco-flavor, .bdn-bisco-edit, .bdn-bisco-edit__item, .bdn-bisco-edit__panel) > * {
	margin-block: 0;
}

/* Slot fotografico: ingombro definitivo, in attesa delle fotografie Biscò */
body.page-id-2384 .bdn-bisco-photo {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	min-height: 0;
	overflow: hidden;
	background: #f3e3dc;
}

body.page-id-2384 .bdn-bisco-photo p.bdn-bisco-photo__label {
	margin: 12px;
	padding: 5px 10px;
	border-radius: 5px;
	background: rgba(23, 23, 23, 0.45);
	color: #fff;
	font-size: 10.5px;
	line-height: 1.4;
}

body.page-id-2384 .bdn-bisco-photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Titoli di sezione: maiuscolo spaziato, centrato */
body.page-id-2384 :is(.bdn-bisco-products, .bdn-bisco-flavors) > h2 {
	margin: 0;
	color: #171717;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

/* CTA rossa (stesso linguaggio di .single_add_to_cart_button) + freccia */
body.page-id-2384 .wp-block-button.bdn-cta-button .wp-block-button__link {
	padding: 17px 36px;
	border-radius: 8px;
	background-color: #E02F2F;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: background-color 0.15s ease;
}

body.page-id-2384 .wp-block-button.bdn-cta-button .wp-block-button__link::after {
	content: "\2192";
	display: inline-block;
	margin-left: 12px;
	font-weight: 400;
	letter-spacing: 0;
}

body.page-id-2384 .wp-block-button.bdn-cta-button .wp-block-button__link:hover,
body.page-id-2384 .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	background-color: #d62a2a;
	color: #fff;
}

body.page-id-2384 .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

/* ==========================================================================
   B01 HERO — testo 46% / foto 54%, altezza ~540px
   ========================================================================== */
body.page-id-2384 .bdn-bisco-hero {
	display: grid;
	grid-template-columns: 46fr 54fr;
	min-height: 540px;
	overflow: hidden;
	background: #fcece6;
}

body.page-id-2384 .bdn-bisco-hero__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 104px 48px 48px 96px;
}

body.page-id-2384 .bdn-bisco-hero__eyebrow {
	margin: 0 0 6px;
	color: #171717;
	font-size: 70px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
}

body.page-id-2384 .bdn-bisco-hero h1 {
	max-width: 620px;
	margin: 0 0 22px;
	color: #171717;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25;
}

body.page-id-2384 .bdn-bisco-hero__text {
	max-width: 620px;
	margin: 0 0 12px;
	color: #171717;
	font-size: 16px;
	line-height: 1.6;
}

body.page-id-2384 .bdn-bisco-hero .wp-block-buttons {
	margin: 14px 0 0;
}

/* ==========================================================================
   B02 FASCIA 4 UTILIZZI — 4 colonne uguali, filetti verticali, ~150px
   ========================================================================== */
body.page-id-2384 .bdn-bisco-uses {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	min-height: 150px;
	background: #fff;
}

body.page-id-2384 .bdn-bisco-use {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	text-align: center;
}

body.page-id-2384 .bdn-bisco-use + .bdn-bisco-use::before {
	content: "";
	position: absolute;
	top: 22%;
	bottom: 22%;
	left: 0;
	width: 1px;
	background: #d9d2ce;
}

body.page-id-2384 .bdn-bisco-use__icon {
	display: block;
	width: 42px;
	height: 42px;
	margin: 0 0 10px;
	color: #171717;
}

body.page-id-2384 .bdn-bisco-use__title {
	margin: 0 0 4px;
	color: #171717;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.page-id-2384 .bdn-bisco-use__text {
	margin: 0;
	color: #222222;
	font-size: 15px;
	line-height: 1.4;
}

/* ==========================================================================
   B03 SCEGLI IL TUO BISCÒ — 5 colonne in una riga (container ~1470px).
   Le card arrivano da WooCommerce via [bdn_bisco_products] (stesso markup
   delle card dello Shop). Empty state: una sola riga discreta.
   ========================================================================== */
body.page-id-2384 .bdn-bisco-products {
	padding: 56px 24px 56px;
	background: #fcece6;
}

body.page-id-2384 .bdn-bisco-products .bdn-bisco-grid,
body.page-id-2384 .bdn-bisco-products .bdn-bisco-grid__empty {
	max-width: 1470px;
	margin-left: auto;
	margin-right: auto;
}

body.page-id-2384 .bdn-bisco-products .bdn-bisco-grid {
	margin-top: 14px;
}

/* Card: stessa resa dello Shop (regole condivise ~r.990-1330). Qui solo il numero di colonne. */
body.page-id-2384 .bdn-bisco-grid ul.products {
	--bdn-cols: 5;
}

body.page-id-2384 .bdn-bisco-grid__empty {
	margin-top: 18px;
	margin-bottom: 0;
	padding: 0;
	color: #222222;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

/* ==========================================================================
   B04 LE DUE SCATOLINE — 2 colonne 50/50, foto + testo, ~290px
   ========================================================================== */
body.page-id-2384 .bdn-bisco-boxes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: #fcece6;
}

body.page-id-2384 .bdn-bisco-box {
	display: grid;
	grid-template-columns: 48fr 52fr;
	align-items: center;
	min-height: 290px;
	background: #fcece6;
}

body.page-id-2384 .bdn-bisco-box__photo {
	align-self: stretch;
}

body.page-id-2384 .bdn-bisco-box__copy {
	padding: 32px 40px;
}

body.page-id-2384 .bdn-bisco-box__title {
	margin: 0 0 12px;
	color: #171717;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.page-id-2384 .bdn-bisco-box__text {
	margin: 0;
	color: #222222;
	font-size: 15.5px;
	line-height: 1.5;
}

/* ==========================================================================
   B05 CINQUE GUSTI — 5 colonne, texture 1,8:1, ~340px
   ========================================================================== */
body.page-id-2384 .bdn-bisco-flavors {
	padding: 56px 24px 56px;
	background: #fff;
}

body.page-id-2384 .bdn-bisco-flavors h2 {
	font-size: 37px;
}

body.page-id-2384 .bdn-bisco-flavors__row {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	max-width: 1470px;
	margin: 22px auto 0;
}

body.page-id-2384 .bdn-bisco-flavor__photo {
	aspect-ratio: 1.8 / 1;
}

body.page-id-2384 .bdn-bisco-flavor__name {
	margin: 12px 0 2px;
	color: #171717;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

body.page-id-2384 .bdn-bisco-flavor__text {
	margin: 0;
	color: #222222;
	font-size: 15px;
	line-height: 1.4;
}

/* ==========================================================================
   B06 4 BLOCCHI EDITORIALI — foto verticali con pannello offset, ~466px
   ========================================================================== */
body.page-id-2384 .bdn-bisco-edit {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	padding-bottom: 48px;
	background: #fff;
}

body.page-id-2384 .bdn-bisco-edit__item {
	position: relative;
	height: 466px;
	overflow: hidden;
}

body.page-id-2384 .bdn-bisco-edit__photo {
	position: absolute;
	inset: 0;
}

body.page-id-2384 .bdn-bisco-edit__panel {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 66%;
	min-height: 58%;
	padding: 26px 22px;
	/* Sfondo semitrasparente (solo il colore, testi a piena opacità): la foto traspare dal riquadro */
	background: rgba(252, 236, 230, 0.8);
}

body.page-id-2384 .bdn-bisco-edit__title {
	margin: 0 0 10px;
	color: #171717;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.page-id-2384 .bdn-bisco-edit__text {
	margin: 0;
	color: #222222;
	font-size: 14.5px;
	line-height: 1.5;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
	body.page-id-2384 .bdn-bisco-hero {
		grid-template-columns: 1fr 1fr;
		min-height: 480px;
	}
	body.page-id-2384 .bdn-bisco-hero__panel {
		padding: 64px 36px 40px 40px;
	}
	body.page-id-2384 .bdn-bisco-hero__eyebrow {
		font-size: 52px;
	}
	body.page-id-2384 .bdn-bisco-hero h1 {
		font-size: 22px;
	}
	body.page-id-2384 .bdn-bisco-use__title {
		font-size: 15px;
	}
	body.page-id-2384 .bdn-bisco-use__text {
		font-size: 14px;
	}
	body.page-id-2384 :is(.bdn-bisco-products, .bdn-bisco-flavors) > h2 {
		font-size: 28px;
	}
	body.page-id-2384 .bdn-bisco-grid ul.products {
		--bdn-cols: 3;
	}
	body.page-id-2384 .bdn-bisco-box {
		grid-template-columns: 1fr;
	}
	body.page-id-2384 .bdn-bisco-box__photo {
		aspect-ratio: 16 / 9;
	}
	body.page-id-2384 .bdn-bisco-box__copy {
		padding: 24px 28px 32px;
	}
	body.page-id-2384 .bdn-bisco-flavors__row {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 28px;
	}
	body.page-id-2384 .bdn-bisco-edit {
		grid-template-columns: repeat(2, 1fr);
	}
	body.page-id-2384 .bdn-bisco-edit__item {
		height: 420px;
	}
}

@media (max-width: 767px) {
	body.page-id-2384 .bdn-bisco-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	body.page-id-2384 .bdn-bisco-hero__photo {
		order: -1;
		aspect-ratio: 4 / 3;
	}
	body.page-id-2384 .bdn-bisco-hero__panel {
		padding: 32px 22px 40px;
	}
	body.page-id-2384 .bdn-bisco-hero__eyebrow {
		font-size: 44px;
	}
	body.page-id-2384 .bdn-bisco-hero .wp-block-buttons,
	body.page-id-2384 .bdn-bisco-hero .wp-block-button {
		width: 100%;
	}
	body.page-id-2384 .wp-block-button.bdn-cta-button .wp-block-button__link {
		display: block;
		text-align: center;
	}
	body.page-id-2384 .bdn-bisco-uses {
		grid-template-columns: repeat(2, 1fr);
	}
	body.page-id-2384 .bdn-bisco-use {
		padding: 22px 12px;
	}
	body.page-id-2384 .bdn-bisco-use:nth-child(odd)::before {
		display: none;
	}
	body.page-id-2384 .bdn-bisco-use:nth-child(n + 3) {
		border-top: 1px solid #d9d2ce;
	}
	body.page-id-2384 .bdn-bisco-products {
		padding: 40px 16px 40px;
	}
	body.page-id-2384 :is(.bdn-bisco-products, .bdn-bisco-flavors) > h2 {
		font-size: 22px;
		letter-spacing: 0.08em;
	}
	body.page-id-2384 .bdn-bisco-grid ul.products {
		--bdn-cols: 2;
		gap: 14px;
	}
	body.page-id-2384 .bdn-bisco-boxes {
		grid-template-columns: 1fr;
	}
	body.page-id-2384 .bdn-bisco-flavors {
		padding: 40px 16px 40px;
	}
	body.page-id-2384 .bdn-bisco-flavors__row {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	body.page-id-2384 .bdn-bisco-flavor__name {
		font-size: 18px;
	}
	body.page-id-2384 .bdn-bisco-edit {
		grid-template-columns: 1fr;
		gap: 0;
	}
	body.page-id-2384 .bdn-bisco-edit__item {
		display: flex;
		flex-direction: column;
		height: auto;
		overflow: visible;
	}
	body.page-id-2384 .bdn-bisco-edit__photo {
		position: relative;
		inset: auto;
		aspect-ratio: 4 / 3;
	}
	body.page-id-2384 .bdn-bisco-edit__panel {
		position: static;
		width: 100%;
		min-height: 0;
		padding: 24px 22px 28px;
		background: #fcece6; /* sotto la foto, non sovrapposto: nessuna trasparenza */
	}
}

/* ==========================================================================
   HOME — cerchi "Scopri le collezioni"
   Il diametro (100px) e' un width inline dentro il blocco immagine in
   post_content: da desktop lo porto a 200px con !important (nessuna modifica al
   contenuto). La riga e' una grid a 6 colonne con gap 54px: a 200px il gap
   lo riduco a 8px cosi' i 6 cerchi entrano nel container wide (1244px a
   1536px di viewport) senza allargarlo. Sotto 200px di colonna il cerchio si
   riduce fluido (width 100% / max-width 200px). Solo >=1024px: tablet/mobile
   restano invariati.
   ========================================================================== */
@media (min-width: 1024px) {
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .wp-block-group > figure.is-style-rounded) {
		column-gap: 8px;
	}
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .wp-block-group > figure.is-style-rounded) figure.is-style-rounded {
		width: 100%;
		max-width: 200px;
	}
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .wp-block-group > figure.is-style-rounded) figure.is-style-rounded img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
	}
}

/* ==========================================================================
   HOME / CONTATTI — ritocchi mirati
   (bollini collezioni cliccabili, riquadri con gradiente, icone box, anchor form)
   ========================================================================== */

/* HOME — Scopri le collezioni: l'intero bollino è cliccabile.
   Un solo link (l'etichetta) con area estesa a tutto il bollino: nessun link annidato,
   nome accessibile = etichetta, focus visibile sull'intero bollino. */
body.home .bdn-collection-item {
	position: relative;
}
body.home .bdn-collection-item a {
	color: inherit;
	text-decoration: none;
}
body.home .bdn-collection-item a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 12px;
}
body.home .bdn-collection-item:hover a,
body.home .bdn-collection-item a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}
body.home .bdn-collection-item a:focus-visible {
	outline: none;
}
body.home .bdn-collection-item a:focus-visible::after {
	outline: 2px solid #171717;
	outline-offset: 4px;
}

/* HOME + CONTATTI — riquadri foto: testi e bottoni in basso a sinistra
   e gradiente scuro localizzato in basso a sinistra (non intercetta click/hover). */
body.home .wp-block-group.is-layout-grid > .wp-block-cover.is-position-top-left {
	align-items: flex-end;
	justify-content: flex-start;
}
body.home main .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background)::before,
body.page-id-618 main .wp-block-cover.is-position-bottom-left:not(.alignfull):has(> .wp-block-cover__image-background)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(ellipse 95% 80% at 0% 100%, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.44) 45%, rgba(0, 0, 0, 0) 80%);
}

/* HOME — Box: icone dei tre passaggi più contenute */
body.home .wp-block-group.is-position-sticky figure.is-style-rounded img {
	width: 180px;
	max-width: 100%;
	height: auto;
}

/* CONTATTI — il pulsante "Richiedi assistenza" porta al modulo: compensa l'header fisso */
body.page-id-618 #richiedi-informazioni {
	scroll-margin-top: 140px;
}
body.home main .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background) > .wp-block-cover__inner-container,
body.page-id-618 main .wp-block-cover.is-position-bottom-left:not(.alignfull):has(> .wp-block-cover__image-background) > .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

/* ==========================================================================
   BOTTONI — testo ridotto di 1px (CTA, pulsanti Gutenberg, WooCommerce, form)
   - dimensione ereditata  → calc(1em - 1px) (= valore effettivo − 1px a ogni breakpoint)
   - preset fluido (classe core con !important) → variabile preset ridefinita solo sul bottone
   - dimensione dichiarata a px nel child → ridotta in loco (regole dei singoli componenti)
   Esclusi: icone pure, quantità, select/input, filtri, menu.
   ========================================================================== */
.wp-block-button:not(.shop-clear-btn *) .wp-block-button__link {
	font-size: calc(1em - 1px);
}
.wp-block-button .wp-block-button__link.has-x-small-font-size {
	--wp--preset--font-size--x-small: calc(clamp(0.825rem, 0.825rem + ((1vw - 0.2rem) * 0.204), 0.95rem) - 1px);
}
.wp-block-button .wp-block-button__link.has-small-font-size {
	--wp--preset--font-size--small: calc(clamp(0.95rem, 0.95rem + ((1vw - 0.2rem) * 0.163), 1.05rem) - 1px);
}
form .wpcf7-submit {
	font-size: 15px; /* il parent imposta input[type=submit] a 16px */
}

/* HOME — riquadri foto su mobile: il padding-right inline (15rem/24rem) lasciava il testo in una colonna di pochi pixel */
@media (max-width: 781px) {
	body.home main .wp-block-cover:not(.alignfull) .wp-block-cover__inner-container .wp-block-group[style*="padding-right"] {
		padding-right: 0 !important;
	}
}

/* Riquadri con gradiente scuro: nei riquadri "is-light" il testo core è nero → passa a bianco, come negli altri riquadri */
body.home main .wp-block-cover.is-light:not(.alignfull):has(> .wp-block-cover__image-background) > .wp-block-cover__inner-container,
body.page-id-618 main .wp-block-cover.is-light.is-position-bottom-left:not(.alignfull):has(> .wp-block-cover__image-background) > .wp-block-cover__inner-container {
	color: #fff;
}

/* Badge PROMO — blocco nativo Product Collection (Home): rosso con testo bianco, come nello Shop */
.wc-block-components-product-sale-badge {
	background: #E02F2F;
	color: #fff;
	border-color: #E02F2F;
}

/* CONTATTI — checkbox di presa visione dell'informativa privacy (CF7 acceptance) */
.wpcf7-form .bdn-privacy-consent .wpcf7-form-control-wrap {
	display: block;
}
.wpcf7-form .bdn-privacy-consent .wpcf7-list-item {
	display: block;
	margin: 0;
}
.wpcf7-form .bdn-privacy-consent .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.wpcf7-form .bdn-privacy-consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: #171717;
}
.wpcf7-form .bdn-privacy-consent input[type="checkbox"]:focus-visible,
.wpcf7-form .bdn-privacy-consent a:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 3px;
}
.wpcf7-form .bdn-privacy-consent a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Storie nel Barattolo — selettore variazioni: nessun overflow su mobile */
@media (max-width: 767px) {
	.woocommerce div.product form.cart .variations,
	.woocommerce div.product form.cart .variations tbody,
	.woocommerce div.product form.cart .variations tr,
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td { display: block; width: 100%; }
	.woocommerce div.product form.cart .variations select { width: 100%; max-width: 100%; }
}

/* A11Y — Contatti: il gruppo grid (form + foto) ha padding laterale inline di 10rem
   (320px totali) che su mobile lascia ~70px di contenuto. Sotto i 782px lo riduciamo
   e rimuoviamo il padding destro del testo sopra la foto. */
@media (max-width: 781px) {
	body.page-id-618 main .wp-block-group.alignfull.is-layout-grid {
		padding-left: var(--wp--preset--spacing--50) !important;
		padding-right: var(--wp--preset--spacing--50) !important;
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}
	body.page-id-618 main .wp-block-group.alignfull.is-layout-grid .wp-block-cover .wp-block-group {
		padding-right: 0 !important;
	}
}

/* A11Y — Variazioni WooCommerce: il parent toglie l'outline ai select (.woocommerce select:focus). */
.woocommerce div.product form.variations_form select:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

/* ==========================================================================
   HOME / CONTATTI — revisione grafica (spaziature, gradienti, pulsanti, icone)
   ========================================================================== */

/* Riquadri foto Home: il padding-right inline stava sul gruppo che contiene anche i pulsanti,
   quindi restringeva anche le CTA (a ~1440px il pulsante di 253px aveva 254px di spazio e
   andava a capo con qualsiasi scrollbar/zoom). Da 782px in su il padding passa dal gruppo ai
   soli titolo/paragrafo; il gruppo perde anche parte del padding inferiore (spazio sotto ai pulsanti). */
@media (min-width: 782px) {
	body.home main .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right"]:has(> .wp-block-heading) {
		--bdn-pr: 3.5rem;
		padding-right: 0 !important;
		padding-bottom: 0.5rem !important;
	}
	body.home main .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right:15rem"]:has(> .wp-block-heading) { --bdn-pr: 17rem; }
	body.home main .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right:24rem"]:has(> .wp-block-heading) { --bdn-pr: 26rem; }
	body.home main .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right:1rem"]:has(> .wp-block-heading) { --bdn-pr: 2.25rem; }
	body.home main .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right"]:has(> .wp-block-heading) > .wp-block-heading,
	body.home main .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right"]:has(> .wp-block-heading) > p {
		padding-right: var(--bdn-pr);
	}
}

/* CTA dei riquadri: una sola riga quando il riquadro è abbastanza largo (cover = container) */
body.home main .wp-block-cover:not(.alignfull) {
	container-type: inline-size;
}
@container (min-width: 20rem) {
	body.home main .wp-block-cover:not(.alignfull) .wp-block-button__link {
		white-space: nowrap;
	}
}

/* Griglia principale (4 riquadri): gradiente più deciso in basso a sinistra, più morbido verso alto/destra;
   il layer grigio chiaro #dbdbdb schiariva la foto sotto al testo bianco → nero con la stessa opacità. */
body.home main .wp-block-group.alignfull.is-layout-grid > .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background)::before {
	background: radial-gradient(ellipse 120% 110% at 0% 100%, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0.64) 42%, rgba(0, 0, 0, 0) 92%);
}
body.home main .wp-block-group.alignfull.is-layout-grid > .wp-block-cover > .wp-block-cover__background {
	background-color: #000000 !important;
}

/* Idee regalo (4 riquadri): gradiente più marcato dietro al testo */
body.home main .whitebg.is-layout-grid .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background)::before {
	background: radial-gradient(ellipse 125% 110% at 0% 100%, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.56) 40%, rgba(0, 0, 0, 0) 90%);
}

/* Storie nel Barattolo / Scalducci (riquadri rettangolari): layer più intenso */
body.home main .wp-block-column > .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background)::before {
	background: radial-gradient(ellipse 105% 115% at 0% 100%, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.54) 40%, rgba(0, 0, 0, 0) 90%);
}
body.home main .wp-block-column > .wp-block-cover > .wp-block-cover__background {
	opacity: 0.22;
}

/* Box: tre icone più contenute (144px a ≥1536px, proporzionali sotto) */
body.home .wp-block-group.is-position-sticky figure.is-style-rounded img {
	width: clamp(104px, 9.4vw, 144px);
}

/* Sezione "Fatto a mano / Creato in argilla / Cura nei dettagli": respiro a destra del blocco colonne */
@media (min-width: 782px) {
	body.home main .wp-block-cover.alignfull .wp-block-columns:has(> .wp-block-column[style*="flex-basis:25%"]) {
		padding-right: clamp(2.5rem, 5vw, 5rem) !important;
	}
}

/* CONTATTI — foto accanto al form: gradiente più intenso nella zona del testo */
body.page-id-618 main .wp-block-cover.is-position-bottom-left:not(.alignfull):has(> .wp-block-cover__image-background)::before {
	background: radial-gradient(ellipse 110% 100% at 0% 100%, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.58) 40%, rgba(0, 0, 0, 0) 90%);
}

/* HOME — Idee regalo: tra 1100 e 1439px i riquadri scendono a ~280px e lo spazio interno (box meno
   il padding inline di 24+24px) è di ~233px, meno dei ~254px del pulsante. Il padding dei testi resta
   (è su titolo e paragrafo); qui si riduce solo il padding laterale del riquadro (24 → 16 a sinistra,
   8 a destra), così la CTA ha ~257px senza toccare dimensioni del riquadro, font o padding del pulsante. */
@media (min-width: 1100px) and (max-width: 1439px) {
	body.home main .whitebg.is-layout-grid .wp-block-cover:not(.alignfull) {
		padding-left: 16px !important;
		padding-right: 8px !important;
	}
}

/* ==========================================================================
   BISCÒ B04 (prodotti reali delle scatoline) + "PRESTO DISPONIBILE"
   ========================================================================== */
body.page-id-2384 .bdn-bisco-boxes {
	grid-template-columns: minmax(0, 1fr);
	padding: 0 24px 56px;
}

body.page-id-2384 .bdn-bisco-boxes .bdn-bisco-grid {
	width: 100%;
	max-width: 1470px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	/* 2 card larghe come una colonna di B03 (3 colonne <1360px, 5 da 1360px), centrate */
	body.page-id-2384 .bdn-bisco-boxes .bdn-bisco-grid ul.products.products {
		--bdn-ref: 3;
		grid-template-columns: repeat(2, minmax(0, calc((100% - (var(--bdn-ref) - 1) * 24px) / var(--bdn-ref))));
		justify-content: center;
		column-gap: 24px;
	}
}

@media (min-width: 1360px) {
	body.page-id-2384 .bdn-bisco-boxes .bdn-bisco-grid ul.products.products {
		--bdn-ref: 5;
	}
}

/* Prodotto non ordinabile: pulsante neutro (link alla scheda, non aggiunge al carrello) */
.bdn-bisco-grid ul.products li.product.bdn-coming-soon a.button,
.bdn-scalducci-grid ul.products li.product.bdn-coming-soon a.button,
body.woocommerce-shop .col-100.woocommerce-content ul.products li.product.bdn-coming-soon a.button,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product.bdn-coming-soon a.button {
	background-color: #fff !important;
	color: #171717 !important;
	box-shadow: inset 0 0 0 1px #171717;
}

.bdn-bisco-grid ul.products li.product.bdn-coming-soon a.button:hover,
.bdn-scalducci-grid ul.products li.product.bdn-coming-soon a.button:hover,
body.woocommerce-shop .col-100.woocommerce-content ul.products li.product.bdn-coming-soon a.button:hover,
body.tax-product_cat .col-100.woocommerce-content ul.products li.product.bdn-coming-soon a.button:hover {
	background-color: #fcece6 !important;
}

.bdn-single__stock.coming-soon {
	color: #171717;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* [products] nativo dentro le griglie Biscò/Scalducci: neutralizza le larghezze a % di WooCommerce (.columns-N) */
body .bdn-bisco-grid ul.products.products li.product,
body .bdn-scalducci-grid ul.products.products li.product {
	float: none;
	width: auto;
	margin: 0;
}

/* Biscò/Scalducci: il link prodotto perdeva display:flex contro la regola del parent (.woocommerce ul.products li.product a),
   quindi il titolo non assorbiva lo spazio libero e prezzi/pulsanti si disallineavano con titoli di lunghezza diversa. */
body .bdn-bisco-grid ul.products.products li.product .woocommerce-LoopProduct-link,
body .bdn-scalducci-grid ul.products.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

/* PRESTO DISPONIBILE nella scheda: stesso inchiostro dei titoli (la regola .out-of-stock è più specifica) */
body.single-product #content div.product p.bdn-single__stock.out-of-stock.coming-soon {
	color: #171717;
}

/* Etichette dei selettori variazioni allineate a sinistra su mobile (nessun cambio di logica) */
@media (max-width: 767px) {
	.woocommerce div.product form.cart .variations th.label,
	.woocommerce div.product form.cart .variations .label {
		text-align: left;
	}
}

/* Side Cart — componenti dei prodotti Composite (solo righe con classe bdn-sc-child, impostata in functions.php) */
.xoo-wsc-product.bdn-sc-child {
	margin-left: 20px;
	background: #FCECE6;
	border-left: 3px solid #D9D2CE;
}

.xoo-wsc-product.bdn-sc-child .xoo-wsc-img-col {
	width: 15%;
}

.xoo-wsc-product.bdn-sc-child .xoo-wsc-pname,
.xoo-wsc-product.bdn-sc-child .xoo-wsc-pname a {
	font-size: 13px;
	font-weight: 600;
	color: #171717;
}

.xoo-wsc-product.bdn-sc-child .xoo-wsc-sml-qty,
.xoo-wsc-product.bdn-sc-child .xoo-wsc-pprice {
	font-size: 13px;
	color: #222222;
}

.xoo-wsc-product.bdn-sc-child .xoo-wsc-priceBox:empty {
	display: none;
}

.xoo-wsc-product.bdn-sc-child .bdn-sc-incl {
	display: inline-block;
	margin: 2px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #1B4332;
}

/* Composite a griglia (Crea la tua Box): sezioni per categoria, colori del sito, barra totale/CTA sempre visibile.
   Solo prodotti il cui selettore e' una griglia WPC (Small e Medium usano le tendine e non sono toccati). */
.wooco_component[class*="wooco_component_layout_grid_"] > .wooco_component_name {
	margin: 32px 0 6px;
	padding-bottom: 8px;
	border-bottom: 1px solid #D9D2CE;
	font-size: 20px;
	font-weight: 700;
	color: #171717;
}

.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item {
	background: #FFFFFF;
	border-color: #D9D2CE;
	border-radius: 8px;
}

.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item.wooco_item_selected {
	border-color: #1B4332;
	box-shadow: 0 0 0 1px #1B4332;
}

.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item.wooco_item_selected:before {
	background-color: #1B4332;
}

body.bdn-box-creativa .summary .wooco_summary {
	position: sticky;
	bottom: 84px;
	z-index: 19;
	padding: 10px 14px;
	background: #FFFFFF;
	border: 1px solid #D9D2CE;
	border-radius: 8px;
	color: #171717;
}

body.bdn-box-creativa .summary form.cart {
	position: sticky;
	bottom: 0;
	z-index: 20;
	padding: 12px 0;
	background: #FCECE6;
}

@media (max-width: 479px) {
	/* una riga per prodotto: miniatura a sinistra, nome, prezzo e quantita' a destra (la griglia a 1 colonna sarebbe di ~440px a card) */
	.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item {
		display: grid;
		grid-template-columns: 84px 1fr;
		column-gap: 12px;
		align-items: start;
		padding: 10px 44px 10px 10px;
		text-align: left;
	}

	.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item_image {
		margin: 0;
	}

	.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item_image img {
		width: 84px;
		height: 84px;
		object-fit: cover;
		border-radius: 6px;
	}

	.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item_qty {
		justify-content: flex-start;
		margin-top: 8px;
	}

	.wooco_component[class*="wooco_component_layout_grid_"] .wooco_component_product_selection_grid_item:before {
		top: 10px;
		right: 10px;
	}
}

/* Box Creativa: la foto NON e' piu' sticky. Il contenitore sticky era l'intero div.product (non solo la riga della foto),
   quindi la foto restava ferma sopra descrizione e prodotti correlati. Ora scorre normalmente, allineata al configuratore. */
@media (min-width: 992px) {
	body.bdn-box-creativa div.product .woocommerce-product-gallery {
		align-self: start;
	}
}

/* ==========================================================================
   LANDING "LE BOX" — pagina WordPress /le-box/ (ID 2617, bozza).
   Scoping esclusivo su body.page-id-2617. 7 sezioni: hero, introduzione,
   Small, Medium (alternate foto sx/dx), Box Creativa (fondo verde),
   Scatolina Biscò (feature piena, foto a destra), chiusura. CTA .bdn-cta-button.
   ========================================================================== */

/* Gruppi grid/flex: reset generico del margin-block di .is-layout-flow > * */
body.page-id-2617 :is(.bdn-lebox-hero, .bdn-lebox-hero__panel, .bdn-lebox-intro, .bdn-lebox-feature, .bdn-lebox-feature__copy, .bdn-lebox-crea, .bdn-lebox-crea__photos, .bdn-lebox-crea__copy, .bdn-lebox-scatolina, .bdn-lebox-scatolina__copy, .bdn-lebox-closing),
body.page-id-2617 :is(.bdn-lebox-hero, .bdn-lebox-hero__panel, .bdn-lebox-intro, .bdn-lebox-feature, .bdn-lebox-feature__copy, .bdn-lebox-crea, .bdn-lebox-crea__photos, .bdn-lebox-crea__copy, .bdn-lebox-scatolina, .bdn-lebox-scatolina__copy, .bdn-lebox-closing) > * {
	margin-block: 0;
}

body.page-id-2617 .bdn-lebox-photo {
	position: relative;
	overflow: hidden;
	background: #f3e3dc;
}

body.page-id-2617 .bdn-lebox-photo figure {
	margin: 0;
}

body.page-id-2617 .bdn-lebox-photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.page-id-2617 .bdn-lebox-eyebrow {
	margin: 0 0 14px;
	color: #1b4332;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.page-id-2617 :is(.bdn-lebox-hero, .bdn-lebox-intro, .bdn-lebox-feature, .bdn-lebox-scatolina, .bdn-lebox-closing) :is(h1, h2) {
	color: #171717;
	font-weight: 500;
	text-transform: none;
}

/* CTA rossa + freccia (come Biscò/Scalducci) */
body.page-id-2617 .wp-block-button.bdn-cta-button .wp-block-button__link {
	padding: 17px 36px;
	border-radius: 8px;
	background-color: #E02F2F;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: background-color 0.15s ease;
}

body.page-id-2617 .wp-block-button.bdn-cta-button .wp-block-button__link::after {
	content: "\2192";
	display: inline-block;
	margin-left: 12px;
	font-weight: 400;
	letter-spacing: 0;
}

body.page-id-2617 .wp-block-button.bdn-cta-button .wp-block-button__link:hover,
body.page-id-2617 .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	background-color: #d62a2a;
	color: #fff;
}

body.page-id-2617 .wp-block-button.bdn-cta-button .wp-block-button__link:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

/* 1 HERO */
body.page-id-2617 .bdn-lebox-hero {
	display: grid;
	grid-template-columns: 46fr 54fr;
	min-height: 600px;
	overflow: hidden;
	background: #fcece6;
}

body.page-id-2617 .bdn-lebox-hero__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 72px 56px 72px 96px;
}

body.page-id-2617 .bdn-lebox-hero h1 {
	max-width: 620px;
	margin: 0 0 22px;
	font-size: 52px;
	line-height: 1.1;
}

body.page-id-2617 .bdn-lebox-hero__text {
	max-width: 520px;
	margin: 0 0 28px;
	color: #171717;
	font-size: 17px;
	line-height: 1.6;
}

body.page-id-2617 .bdn-lebox-hero .wp-block-buttons {
	margin: 0;
}

/* 2 INTRODUZIONE */
body.page-id-2617 .bdn-lebox-intro {
	padding: 96px 24px;
	background: #fff;
	text-align: center;
}

body.page-id-2617 .bdn-lebox-intro h2 {
	max-width: 760px;
	margin: 0 auto 24px;
	font-size: 38px;
	line-height: 1.2;
}

body.page-id-2617 .bdn-lebox-intro__text {
	max-width: 680px;
	margin: 0 auto 16px;
	color: #222222;
	font-size: 18px;
	line-height: 1.7;
}

body.page-id-2617 .bdn-lebox-intro__text:last-child {
	margin-bottom: 0;
}

/* 3-4 SMALL / MEDIUM: foto e testo alternati */
body.page-id-2617 .bdn-lebox-feature {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	min-height: 0;
	overflow: hidden;
}

body.page-id-2617 .bdn-lebox-feature--small {
	background: #fcece6;
}

body.page-id-2617 .bdn-lebox-feature--medium {
	background: #fff;
}

body.page-id-2617 .bdn-lebox-feature .bdn-lebox-feature__photo {
	min-height: 0;
	aspect-ratio: 10 / 9;
}

body.page-id-2617 .bdn-lebox-feature__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 72px 96px;
}

body.page-id-2617 .bdn-lebox-feature h2 {
	margin: 0 0 18px;
	font-size: 42px;
	line-height: 1.15;
}

body.page-id-2617 .bdn-lebox-feature__text {
	max-width: 480px;
	margin: 0 0 22px;
	color: #222222;
	font-size: 17px;
	line-height: 1.65;
}

body.page-id-2617 .bdn-lebox-price {
	margin: 0 0 28px;
	color: #171717;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
}

body.page-id-2617 .bdn-lebox-price del {
	margin-right: 8px;
	color: #222222;
	font-size: 18px;
	font-weight: 400;
}

body.page-id-2617 .bdn-lebox-price strong {
	color: #CC2929;
	font-weight: 700;
}

body.page-id-2617 .bdn-lebox-feature .wp-block-buttons {
	margin: 0;
}

/* 5 CREA LA TUA BOX — sezione protagonista, fondo verde */
body.page-id-2617 .bdn-lebox-crea {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	align-items: center;
	gap: 72px;
	padding: 96px 96px;
	background: #1b4332;
	color: #fcece6;
}

body.page-id-2617 .bdn-lebox-crea__photos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: end;
}

body.page-id-2617 .bdn-lebox-crea__photo {
	background: #163a2b;
}

body.page-id-2617 .bdn-lebox-crea__photo--a {
	aspect-ratio: 3 / 4;
}

body.page-id-2617 .bdn-lebox-crea__photo--b {
	aspect-ratio: 3 / 4;
	margin-bottom: 56px;
}

body.page-id-2617 .bdn-lebox-crea .bdn-lebox-eyebrow {
	color: #fcece6;
}

body.page-id-2617 .bdn-lebox-crea h2 {
	margin: 0 0 22px;
	color: #fcece6;
	font-size: 52px;
	font-weight: 500;
	line-height: 1.1;
}

body.page-id-2617 .bdn-lebox-crea__text {
	max-width: 520px;
	margin: 0 0 16px;
	color: #fcece6;
	font-size: 18px;
	line-height: 1.65;
}

/* CTA predisposta ma non attiva (prodotto 2611 ancora in bozza): non è un link */
body.page-id-2617 .bdn-lebox-crea__pending {
	display: inline-block;
	margin: 12px 0 0;
	padding: 17px 36px;
	border: 1px dashed rgba(252, 236, 230, 0.6);
	border-radius: 8px;
	color: rgba(252, 236, 230, 0.75);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: not-allowed;
}

body.page-id-2617 .bdn-lebox-crea__note {
	margin: 10px 0 0;
	color: rgba(252, 236, 230, 0.85);
	font-size: 14px;
	line-height: 1.4;
}

/* 6 SCATOLINA BISCÒ — sezione editoriale piena, stessa grammatica di Small/Medium
   (testo a sinistra, foto grande a destra, fondo crema); le regole .bdn-lebox-feature valgono anche qui. */
body.page-id-2617 .bdn-lebox-feature--scatolina {
	background: #fcece6;
}

/* 7 CHIUSURA */
body.page-id-2617 .bdn-lebox-closing {
	padding: 104px 24px;
	background: #fff;
	text-align: center;
}

body.page-id-2617 .bdn-lebox-closing h2 {
	max-width: 760px;
	margin: 0 auto 22px;
	font-size: 40px;
	line-height: 1.2;
}

body.page-id-2617 .bdn-lebox-closing__text {
	max-width: 620px;
	margin: 0 auto 30px;
	color: #222222;
	font-size: 18px;
	line-height: 1.7;
}

body.page-id-2617 .bdn-lebox-closing .wp-block-buttons {
	justify-content: center;
	margin: 0;
}

@media (max-width: 1279px) {
	body.page-id-2617 .bdn-lebox-hero__panel {
		padding: 56px 40px 56px 56px;
	}
	body.page-id-2617 .bdn-lebox-hero h1 {
		font-size: 42px;
	}
	body.page-id-2617 .bdn-lebox-feature__copy {
		padding: 56px 56px;
	}
	body.page-id-2617 .bdn-lebox-crea {
		gap: 48px;
		padding: 80px 56px;
	}
	body.page-id-2617 .bdn-lebox-crea h2 {
		font-size: 44px;
	}
}

@media (max-width: 899px) {
	body.page-id-2617 .bdn-lebox-hero,
	body.page-id-2617 .bdn-lebox-feature,
	body.page-id-2617 .bdn-lebox-crea {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	body.page-id-2617 .bdn-lebox-hero__photo {
		order: -1;
		aspect-ratio: 4 / 3;
	}
	body.page-id-2617 .bdn-lebox-hero__panel {
		padding: 40px 28px 48px;
	}
	body.page-id-2617 .bdn-lebox-hero h1 {
		font-size: 36px;
	}
	body.page-id-2617 .bdn-lebox-feature .bdn-lebox-feature__photo {
		order: -1;
		min-height: 0;
		aspect-ratio: 1 / 1;
	}
	body.page-id-2617 .bdn-lebox-feature__copy {
		padding: 40px 28px 48px;
	}
	body.page-id-2617 .bdn-lebox-feature h2 {
		font-size: 34px;
	}
	body.page-id-2617 .bdn-lebox-intro {
		padding: 64px 24px;
	}
	body.page-id-2617 .bdn-lebox-intro h2 {
		font-size: 30px;
	}
	body.page-id-2617 .bdn-lebox-crea {
		padding: 56px 28px;
		gap: 36px;
	}
	body.page-id-2617 .bdn-lebox-crea h2 {
		font-size: 36px;
	}
	body.page-id-2617 .bdn-lebox-closing {
		padding: 72px 24px;
	}
	body.page-id-2617 .bdn-lebox-closing h2 {
		font-size: 32px;
	}
}

@media (max-width: 599px) {
	body.page-id-2617 .bdn-lebox-hero h1 {
		font-size: 32px;
	}
	body.page-id-2617 .bdn-lebox-hero__text,
	body.page-id-2617 .bdn-lebox-feature__text,
	body.page-id-2617 .bdn-lebox-crea__text,
	body.page-id-2617 .bdn-lebox-intro__text,
	body.page-id-2617 .bdn-lebox-closing__text {
		font-size: 16px;
	}
	body.page-id-2617 .bdn-lebox-hero .wp-block-buttons,
	body.page-id-2617 .bdn-lebox-hero .wp-block-button,
	body.page-id-2617 .bdn-lebox-feature .wp-block-buttons,
	body.page-id-2617 .bdn-lebox-feature .wp-block-button,
	body.page-id-2617 .bdn-lebox-closing .wp-block-buttons,
	body.page-id-2617 .bdn-lebox-closing .wp-block-button {
		width: 100%;
	}
	body.page-id-2617 .wp-block-button.bdn-cta-button .wp-block-button__link {
		display: block;
		text-align: center;
	}
	body.page-id-2617 .bdn-lebox-crea__photos {
		gap: 12px;
	}
	body.page-id-2617 .bdn-lebox-crea__photo--b {
		margin-bottom: 32px;
	}
	body.page-id-2617 .bdn-lebox-crea__pending {
		display: block;
		text-align: center;
	}
}

/* Composite senza prezzo fisso: testo al posto di "Da 0,00 €" */
.bdn-price-note {
	display: block;
	color: #222222;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

/* Box Creativa (ID 2611): WPC riscrive il prezzo in testata a "0,00 €" via JS; lo sostituisco con un testo
   (il totale numerico resta nel configurator: .wooco_summary / .wooco-total, calcolo invariato). */
.price.wooco-price-2611 {
	font-size: 0;
	line-height: 0;
}

.price.wooco-price-2611::before {
	content: "Il prezzo dipende dai prodotti che scegli";
	display: block;
	color: #222222;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

.price.wooco-price-2611 > * {
	display: none;
}

/* Ancora della Small: evita che l'header sticky copra l'inizio della sezione */
body.page-id-2617 #le-box-small {
	scroll-margin-top: 140px;
}

/* Carrello: il parent fissa dd{height:20px}; le scelte della Box Creativa (testo lungo) si sovrapponevano alle righe successive */
body.woocommerce-cart .woocommerce table.cart td.product-name dl.variation dt {
	float: none;
	clear: none;
	display: inline;
	width: auto;
	margin-right: 4px;
	font-weight: 600;
}

body.woocommerce-cart .woocommerce table.cart td.product-name dl.variation dd {
	display: inline;
	height: auto;
	margin: 0;
}

body.woocommerce-cart .woocommerce table.cart td.product-name dl.variation dd p {
	display: inline;
	margin: 0;
}

body.woocommerce-cart .woocommerce table.cart td.product-name dl.variation dd::after {
	content: "";
	display: block;
	margin-bottom: 4px;
}

/* ==========================================================================
   CONFIGURATORI — selettori compatti (Box Small/Medium con tendine WPC ddslick e Scatolina Biscò da 5).
   Stesso sistema per entrambi: campo 44px, bordo #D9D2CE, raggio 8px, Barlow, chevron uniforme, focus visibile.
   Selettori limitati ai layout ddslick e alla sola scheda 2501: nessuna regola globale.
   ========================================================================== */
.wooco_component.wooco_component_layout_ddslick {
	padding: 6px 0;
}

.wooco_component.wooco_component_layout_ddslick > .wooco_component_name {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: #171717;
}

.wooco_component.wooco_component_layout_ddslick .wooco_component_product {
	margin: 0;
}

.wooco_component_layout_ddslick .dd-container {
	width: 100% !important; /* ddslick imposta la larghezza inline */
}

.wooco_component_layout_ddslick .dd-select {
	position: relative;
	min-height: 44px;
	border: 1px solid #D9D2CE !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-sizing: border-box;
}

.wooco_component_layout_ddslick .dd-select:hover {
	border-color: #171717 !important;
}

.wooco_component_layout_ddslick .dd-container:focus-within .dd-select {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

.wooco_component_layout_ddslick .dd-selected {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 4px 44px 4px 8px !important;
	box-sizing: border-box;
	overflow: hidden;
}

.wooco_component_layout_ddslick .dd-selected img,
.wooco_component_layout_ddslick .dd-option img {
	flex: 0 0 auto;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	border-radius: 4px;
	object-fit: cover;
}

.wooco_component_layout_ddslick .dd-selected-text,
.wooco_component_layout_ddslick .dd-option-text {
	min-width: 0;
	font-size: 15px !important;
	line-height: 1.25 !important;
	color: #171717 !important;
}

.wooco_component_layout_ddslick .dd-option-description,
.wooco_component_layout_ddslick .dd-selected-description {
	font-size: 13px !important;
	line-height: 1.25 !important;
	color: #222 !important;
}

.wooco_component_layout_ddslick .dd-pointer {
	display: none !important;
}

.wooco_component_layout_ddslick .dd-select::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border: solid #171717;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	pointer-events: none;
}

.wooco_component_layout_ddslick .dd-options {
	border-radius: 8px;
	border-color: #D9D2CE !important;
	max-height: 320px;
	overflow-y: auto;
}

.wooco_component_layout_ddslick .dd-option {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 6px 10px !important;
	box-sizing: border-box;
}

.wooco_component_layout_ddslick .dd-option:hover {
	background: #FCECE6 !important;
}

/* Scatolina Biscò da 5 (ID 2501): stessi campi delle Box */
body.postid-2501 div.product form.variations_form.cart table.variations {
	width: 100%;
	margin: 0 0 8px;
	border-collapse: collapse;
}

body.postid-2501 div.product form.variations_form.cart table.variations tr {
	display: block;
	padding: 6px 0;
}

body.postid-2501 div.product form.variations_form.cart table.variations th.label,
body.postid-2501 div.product form.variations_form.cart table.variations td.value {
	display: block;
	width: 100%;
	padding: 0;
	text-align: left;
}

body.postid-2501 div.product form.variations_form.cart table.variations th.label {
	margin: 0 0 4px;
}

body.postid-2501 div.product form.variations_form.cart table.variations th.label label {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: #171717;
}

body.postid-2501 div.product form.variations_form.cart table.variations select {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	height: 44px;
	padding: 0 44px 0 12px;
	border: 1px solid #D9D2CE;
	border-radius: 8px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23171717' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 12px 8px;
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: 15px;
	color: #171717;
}

body.postid-2501 div.product form.variations_form.cart table.variations select:hover {
	border-color: #171717;
}

body.postid-2501 div.product form.variations_form.cart table.variations select:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

body.postid-2501 div.product form.variations_form.cart .reset_variations {
	display: inline-block;
	margin-top: 4px;
	font-size: 14px;
}

/* Scatolina Biscò (2501): il parent colora le option delle select con #320a28 (`.woocommerce select option`) e il testo
   eredita #171717: scuro su scuro. Option chiare, selezionata evidenziata; color-scheme light per il popup nativo. */
body.postid-2501 div.product form.variations_form.cart table.variations select {
	color-scheme: light;
	background-color: #fff;
}

body.postid-2501 div.product form.variations_form.cart table.variations select option {
	background-color: #fff;
	color: #171717;
}

body.postid-2501 div.product form.variations_form.cart table.variations select option:checked {
	background: #FCECE6 linear-gradient(#FCECE6, #FCECE6);
	color: #171717;
	font-weight: 700;
}

body.postid-2501 div.product form.variations_form.cart table.variations select option:hover,
body.postid-2501 div.product form.variations_form.cart table.variations select option:focus {
	background: #FCECE6 linear-gradient(#FCECE6, #FCECE6);
	color: #171717;
}

body.postid-2501 div.product form.variations_form.cart table.variations select option:disabled {
	color: #6b6b6b;
}

/* ========================================================================= *
 * 26 ott 2026 — Alternanza sfondi rosa/bianco, larghezza descrizione, sezione "Scopri le Box"
 * Fasce a tutta larghezza con pseudo-elemento (nessun markup extra): il contenuto resta nel container.
 * ========================================================================= */
body.single-product,
body.woocommerce-shop,
body.tax-product_cat,
body.page-id-38,
body.page-id-2384 {
	overflow-x: hidden;
}

body.single-product .bdn-single-desc,
body.single-product section.related,
body.woocommerce-shop .col-100.woocommerce-content,
body.tax-product_cat .col-100.woocommerce-content,
body.woocommerce-shop .shop-header,
body.tax-product_cat .shop-header,
.bdn-discover {
	position: relative;
	isolation: isolate;
	--bdn-band: #fff;
}

body.single-product .bdn-single-desc::before,
body.single-product section.related::before,
body.woocommerce-shop .col-100.woocommerce-content::before,
body.tax-product_cat .col-100.woocommerce-content::before,
body.woocommerce-shop .shop-header::before,
body.tax-product_cat .shop-header::before,
.bdn-discover::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: var(--bdn-band);
	z-index: -1;
}

body.woocommerce-shop .shop-header,
body.tax-product_cat .shop-header,
.bdn-discover--rose {
	--bdn-band: #fcece6;
}

/* Archivi: header rosa, catalogo su bianco, fascia foto, poi "Scopri le Box" rosa. */
body.woocommerce-shop .shop-header,
body.tax-product_cat .shop-header {
	max-width: none;
	padding-bottom: 40px;
	margin-bottom: 40px;
}

body.woocommerce-shop .shop-header > *,
body.tax-product_cat .shop-header > * {
	max-width: 760px;
}

body.woocommerce-shop .col-100.woocommerce-content,
body.tax-product_cat .col-100.woocommerce-content {
	padding-top: 0;
}

/* Scheda prodotto: riepilogo rosa → descrizione bianca → "fatte a mano" rosa → correlati bianchi → "Scopri le Box" rosa. */
body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-desc {
	margin-top: 64px;
	padding: 64px 0;
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	column-gap: 64px;
	align-items: start;
}

body.single-product .bdn-single-desc__title {
	max-width: none;
	margin: 0;
}

body.single-product .bdn-single-desc__body {
	max-width: 800px;
	margin: 0;
}

body.single-product .bdn-single-desc__body h2,
body.single-product .bdn-single-desc__body h3,
body.single-product .bdn-single-desc__body h4 {
	margin: 1.6em 0 0.6em;
	color: #171717;
	line-height: 1.2;
}

body.single-product .bdn-single-desc__body img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-brand {
	margin-top: 0;
	padding: 72px 0;
	border: 0;
}

body.single-product #content .col-100.woocommerce-content div.product > section.related {
	margin-top: 0;
	padding: 72px 0 88px;
}

body.single-product.bdn-has-discover main.grid > .col-100.woocommerce-content {
	padding-bottom: 0;
}

body.woocommerce-shop.bdn-has-discover .col-100.woocommerce-content,
body.tax-product_cat.bdn-has-discover .col-100.woocommerce-content {
	padding-bottom: 0;
}

/* Sezione finale "Scopri le Box" */
.bdn-discover {
	padding: 88px 0;
	grid-column: 1 / -1;
}

.bdn-discover__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
	max-width: 1152px;
	margin: 0 auto;
}

body.page .bdn-discover__inner {
	padding: 0 24px;
	max-width: 1200px;
}

.bdn-discover__eyebrow {
	margin: 0 0 8px;
	color: #CC2929;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bdn-discover__title {
	margin: 0 0 16px;
	color: #171717;
	font-size: 40px;
	line-height: 1.15;
}

.bdn-discover__text {
	max-width: 560px;
	margin: 0 0 24px;
	color: #222222;
	font-size: 18px;
	line-height: 1.7;
}

.bdn-discover__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

.bdn-discover__list li {
	margin: 0;
	padding: 6px 14px;
	border: 1px solid #d9d2ce;
	border-radius: 999px;
	background: #fff;
	color: #171717;
	font-size: 14px;
	line-height: 1.3;
}

.bdn-discover--white .bdn-discover__list li {
	background: #fcece6;
	border-color: #fcece6;
}

.bdn-discover__media {
	margin: 0;
}

.bdn-discover__img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
}

/* Stesso pulsante del CTA "Scopri la nostra storia" (rosso, uppercase, 8px) */
.bdn-discover__link {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 8px;
	background-color: #E02F2F;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.bdn-discover__link:hover,
.bdn-discover__link:focus-visible {
	background-color: #d62a2a;
	color: #fff;
}

.bdn-discover__link:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
}

/* Landing Biscò: prodotti rosa → scatoline bianche → gusti rosa → editoriale bianco → "Scopri le Box" rosa */
body.page-id-2384 .bdn-bisco-boxes { background: #fff; }
body.page-id-2384 .bdn-bisco-flavors { background: #fcece6; }
/* Landing Scalducci: intro rosa → prodotti bianchi → materiali rosa → finale bianco → fascia garanzie → "Scopri le Box" bianco */
body.page-id-38 .bdn-scalducci-products { background: #fff; }
body.page-id-38 .bdn-scalducci-final { background: #fff; }

@media (max-width: 991px) {
	body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-desc {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 20px;
		margin-top: 48px;
		padding: 48px 0;
	}

	body.single-product .bdn-single-desc__body {
		max-width: none;
	}

	.bdn-discover {
		padding: 64px 0;
	}

	.bdn-discover__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}
}

@media (max-width: 767px) {
	body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-desc {
		margin-top: 40px;
		padding: 40px 0;
	}

	body.single-product #content .col-100.woocommerce-content div.product > .bdn-single-brand,
	body.single-product #content .col-100.woocommerce-content div.product > section.related {
		padding: 48px 0;
	}

	body.page .bdn-discover__inner {
		padding: 0 14px;
	}

	.bdn-discover {
		padding: 48px 0;
	}

	.bdn-discover__title {
		font-size: 30px;
	}

	.bdn-discover__text {
		font-size: 17px;
	}

	.bdn-discover__link {
		display: block;
		text-align: center;
	}
}

/* Landing a blocchi: la sezione esce dal wrapper del testo come le sezioni alignfull */
body.page-id-38 .bdn-discover,
body.page-id-2384 .bdn-discover {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ========================================================================= *
 * 26 ott 2026 (2) — Hover/focus tendine Box, quantità + CTA Biscò
 * Hover rosa più intenso (#F4D3C8) del fondo #FCECE6, testo sempre #171717; selezionata = bianco + barra verde;
 * focus da tastiera = anello scuro interno. Solo componenti delle Box (nessun select globale).
 * ========================================================================= */
.wooco_component_layout_ddslick .dd-option {
	position: relative;
	background: #fff;
	transition: background-color .12s;
}
.wooco_component_layout_ddslick .dd-option:hover {
	background: #F4D3C8 !important;
}
.wooco_component_layout_ddslick .dd-option:focus-visible {
	outline: 2px solid #171717;
	outline-offset: -2px;
	background: #F4D3C8 !important;
}
.wooco_component_layout_ddslick .dd-option.dd-option-selected {
	background: #fff !important;
	box-shadow: inset 4px 0 0 #1B4332;
}
.wooco_component_layout_ddslick .dd-option.dd-option-selected .dd-option-text {
	font-weight: 700;
}
.wooco_component_layout_ddslick .dd-option.dd-option-selected:hover,
.wooco_component_layout_ddslick .dd-option.dd-option-selected:focus-visible {
	background: #F4D3C8 !important;
}

/* Box Creativa: intestazioni accordion (hover più marcato del fondo rosa) */
body .wooco_component.bdn-acc > .wooco_component_name:hover {
	background: #F4D3C8;
}
body .wooco_component.bdn-acc.is-open > .wooco_component_name:hover {
	background: #F4D3C8;
}

/* Scatolina Biscò (2501), select nativo: il popup è disegnato dal sistema; dove il browser lo permette
   (appearance: base-select) option in rosa evidenziato, altrimenti restano i colori nativi. */
body.postid-2501 div.product form.variations_form.cart table.variations select option:checked {
	background: #F4D3C8 linear-gradient(#F4D3C8, #F4D3C8);
}
body.postid-2501 div.product form.variations_form.cart table.variations select option:hover,
body.postid-2501 div.product form.variations_form.cart table.variations select option:focus {
	background: #F4D3C8 linear-gradient(#F4D3C8, #F4D3C8);
}

/* Schede Biscò variabili (con scatolina nastri): nelle variazioni quantità e CTA stanno in .woocommerce-variation-add-to-cart,
   che WooCommerce non rende flex (la regola sul form non basta). Stessa riga come nelle schede semplici. */
body.single-product form.variations_form.cart:has(.bdn-scat) .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}
body.single-product form.variations_form.cart:has(.bdn-scat) .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 auto;
	margin: 0;
}
body.single-product form.variations_form.cart:has(.bdn-scat) .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
	flex: 1 1 200px;
	margin: 0;
}
body.single-product form.variations_form.cart:has(.bdn-scat) .woocommerce-variation-add-to-cart button.single_add_to_cart_button.disabled {
	cursor: not-allowed;
	opacity: .5;
}

/* Scatolina Biscò (2501): select personalizzabile via CSS puro (Chrome/Edge recenti). Il popup nativo cambia solo dove
   appearance: base-select è supportato; altrove resta il popup di sistema (hover/focus disegnati dal sistema operativo). */
@supports (appearance: base-select) {
	body.postid-2501 div.product form.variations_form.cart table.variations select,
	body.postid-2501 div.product form.variations_form.cart table.variations select::picker(select) {
		appearance: base-select;
	}
	/* con base-select il triangolo di sistema finisce sotto il campo: il chevron e' gia' disegnato dallo sfondo */
	body.postid-2501 div.product form.variations_form.cart table.variations select::picker-icon {
		display: none;
	}
	body.postid-2501 div.product form.variations_form.cart table.variations select::picker(select) {
		padding: 4px;
		border: 1px solid #D9D2CE;
		border-radius: 8px;
		background: #fff;
		color: #171717;
	}
	body.postid-2501 div.product form.variations_form.cart table.variations select option {
		padding: 10px 12px;
		border-radius: 6px;
		color: #171717;
		background: #fff;
	}
	body.postid-2501 div.product form.variations_form.cart table.variations select option:hover,
	body.postid-2501 div.product form.variations_form.cart table.variations select option:focus-visible {
		background: #F4D3C8;
		color: #171717;
	}
	body.postid-2501 div.product form.variations_form.cart table.variations select option:focus-visible {
		outline: 2px solid #171717;
		outline-offset: -2px;
	}
	body.postid-2501 div.product form.variations_form.cart table.variations select option:checked {
		background: #fff;
		font-weight: 700;
		box-shadow: inset 4px 0 0 #1B4332;
	}
	body.postid-2501 div.product form.variations_form.cart table.variations select option:checked:hover {
		background: #F4D3C8;
	}
}

/* ==========================================================================
   Audit pre-lancio 27 ott 2026 — accessibilita' (WCAG 2.2 AA)
   ========================================================================== */

/* Ricerca header (<=1290px): si espande anche con la tastiera, non solo con l'hover (2.4.7 / 2.5.8) */
@media (max-width: 1290px) {
	.quick-search:focus-within form {
		width: 138px;
	}
}

/* Area di tocco minima 24x24 (2.5.8): icone social del footer e interruttore mostra-password */
.wp-block-social-links .wp-block-social-link-anchor {
	box-sizing: content-box;
	min-width: 24px;
	min-height: 24px;
	padding: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.woocommerce form .show-password-input {
	min-width: 24px;
	min-height: 24px;
}

/* Link di testo sempre distinguibili senza affidarsi al solo colore (1.4.1) */
body .woocommerce-privacy-policy-text a,
body .woocommerce-privacy-policy-link {
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Indicatore di focus visibile di base (2.4.7 / 2.4.11): doppio tono (anello bianco + contorno scuro) leggibile su ogni sfondo.
   I componenti con un focus dedicato (specificita' maggiore) lo mantengono. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid #171717;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff;
}

/* Side cart (plugin): il pannello chiuso e' fuori schermo ma i suoi link restavano raggiungibili con Tab (2.4.3 / 2.4.11).
   Chiuso = non focusabile; il cestino flottante (.xoo-wsc-basket) resta visibile. */
body:not(.xoo-wsc-cart-active) .xoo-wsc-container > :not(.xoo-wsc-basket) {
	visibility: hidden;
	transition: visibility 0s linear 0.5s;
}

/* Drawer filtri chiuso (<1200px): fuori schermo ma ancora raggiungibile con Tab e letto dagli screen reader (2.4.3 / 4.1.2).
   Chiuso = visibility hidden (dopo l'animazione); aperto = subito visibile cosi' shop.js puo' spostare il focus. */
@media (max-width: 1199px) {
	.shop-sidebar {
		visibility: hidden;
		transition: transform 0.25s ease, visibility 0s linear 0.25s;
	}

	.shop-sidebar.is-open {
		visibility: visible;
		transition-delay: 0s;
	}
}

/* Disponibilita' ("N disponibili"): WooCommerce usa un verde oliva (#958e09, 3,4:1); allineato al verde del brand (11:1) */
body p.stock.in-stock {
	color: #1b4332 !important;
}

/* Breadcrumb Rank Math (solo schede prodotto) */
.bdn-breadcrumb { max-width: 1240px; margin: 0 auto; padding: 16px 16px 0; font-size: 14px; line-height: 1.4; }
.bdn-breadcrumb p { margin: 0; color: #222; }
.bdn-breadcrumb a { color: #1B4332; text-decoration: underline; text-underline-offset: 2px; }
.bdn-breadcrumb .separator { padding: 0 6px; }
.bdn-breadcrumb .last { font-weight: 600; }

.bdn-account-link .bdn-ico-user { width: 1em; height: 1em; vertical-align: -0.125em; }

/* Banner cookie (Complianz): stesso carattere del sito, pulsanti con identico peso visivo */
.cmplz-cookiebanner, .cmplz-cookiebanner .cmplz-btn, .cmplz-cookiebanner button { font-family: inherit; }
.cmplz-cookiebanner .cmplz-btn { min-height: 44px; }

/* Banner cookie: il sito non usa cookie di preferenze ne' di marketing (verificato con i test di rete). Le due categorie restano nascoste finche' non
   si attivano servizi di quel tipo (ad es. pubblicita' Google): in quel caso rimuovere questa regola e aggiornare la procedura guidata di Complianz. */
.cmplz-cookiebanner .cmplz-category.cmplz-preferences,
.cmplz-cookiebanner .cmplz-category.cmplz-marketing { display: none; }

.bdn-footer-legal { font-size: 0.85em; margin-top: 4px; }
.bdn-footer-legal a { text-decoration: underline; }

.bdn-ship-note { font-size: 0.85em; color: #222222; }

/* ==========================================================================
   AUDIT MOBILE 29 ott 2026 — griglie a 6/4 colonne fisse (Gutenberg "grid" con colonne = numero di elementi)
   Home "Scopri le collezioni" (6 bollini) e Chi siamo (4 icone): sotto 768px le colonne diventavano ~4-7px
   e il contenuto usciva dal viewport (scroll orizzontale di 20-100px su 320-430px).
   Sotto 768px: 2 colonne fluide; immagini fluide. Desktop/tablet invariati.
   ========================================================================== */
@media (max-width: 767px) {
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .bdn-collection-item),
	body.page-id-2253 .wp-block-group.is-layout-grid:has(> .wp-block-group.is-vertical > figure) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 16px;
		row-gap: 24px;
	}
	body.home .bdn-collection-item figure.wp-block-image,
	body.page-id-2253 .wp-block-group.is-layout-grid > .wp-block-group.is-vertical figure.wp-block-image {
		max-width: 100%;
	}
	body.home .bdn-collection-item figure.wp-block-image img,
	body.page-id-2253 .wp-block-group.is-layout-grid > .wp-block-group.is-vertical figure.wp-block-image img {
		max-width: 100%;
		height: auto;
	}
}

/* Header mobile <=399px: logo 140px + "Accedi/Registrati" (181px) + padding-right 50px del hamburger non entrano in 320-360px
   e il link finiva sotto il pulsante menu. Logo e riga rapida piu' compatti (solo sotto 400px). */
@media (max-width: 399px) {
	.header__logo,
	.header__logo-img {
		width: 100px !important;
		max-width: 100px;
	}
	.header__quick ul {
		font-size: 12px;
	}
	.header__quick .quick-search {
		margin-right: 0;
	}
}

/* Newsletter in Home (modulo nativo): la riga di colonne ha padding laterale 6.5rem inline; sotto 768px il modulo restava largo 110-180px. */
@media (max-width: 767px) {
	body.home .wp-block-columns:has(.bdn-nl) {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}
	body.home .wp-block-columns:has(.bdn-nl) .bdn-nl {
		max-width: 100%;
	}
}

/* ========================================================================= *
 * 29 ott 2026 — Select nativi leggibili (tutto il sito) + allineamento newsletter Home
 * ========================================================================= */

/* Causa: il parent imposta `.woocommerce select option { color: inherit; background-color: #320a28 }`: le option ereditano il testo
   scuro (#171717) e restano su fondo viola scuro. Option chiare con testo scuro per tutte le select native (checkout, ordinamento shop,
   variazioni, account, filtri); l'opzione selezionata e' evidenziata. Il popup resta quello nativo del browser (nessun componente sostitutivo):
   in Chrome/Edge su Windows il fondo dell'opzione sotto il puntatore e' deciso dal sistema e non e' controllabile da CSS. */
body select {
	color-scheme: light;
}

html .woocommerce select option,
body select option {
	background-color: #fff;
	color: #171717;
}

html .woocommerce select option:checked,
body select option:checked {
	background: #FCECE6 linear-gradient(#FCECE6, #FCECE6);
	color: #171717;
	font-weight: 700;
}

html .woocommerce select option:hover,
html .woocommerce select option:focus,
body select option:hover,
body select option:focus {
	background: #F4D3C8 linear-gradient(#F4D3C8, #F4D3C8);
	color: #171717;
}

html .woocommerce select option:disabled,
body select option:disabled {
	color: #6b6b6b;
}

/* Newsletter Home: la colonna del modulo e' centrata in verticale e il campo email risultava piu' in alto del titolo.
   Colonne affiancate (>=782px): la colonna parte dall'alto e il margine porta il campo email al centro della prima riga del titolo.
   Impilate (<782px) nessuna modifica. */
@media (min-width: 782px) {
	body.home .wp-block-columns:has(.bdn-nl) > .wp-block-column:has(.bdn-nl) {
		align-self: flex-start;
	}
	body.home .wp-block-columns:has(.bdn-nl) .bdn-nl {
		margin-top: 53px;
	}
}

@media (min-width: 1100px) {
	body.home .wp-block-columns:has(.bdn-nl) .bdn-nl {
		margin-top: 56px;
	}
}

/* 29 ott 2026 — Aree di tocco >= 24px (WCAG 2.5.8), focus campo coupon, link nel testo delle Condizioni di vendita */
.bdn-single__cat {
	min-height: 24px;
	line-height: 24px;
	margin-bottom: 6px;
}

body.woocommerce-cart .woocommerce a.remove,
body.woocommerce-cart .woocommerce .shipping-calculator-button {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

body.woocommerce-cart .woocommerce .coupon input#coupon_code:focus-visible {
	outline: 2px solid #1B4332;
	outline-offset: 2px;
}

/* axe link-in-text-block: i link dentro i paragrafi non si distinguevano dal testo se non per il colore */
body.page-id-1723 .cdv-doc p a,
body.page-id-1723 .cdv-doc li a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ========================================================================= *
 * 30 ott 2026 — Header mobile: il pulsante hamburger (parent: right:-15px, 50px) sporgeva di 3-5px dal viewport.
 * Area 44x50 interamente visibile (bordo a 4px dal margine), icona centrata.
 * ========================================================================= */
@media (max-width: 767px) {
	.icon-hamburger {
		box-sizing: border-box;
		width: 44px;
		padding: 0 7px;
		right: calc(4px - 3.05vw);
	}
}

/* 30 ott 2026 — Filtri shop: aree di tocco/focus (WCAG 2.5.8) senza toccare il markup dei blocchi WooCommerce.
   Checkbox: il blocco disegna casella (input) e spunta (svg) in `1em`: portando il font-size del wrapper a 24px crescono insieme.
   Slider prezzo: gli input range restano alti 0 (cosi' li disegna WC, la traccia e' il div .range-bar); la maniglia passa da 16 a 24px
   e, con il focus da tastiera, l'intero slider mostra un contorno visibile. */
.shop-sidebar .wc-block-product-filter-checkbox-list__input-wrapper {
	font-size: 24px;
}
.shop-sidebar .wc-block-product-filter-checkbox-list__input {
	border-color: #6b6460;
	border-radius: 4px;
}
.wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb {
	width: 20px;
	height: 20px;
	margin: -10px 0 0;
}
.wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
}
.wc-block-product-filter-price-slider__range:has(input[type="range"]:focus-visible) {
	outline: 2px solid #CC2929;
	outline-offset: 10px;
	border-radius: 4px;
}

/* Il CSS inline di WooCommerce (stessa specificita', caricato dopo) annullava colore traccia, margini e bordo checkbox del blocco sopra:
   le regole che devono prevalere sono ripetute con il prefisso .shop-sidebar. Margine laterale 12px: la maniglia da 24px non viene tagliata. */
.shop-sidebar .wc-block-product-filter-price-slider__range {
	--range-color: #E02F2F;
	--wc-product-filter-price-slider-handle: #fff;
	--wc-product-filter-price-slider-handle-border: #CC2929;
	margin: 18px 12px 14px;
}
.shop-sidebar .wc-block-product-filter-price-slider__range::before {
	background: #D9D2CE;
	opacity: 1;
}
.shop-sidebar .wc-block-product-filter-price-slider__range .range-bar {
	border-radius: 4px;
}
.shop-sidebar .wc-block-product-filter-price-slider__range:has(input[type="range"]:focus-visible) {
	outline: 2px solid #CC2929;
	outline-offset: 12px;
}
.shop-sidebar .wc-block-product-filter-checkbox-list__input-wrapper .wc-block-product-filter-checkbox-list__input {
	border: 1.5px solid #6B6460;
	border-radius: 4px;
	background-color: #FFFFFF;
}
.shop-sidebar .wc-block-product-filter-checkbox-list__input-wrapper .wc-block-product-filter-checkbox-list__input:focus-visible {
	outline: 2px solid #CC2929;
	outline-offset: 2px;
}

/* Drawer filtri (<1200px): .col-100.woocommerce-content ha `isolation: isolate` (fasce alternate, 26 ott) e il drawer fixed resta
   dentro quel contesto: l'header fixed (z-index 9999) lo copriva, nascondendo il pulsante di chiusura (y 18px, sotto l'header) e
   rendendolo non cliccabile. Con il drawer aperto l'header scende al livello 0 (il contenuto, dopo nel DOM, passa sopra) e i pulsanti
   flottanti (carrello, WhatsApp) si nascondono come per ogni pannello modale. */
@media (max-width: 1199px) {
	body.shop-drawer-open .header {
		z-index: 0;
	}
	body.shop-drawer-open .xoo-wsc-basket,
	body.shop-drawer-open .logo-whats-app {
		visibility: hidden;
	}
}

/* ========================================================================= *
 * 30 ott 2026 (2) — Header: icona account (Font Awesome self-hosted) e layout mobile
 * ========================================================================= */

/* Il CSS di Font Awesome da use.fontawesome.com e' disattivato (nessun host esterno): per l'icona account (`fa-solid fa-user`)
   il glifo Solid (FA Free, licenza SIL OFL) e' servito dal tema. */
@font-face {
	font-family: "BDN FA Solid";
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("assets/fonts/fa-solid-900.woff2") format("woff2");
}
.fa-solid.fa-user {
	display: inline-block;
	font-family: "BDN FA Solid";
	font-style: normal;
	font-weight: 900;
	font-size: 20px;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
}
.fa-solid.fa-user::before {
	content: "\f007";
}

/* Icone del menu rapido: area di tocco 44x44, focus visibile */
.header__quick ul {
	display: flex;
	align-items: center;
}
.header__quick ul li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 44px;
	min-height: 44px;
	padding: 0 6px;
	border-radius: 22px;
}
.header__quick ul li a:focus-visible,
.quick-search__icon:focus-visible {
	outline: 2px solid #CC2929;
	outline-offset: 0;
}

@media (max-width: 767px) {
	.header {
		padding: 0 16px;
	}
	.header__content {
		align-items: center;
		gap: 8px;
		padding: 8px 52px 8px 0;
		height: 60px;
	}
	.header__logo,
	.header__logo-img {
		width: clamp(96px, 24vw, 128px) !important;
		max-width: none;
		flex: 0 0 auto;
	}
	.icon-hamburger {
		top: 7px;
		right: -7px;
		width: 44px;
		height: 44px;
		padding: 0 7px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: stretch;
	}
	.icon-hamburger span {
		margin-bottom: 0;
		width: 100%;
	}
	.icon-hamburger span + span {
		margin-top: 8px;
	}
	.menu-open .icon-hamburger span:nth-child(2) {
		transform: rotate(45deg) translate(4px, 4px);
	}
	.menu-open .icon-hamburger span:nth-child(3) {
		transform: rotate(-45deg) translate(4px, -4px);
	}
	.header__quick {
		flex: 1 1 auto;
		justify-content: flex-end;
		gap: 0;
	}
	.header__quick .menu-item-type-custom {
		display: inline-block;
	}
	.header__quick button {
		pointer-events: auto;
	}
	.header__quick .quick-search {
		width: 44px;
		height: 44px;
		margin: 0;
	}
	.header__quick .quick-search form {
		width: 40px;
		height: 40px;
		top: 2px;
		right: 2px;
		z-index: 2;
	}
	.header__quick .quick-search__icon {
		width: 40px;
		height: 40px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.header__quick ul {
		padding: 0;
		gap: 0;
	}
	.header__quick ul li a {
		padding: 0 4px;
	}
	.header__quick .menu-cart-total svg {
		display: block;
		flex: 0 0 auto;
	}
	.header__quick .menu-cart-total span {
		line-height: 1;
	}
}
@media (max-width: 399px) {
	.header {
		padding: 0 12px;
	}
	.header__content {
		gap: 4px;
	}
	.header__logo,
	.header__logo-img {
		width: 92px !important;
	}
	.icon-hamburger {
		right: -7px;
	}
}

/* Carrello nel menu rapido: il parent lo posiziona in assoluto (top:-10px) e lo sfalsava di 3px rispetto alle altre icone. */
.header__quick .menu-cart-total {
	position: relative;
	top: 0;
	left: auto;
}
.header__quick .menu-cart-total span:not(.screen-reader-text) {
	bottom: 6px;
	right: 2px;
}
.header__quick ul li {
	display: flex;
	align-items: center;
}

/* ========================================================================= *
 * 30 ott 2026 (2) — Home mobile: tre passaggi, "Mani, argilla e passione", chiusura, newsletter
 * ========================================================================= */
@media (max-width: 767px) {
	/* Tre icone informative (Scegli la box / Aggiungi / Confeziona): una sotto l'altra, icona a sinistra e testo a destra */
	body.home .wp-block-group.is-layout-grid:has(> .wp-block-group > .wp-block-image) {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 20px;
		margin-top: 8px !important;
		max-width: 340px;
		margin-inline: auto;
	}
	body.home .wp-block-group.is-layout-grid > .wp-block-group:has(> .wp-block-image) {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr);
		column-gap: 16px;
		row-gap: 2px;
		align-items: center;
		width: 100%;
		max-width: none;
	}
	body.home .wp-block-group.is-layout-grid > .wp-block-group:has(> .wp-block-image) > * {
		margin: 0 !important;
		text-align: left !important;
		max-width: none;
	}
	body.home .wp-block-group.is-layout-grid > .wp-block-group > .wp-block-image {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 84px;
	}
	body.home .wp-block-group.is-layout-grid > .wp-block-group > .wp-block-image img {
		width: 84px !important;
		height: auto;
	}
	body.home .wp-block-group.is-layout-grid > .wp-block-group > h3 {
		grid-column: 2;
		align-self: end;
	}
	body.home .wp-block-group.is-layout-grid > .wp-block-group > p {
		grid-column: 2;
		align-self: start;
	}

	/* "Mani, argilla e passione": respiro sotto la scheda bianca prima del blocco successivo */
	body.home .wp-block-media-text.alignwide {
		margin-bottom: 48px;
	}

	/* "Un piccolo pensiero, una grande emozione": testi lontani dai bordi, pulsante centrato e non a tutta larghezza */
	body.home .wp-block-cover:has(.wp-block-cover__inner-container h2.has-text-align-center) .wp-block-cover__inner-container {
		padding-left: 28px;
		padding-right: 28px;
		box-sizing: border-box;
	}
	body.home .wp-block-cover:has(.wp-block-cover__inner-container h2.has-text-align-center) .wp-block-buttons {
		justify-content: center;
	}
	body.home .wp-block-cover:has(.wp-block-cover__inner-container h2.has-text-align-center) .wp-block-button {
		max-width: 100%;
	}
}

/* Newsletter (colonne impilate sotto 782px): niente spazio extra fra descrizione e modulo */
@media (max-width: 781px) {
	body.home .wp-block-columns:has(.bdn-nl) > .wp-block-column:first-child > .wp-block-group {
		padding-bottom: 0 !important;
	}
}

/* ========================================================================= *
 * 30 ott 2026 (2) — Footer mobile centrato, credito Happiness In Pot su una riga, copyright su due righe
 * ========================================================================= */
@media (max-width: 781px) {
	.bdn-footer .wp-block-column {
		text-align: center;
	}
	.bdn-footer .wp-block-social-links {
		justify-content: center;
	}
	.bdn-footer .wp-block-column:first-child {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		column-gap: 12px;
	}
	.bdn-footer .wp-block-column:first-child > * {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.bdn-footer .wp-block-column:first-child > .bdn-footer-credit,
	.bdn-footer .wp-block-column:first-child > .bdn-footer-credit__logo {
		flex: 0 0 auto;
		width: auto;
		max-width: none;
	}
	.bdn-footer .bdn-footer-credit {
		margin-bottom: 0 !important;
		font-size: 0.85em;
	}
	.bdn-footer .bdn-footer-credit__logo {
		margin: var(--wp--preset--spacing--40) 0 0 !important;
	}
	.bdn-footer .bdn-footer-credit {
		margin-top: var(--wp--preset--spacing--40) !important;
	}
	.bdn-copyright__year,
	.bdn-copyright__owner {
		display: block;
	}
	.bdn-copyright__sep {
		display: none;
	}
}
@media (max-width: 359px) {
	.bdn-footer .bdn-footer-credit {
		font-size: 0.78em;
	}
	.bdn-footer .bdn-footer-credit__logo img {
		width: 96px !important;
	}
}
@media (max-width: 781px) {
	.bdn-footer .wp-block-column > p:empty {
		display: none;
	}
}

.bdn-nowrap {
	white-space: nowrap;
}

/* ========================================================================= *
 * 30 ott 2026 (2) — Pulsanti flottanti: WhatsApp (tema parent, opzione Customizer `nextawards_whatsapp`) e carrello (Side Cart)
 * stessa colonna destra (centro a 46px dal bordo), stessa misura 60px, distanza regolare. Nessun cambio di funzione.
 * ========================================================================= */
/* il plugin aggiunge 10px di margine: 6px + 10px = 16px dal bordo, 82px + 10px = 92px dal fondo */
body .xoo-wsc-basket {
	right: 6px;
	bottom: 82px;
}
body .logo-whats-app {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	right: 16px;
	bottom: 20px;
	box-shadow: 0 2px 10px rgba(23, 23, 23, 0.25);
}
body .logo-whats-app:focus-visible {
	outline: 3px solid #171717;
	outline-offset: 3px;
}
body .logo-whats-app .icon-wa {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	margin: 0;
}
/* Con il banner cookie aperto (a tutta larghezza su mobile) i due pulsanti non coprono Accetta/Rifiuta/Preferenze */
@media (max-width: 767px) {
	body:has(.cmplz-cookiebanner.cmplz-show) .xoo-wsc-basket,
	body:has(.cmplz-cookiebanner.cmplz-show) .logo-whats-app {
		visibility: hidden;
	}
}
body .xoo-wsc-basket:focus-visible {
	outline: 3px solid #171717;
	outline-offset: 3px;
}

/* Registrazione My Account: checkbox privacy */
.woocommerce form.register .bdn-privacy-ack label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}
.woocommerce form.register .bdn-privacy-ack input[type="checkbox"] {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: #1B4332;
}
.woocommerce form.register .bdn-privacy-ack a {
	color: #1B4332;
	font-weight: 400;
	text-decoration: underline !important;
}
.woocommerce form.register .bdn-privacy-ack abbr.required {
	color: #CC2929;
	text-decoration: none;
}
.woocommerce form.register .bdn-privacy-ack input[type="checkbox"]:focus-visible {
	outline: 2px solid #CC2929;
	outline-offset: 2px;
}

/* Carrello laterale (Side Cart): etichetta "Salva %" nei colori del sito (il verde predefinito #4CAF50 ha 2,8:1 su bianco). */
.xoo-wsc-container .xoo-wsc-psavings,
.xoo-wsc-container .xoo-wsc-psavings *,
.xoo-wsc-container .xoo-wsc-ft-amt.xoo-wsc-less {
	color: #1B4332;
}
.xoo-wsc-container .xoo-wsc-psavings {
	border-color: #1B4332;
}

/* Sprint 4 (30 ott 2026) - rifiniture mobile */
/* Checkout: la riga spedizione del riepilogo stava nella prima colonna della tabella (piu' stretta dei totali): ogni riga dei totali diventa una tabella a piena larghezza, la spedizione un blocco a piena larghezza. */
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table {
	display: block;
}
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tbody {
	display: table;
	width: 100%;
}
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot {
	display: block;
}
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot tr:not(.woocommerce-shipping-totals) {
	display: table;
	width: 100%;
}
/* Pagine con gruppi a blocchi che riservano 15rem a destra (Contatti, Home): sotto i 782px il testo restava in una colonna stretta e il pulsante andava a capo. */
@media (max-width: 781px) {
	.wp-block-cover .wp-block-group[style*="padding-right:15rem"] {
		padding-right: 1.5rem !important;
	}
}
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table thead th.product-total {
	text-align: right;
}
/* Aree di tocco: link di elenco nel footer e nel breadcrumb alti 18px; portati a >= 24px senza cambiare dimensione del testo. */
@media (max-width: 767px) {
	.footer-content a,
	.bdn-breadcrumb a {
		display: inline-block;
		padding-block: 4px;
	}
}

/* ========================================================================= *
 * Revisione UI mobile e desktop — 30 ott 2026 (3)
 * Rollback: rimuovere questo blocco (dall'intestazione fino a "fine revisione UI") e riportare
 * il theme mod nextawards_topbar_text a "Spedizione gratuita da €75" (backup ~/backups/mobile-ui-20261030/).
 * ========================================================================= */

/* Barra superiore: testo maiuscolo e in grassetto (il testo e' il theme mod nativo nextawards_topbar_text) */
.header__topbar {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
@media (max-width: 794px) {
	.header__topbar {
		font-size: 13.5px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

/* Header: l'accesso al carrello e' il pulsante flottante (Side Cart); l'icona dell'header e' un duplicato */
.header__quick .menu-item-type-woocommerce-cart {
	display: none !important;
}
/* Header mobile (layout con hamburger): niente icona ricerca (la ricerca resta nel sito) */
@media (max-width: 1023px) {
	.header__quick .quick-search {
		display: none !important;
	}
}

/* ---- Home mobile ---------------------------------------------------- */
@media (max-width: 767px) {
	/* Scopri le collezioni: slider orizzontale con scroll-snap, cerchi piu' grandi, titolo sotto */
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .bdn-collection-item) {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 12px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: 16px;
		padding-inline: 16px;
		padding-bottom: 12px;
		scrollbar-width: thin;
	}
	body.home .bdn-collection-item {
		/* la regola "tre passaggi" (grid 84px + 1fr) colpirebbe anche questi bollini */
		display: flex !important;
		grid-template-columns: none;
		flex: 0 0 136px;
		flex-direction: column !important;
		scroll-snap-align: start;
		align-items: center;
		text-align: center;
	}
	body.home .wp-block-group.is-layout-grid > .bdn-collection-item.wp-block-group > figure.wp-block-image {
		flex: 0 0 112px;
		width: 112px !important;
		grid-column: auto;
		grid-row: auto;
		margin: 0 auto;
	}
	body.home .wp-block-group.is-layout-grid > .bdn-collection-item.wp-block-group > figure.wp-block-image img {
		width: 112px !important;
		height: 112px !important;
		aspect-ratio: 1;
		object-fit: cover;
		border-radius: 50%;
	}
	body.home .bdn-collection-item p {
		font-size: 15px;
		font-weight: 600;
		line-height: 1.3;
		margin: 0;
	}
	body.home .bdn-collection-item a::after {
		border-radius: 12px;
	}

	/* Card con immagine di sfondo (Ogni dettaglio racconta una storia, Idee regalo, Storie/Scalducci):
	   stessi corpi, testo lontano dal bordo, altezza che cresce col contenuto */
	body.home .wp-block-cover:not(.alignfull) {
		padding: 24px 28px 24px 24px !important;
		min-height: 300px !important;
		aspect-ratio: auto !important;
	}
	body.home .wp-block-cover:not(.alignfull) .wp-block-cover__inner-container,
	body.home .wp-block-cover:not(.alignfull) .wp-block-cover__inner-container > .wp-block-group {
		width: 100%;
		max-width: 100%;
	}
	body.home .wp-block-cover:not(.alignfull) .wp-block-group[style*="padding-right"] {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	body.home .wp-block-cover:not(.alignfull) h2,
	body.home .wp-block-cover:not(.alignfull) h3 {
		font-size: 21px !important;
		line-height: 1.25;
	}
	body.home .wp-block-cover:not(.alignfull) p {
		font-size: 14.5px !important;
		line-height: 1.5;
	}
	body.home .wp-block-cover:not(.alignfull) .wp-block-button__link {
		font-size: 12.5px !important;
		padding: 12px 20px;
		white-space: normal;
	}

	/* Tre icone (Fatto a mano / argilla / cura): titoli piu' leggibili */
	body.home .wp-block-cover.alignfull h3.has-x-small-font-size {
		font-size: 16px !important;
		font-weight: 700;
		line-height: 1.3;
	}
	body.home .wp-block-cover.alignfull .wp-block-group.is-nowrap p {
		font-size: 14px !important;
		line-height: 1.5;
	}

	/* I prodotti piu' amati / Decora la tua tavola: slider orizzontale (stessa struttura .prdevi) */
	body.home .prdevi ul.wc-block-product-template {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 16px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: 20px;
		padding: 0 20px 16px;
		margin: 0;
		list-style: none;
		scrollbar-width: thin;
	}
	body.home .prdevi ul.wc-block-product-template > li {
		flex: 0 0 min(68vw, 260px);
		width: auto;
		max-width: none;
		margin: 0;
		scroll-snap-align: start;
	}

	body.home .prdevi .wp-block-post-title {
		font-size: 14px !important;
		line-height: 1.35;
	}

	/* Mani, argilla e passione: respiro sotto il pulsante */
	body.home .wp-block-media-text.alignwide .wp-block-media-text__content {
		padding-bottom: 32px;
	}

	/* Banner "Un piccolo pensiero...": il soggetto della foto (biscotti, colori) e' nella parte destra */
	body.home .wp-block-cover:has(.wp-block-cover__inner-container h2.has-text-align-center) .wp-block-cover__image-background {
		object-position: 82% 50% !important;
	}
}

/* ---- Footer mobile -------------------------------------------------- */
@media (max-width: 781px) {
	/* Icone social: 24px visibili, area di tocco 44x44 */
	.bdn-footer .wp-block-social-links {
		gap: 4px;
		font-size: 24px;
	}
	.bdn-footer .wp-block-social-links .wp-social-link a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
	}
	.bdn-footer .wp-block-social-links .wp-social-link svg {
		width: 24px;
		height: 24px;
	}
	/* "Box di Natale e' un progetto di" + logo: in fondo, subito prima del copyright (stesso nodo, solo riordinato) */
	.footer-container {
		display: flex;
		flex-direction: column;
	}
	.footer-container > .grid:not(.bdn-footer-bottom),
	.footer-container #block-15,
	.footer-container .bdn-footer,
	.footer-container .bdn-footer > .wp-block-columns,
	.footer-container .bdn-footer .wp-block-column {
		display: contents;
	}
	.footer-container > .col-100 {
		order: -1;
	}
	.footer-container .bdn-footer-credit,
	.footer-container .bdn-footer-credit__logo {
		order: 8;
	}
	.footer-container .bdn-footer-credit {
		align-self: center;
		margin: 24px 0 8px !important;
		text-align: center;
	}
	.footer-container .bdn-footer-credit__logo {
		align-self: center;
		margin: 0 0 24px !important;
	}
	.footer-container .bdn-footer-bottom {
		order: 9;
	}
	/* Linea sottile fra i gruppi di menu (SHOP / TI AIUTIAMO / BOX DI NATALE) */
	.bdn-footer .wp-block-column:not(:first-child) > p:first-child {
		border-top: 1px solid rgba(255, 255, 255, 0.25);
		margin-top: 24px !important;
		padding-top: 24px;
	}
}
/* fine revisione UI 30 ott 2026 (3) */

/* Tipografia mobile (30 ott 2026 (3)): solo i testi sotto 12px, senza regole globali */
@media (max-width: 767px) {
	body.woocommerce ul.products li.product .bdn-card__cat,
	body ul.products li.product .bdn-card__cat {
		font-size: 12px;
		letter-spacing: 0.04em;
	}
	body ul.products li.product a.button.add_to_cart_button,
	body ul.products li.product a.button.product_type_variable,
	body ul.products li.product a.button.product_type_composite {
		font-size: 12px !important;
		line-height: 1.25;
		padding-left: 10px;
		padding-right: 10px;
	}
	body span.onsale {
		font-size: 12px;
	}
	body .bdn-ship-note {
		font-size: 12.5px;
	}
	body.woocommerce-checkout table.shop_table thead th {
		font-size: 13px;
	}
	body .wp-block-group.is-nowrap > p.wp-block-paragraph[style*="font-size:11px"] {
		font-size: 13px !important;
	}
}
/* fine tipografia mobile 30 ott 2026 (3) */

body span.onsale, body.woocommerce span.onsale { font-size: 12px !important; }

/* ========================================================================= *
 * Sprint 5 (30 ott 2026) — frecce slider, padding card, overlay, header, tablet
 * Rollback: rimuovere dall'intestazione fino a "fine Sprint 5" (backup ~/backups/sprint5-20261030/).
 * ========================================================================= */

/* Frecce degli slider Home (script assets/js/home-sliders.js): visibili solo dove lo slider scorre (<768px) */
.bdn-slider-nav {
	display: none;
}
@media (max-width: 767px) {
	.bdn-slider-nav:not([hidden]) {
		display: flex;
		justify-content: flex-end;
		gap: 10px;
		padding: 0 20px 12px;
	}
	.bdn-slider-nav__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 2px solid #E02F2F;
		border-radius: 50%;
		background: #E02F2F;
		color: #fff;
		cursor: pointer;
		box-shadow: none;
		transition: background-color 0.15s, color 0.15s, opacity 0.15s;
	}
	.bdn-slider-nav__btn:hover:not(:disabled) {
		background: #fff;
		color: #CC2929;
	}
	.bdn-slider-nav__btn:disabled {
		background: #FCECE6;
		border-color: #D9D2CE;
		color: #8a8480;
		cursor: default;
		opacity: 0.8;
	}
	.bdn-slider-nav__btn:focus-visible,
	body.home [data-bdn-slider]:focus-visible {
		outline: 3px solid #171717;
		outline-offset: 2px;
	}
	.bdn-slider-nav__btn svg {
		display: block;
	}
}
@media (prefers-reduced-motion: reduce) {
	body.home [data-bdn-slider] {
		scroll-behavior: auto;
	}
}

/* Tablet: etichette di categoria e pulsanti delle card ancora a 11,5px */
@media (min-width: 768px) and (max-width: 1023px) {
	body ul.products li.product .bdn-card__cat {
		font-size: 12px;
	}
	body ul.products li.product a.button.add_to_cart_button,
	body ul.products li.product a.button.product_type_variable,
	body ul.products li.product a.button.product_type_composite {
		font-size: 12px !important;
	}
}
/* fine Sprint 5 */

/* ========================================================================= *
 * Sprint 5 (2) — centraggio collezioni, padding card simmetrico, header mobile, contrasto desktop
 * ========================================================================= */
@media (max-width: 767px) {
	/* Collezioni: la regola "tre passaggi" forzava text-align:left sui figli dei bollini; il titolo e' centrato sul cerchio,
	   anche su due righe, con la stessa larghezza (136px) per tutti gli elementi */
	body.home .wp-block-group.is-layout-grid > .bdn-collection-item.wp-block-group > p {
		text-align: center !important;
		width: 100%;
		max-width: 100%;
		margin: 0 !important;
	}
	body.home .bdn-collection-item p a {
		display: inline-block;
	}

	/* Card con foto: stesso padding a sinistra e a destra (26px) */
	body.home .wp-block-cover:not(.alignfull) {
		padding: 24px 26px !important;
	}
}

/* Header mobile: icona account e hamburger piu' vicini (aree di tocco invariate, 44x44) */
@media (max-width: 1023px) {
	.header__quick {
		margin-right: -10px;
	}
}

/* Contrasto desktop (WCAG AA): overlay un po' piu' deciso dove la misura sul testo scendeva sotto 4,5:1 */
@media (min-width: 768px) {
	body.home article.page > .wp-block-cover.alignfull:nth-child(2) > .wp-block-cover__background {
		opacity: 0.58;
	}
	body.home main .whitebg.is-layout-grid .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background)::before {
		background: radial-gradient(ellipse 125% 110% at 0% 100%, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.62) 42%, rgba(0, 0, 0, 0) 90%);
	}
	body.home main .wp-block-column > .wp-block-cover:not(.alignfull):has(> .wp-block-cover__image-background)::before {
		background: radial-gradient(ellipse 105% 115% at 0% 100%, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.6) 42%, rgba(0, 0, 0, 0) 90%);
	}
	body.home .wp-block-cover:has(> .wp-block-cover__inner-container h2.has-text-align-center) > .wp-block-cover__background {
		opacity: 0.78;
	}
}
/* fine Sprint 5 (2) */

/* ========================================================================= *
 * Sprint 5 (3) — frecce senza spostamenti di layout, spazio titolo/cerchio
 * ========================================================================= */
@media (max-width: 767px) {
	/* lo spazio per le frecce e' riservato dal padding dello slider (gia' presente prima dello script): la barra frecce
	   lo occupa con margine negativo, cosi' inserirla non sposta il contenuto sotto (CLS) */
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .bdn-collection-item),
	body.home .prdevi ul.wc-block-product-template {
		padding-top: 56px !important;
	}
	.bdn-slider-nav:not([hidden]) {
		position: relative;
		z-index: 2;
		height: 56px;
		margin-bottom: -56px;
		padding: 6px 20px 0;
		box-sizing: border-box;
		align-items: center;
	}
	body.home .bdn-collection-item {
		gap: 10px !important;
	}
}
/* fine Sprint 5 (3) */

/* ========================================================================= *
 * Sprint 6 (30 ott 2026) — slider "un elemento per volta" con frecce laterali (Collezioni Home, Scalducci)
 * Rollback: rimuovere fino a "fine Sprint 6" (backup ~/backups/sprint6-20261030-1846/ e docs/backups/sprint5-20261030/style.sprint5-final.css)
 * ========================================================================= */
@media (max-width: 767px) {
	/* Barra frecce "laterale": altezza zero, i pulsanti sono posizionati rispetto all'inizio dello slider */
	.bdn-slider-nav.bdn-slider-nav--side:not([hidden]) {
		display: block;
		position: relative;
		z-index: 3;
		height: 0;
		margin: 0;
		padding: 0;
	}
	.bdn-slider-nav--side .bdn-slider-nav__btn {
		position: absolute;
		top: var(--bdn-arrow-top, 100px);
	}
	.bdn-slider-nav--side .bdn-slider-nav__btn--prev { left: 12px; }
	.bdn-slider-nav--side .bdn-slider-nav__btn--next { right: 12px; }
	.bdn-slider-nav--side .bdn-slider-nav__btn:disabled { opacity: 0.55; }

	/* --- Home: Scopri le collezioni, una categoria alla volta, nessun elemento successivo visibile --- */
	body.home .wp-block-group.alignwide.is-layout-grid:has(> .bdn-collection-item) {
		--bdn-circle: clamp(132px, 44vw, 168px);
		gap: 0;
		padding: 8px 0 12px !important;
		scroll-padding-inline: 0;
	}
	body.home .bdn-collection-item {
		flex: 0 0 100% !important;
		box-sizing: border-box;
		padding-inline: 64px;
		gap: 14px !important;
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
	body.home .wp-block-group.is-layout-grid > .bdn-collection-item.wp-block-group > figure.wp-block-image {
		flex: 0 0 auto;
		width: var(--bdn-circle) !important;
	}
	body.home .wp-block-group.is-layout-grid > .bdn-collection-item.wp-block-group > figure.wp-block-image img {
		width: var(--bdn-circle) !important;
		height: var(--bdn-circle) !important;
	}
	body.home .wp-block-group.is-layout-grid > .bdn-collection-item.wp-block-group > p {
		font-size: 16.5px;
		font-weight: 700;
		line-height: 1.3;
	}
	body.home .bdn-collection-item a::after {
		inset: 0 64px;
	}
	/* centro del cerchio = 8px (padding slider) + meta' del diametro; pulsante 44px */
	body.home .bdn-slider-nav--side {
		--bdn-arrow-top: calc(16px + clamp(132px, 44vw, 168px) / 2 - 22px);
	}

	/* --- Scalducci: slider orizzontale, una card per volta (solo questa pagina, solo mobile) --- */
	body.page-id-38 .bdn-scalducci-grid ul.products.products {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 0;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 0 0 72px;
		align-items: stretch;
	}
	body.page-id-38 .bdn-scalducci-grid ul.products.products::-webkit-scrollbar { display: none; }
	body.page-id-38 .bdn-scalducci-grid ul.products li.product {
		flex: 0 0 100%;
		box-sizing: border-box;
		/* card larga al massimo 300px, centrata; lo spazio laterale ospita le frecce */
		padding-inline: max(56px, calc((100% - 300px) / 2));
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
	body.page-id-38 .bdn-slider-nav--side {
		--bdn-arrow-top: calc(min(300px, 100vw - 112px) / 2 - 22px);
	}
	body.page-id-38 .bdn-scalducci-products {
		overflow: hidden;
	}
}
@media (max-width: 359px) {
	body.home .bdn-collection-item { padding-inline: 58px; }
	body.home .bdn-collection-item a::after { inset: 0 58px; }
	.bdn-slider-nav--side .bdn-slider-nav__btn--prev { left: 8px; }
	.bdn-slider-nav--side .bdn-slider-nav__btn--next { right: 8px; }
}
/* fine Sprint 6 */

/* ========================================================================= *
 * Sprint 9 — correzioni UX (31 ott 2026)
 * ========================================================================= */

/* Breadcrumb schede prodotto: spazio verso la foto (prima 0). */
.bdn-breadcrumb { margin-bottom: 24px; }
@media (max-width: 767px) {
	.bdn-breadcrumb { margin-bottom: 20px; }
}

/* Box Creativa: flusso verticale naturale, niente riepilogo/CTA sticky che scorrono sopra i selettori.
   Ordine DOM: titolo, descrizione, selettori, riepilogo bianco (.wooco_summary), avviso, quantita' + CTA (form.cart). */
body.bdn-box-creativa .summary .wooco_summary {
	position: static;
	margin-top: 16px;
}
body.bdn-box-creativa .summary form.cart {
	position: static;
	padding: 12px 0 0;
	background: transparent;
}

/* Header desktop non fisso: barra promozionale + menu scorrono con la pagina (tablet/mobile invariati).
   Absolute (non static): il contenuto sotto conserva la compensazione che aveva con l'header fisso, quindi nessun salto ne' vuoto. */
@media (min-width: 1190px) {
	.header,
	body.admin-bar .header {
		position: absolute;
	}
}
/* Ricerca header 1024-1290px: collassata, il campo restava un bersaglio focusabile di 6x35 px (solo padding; 2.5.8). Chiuso = larghezza 0;
   hover e focus-within lo riaprono (form a 138px, regola gia' presente) e ripristinano il padding. */
@media (min-width: 1024px) and (max-width: 1290px) {
	.quick-search:not(:hover):not(:focus-within) .quick-search__input {
		width: 0;
		min-width: 0;
		padding: 0;
	}
}
/* fine Sprint 9 */

/* Accessibilita residua (31 ott 2026): le slide della galleria, fuori vista, si sovrappongono al link categoria (target-size). */
.bdn-single__cat { position: relative; z-index: 2; }
/* fine accessibilita residua */

/* Completamento finale (31 ott 2026) */

/* Checkout: il riepilogo "Il tuo ordine" e' piu' alto della finestra; con position:sticky il fondo (pagamenti, pulsante) restava tagliato e l'intestazione scorreva via da sola.
   Scorre ora nel flusso normale, per intero, a tutte le larghezze. */
body.woocommerce-checkout.woocommerce-page .woocommerce form.checkout.woocommerce-checkout > #order_review,
body.woocommerce-checkout.woocommerce-page .woocommerce form.checkout.woocommerce-checkout #order_review {
	position: static;
	top: auto;
}

/* Checkout: respiro fra le due caselle (termini, newsletter) e il pulsante EFFETTUA ORDINE */
body.woocommerce-checkout #payment .form-row.place-order .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 12px;
}

body.woocommerce-checkout #payment .form-row.place-order #ws_opt_in_field {
	margin: 0 0 clamp(20px, 3vw, 32px);
}

body.woocommerce-checkout #payment .form-row.place-order #place_order {
	margin-top: 0;
}

/* Contatti: quattro immagini finali, 2x2 su mobile e tablet stretto */
.wp-block-group.bdn-contact-gallery img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

@media (max-width: 899px) {
	.wp-block-group.bdn-contact-gallery.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		padding: 32px 16px;
	}

	.wp-block-group.bdn-contact-gallery > .wp-block-group {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}
/* fine completamento finale */

/* Contatti, mobile: spazi verticali ridotti (31 ott 2026) */
@media (max-width: 767px) {
	body.page-id-618 .entry-content > .wp-block-group:first-child,
	body.page-id-618 article > .wp-block-group:first-child {
		padding-top: 40px !important;
		padding-bottom: 24px !important;
	}

	body.page-id-618 .wp-block-columns.alignwide {
		gap: 8px;
		margin-bottom: 8px;
	}

	body.page-id-618 .wp-block-columns.alignwide .wp-block-group.has-light-gray-background-color {
		margin-top: 8px !important;
		margin-bottom: 8px !important;
		padding-bottom: 28px !important;
	}

	body.page-id-618 .wp-block-group.alignfull.has-white-background-color {
		padding: 24px 16px !important;
		row-gap: 16px;
	}

	body.page-id-618 .wp-block-cover {
		min-height: 0 !important;
	}

	body.page-id-618 .wp-block-cover.alignfull {
		padding-left: 16px !important;
	}

	body.page-id-618 .wp-block-cover .wp-block-group[style*="padding-right:8rem"],
	body.page-id-618 .wp-block-cover .wp-block-group[style*="padding-right:15rem"] {
		padding-right: 0 !important;
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}

	body.page-id-618 .wp-block-group.bdn-contact-gallery.is-layout-grid {
		padding: 16px !important;
	}
}
/* fine contatti mobile */

/* ========================================================================= *
 * Step 2 (1 nov 2026) — slider prodotti Home: frecce ai lati dell'area prodotti (non sopra le card), solo mobile
 * Rollback: rimuovere fino a "fine Step 2" e ripristinare home-sliders.js (backup ~/backups/step2-20261101/)
 * ========================================================================= */
@media (max-width: 767px) {
	/* una card per volta; le frecce stanno nei margini laterali (56px) dello slider, senza coprire la card */
	body.home .prdevi ul.wc-block-product-template {
		padding: 0 0 16px !important;
		scroll-padding-inline: 0;
		contain: paint; /* elementi in assoluto delle card (es. "Visualizza carrello") non devono allargare la pagina */
	}
	body.home .prdevi ul.wc-block-product-template > li {
		flex: 0 0 100%;
		box-sizing: border-box;
		padding-inline: max(56px, calc((100% - 300px) / 2));
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
	/* centro della foto (quadrata): larghezza slider (100vw - 60px) meno i due margini, diviso 2; pulsante 44px */
	body.home .prdevi .bdn-slider-nav--side {
		--bdn-arrow-top: calc(min(300px, 100vw - 60px - 112px) / 2 - 22px);
	}
}
/* fine Step 2 */
