/* =========================================================
   DAISY DESIGN — coerenza estetica fra WooCommerce e il tema
   Palette e font sono presi dalle variabili del tema, così
   se Tanya cambia i colori dal Site Editor cambia anche il negozio.
   ========================================================= */

:root {
	--daisy-cream: var(--wp--preset--color--base, #faf8f4);
	--daisy-cream-soft: var(--wp--preset--color--mono-4, #f1ede5);
	--daisy-olive: var(--wp--preset--color--mono-1, #333b2c);
	--daisy-sage: var(--wp--preset--color--featured, #6c775c);
	--daisy-tan: var(--wp--preset--color--primary, #2f3628);
	--daisy-tan-hover: var(--wp--preset--color--primary-hover, #454f38);
	--daisy-line: var(--wp--preset--color--mono-3, #e6e1d7);
	--daisy-ink: var(--wp--preset--color--contrast-dark, #26261f);
	/* Il grigio precedente (#7d7a6f) dava 4.05 sul crema: sotto la soglia di 4.5
	   richiesta per il testo normale. Questo tiene lo stesso grigio caldo e arriva
	   a 5.19 sul crema, 4.71 sul crema scuro, 5.51 sul bianco. */
	--daisy-muted: #6b6960;
	--daisy-white: #fff;
	--daisy-serif: var(--wp--preset--font-family--fontsecondary, "Instrument Serif", serif);
	--daisy-sans: var(--wp--preset--font-family--fontui, "Outfit", sans-serif);
}

/* ---------- Tipografia comune ---------- */

/* Il verde vale sulle intestazioni di WooCommerce, non su quelle delle sezioni
   ridisegnate (dh-, df-, dc-): dentro il footer scuro e sulla tessera «su
   misura» diventava verde su verde, cioè invisibile. Il corpo della pagina
   porta la classe .woocommerce anche nel footer, quindi la deroga sta qui.

   La deroga guardava solo le nostre classi BEM, e con Elementor non bastava
   più: lui le mette sull'involucro del widget, mentre l'h2 dentro porta la
   sua — .elementor-heading-title. Risultato: sulle pagine del negozio il
   titolo del piè di pagina tornava verde su verde. Un titolo di Elementor
   dichiara sempre il proprio colore dal pannello: qui non dobbiamo entrarci. */
.woocommerce h1:not([class*="dh-"]):not([class*="df-"]):not([class*="dc-"]):not(.elementor-heading-title),
.woocommerce h2:not([class*="dh-"]):not([class*="df-"]):not([class*="dc-"]):not(.elementor-heading-title),
.woocommerce h3:not([class*="dh-"]):not([class*="df-"]):not([class*="dc-"]):not(.elementor-heading-title),
.wc-block-components-title,
.wp-block-woocommerce-cart h1,
.wp-block-woocommerce-checkout h1 {
	font-family: var(--daisy-serif);
	font-weight: 400;
	color: var(--daisy-olive);
	letter-spacing: 0.01em;
}

.woocommerce,
.woocommerce input,
.woocommerce select,
.woocommerce textarea {
	font-family: var(--daisy-sans);
}

/* ---------- Bottoni ---------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
	background-color: var(--daisy-tan);
	color: var(--daisy-white);
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	font-weight: 400;
	letter-spacing: 1px;
	text-transform: uppercase;
	border: 0;
	border-radius: 0;
	padding: 16px 34px;
	line-height: 1.2;
	transition: background-color 0.25s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover {
	background-color: var(--daisy-tan-hover);
	color: var(--daisy-white);
}

.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
	background-color: var(--daisy-line);
	color: #5f5a4d; /* 5,27:1: un bottone disattivato deve comunque dire cosa fa */
	opacity: 1;
}

/* ---------- Griglia prodotti ----------
   La tessera del catalogo l'ha ridisegnata il progetto Claude Design: vive in
   home.css sotto .dc-griglia, e vale sia per l'archivio sia per «Altri
   modelli». Qui restano solo i correttivi che WooCommerce impone comunque. */

.woocommerce ul.products,
.woocommerce ul.products[class*="columns-"] { margin: 0; padding: 0; }

.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }

/* Etichetta sconto: da bollo tondo a targhetta sobria */
.woocommerce span.onsale {
	background: var(--daisy-olive);
	color: var(--daisy-white);
	font-family: var(--daisy-sans);
	font-size: var(--t-mini);
	font-weight: 400;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 0;
	min-width: 0;
	min-height: 0;
	line-height: 1;
	padding: 9px 14px;
	top: 0;
	left: 0;
	right: auto;
	margin: 0;
}

/* ---------- Barra filtro finiture (shortcode) ---------- */

.daisy-filtro {
	border-top: 1px solid var(--daisy-line);
	border-bottom: 1px solid var(--daisy-line);
	padding: 22px 0;
	margin: 0 0 clamp(30px, 5vw, 56px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
}

.daisy-filtro__label {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--daisy-sage);
	margin: 0;
}

.daisy-filtro__lista {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.daisy-filtro__voce {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	text-decoration: none;
	color: var(--daisy-olive);
	font-size: var(--t-piccolo);
	padding: 7px 14px 7px 7px;
	border: 1px solid transparent;
	border-radius: 999px;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.daisy-filtro__voce:hover {
	border-color: var(--daisy-line);
	background: var(--daisy-white);
	color: var(--daisy-olive);
}

.daisy-filtro__voce.is-attiva {
	border-color: var(--daisy-olive);
	background: var(--daisy-white);
}

.daisy-filtro__pallino {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1px solid rgba(75, 83, 64, 0.25);
	display: inline-block;
	flex: 0 0 auto;
}

.daisy-filtro__voce--tutte {
	padding-left: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: var(--t-nota);
	color: var(--daisy-sage);
}

/* ---------- Pagina prodotto singolo ---------- */

.woocommerce div.product .product_title {
	font-family: var(--daisy-serif);
	font-weight: 400;
	color: var(--daisy-olive);
	font-size: var(--t-t4);
	line-height: 1.15;
	margin-bottom: 14px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--daisy-sage);
	font-size: var(--t-t2);
	font-weight: 600;
	font-family: var(--daisy-sans);
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: #7a7568; /* 4,59:1 sul bianco: il prezzo precedente resta leggibile */
	font-weight: 400;
	font-size: var(--t-lungo);
	opacity: 1;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: #57534e;
	font-size: var(--t-corpo);
	line-height: 1.65;
	margin-bottom: 26px;
}

.woocommerce div.product form.cart .variations {
	margin-bottom: 18px;
}

.woocommerce div.product form.cart .variations label {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--daisy-sage);
	font-weight: 400;
}

.woocommerce div.product .quantity input.qty {
	border: 1px solid var(--daisy-line);
	background: var(--daisy-white);
	padding: 15px 8px;
	border-radius: 0;
	color: var(--daisy-olive);
}

.woocommerce div.product .product_meta {
	border-top: 1px solid var(--daisy-line);
	padding-top: 18px;
	margin-top: 26px;
	font-size: var(--t-piccolo);
	color: var(--daisy-sage);
}

.woocommerce div.product .product_meta a {
	color: var(--daisy-olive);
}

/* Schede descrizione */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin-bottom: 34px;
	border-bottom: 1px solid var(--daisy-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0 28px 0 0;
	margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	content: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--daisy-sage);
	font-weight: 400;
	padding: 0 0 14px;
	display: inline-block;
	border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--daisy-olive);
	border-bottom-color: var(--daisy-tan);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--daisy-serif);
	font-weight: 400;
	color: var(--daisy-olive);
}

.woocommerce div.product .woocommerce-tabs .panel {
	color: #57534e;
	line-height: 1.7;
	max-width: 760px;
}

/* Prodotti correlati */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce section.related > h2 {
	font-family: var(--daisy-serif);
	font-weight: 400;
	font-size: var(--t-t3);
	color: var(--daisy-olive);
	margin-bottom: 30px;
	text-align: center;
}

/* ---------- Intestazione ---------- */

/* Outfit è più largo di Source Sans: al vecchio corpo il menu andava a capo */
header .wp-block-navigation {
	font-size: var(--t-piccolo);
	letter-spacing: 0.04em;
}

header .wp-block-navigation .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 26px;
}

header .wp-block-navigation-item__content {
	white-space: nowrap;
}

/* ---------- Terza griglia: quella del carrello vuoto ----------
   La tessera la disegna home.css, sotto .wc-block-grid__product, insieme a
   tutte le altre del sito. Qui restava la versione vecchia — riquadro bianco
   col bordo e bottone pieno — che per specificità vinceva sulla nuova. */

/* ---------- Griglia prodotti a blocchi (correlati, blocchi in pagina) ---------- */

.wp-block-woocommerce-product-collection > h2,
.wp-block-woocommerce-product-collection > .wp-block-heading,
.wp-block-woocommerce-related-products > h2 {
	font-family: var(--daisy-serif);
	font-weight: 400;
	font-size: var(--t-t3) !important;
	line-height: 1.2;
	color: var(--daisy-olive);
	text-align: center;
	margin: 0 0 34px;
}

/* Il blocco arriva come flex a 5 colonne: lo portiamo a 3 come la griglia classica */
.wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 44px);
}

.wc-block-product-template.is-flex-container.is-flex-container {
	display: grid;
}

/* WooCommerce assegna alle card una larghezza in percentuale (columns-5): la annulliamo */
li.wc-block-product {
	width: 100% !important;
	max-width: none !important;
	flex-basis: auto !important;
	background: var(--daisy-white);
	border: 1px solid var(--daisy-line);
	padding: 0 0 24px;
	margin: 0;
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

li.wc-block-product:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(75, 83, 64, 0.12);
}

li.wc-block-product .wc-block-components-product-image {
	margin: 0 0 20px;
}

li.wc-block-product .wc-block-components-product-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	display: block;
}

li.wc-block-product .wp-block-post-title,
li.wc-block-product .wc-block-components-product-title {
	font-family: var(--daisy-serif);
	font-weight: 400;
	font-size: var(--t-t1);
	line-height: 1.25;
	color: var(--daisy-olive);
	padding: 0 24px;
	margin: 0 0 8px;
	text-align: left;
}

li.wc-block-product .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

li.wc-block-product .wc-block-components-product-price {
	padding: 0 24px;
	margin: 0 0 18px;
	display: block;
	text-align: left;
	color: var(--daisy-sage);
	font-weight: 600;
}

li.wc-block-product .wc-block-components-product-price del {
	color: #7a7568; /* 4,59:1 sul bianco: il prezzo precedente resta leggibile */
	font-weight: 400;
	margin-right: 6px;
}

li.wc-block-product .wp-block-button,
li.wc-block-product .wc-block-components-product-button {
	margin: auto 24px 0;
	width: calc(100% - 48px);
	display: flex;
	/* il blocco arriva in colonna con align-items:center: il bottone resterebbe stretto */
	align-items: stretch;
	text-align: left;
}

li.wc-block-product .wp-block-button__link,
li.wc-block-product .wc-block-components-product-button a,
li.wc-block-product .wc-block-components-product-button button {
	background-color: var(--daisy-tan);
	color: var(--daisy-white);
	border: 0;
	border-radius: 0;
	flex: 1 1 auto;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 15px 20px;
	font-size: var(--t-piccolo) !important;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 400;
}

li.wc-block-product .wp-block-button__link:hover,
li.wc-block-product .wc-block-components-product-button a:hover {
	background-color: var(--daisy-tan-hover);
	color: var(--daisy-white);
}

/* Etichetta sconto dei blocchi: stessa targhetta della griglia classica */
.wc-block-components-product-sale-badge {
	background: var(--daisy-olive);
	color: var(--daisy-white);
	border: 0;
	border-radius: 0;
	font-family: var(--daisy-sans);
	font-size: var(--t-mini);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 9px 14px;
	line-height: 1;
}

/* ---------- Icone ---------- */

.daisy-icona {
	display: inline-block;
	vertical-align: middle;
	flex: 0 0 auto;
}

/* Nell'intestazione l'icona sta accanto al numero, non sopra */
.daisy-icona--tel {
	width: 16px;
	height: 16px;
	margin-right: 8px;
	margin-top: -2px;
	opacity: 0.75;
}

/* ---------- Le tre promesse del catalogo ---------- */

.daisy-servizi {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 60px);
	text-align: center;
}

@media (max-width: 780px) {
	.daisy-servizi {
		grid-template-columns: 1fr;
		gap: 34px;
	}
}

.daisy-servizi__voce {
	margin: 0;
}

.daisy-servizi__icona {
	display: inline-flex;
	color: var(--daisy-sage);
	margin-bottom: 14px;
}

.daisy-servizi__icona .daisy-icona {
	width: 34px;
	height: 34px;
	stroke-width: 1.2;
}

.daisy-servizi__titolo {
	font-family: var(--daisy-serif);
	font-size: var(--t-t1);
	font-weight: 400;
	line-height: 1.2;
	color: var(--daisy-olive);
	margin: 0 0 8px;
}

.daisy-servizi__testo {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	line-height: 1.6;
	color: var(--daisy-muted);
	margin: 0;
	max-width: 32ch;
	margin-inline: auto;
}

/* Il codice sconto viene salvato minuscolo da WooCommerce: chi lo ha digitato
   in maiuscolo si aspetta di rivederlo com'era. */
.wc-block-components-chip__text,
.wc-block-components-totals-discount__coupon-list-item {
	text-transform: uppercase;
}

/* ---------- Pagina contatti ---------- */

.daisy-contatti {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(32px, 5vw, 76px);
	align-items: start;
}

@media (max-width: 900px) {
	.daisy-contatti {
		grid-template-columns: 1fr;
	}
}

/* Ogni recapito è separato da un filo: si legge come un elenco, non come una
   sequenza di riquadri vuoti. */
.daisy-contatti__voce {
	border-top: 1px solid var(--daisy-line);
	padding: 20px 0;
}

.daisy-contatti__voce:first-child {
	border-top: 1px solid var(--daisy-ink);
	padding-top: 22px;
}

.daisy-contatti__etichetta {
	font-family: var(--daisy-sans);
	font-size: var(--t-mini);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--daisy-muted);
	margin: 0 0 8px;
	display: flex;
	align-items: center;
	gap: 9px;
}

.daisy-icona--etichetta {
	width: 17px;
	height: 17px;
	color: var(--daisy-sage);
	stroke-width: 1.5;
}

.daisy-contatti__valore {
	display: inline-block;
	font-family: var(--daisy-sans);
	font-size: var(--t-t1);
	line-height: 1.25;
	color: var(--daisy-ink);
	text-decoration: none;
	margin: 0 0 6px;
}

a.daisy-contatti__valore {
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(38, 38, 31, 0.28);
	transition: text-decoration-color 0.2s ease;
}

a.daisy-contatti__valore:hover,
a.daisy-contatti__valore:focus-visible {
	text-decoration-color: currentColor;
}

.daisy-contatti__nota {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	line-height: 1.55;
	color: var(--daisy-muted);
	margin: 0;
}

.daisy-contatti__indirizzo {
	font-family: var(--daisy-sans);
	font-size: var(--t-corpo);
	line-height: 1.6;
	color: var(--daisy-ink);
	margin: 0 0 10px;
	font-style: normal;
}

.daisy-contatti__fiscali {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	color: var(--daisy-muted);
	margin: 0;
}

/* Mappa: l'iframe arriva con width/height fissi (600×450), qui diventa elastico. */
.daisy-contatti__mappa {
	margin-top: 22px;
	border: 1px solid var(--daisy-line);
	background: var(--daisy-cream-soft);
	line-height: 0;
}

.daisy-contatti__mappa iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border: 0;
	/* la mappa di Google è satura rispetto al resto: la calmiamo appena */
	filter: saturate(0.85) contrast(0.96);
}

.daisy-contatti__mappa-link {
	display: inline-block;
	margin-top: 14px;
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--daisy-olive);
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* Il modulo sta in una scheda bianca: si distingue dai recapiti a colpo d'occhio. */
.daisy-modulo-scheda {
	background: var(--daisy-white);
	border: 1px solid var(--daisy-line);
	padding: clamp(24px, 3.5vw, 46px);
}

.daisy-modulo-scheda .daisy-modulo-titolo {
	font-family: var(--daisy-serif);
	font-size: var(--t-t3);
	line-height: 1.1;
	color: var(--daisy-olive);
	margin: 0 0 6px;
}

.daisy-modulo-scheda .daisy-modulo-nota {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	color: var(--daisy-muted);
	margin: 0 0 26px;
}

/* Telefono e motivo stanno su una riga sola: sono i due campi più corti.
   Al menu a tendina serve più spazio, altrimenti le voci vengono troncate. */
.daisy-modulo-contatti .daisy-form-coppia {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	gap: 18px;
	align-items: end;
}

/* Le etichette dei due campi affiancati vanno a capo in modo diverso: senza
   questo, i campi partono ad altezze diverse e la riga sembra storta. */
.daisy-modulo-contatti .daisy-form-coppia label {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
}

@media (max-width: 560px) {
	.daisy-modulo-contatti .daisy-form-coppia {
		grid-template-columns: 1fr;
	}
}

.daisy-modulo-contatti .daisy-form-coppia .daisy-form-riga {
	margin-bottom: 0;
}

/* ---------- Modulo di contatto ---------- */

.daisy-modulo-contatti .wpcf7-form label {
	display: block;
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--daisy-sage);
	margin-bottom: 6px;
}

.daisy-modulo-contatti .wpcf7-form input[type="text"],
.daisy-modulo-contatti .wpcf7-form input[type="email"],
.daisy-modulo-contatti .wpcf7-form input[type="tel"],
.daisy-modulo-contatti .wpcf7-form select,
.daisy-modulo-contatti .wpcf7-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--daisy-line);
	border-radius: 0;
	background: var(--daisy-white);
	padding: 14px 16px;
	font-family: var(--daisy-sans);
	font-size: var(--t-corpo);
	color: var(--daisy-olive);
	margin-top: 4px;
}

.daisy-modulo-contatti .wpcf7-form input:focus,
.daisy-modulo-contatti .wpcf7-form select:focus,
.daisy-modulo-contatti .wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--daisy-tan);
}

.daisy-modulo-contatti .daisy-form-riga {
	margin-bottom: 20px;
}

.daisy-modulo-contatti .daisy-form-privacy label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	text-transform: none;
	letter-spacing: 0;
	font-size: var(--t-piccolo);
	color: #57534e;
	line-height: 1.5;
}

.daisy-modulo-contatti .daisy-form-privacy input[type="checkbox"] {
	margin-top: 3px;
	accent-color: var(--daisy-tan);
}

.daisy-modulo-contatti .wpcf7-form input[type="submit"] {
	background: var(--daisy-tan);
	color: var(--daisy-white);
	border: 0;
	border-radius: 0;
	padding: 16px 38px;
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.25s ease;
}

.daisy-modulo-contatti .wpcf7-form input[type="submit"]:hover {
	background: var(--daisy-tan-hover);
}

.daisy-modulo-contatti .wpcf7-response-output {
	border-color: var(--daisy-tan);
	border-radius: 0;
	padding: 14px 18px;
	font-family: var(--daisy-sans);
	color: var(--daisy-olive);
}

.daisy-modulo-contatti .wpcf7-not-valid-tip {
	color: #b94030;
	font-size: var(--t-piccolo);
	text-transform: none;
	letter-spacing: 0;
}

/* ---------- Nota sulla finitura fotografata ---------- */

.daisy-nota-finitura {
	background: var(--daisy-cream-soft);
	border-left: 3px solid var(--daisy-tan);
	padding: 14px 18px;
	margin: 0 0 22px;
	font-size: var(--t-piccolo);
	line-height: 1.55;
	color: #57534e;
	max-width: 520px;
}

/* ---------- Swatch ---------- */

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
	box-shadow: none;
	border: 1px solid rgba(75, 83, 64, 0.2);
	padding: 2px;
	background: var(--daisy-white);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
	border-color: var(--daisy-tan);
	transform: scale(1.06);
	box-shadow: none;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected {
	border-color: var(--daisy-olive);
	border-width: 2px;
	box-shadow: none;
}

/* ---------- Briciole di pane ---------- */

/* I link si distinguevano dal testo circostante solo per la tinta, con appena
   1,3:1 di stacco: chi non percepisce quella differenza non vede che sono link.
   La sottolineatura non dipende dal colore. */
.woocommerce-breadcrumb a {
	color: var(--daisy-olive);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(51, 59, 44, 0.35);
}

.woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:focus-visible {
	text-decoration-color: currentColor;
}

/* ---------- Configuratore ---------- */

.daisy-config__intro {
	border-top: 1px solid var(--daisy-line);
	padding-top: 26px;
	margin-top: 4px;
	margin-bottom: 22px;
}

.daisy-config__titolo {
	font-family: var(--daisy-serif);
	font-size: var(--t-t2);
	line-height: 1.15;
	color: var(--daisy-olive);
	margin: 0 0 6px;
}

.daisy-config__sottotitolo {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	color: var(--daisy-muted);
	margin: 0;
}

.daisy-config__riepilogo {
	background: var(--daisy-cream-soft);
	padding: 16px 18px;
	margin: 4px 0 20px;
	max-width: 520px;
}

.daisy-config__riepilogo-voce {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	color: var(--daisy-ink);
	margin: 0 0 6px;
}

.daisy-config__scelta {
	font-weight: 500;
}

.daisy-config__sep {
	color: var(--daisy-muted);
	margin: 0 8px;
}

.daisy-config__riepilogo-nota,
.daisy-config__incompleto {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	line-height: 1.5;
	color: var(--daisy-muted);
	margin: 0;
}

.daisy-config__incompleto {
	margin: 0 0 18px;
	max-width: 520px;
}

/* Le misure sono voci testuali, non campioni di colore: lo stile globale del
   plugin (e la regola qui sopra, che con :not() vince per specificità) le
   comprimeva in cerchi da 40px con il testo che debordava. */
.woo-variation-swatches .variable-items-wrapper .button-variable-item:not(.radio-variable-item) {
	width: auto;
	min-width: 0;
	height: auto;
	border-radius: 2px;
	padding: 0;
	overflow: visible;
}

.woo-variation-swatches .variable-items-wrapper .button-variable-item .variable-item-span-button {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	line-height: 1;
	letter-spacing: 0.01em;
	white-space: nowrap;
	padding: 11px 18px;
	min-width: 0;
	width: auto;
	height: auto;
	color: var(--daisy-ink);
}

.woo-variation-swatches .variable-items-wrapper .button-variable-item.selected .variable-item-span-button {
	color: var(--daisy-olive);
	font-weight: 500;
}

/* Etichette degli attributi: stessa voce del resto della scheda */
.woocommerce div.product form.cart .variations th.label label,
.woocommerce div.product form.cart .variations .label label {
	font-family: var(--daisy-sans);
	font-size: var(--t-mini);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--daisy-muted);
	font-weight: 400;
}

/* Il nome della variante scelta, accanto all'etichetta */
.woo-selected-variation-item-name {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	letter-spacing: 0;
	text-transform: none;
	color: var(--daisy-ink);
	margin-left: 8px;
}

/* =========================================================
   Carrello e pagamento — ridisegnati, non solo ricolorati
   ========================================================= */

/* --- Intestazione tabella --- */

.wc-block-cart-items__header {
	font-family: var(--daisy-sans);
	font-size: var(--t-mini);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--daisy-muted);
	border-bottom: 1px solid var(--daisy-line);
	padding-bottom: 14px;
}

.wc-block-cart-items__header-image {
	width: 1px;
}

/* --- Riga prodotto: foto grande, gerarchia chiara --- */

.wc-block-cart-items__row {
	border-bottom: 1px solid var(--daisy-line);
	padding: 28px 0;
}

/* WooCommerce non impagina la riga con una media query, ma con una classe che
   assegna al contenitore misurandolo: .is-large tiene la tabella, .is-medium,
   .is-small e .is-mobile passano a griglia con la prima traccia fissa a 80px.
   Quindi il caso normale qui è la GRIGLIA, dove la larghezza la comanda la
   traccia e la foto la riempie; la tabella è l'eccezione, ed è l'unico caso in
   cui la misura va dichiarata sulla foto (sulla cella sarebbe solo un
   suggerimento per l'algoritmo delle tabelle, e verrebbe compressa). */
td.wc-block-cart-item__image {
	width: auto;
	padding-right: 0;
}

td.wc-block-cart-item__image img {
	width: 100%;
	max-width: none;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--daisy-white);
	border: 1px solid var(--daisy-line);
}

.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
.is-small table.wc-block-cart-items .wc-block-cart-items__row,
.is-mobile table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 96px minmax(0, 1fr) auto;
	column-gap: 16px;
}

.is-large td.wc-block-cart-item__image {
	width: 180px;
	padding-right: 28px;
}

.is-large td.wc-block-cart-item__image img {
	width: 180px;
}

.wc-block-cart-item__wrap .wc-block-components-product-name {
	font-family: var(--daisy-serif);
	font-size: var(--t-t2);
	line-height: 1.2;
	color: var(--daisy-olive);
	text-decoration: none;
	display: block;
	margin-bottom: 8px;
}

/* Il prezzo unitario sotto il nome ripeteva il totale di riga con lo stesso peso:
   qui resta come informazione di servizio, il totale vero è a destra */
.wc-block-cart-item__wrap .wc-block-components-product-price {
	font-size: var(--t-piccolo);
	color: var(--daisy-muted);
	display: block;
	margin-bottom: 10px;
}

.wc-block-cart-item__wrap .wc-block-components-product-price__value {
	color: var(--daisy-muted);
	font-weight: 400;
}

.wc-block-components-product-details,
.wc-block-cart-item__wrap .wc-block-components-product-metadata {
	font-size: var(--t-piccolo);
	color: var(--daisy-sage);
	margin-bottom: 16px;
}

td.wc-block-cart-item__total {
	font-family: var(--daisy-sans);
	font-size: var(--t-lungo);
	font-weight: 500;
	color: var(--daisy-olive);
	vertical-align: top;
	padding-top: 4px;
}

td.wc-block-cart-item__total .wc-block-components-product-price__value {
	color: var(--daisy-olive);
	font-weight: 500;
}

.wc-block-components-quantity-selector {
	border: 1px solid var(--daisy-line);
	border-radius: 0;
	background: var(--daisy-white);
	max-width: 130px;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	color: var(--daisy-olive);
	font-family: var(--daisy-sans);
}

.wc-block-cart-item__remove-link {
	font-family: var(--daisy-sans);
	font-size: var(--t-nota);
	color: var(--daisy-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--daisy-olive);
}

/* --- Riepilogo: una scheda sola, non tre scatole --- */

.wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	background: var(--daisy-white);
	border: 1px solid var(--daisy-line);
	border-radius: 0;
	padding: 4px 28px 28px;
	align-self: flex-start;
}

.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block > div {
	display: flex;
	flex-direction: column;
}

/* Il codice sconto era il primo blocco in alto: la cosa meno importante
   nel punto più visibile. Va in fondo, dopo il totale. */
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	order: 9;
}

.wc-block-components-totals-wrapper {
	background: transparent;
	border: 0;
	border-top: 1px solid var(--daisy-line);
	padding: 16px 0;
	margin: 0;
}

.wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper:first-child,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:first-child {
	border-top: 0;
}

.wc-block-components-totals-item {
	font-family: var(--daisy-sans);
	font-size: var(--t-piccolo);
	color: var(--daisy-ink);
	padding: 4px 0;
}

.wc-block-components-totals-item__label {
	color: var(--daisy-ink);
}

.wc-block-components-totals-item__value {
	color: var(--daisy-ink);
	font-weight: 500;
}

.wc-block-components-totals-item__description {
	color: var(--daisy-muted);
	font-size: var(--t-nota);
}

/* Totale finale: è il numero che conta, deve pesare */
.wc-block-components-totals-footer-item {
	border-top: 1px solid var(--daisy-olive) !important;
	padding-top: 18px;
	margin-top: 4px;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--daisy-serif);
	font-size: var(--t-t2);
	color: var(--daisy-olive);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--daisy-sans);
	font-size: var(--t-t2);
	font-weight: 500;
	color: var(--daisy-olive);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax {
	font-size: var(--t-nota);
	color: var(--daisy-muted);
	font-weight: 400;
}

.wp-block-woocommerce-cart-order-summary-heading-block {
	font-family: var(--daisy-serif);
	font-size: var(--t-t1);
	color: var(--daisy-olive);
	letter-spacing: 0;
	text-transform: none;
	padding: 20px 0 4px;
}

/* --- Pulsanti di cassa --- */

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background-color: var(--daisy-tan) !important;
	color: var(--daisy-white) !important;
	border-radius: 0 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-family: var(--daisy-sans);
	font-weight: 500;
	font-size: var(--t-piccolo);
	padding: 20px 28px;
	width: 100%;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--daisy-tan-hover) !important;
}

/* --- Campi del modulo di pagamento --- */

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-select__container,
.wc-block-components-textarea {
	border-radius: 0;
	border-color: var(--daisy-line);
	background: var(--daisy-white);
	font-family: var(--daisy-sans);
}

.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label {
	font-family: var(--daisy-sans);
	color: var(--daisy-muted);
}

.wc-block-components-checkout-step__title {
	font-family: var(--daisy-serif);
	font-size: var(--t-t2);
	color: var(--daisy-olive);
	font-weight: 400;
}

.wc-block-components-checkout-step__description {
	color: var(--daisy-muted);
	font-family: var(--daisy-sans);
}

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-color: var(--daisy-line);
	font-family: var(--daisy-sans);
}

/* --- Carrello vuoto --- */

.wp-block-woocommerce-empty-cart-block {
	text-align: center;
	padding: 20px 0 40px;
}

.wp-block-woocommerce-empty-cart-block h2 {
	font-family: var(--daisy-serif);
	color: var(--daisy-olive);
}

/* --- Striscia rassicurazioni sotto il carrello --- */

/* La fascia delle tre rassicurazioni è lo stesso componente della coda del
   catalogo: vive in home.css sotto .dc-argomenti, insieme a quella. Qui aveva
   regole sue — margine a 40 invece che a 56, e le puntava su h3: cambiando le
   intestazioni in h2 (l'ordine dei livelli lo chiedeva) sono schizzate a 42px. */

@media (max-width: 780px) {
	.wc-block-cart-item__wrap .wc-block-components-product-name {
		font-size: var(--t-lungo);
	}

}

/* =========================================================
   Carrello a scomparsa (mini-cart)
   =========================================================
   WooCommerce riusa le stesse classi della pagina carrello dentro un cassetto
   largo poco più di 400px: la foto da 180px sfondava la sua colonna e finiva
   sotto al testo. Qui il cassetto torna alle sue proporzioni. */

/* Nel cassetto lo spazio è poco: traccia più stretta che nel carrello a pagina
   intera. Il selettore ricalca quello di WooCommerce, altrimenti perde per specificità. */
.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-items__row,
.wc-block-mini-cart__drawer .wc-block-cart-items__row {
	grid-template-columns: 72px minmax(0, 1fr) auto;
	column-gap: 14px;
	padding: 18px 0;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__wrap .wc-block-components-product-name {
	font-size: var(--t-corpo);
	margin-bottom: 4px;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__wrap .wc-block-components-product-price {
	font-size: var(--t-piccolo);
}

/* Nel cassetto la riga è stretta: intestazione di tabella e prezzo unitario
   ripetuto tolgono spazio senza aggiungere informazione. */
.wc-block-mini-cart__drawer .wc-block-cart-items__header {
	display: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-metadata {
	font-size: var(--t-nota);
}

@media (max-width: 780px) {
	.wc-block-mini-cart__drawer td.wc-block-cart-item__image,
	.wc-block-mini-cart__drawer td.wc-block-cart-item__image img {
		width: 64px;
	}
}

/* ---------- Messaggi ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--daisy-tan);
	background: var(--daisy-white);
	color: var(--daisy-olive);
	font-family: var(--daisy-sans);
	border-radius: 0;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--daisy-tan);
}

/* ---------- Impaginazione e ordinamento ---------- */

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	gap: 8px;
	display: flex;
	justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--daisy-line);
	background: var(--daisy-white);
	color: var(--daisy-olive);
	padding: 10px 16px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--daisy-olive);
	border-color: var(--daisy-olive);
	color: var(--daisy-white);
}

.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-result-count {
	font-family: var(--daisy-sans);
	color: var(--daisy-sage);
	font-size: var(--t-piccolo);
}

.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--daisy-line);
	background: var(--daisy-white);
	padding: 10px 14px;
	border-radius: 0;
	color: var(--daisy-olive);
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
	.wc-block-product-template,
	.wc-block-product-template.is-flex-container.is-flex-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.wc-block-product-template,
	.wc-block-product-template.is-flex-container.is-flex-container {
		grid-template-columns: 1fr;
	}

	.daisy-filtro {
		flex-direction: column;
		align-items: flex-start;
	}

	li.wc-block-product .wp-block-post-title { font-size: var(--t-lungo); }
}

/* ---------- il bottone d'acquisto sullo schermo più stretto ----------
   A trecentoventi pixel «Aggiungi al carrello» sta accanto al campo della
   quantità e sborda di ventisei. Il modulo di WooCommerce non è flex ma un
   blocco, quindi non basta dirgli di andare a capo: il bottone si prende la
   riga per conto suo. Sta qui e non nel pannello di Elementor perché il
   markup è di WooCommerce e questo foglio è già il posto dove lo vestiamo. */
@media (max-width: 480px) {
	.dp-scheda__scelta form.cart .single_add_to_cart_button {
		display: block;
		width: 100%;
		margin-top: 14px;
		padding-inline: 14px;
	}
}

/* A 320 la tabella delle varianti sporgeva di sei pixel: le celle non
   possono cedere sotto la larghezza dei loro bottoni. Il layout fisso
   la costringe dentro la colonna, e i bottoni vanno a capo da soli. */
@media (max-width: 360px) {
	.woocommerce div.product form.cart table.variations { width: 100%; table-layout: fixed; }
}
