/* ============================================================
   WooCommerce — integrazione BASE nel tema (demo locale).
   Solo minimo per rendere shop/prodotto/categoria presentabili.
   NON è il design premium finale (arriverà con la dinamizzazione).
   Usa i token del tema (variables.css). Nessuna sidebar.
   ============================================================ */

/* contenuto a piena larghezza (sidebar rimossa via hook) */
.woo-content { width: 100%; }
.woocommerce .content-area,
.woocommerce #primary { width: 100%; float: none; margin: 0; }
.woocommerce #secondary,
.woocommerce .widget-area,
.woocommerce-page #secondary { display: none; } /* fallback anti-sidebar */

/* titolo pagina shop / termine */
.woocommerce-products-header__title,
.woocommerce .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	font-family: var(--font-display);
	color: var(--color-primary-dark);
}
.woocommerce-products-header__title { font-size: clamp(1.8rem, 5vw, 2.4rem); margin-bottom: .5rem; }

/* ---- CARD PRODOTTO PREMIUM (shop / categoria / correlati) ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1rem, 2vw, 1.75rem);
	margin: 0 0 2.5rem;
	padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	list-style: none;
	display: flex;
	flex-direction: column;
	text-align: left;
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: 14px;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-soft);
	border-color: var(--color-secondary);
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: flex; flex-direction: column; color: inherit; }
.woocommerce ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
	background: linear-gradient(160deg, var(--color-surface-2), #E7DCC9);
}
/* placeholder elegante (nessuna immagine reale) */
.woocommerce ul.products li.product img.woocommerce-placeholder { object-fit: contain; padding: 22%; opacity: .4; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-display);
	font-size: 1.12rem;
	font-weight: 600;
	color: var(--color-primary-dark);
	padding: .9rem 1rem 0;
}
.woocommerce ul.products li.product .price { color: var(--color-secondary-dark); font-weight: 600; font-size: 1.02rem; padding: .25rem 1rem 0; }
.woocommerce ul.products li.product .star-rating { margin: .45rem 1rem 0; }
.woocommerce ul.products li.product .onsale { position: absolute; top: .7rem; left: .7rem; margin: 0; z-index: 2; }
@media (min-width: 600px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px) { .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); } }

/* prezzi */
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--color-primary); font-weight: 600; }
.alicos-price-from {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .25rem;
}
.alicos-price-from__label {
	font-family: var(--font-body);
	font-size: .78em;
	font-weight: 650;
	color: var(--color-muted);
}

/* --- BOTTONI coerenti col tema --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce ul.products li.product a.add_to_cart_button {
	background: var(--color-primary);
	color: #fff;
	border-radius: var(--radius-sm);
	font-weight: 600;
	padding: .7em 1.2em;
	transition: background .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover { background: var(--color-primary-dark); color: #fff; }

/* CTA principale (add to cart singolo prodotto) = oro */
.woocommerce div.product form.cart .button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--color-accent);
	color: #3A2607;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover { background: var(--color-accent-dark); color: #2E1E05; }

/* quantità */
.woocommerce .quantity .qty {
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	padding: .5em;
}

/* --- MESSAGGI leggibili --- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	border-top-color: var(--color-primary);
	background: var(--color-surface-2);
	border-radius: var(--radius-sm);
	color: var(--color-text);
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { color: var(--color-primary); }

/* --- TAB prodotto --- */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--color-surface-2);
	border-color: var(--color-line);
	border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--color-surface);
	border-bottom-color: var(--color-surface);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--color-primary-dark); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-family: var(--font-display); color: var(--color-primary-dark); }

/* breadcrumb woo */
.woocommerce .woocommerce-breadcrumb { color: var(--color-muted); font-size: .85rem; margin-bottom: 1.25rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--color-secondary-dark); }

/* ordinamento / conteggio risultati */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 1.5rem; }
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	padding: .5em;
}

/* badge sale */
.woocommerce span.onsale {
	background: var(--color-accent);
	color: #3A2607;
	border-radius: var(--radius-pill);
}

/* ---- SCHEDA PRODOTTO PREMIUM (single-product dinamico) ---- */
/* gallery nativa: piena larghezza nella colonna del tema (override float WC) */
.woocommerce .product-hero__gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .product-hero__grid { display: grid; } /* usa la griglia del tema */
.woocommerce div.product.product { display: block; } /* niente float del wrapper */

/* add-to-cart nativo dentro la purchase card */
.purchase-card__cart { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-line); }
.woocommerce .purchase-card__cart form.cart { margin: 0; }
.woocommerce .purchase-card__cart div.quantity { margin-right: .5rem; }

/* attributi reali */
.product-specs { list-style: none; padding: 0; margin: 1rem 0; border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); }
.product-specs li { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem .9rem; border-bottom: 1px solid var(--color-line); font-size: .92rem; }
.product-specs li:last-child { border-bottom: none; }
.product-specs__k { color: var(--color-muted); }
.product-specs__v { font-weight: 500; text-align: right; }

/* tab e correlati dentro il layout tema */
.product-tabs .woocommerce-tabs { margin: 0; }
.product-related .related > h2 { font-family: var(--font-display); color: var(--color-primary-dark); }

/* CTA add-to-cart nella CARD (loop) = outline elegante, non aggressiva.
   In coda per prevalere sul bottone solido generale (add-to-cart NATIVO invariato). */
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart {
	display: block;
	margin: .85rem 1rem 1.1rem;
	text-align: center;
	background: transparent;
	color: var(--color-primary-dark);
	border: 1px solid var(--color-primary);
}
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover { background: var(--color-primary); color: #fff; }
/* stato "loading/added" nativo: non spingere il layout */
.woocommerce ul.products li.product a.add_to_cart_button.loading::after { margin-left: .3em; }

/* ---- GALLERY SCHEDA PRODOTTO: immagine protagonista + placeholder elegante ---- */
.product-hero__gallery .woocommerce-product-gallery__image { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-line); box-shadow: var(--shadow-card); }
.product-hero__gallery .woocommerce-product-gallery__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: linear-gradient(160deg, var(--color-surface-2), #E7DCC9);
	border-radius: var(--radius-lg);
}
/* placeholder (nessuna immagine reale): mark tenue su gradiente caldo */
.product-hero__gallery img.woocommerce-placeholder { object-fit: contain; padding: 15%; opacity: .5; }
/* thumbnails native (flexslider): piccole, distanziate, bordo sottile premium */
/* !important necessario: il CSS core WooCommerce (li width:25%, margin/padding 0)
   ha specificità più alta. Qui separiamo nettamente e rimpiccioliamo le thumb. */
.product-hero__gallery .flex-control-thumbs {
	display: flex !important; flex-wrap: nowrap; gap: .8rem;
	margin: 1.75rem 0 0 !important; padding-top: 1.3rem !important;
	border-top: 1px solid var(--color-line);
	overflow-x: auto; list-style: none; float: none !important;
}
.product-hero__gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; list-style: none; flex: 0 0 auto; }
.product-hero__gallery .flex-control-thumbs img {
	width: 62px !important; height: 62px !important; object-fit: cover;
	border-radius: var(--radius-sm); border: 1px solid var(--color-line);
	opacity: .8; cursor: pointer; transition: opacity .2s, border-color .2s, box-shadow .2s;
}
.product-hero__gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--color-secondary); }
.product-hero__gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--color-primary); box-shadow: 0 0 0 1px var(--color-primary); }

/* ---- Quantità + add-to-cart (purchase card): allineati e premium ---- */
.purchase-card__cart form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .6rem; margin: 0; }
.purchase-card__cart .quantity { margin: 0; display: flex; }
.purchase-card__cart .quantity .qty {
	height: 52px; width: 88px; text-align: center;
	border: 1px solid var(--color-line); border-radius: var(--radius-sm);
	background: var(--color-surface); color: var(--color-text); font: inherit; font-size: 1.05rem; font-weight: 600;
}
.purchase-card__cart .single_add_to_cart_button { flex: 1 1 auto; min-height: 52px; }

/* ===== UX scheda prodotto: totale, spinner, toast (step UX) ===== */
.purchase-card__cart form.cart > .apo,
.purchase-card__cart form.cart > .apo-acc,
.purchase-card__cart form.cart > .purchase-total { flex: 1 1 100%; width: 100%; }

.purchase-total { margin: 1rem 0 .2rem; }
.purchase-total__main { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.purchase-total__label { font-size: .8rem; letter-spacing: 0; text-transform: uppercase; color: var(--color-muted, #8A7F70); }
.purchase-total__price { font-family: var(--font-display, Georgia, serif); font-size: 1.6rem; font-weight: 700; color: var(--color-primary-dark, #1E1A17); }
.purchase-total__price .amount, .purchase-total__price ins, .purchase-total__price del { font-size: inherit; }
.purchase-total__breakdown { margin-top: .6rem; padding-top: .6rem; border-top: 1px dashed var(--color-line, #E6DDCE); display: grid; gap: .3rem; }
.purchase-total__row { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; color: var(--color-muted, #8A7F70); }
.purchase-total__row--total { font-size: 1.05rem; font-weight: 700; color: var(--color-secondary-dark, #7A5330); }

/* Spinner nel bottone add-to-cart */
.single_add_to_cart_button.is-loading { pointer-events: none; opacity: .9; }
.single_add_to_cart_button.is-loading::before {
	content: ''; display: inline-block; width: 1em; height: 1em; margin-right: .55em; vertical-align: -.15em;
	border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: ab-spin .6s linear infinite;
}
@keyframes ab-spin { to { transform: rotate(360deg); } }

/* Toast conferma/errore */
.ab-toast {
	position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(14px); z-index: 9999;
	display: flex; align-items: center; gap: 1rem; max-width: calc(100vw - 32px);
	background: var(--color-primary-dark, #1E1A17); color: #fff; padding: .8rem 1.1rem; border-radius: 10px;
	box-shadow: 0 10px 34px rgba(0,0,0,.25); font-size: .95rem; opacity: 0; transition: opacity .25s ease, transform .25s ease;
}
.ab-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.ab-toast--error { background: #8a2b2b; }
.ab-toast__link { color: var(--color-accent, #B99A5B); font-weight: 600; text-decoration: underline; white-space: nowrap; }

.purchase-total__hint { margin: .35rem 0 0; font-size: .85rem; color: var(--color-muted, #8A7F70); font-style: italic; }

/* ===== Shop UX: affina ricerca (filtri reali) ===== */
.shop-refine { padding: 1rem 0; }
.shop-refine__toggle { display: none; align-items: center; gap: .5rem; background: var(--color-surface, #FFFCF7); border: 1px solid var(--color-line, #E6DDCE); border-radius: 10px; padding: .65rem 1rem; font: inherit; font-weight: 600; cursor: pointer; color: var(--color-primary-dark, #1E1A17); }
.shop-refine__panel { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem; }
.shop-refine__field { display: flex; flex-direction: column; gap: .3rem; min-width: 260px; }
.shop-refine__label { font-size: .8rem; letter-spacing: 0; text-transform: uppercase; color: var(--color-muted, #8A7F70); }
.shop-refine__select { height: 46px; padding: 0 .8rem; border: 1px solid var(--color-line, #E6DDCE); border-radius: 9px; background: var(--color-surface, #FFFCF7); font: inherit; font-size: 1rem; color: var(--color-primary-dark, #1E1A17); }
.shop-refine__hint { font-size: .85rem; color: var(--color-muted, #8A7F70); margin: 0; align-self: center; }

/* ===== Carousel orizzontale (Nuovi arrivi / Più richiesti) ===== */
.hscroll { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .3rem .1rem 1rem; -webkit-overflow-scrolling: touch; }
.hscroll__item { scroll-snap-align: start; display: flex; align-items: stretch; }
.hscroll__item > .product-card { width: 100%; height: 100%; }
.hscroll::-webkit-scrollbar { height: 8px; }
.hscroll::-webkit-scrollbar-thumb { background: var(--color-line, #E6DDCE); border-radius: 8px; }

/* ===== Product card LIVE (cliccabile) ===== */
.product-card--live { position: relative; }
.product-card--live .product-card__link { position: absolute; inset: 0; z-index: 2; }
.product-card--live .product-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-card__badges { position: absolute; top: .55rem; left: .55rem; z-index: 3; display: flex; flex-direction: column; gap: .35rem; align-items: flex-start; }
.product-card__badges .badge { position: static; }
.product-card--live .product-card__cta { margin-top: .6rem; font-weight: 700; font-size: .9rem; color: var(--color-secondary-dark, #7A5330); }
.product-card--live:hover .product-card__cta { text-decoration: underline; }

@media (max-width: 640px) {
	.shop-refine__toggle { display: inline-flex; }
	.shop-refine__panel { display: none; margin-top: .75rem; }
	.shop-refine__panel.is-open { display: flex; }
	.shop-refine__field { min-width: 100%; }
	.hscroll { grid-auto-columns: 78%; }
}

/* ===== Loop catalogo: usa la live card (reset stile card nativo del <li>) ===== */
.woocommerce ul.products li.product.product-card-cell { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; overflow: visible; }
.woocommerce ul.products li.product.product-card-cell:hover { transform: none; box-shadow: none; }
.product-card-cell > .product-card { height: 100%; }

/* ===== Caroselli con frecce ===== */
.hcarousel { position: relative; }
.hcarousel__nav { position: absolute; top: 42%; transform: translateY(-50%); z-index: 4; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--color-line, #E6DDCE); background: var(--color-surface, #FFFCF7); color: var(--color-primary-dark, #1E1A17); font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: var(--shadow-soft, 0 6px 20px rgba(0,0,0,.08)); display: flex; align-items: center; justify-content: center; }
.hcarousel__nav--prev { left: -8px; }
.hcarousel__nav--next { right: -8px; }
.hcarousel__nav[hidden] { display: none; }
.hcarousel__nav:hover { background: var(--color-secondary, #A87545); color: #fff; border-color: var(--color-secondary, #A87545); }
@media (max-width: 900px) { .hcarousel__nav { display: none; } }

/* ===== Prezzo unico + Riepilogo configurazione ===== */
.purchase-total__summary { margin-top: .7rem; padding-top: .7rem; border-top: 1px dashed var(--color-line, #E6DDCE); display: grid; gap: .3rem; }
.purchase-total__summary-title { font-size: .78rem; letter-spacing: 0; text-transform: uppercase; color: var(--color-muted, #8A7F70); }
/* riusa .purchase-total__row / --total già definiti */
.purchase-total__rows .purchase-total__row span:last-child { text-align: right; }

/* Preview per-box del plugin ora ridondanti: il riepilogo mostra tutto */
.apo__supplement, .apo-acc__total { display: none !important; }

/* ===== Swatch varianti colore ===== */
/* Griglia swatch simmetrica: 2 col mobile, 3 col da 520px */
.apo-swatches { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; margin: 0 0 .6rem; }
@media (min-width: 520px) { .apo-swatches { grid-template-columns: repeat(3, 1fr); } }
.apo-swatch { display: flex; align-items: center; gap: .55rem; width: 100%; min-height: 46px; padding: .4rem .65rem; border: 1px solid var(--color-line, #E6DDCE); border-radius: 10px; background: var(--color-surface, #FFFCF7); cursor: pointer; font: inherit; font-size: .88rem; color: var(--color-primary-dark, #1E1A17); text-align: left; transition: border-color .15s, box-shadow .15s; }
.apo-swatch:hover { border-color: var(--color-secondary, #A87545); }
.apo-swatch:focus-visible { outline: 2px solid var(--color-accent, #B99A5B); outline-offset: 2px; }
.apo-swatch.is-selected { border-color: var(--color-secondary-dark, #7A5330); box-shadow: 0 0 0 1px var(--color-secondary-dark, #7A5330) inset, var(--shadow-soft, 0 6px 20px rgba(0,0,0,.08)); }
.apo-swatch__color { width: 24px; height: 24px; border-radius: 6px; border: 1px solid rgba(0,0,0,.18); background: var(--color-surface-2, #F1EBE0); flex: 0 0 auto; }
.apo-swatch--neutral .apo-swatch__color { background: linear-gradient(135deg, #efe7d8 0%, #efe7d8 45%, #d9c9ad 45%, #d9c9ad 58%, #f6eddf 58%, #f6eddf 100%); }
.apo-swatch__label { line-height: 1.15; }

/* Select nativa colore: nascosta ma nel DOM e funzionante (WC ne legge il valore) */
.apo-swatched-select { display: none !important; }

/* Riga variazione swatch nativa: nascosta (select nel DOM e funzionante) */
.woocommerce .variations_form .variations tr.apo-swatch-row { display: none !important; }
/* Blocco swatch spostato fuori dalla tabella: titolo sopra + griglia a piena larghezza */
.apo-swatch-block { margin: 0 0 1rem; max-width: 100%; box-sizing: border-box; }
.apo-swatches__title { display: block; font-weight: 600; font-size: .95rem; color: var(--color-primary-dark, #1E1A17); margin: 0 0 .55rem; }
.apo-swatches { max-width: 100%; box-sizing: border-box; }
.apo-swatch, .apo-swatch__label { min-width: 0; }
.apo-swatch__label { overflow-wrap: anywhere; }
.apo-swatches__title { display: block; font-weight: 600; font-size: .95rem; color: var(--color-primary-dark, #1E1A17); margin: .2rem 0 .55rem; }

/* Link reset variazioni "Svuota" reso elegante e discreto */
.woocommerce .variations_form .reset_variations { display: inline-block; margin: .35rem 0 0; font-size: .82rem; color: var(--color-muted, #8A7F70); text-decoration: underline; }
.woocommerce .variations_form .reset_variations:hover { color: var(--color-secondary-dark, #7A5330); }

/* ===== Mood Sicilia: homepage prodotti + card catalogo ===== */
.home-products {
	background:
		linear-gradient(180deg, #FFF7EA 0%, var(--color-bg) 100%);
	border-top: 1px solid rgba(181,74,45,.12);
	border-bottom: 1px solid rgba(39,53,31,.1);
}
.home-products__head {
	max-width: 880px;
	margin-bottom: 2.4rem;
}
.home-products__title {
	position: relative;
	margin: .2rem auto .85rem;
	font-family: var(--font-display);
	font-size: 2.7rem;
	line-height: 1;
	color: var(--color-primary-dark);
	isolation: isolate;
}
.home-products__title span {
	position: relative;
	display: inline-block;
	color: var(--color-primary);
	z-index: 0;
}
.home-products__title span::after {
	content: '';
	position: absolute;
	left: .02em;
	right: .02em;
	bottom: .04em;
	height: .16em;
	background: linear-gradient(90deg, var(--color-accent), var(--color-secondary));
	border-radius: var(--radius-pill);
	z-index: -1;
	opacity: .72;
}
.home-products__intro {
	max-width: 58ch;
	margin: 0 auto;
	color: #5F4C36;
	font-size: 1.05rem;
	line-height: 1.65;
}
.home-products .section__cta {
	margin-top: 1.2rem;
}
.home-products .hscroll {
	grid-auto-columns: minmax(220px, 286px);
	justify-content: center;
	align-items: stretch;
}

.product-card--live {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
	background: #FFFCF6;
	border-color: #E8DCC9;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(71,45,20,.07);
}
.product-card--live:hover {
	border-color: rgba(181,74,45,.42);
	box-shadow: 0 14px 34px rgba(71,45,20,.11);
}
.product-card--live .product-card__media {
	aspect-ratio: 4 / 3;
	background:
		linear-gradient(160deg, #FFF2DA 0%, #F3E8D4 54%, #E9F0DF 100%);
	padding: .75rem;
}
.product-card--live .product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 10px 18px rgba(42,31,18,.12));
}
.product-card--live .product-card__media img.woocommerce-placeholder {
	padding: 22%;
	opacity: .5;
	filter: none;
}
.product-card--live .product-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .42rem;
	padding: 1rem 1rem 1.15rem;
}
.product-card--live .product-card__eyebrow {
	color: var(--color-secondary-dark);
	font-weight: 700;
	font-size: .72rem;
}
.product-card--live .product-card__title {
	width: 100%;
	min-height: 2.72em;
	font-size: 1.12rem;
	line-height: 1.22;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-card__excerpt {
	width: 100%;
	min-height: 2.55em;
	margin: 0;
	color: var(--color-muted, #687063);
	font-size: .88rem;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-card--live .product-card__price {
	margin-top: auto;
	font-size: 1.05rem;
	color: var(--color-secondary-dark);
	min-height: 2.55em;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
}
.product-card--live .product-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin-top: .55rem;
	padding: .62rem 1rem;
	border-radius: var(--radius-pill);
	background: var(--color-primary);
	color: #fff;
	font-weight: 700;
	font-size: .9rem;
	text-decoration: none;
}
.product-card--live:hover .product-card__cta {
	background: var(--color-secondary);
	text-decoration: none;
}
.product-card--live .product-card__badges {
	flex-direction: row;
	flex-wrap: wrap;
	max-width: calc(100% - 1.1rem);
}

@media (min-width: 860px) {
	.home-products__title { font-size: 4.4rem; }
	.home-products__intro { font-size: 1.12rem; }
	.hscroll { grid-auto-columns: minmax(230px, 292px); }
}

@media (max-width: 640px) {
	.home-products__title { font-size: 2.35rem; }
	.home-products .hscroll { justify-content: start; }
	.product-card--live .product-card__body { padding-inline: .9rem; }
	.product-card--live .product-card__title { min-height: 2.72em; }
	.product-card__excerpt { min-height: 2.55em; }
}

/* ===== Scheda prodotto: classica, più leggibile ===== */
.purchase-card {
	background: #FFFCF6;
	border-color: #E8DCC9;
	box-shadow: 0 12px 34px rgba(71,45,20,.08);
}
.product-summary__title {
	line-height: 1.08;
}
.product-summary__price {
	color: var(--color-secondary-dark);
}
.woocommerce .purchase-card__cart form.cart .button,
.woocommerce .purchase-card__cart .single_add_to_cart_button {
	border-radius: var(--radius-pill);
	font-weight: 700;
}
.woocommerce .variations_form .variations th.label {
	padding-bottom: .35rem;
}
.woocommerce .purchase-card__cart,
.woocommerce .variations_form {
	min-width: 0;
	max-width: 100%;
}
.woocommerce .variations_form .variations {
	width: 100%;
	max-width: 100%;
	table-layout: auto;
}
.woocommerce .variations_form .variations th,
.woocommerce .variations_form .variations td {
	max-width: 100%;
	overflow-wrap: normal;
	word-break: normal;
}
.woocommerce .purchase-card__cart form.variations_form { display: block; }
.woocommerce .purchase-card__cart .variations_form table.variations,
.woocommerce .purchase-card__cart .variations_form table.variations tbody,
.woocommerce .purchase-card__cart .variations_form table.variations tr,
.woocommerce .purchase-card__cart .variations_form table.variations th,
.woocommerce .purchase-card__cart .variations_form table.variations td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.woocommerce .purchase-card__cart .variations_form table.variations tr {
	margin: 0 0 .85rem;
}
.woocommerce .purchase-card__cart .variations_form table.variations th.label {
	padding: 0 0 .4rem;
	text-align: left;
	white-space: normal;
}
.woocommerce .purchase-card__cart .variations_form table.variations th.label label {
	display: inline-block;
	margin: 0;
	line-height: 1.25;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}
.woocommerce .variations_form .variations td.value {
	width: 100%;
}

/* ===== Select variazioni premium (capacità ecc.) ===== */
.woocommerce .variations_form .variations td.value select,
.woocommerce .variations_form .variations select {
	width: 100%; max-width: 100%; min-height: 48px; padding: 0 2.2rem 0 .9rem; border: 1px solid var(--color-line, #E6DDCE); border-radius: 10px;
	background-color: var(--color-surface, #FFFCF7); font: inherit; font-size: 1rem; color: var(--color-primary-dark, #1E1A17);
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A5330' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .8rem center;
}
.woocommerce .variations_form .variations select:focus-visible { outline: 2px solid var(--color-accent, #B99A5B); outline-offset: 2px; }
.woocommerce .variations_form .variations th.label { font-weight: 600; color: var(--color-primary-dark, #1E1A17); }

.woocommerce .purchase-card__cart .single_variation_wrap {
	display: block;
	width: 100%;
}
.woocommerce .purchase-card__cart .woocommerce-variation {
	margin: .2rem 0 .75rem;
}
.woocommerce .purchase-card__cart .woocommerce-variation-price {
	color: var(--color-secondary-dark);
	font-weight: 700;
}
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: .6rem;
}
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 auto;
}
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 1 1 220px;
}

@media (max-width: 520px) {
	.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart {
		flex-direction: column;
	}
	.purchase-card__cart .quantity,
	.purchase-card__cart .quantity .qty,
	.woocommerce .purchase-card__cart .single_add_to_cart_button {
		width: 100%;
	}
	.woocommerce .purchase-card__cart .variations_form table.variations th.label label {
		white-space: normal;
	}
}

/* ===== Ricerca live header ===== */
.header-search { position: relative; }
.live-results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 90; background: var(--color-surface, #FFFCF7); border: 1px solid var(--color-line, #E6DDCE); border-radius: 14px; box-shadow: 0 16px 40px rgba(47,35,22,.16); overflow: hidden; max-height: 70vh; overflow-y: auto; }
.live-results__item { display: grid; grid-template-columns: 72px minmax(0, 1fr) minmax(126px, auto); align-items: center; gap: 1rem; padding: .85rem .95rem; color: var(--color-primary-dark, #1E1A17); border-bottom: 1px solid var(--color-line, #E6DDCE); }
.live-results__item img { width: 72px; height: 72px; object-fit: contain; border-radius: 10px; background: var(--color-surface-2, #F1EBE0); flex: 0 0 auto; }
.live-results__body { display: grid; gap: .18rem; min-width: 0; }
.live-results__title { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: .98rem; line-height: 1.22; color: var(--color-primary-dark, #1E1A17); }
.live-results__meta, .live-results__excerpt { display: block; font-size: .78rem; line-height: 1.3; color: var(--color-muted, #8A7F70); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-results__price { justify-self: end; max-width: 160px; font-weight: 700; font-size: .9rem; line-height: 1.22; color: var(--color-secondary-dark, #7A5330); text-align: right; }
.live-results__price .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.live-results__item:hover { background: var(--color-surface-2, #F1EBE0); }
.live-results__empty { padding: 1rem .95rem; color: var(--color-muted, #8A7F70); font-size: .92rem; }
.live-results__all { display: block; padding: .85rem .95rem; text-align: center; font-weight: 700; font-size: .92rem; color: var(--color-secondary-dark, #7A5330); background: var(--color-surface-2, #F1EBE0); border-top: 1px solid var(--color-line, #E6DDCE); }
.live-results__all:hover { text-decoration: underline; }

@media (max-width: 560px) {
  .header-search .live-results { left: 50%; right: auto; width: calc(100vw - 24px); transform: translateX(-50%); }
  .live-results__item { grid-template-columns: 60px minmax(0, 1fr); gap: .75rem; padding: .75rem; }
  .live-results__item img { width: 60px; height: 60px; }
  .live-results__price { grid-column: 2; justify-self: start; max-width: 100%; text-align: left; font-size: .86rem; }
}

/* ===== Carrello + checkout: layout ampio e premium, senza override template ===== */
body.woocommerce-cart .page-single > .section,
body.woocommerce-checkout .page-single > .section {
	padding-block: clamp(2rem, 4vw, 3.5rem);
}

body.woocommerce-cart .page-single > .section > .container--narrow,
body.woocommerce-checkout .page-single > .section > .container--narrow,
body.woocommerce-cart .page-hero .container--narrow,
body.woocommerce-checkout .page-hero .container--narrow {
	max-width: min(100% - 32px, 1420px);
	padding-inline: 0;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
	max-width: none;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
	font-size: 1rem;
}

.woocommerce .wc-flow-intro,
body.woocommerce-cart .woocommerce-notices-wrapper + .wc-flow-intro,
body.woocommerce-checkout .woocommerce-notices-wrapper + .wc-flow-intro {
	margin: 0 0 1.2rem;
	padding: 1rem 1.15rem;
	border: 1px solid rgba(181,74,45,.18);
	border-radius: var(--radius-md);
	background: linear-gradient(135deg, #FFF6E7, #F4EFE2);
	color: #5F4C36;
	box-shadow: var(--shadow-card);
}

.woocommerce .alicos-shipping-progress {
	margin: 0 0 1.2rem;
	padding: .95rem 1.1rem;
	border: 1px solid rgba(61, 79, 70, .2);
	border-radius: var(--radius-md);
	background: #EEF1E7;
	color: var(--color-primary-dark);
	font-weight: 700;
	box-shadow: var(--shadow-card);
}

body.woocommerce-cart .woocommerce {
	display: grid;
	gap: clamp(1.1rem, 2vw, 1.6rem);
	align-items: start;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce > .woocommerce-message,
body.woocommerce-cart .woocommerce > .woocommerce-info,
body.woocommerce-cart .woocommerce > .woocommerce-error,
body.woocommerce-cart .woocommerce > .return-to-shop,
body.woocommerce-cart .woocommerce > .cart-empty {
	grid-column: 1 / -1;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login {
	border: 1px solid #E6D9C4;
	border-radius: var(--radius-lg);
	background: #FFFCF6;
	box-shadow: 0 12px 34px rgba(71,45,20,.07);
}

body.woocommerce-cart .woocommerce-cart-form {
	padding: clamp(.85rem, 1.5vw, 1.25rem);
	min-width: 0;
}

body.woocommerce-cart table.shop_table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0 .85rem;
	margin: 0;
	background: transparent;
}

body.woocommerce-cart table.shop_table thead th {
	border: 0;
	padding: 0 .9rem .35rem;
	color: var(--color-muted);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

body.woocommerce-cart table.shop_table td {
	border-top: 1px solid #E6D9C4;
	border-bottom: 1px solid #E6D9C4;
	background: #fffdf8;
	padding: 1rem .9rem;
	vertical-align: middle;
}

body.woocommerce-cart table.shop_table tr.cart_item td:first-child {
	border-left: 1px solid #E6D9C4;
	border-radius: var(--radius-md) 0 0 var(--radius-md);
}

body.woocommerce-cart table.shop_table tr.cart_item td:last-child {
	border-right: 1px solid #E6D9C4;
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail {
	width: clamp(112px, 10vw, 154px);
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: clamp(104px, 10vw, 140px);
	height: clamp(104px, 10vw, 140px);
	max-width: none;
	object-fit: contain;
	padding: .45rem;
	border: 1px solid #E9DEC9;
	border-radius: 14px;
	background: linear-gradient(160deg, #FFF2DA, #F3E8D4);
}

body.woocommerce-cart .woocommerce-cart-form .product-name a {
	font-family: var(--font-display);
	font-size: 1.12rem;
	font-weight: 700;
	color: var(--color-primary-dark);
	text-decoration: none;
}

body.woocommerce-cart .woocommerce-cart-form .variation {
	margin: .35rem 0 0;
	color: var(--color-muted);
	font-size: .88rem;
}

body.woocommerce-cart .woocommerce-cart-form .variation dt,
body.woocommerce-cart .woocommerce-cart-form .variation dd {
	display: inline;
	float: none;
	margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form .variation dt::after {
	content: ": ";
}

body.woocommerce-cart .woocommerce-cart-form .variation dd::after {
	content: "";
	display: block;
}

body.woocommerce-cart .woocommerce-cart-form .product-price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal {
	font-weight: 700;
	color: var(--color-secondary-dark);
	white-space: nowrap;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .qty {
	width: 82px;
	min-height: 44px;
	text-align: center;
	background: #fff;
	border-color: #D8CBB7;
}

body.woocommerce-cart .woocommerce-cart-form a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #F5EBDD;
	color: var(--color-secondary-dark) !important;
	font-size: 1.25rem;
	line-height: 1;
}

body.woocommerce-cart .woocommerce-cart-form a.remove:hover {
	background: var(--color-secondary);
	color: #fff !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions {
	border: 0;
	background: transparent;
	padding: 1rem 0 0;
}

body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .65rem;
}

body.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text,
body.woocommerce-checkout .woocommerce-form-coupon .input-text {
	min-width: min(100%, 280px);
	height: 46px;
	padding: 0 .9rem;
	border: 1px solid #D8CBB7;
	border-radius: var(--radius-sm);
	background: #fff;
	color: var(--color-text);
}

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
body.woocommerce-cart .woocommerce-cart-form .coupon .button {
	min-height: 46px;
	border-radius: var(--radius-pill);
}

body.woocommerce-cart .cart-collaterals {
	width: 100%;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: clamp(1rem, 1.8vw, 1.35rem);
	border: 1px solid #E6D9C4;
	border-radius: var(--radius-lg);
	background: linear-gradient(180deg, #FFFCF6 0%, #F7F1E6 100%);
	box-shadow: 0 12px 34px rgba(71,45,20,.08);
}

body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout #order_review_heading {
	margin: 0 0 1rem;
	font-size: clamp(1.45rem, 3vw, 1.9rem);
	color: var(--color-primary-dark);
}

body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	border-collapse: collapse;
	margin: 0 0 1rem;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td,
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
	border-color: #E6D9C4;
	padding: .85rem 0;
}

body.woocommerce-cart .cart_totals .order-total,
body.woocommerce-checkout #order_review .order-total {
	font-size: 1.12rem;
	color: var(--color-primary-dark);
}

body.woocommerce-cart .wc-proceed-to-checkout {
	padding: .5rem 0 0;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	border-radius: var(--radius-pill);
	font-weight: 800;
	font-size: 1.02rem;
	text-align: center;
}

body.woocommerce-cart .cart-empty.woocommerce-info {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

body.woocommerce-cart .return-to-shop {
	text-align: center;
}

/* Checkout classic shortcode */
body.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	gap: clamp(1.1rem, 2.2vw, 1.7rem);
	align-items: start;
}

body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login {
	padding: clamp(1rem, 2vw, 1.5rem);
}

body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
}

body.woocommerce-checkout .col2-set {
	display: grid;
	gap: 1.2rem;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

body.woocommerce-checkout form .form-row {
	margin: 0 0 .9rem;
	padding: 0;
}

body.woocommerce-checkout form .form-row label {
	margin: 0 0 .35rem;
	color: var(--color-primary-dark);
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.25;
}

body.woocommerce-checkout form .form-row .required {
	color: var(--color-secondary-dark);
	text-decoration: none;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single {
	min-height: 48px;
	border: 1px solid #D8CBB7;
	border-radius: var(--radius-sm);
	background: #fffdf8;
	color: var(--color-text);
	font: inherit;
}

body.woocommerce-checkout form .form-row textarea {
	min-height: 120px;
	padding: .8rem .9rem;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row select {
	padding: 0 .9rem;
}

body.woocommerce-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: 48px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: .9rem;
	color: var(--color-text);
	line-height: 48px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 48px;
}

body.woocommerce-checkout form .form-row input.input-text:focus,
body.woocommerce-checkout form .form-row textarea:focus,
body.woocommerce-checkout form .form-row select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 2px rgba(209,154,58,.22);
	outline: none;
}

body.woocommerce-checkout #order_review_heading {
	align-self: end;
}

body.woocommerce-checkout #order_review {
	background: linear-gradient(180deg, #FFFCF6 0%, #F7F1E6 100%);
}

body.woocommerce-checkout #order_review .shop_table {
	font-size: .95rem;
}

body.woocommerce-checkout #order_review .product-name {
	color: var(--color-primary-dark);
	font-weight: 700;
}

body.woocommerce-checkout #order_review .product-total,
body.woocommerce-checkout #order_review tfoot td {
	color: var(--color-secondary-dark);
	font-weight: 700;
}

body.woocommerce-checkout #payment {
	border-radius: var(--radius-md);
	background: #F3EBDD;
	border: 1px solid #E6D9C4;
}

body.woocommerce-checkout #payment div.payment_box {
	background: #fffdf8;
	color: var(--color-text);
}

body.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #fffdf8;
}

body.woocommerce-checkout #payment ul.payment_methods {
	border-bottom-color: #E6D9C4;
}

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled,
body.woocommerce-cart .woocommerce-cart-form .coupon .button:disabled,
body.woocommerce-checkout #place_order:disabled,
body.woocommerce-checkout #place_order.disabled,
body.woocommerce-checkout .woocommerce-form-coupon .button:disabled {
	background: #E8DCC9;
	color: #73695C;
	box-shadow: none;
	cursor: not-allowed;
	opacity: 1;
}

body.woocommerce-checkout.processing #order_review,
body.woocommerce-checkout .blockUI.blockOverlay {
	cursor: progress;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .place-order {
	color: var(--color-muted);
	font-size: .9rem;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: 1rem;
}

@media (min-width: 1024px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 410px);
	}

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

	body.woocommerce-cart .cart-collaterals {
		grid-column: 2;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-checkout #order_review {
		position: sticky;
		top: calc(var(--header-h, 78px) + 1.2rem);
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1.55fr) minmax(360px, .95fr);
	}

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

	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #order_review {
		grid-column: 2;
	}

	body.woocommerce-checkout .woocommerce-form-coupon,
	body.woocommerce-checkout .woocommerce-form-login {
		max-width: 760px;
	}
}

@media (min-width: 1180px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr) minmax(380px, 440px);
	}
}

@media (max-width: 782px) {
	body.woocommerce-cart .page-single > .section > .container--narrow,
	body.woocommerce-checkout .page-single > .section > .container--narrow,
	body.woocommerce-cart .page-hero .container--narrow,
	body.woocommerce-checkout .page-hero .container--narrow {
		max-width: min(100% - 24px, 100%);
	}

	body.woocommerce-cart .woocommerce-cart-form {
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	body.woocommerce-cart table.shop_table_responsive {
		border-spacing: 0 .9rem;
	}

	body.woocommerce-cart table.shop_table_responsive thead {
		display: none;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item {
		display: grid;
		grid-template-columns: minmax(88px, 104px) minmax(0, 1fr);
		gap: .35rem .85rem;
		padding: .9rem;
		border: 1px solid #E6D9C4;
		border-radius: var(--radius-lg);
		background: #FFFCF6;
		box-shadow: var(--shadow-card);
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td {
		display: block !important;
		border: 0 !important;
		background: transparent !important;
		padding: .2rem 0 !important;
		text-align: left !important;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
		float: none;
		margin-right: .35rem;
		color: var(--color-muted);
		font-weight: 800;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 6;
		width: auto;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail::before,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name::before,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove::before {
		content: none;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail img {
		width: min(104px, 28vw);
		height: min(104px, 28vw);
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td:not(.product-thumbnail) {
		grid-column: 2;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove {
		order: 10;
	}

	body.woocommerce-cart .woocommerce-cart-form .product-name a {
		font-size: 1rem;
	}

	body.woocommerce-cart .woocommerce-cart-form .quantity .qty {
		width: 76px;
		min-height: 42px;
	}

	/* Il blocco azioni e' una scheda con angoli arrotondati (border-radius piu' sotto)
	   ma non aveva spaziatura orizzontale: campo codice e bottoni, larghi al 100%,
	   finivano appoggiati al bordo arrotondato. Si allinea al riquadro dei totali,
	   che usa 1.2rem di padding interno. */
	body.woocommerce-cart .woocommerce-cart-form td.actions {
		display: grid !important;
		gap: .75rem;
		padding: .9rem 1.2rem 1.2rem !important;
	}

	body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
		display: grid;
		grid-template-columns: 1fr;
		gap: .6rem;
	}

	body.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text,
	body.woocommerce-cart .woocommerce-cart-form .coupon .button,
	body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
	body.woocommerce-checkout .woocommerce-form-coupon .input-text,
	body.woocommerce-checkout .woocommerce-form-coupon .button {
		width: 100% !important;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-checkout #order_review {
		position: static;
	}

	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout .woocommerce-form-coupon,
	body.woocommerce-checkout .woocommerce-form-login {
		padding: 1rem;
	}

	body.woocommerce-checkout form .form-row-first,
	body.woocommerce-checkout form .form-row-last {
		float: none;
		width: 100%;
	}

	body.woocommerce-checkout #place_order {
		min-height: 54px;
	}
}

@media (max-width: 430px) {
	body.woocommerce-cart table.shop_table_responsive tr.cart_item {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: .25rem .7rem;
		padding: .8rem;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail img {
		width: 88px;
		height: 88px;
	}
}

/* Carrello mobile: card prodotto compatta e rimozione collegata al prodotto */
@media (max-width: 782px) {
	body.woocommerce-cart table.shop_table_responsive tr.cart_item {
		position: relative;
		grid-template-columns: minmax(96px, 112px) minmax(0, 1fr);
		grid-template-areas:
			"thumb name"
			"thumb price"
			"thumb quantity"
			"thumb subtotal";
		gap: .25rem .85rem;
		padding: .85rem;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail {
		grid-area: thumb;
		align-self: start;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail img {
		width: min(108px, 28vw);
		height: min(108px, 28vw);
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
		grid-column: auto;
		min-width: 0;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name {
		grid-area: name;
		padding: .08rem 3.15rem .28rem 0 !important;
	}

	body.woocommerce-cart .woocommerce-cart-form .product-name a {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-height: 1.18;
	}

	body.woocommerce-cart .woocommerce-cart-form .variation {
		margin-top: .28rem;
		color: #66705F;
		font-size: .82rem;
		line-height: 1.35;
	}

	body.woocommerce-cart .woocommerce-cart-form .variation dt {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	body.woocommerce-cart .woocommerce-cart-form .variation dd {
		display: block;
		margin: 0;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
		display: grid !important;
		grid-template-columns: minmax(78px, max-content) minmax(0, 1fr);
		align-items: center;
		column-gap: .7rem;
		padding-block: .18rem !important;
		font-size: .92rem;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price {
		grid-area: price;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity {
		grid-area: quantity;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
		grid-area: subtotal;
		margin-top: .22rem;
		padding-top: .5rem !important;
		border-top: 1px solid rgba(230,217,196,.82) !important;
		font-size: .96rem;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price::before,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity::before,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal::before {
		content: attr(data-title);
		margin: 0;
		color: #7C7164;
		font-size: .76rem;
		font-weight: 800;
		letter-spacing: 0;
		text-transform: uppercase;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price .amount,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal .amount {
		color: var(--color-secondary-dark);
		font-weight: 800;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity .quantity {
		justify-self: start;
	}

	body.woocommerce-cart .woocommerce-cart-form .quantity .qty {
		width: 88px;
		min-height: 44px;
		padding-inline: .45rem;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove {
		position: absolute;
		top: .7rem;
		right: .7rem;
		z-index: 2;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0 !important;
		order: initial;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove::before {
		content: none;
	}

	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove {
		width: 44px;
		height: 44px;
		background: #F7E8DB;
		color: var(--color-secondary-dark) !important;
		font-size: 0;
		box-shadow: 0 4px 12px rgba(139,47,36,.08);
	}

	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove::before {
		content: "×";
		font-size: 1.22rem;
		font-weight: 800;
		line-height: 1;
	}

	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:focus-visible {
		outline: 2px solid var(--color-accent);
		outline-offset: 2px;
	}
}

@media (max-width: 430px) {
	body.woocommerce-cart table.shop_table_responsive tr.cart_item {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: .2rem .72rem;
		padding: .78rem;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail img {
		width: 92px;
		height: 92px;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
		grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);
		column-gap: .55rem;
	}
}

/* ===== Micro-fix CTA prodotto/card + sticky add-to-cart ===== */
.product-card--live .product-card__cta {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	align-self: center;
	width: fit-content;
	max-width: min(86%, 210px);
	min-height: 44px;
	margin-top: .6rem;
	padding: 0 1rem;
	border-radius: 999px;
	background: var(--color-primary);
	color: #fff;
	font-size: .86rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: 0 6px 16px rgba(39,53,31,.12);
}
.product-card--live .product-card__cta span[aria-hidden="true"] {
	font-size: .95em;
	line-height: 1;
	transform: translateY(-.02em);
}
.product-card--live:hover .product-card__cta {
	background: var(--color-secondary-dark);
	color: #fff;
}

.woocommerce .purchase-card__cart form.cart {
	align-items: center;
	gap: .75rem;
}
.woocommerce .purchase-card__cart .quantity {
	flex: 0 0 auto;
	align-items: center;
}
.woocommerce .purchase-card__cart .quantity .qty {
	width: 92px;
	height: 52px;
	min-height: 52px;
	padding: 0 .55rem;
	border-radius: 12px;
}
.woocommerce .purchase-card__cart form.cart .button,
.woocommerce .purchase-card__cart .single_add_to_cart_button,
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	max-height: 56px;
	padding: .9rem 1.45rem;
	border: 0;
	border-radius: 14px;
	background: var(--color-primary);
	color: #fff;
	font-size: .98rem;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
	box-shadow: 0 8px 18px rgba(39,53,31,.13);
}
.woocommerce .purchase-card__cart form.cart .button:hover,
.woocommerce .purchase-card__cart .single_add_to_cart_button:hover,
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
	background: var(--color-primary-dark);
	color: #fff;
}
.woocommerce .purchase-card__cart form.cart .button.disabled,
.woocommerce .purchase-card__cart form.cart .button:disabled,
.woocommerce .purchase-card__cart .single_add_to_cart_button.disabled,
.woocommerce .purchase-card__cart .single_add_to_cart_button:disabled,
.woocommerce .purchase-card__cart .single_add_to_cart_button[aria-disabled="true"],
.woocommerce .purchase-card__cart .single_add_to_cart_button.ab-selection-needed,
.woocommerce .purchase-card__cart .single_add_to_cart_button.wc-variation-selection-needed {
	background: #E8DCC9;
	color: #73695C;
	box-shadow: none;
	cursor: not-allowed;
	opacity: 1;
}
.woocommerce .purchase-card__cart .single_add_to_cart_button.is-loading,
.woocommerce .purchase-card__cart .single_add_to_cart_button.is-loading:disabled {
	background: var(--color-primary-dark);
	color: #fff;
	cursor: progress;
}
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart {
	align-items: center;
	gap: .75rem;
}
.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 1 1 220px;
}
.purchase-total {
	margin: .85rem 0 .15rem;
}
.purchase-total__summary-title {
	font-size: .72rem;
}

.sticky-buy {
	--alicos-sticky-cart-height: 72px;
	min-height: var(--alicos-sticky-cart-height);
	padding: .62rem clamp(1rem,4vw,1.5rem) calc(.62rem + env(safe-area-inset-bottom));
	z-index: 48;
}
.sticky-buy__info {
	min-width: 0;
	flex: 1 1 auto;
}
.sticky-buy__title {
	max-width: 42vw;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.sticky-buy__price {
	font-size: .95rem;
	line-height: 1.2;
}
.sticky-buy__button {
	flex: 0 0 auto;
	min-height: 48px;
	padding: .75rem 1.15rem;
	border-radius: 14px;
	font-size: .92rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.sticky-buy__button[disabled],
.sticky-buy__button[aria-disabled="true"] {
	background: #E8DCC9;
	color: #73695C;
	box-shadow: none;
	cursor: not-allowed;
}
.sticky-buy__button.is-loading {
	background: var(--color-primary-dark);
	color: #fff;
	pointer-events: none;
	opacity: .88;
	cursor: progress;
}

.ab-toast {
	right: clamp(1rem, 3vw, 2rem);
	bottom: 1.4rem;
	left: auto;
	width: min(460px, calc(100vw - 32px));
	max-width: 460px;
	transform: translateY(14px);
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .95rem 1.05rem;
	border-radius: 16px;
	background: var(--color-primary-dark, #1E1A17);
	color: #FFF8EC;
	font-size: .94rem;
	line-height: 1.35;
	box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
.ab-toast.is-visible {
	transform: translateY(0);
}
.ab-toast__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: rgba(255,255,255,.13);
	color: var(--color-accent, #B99A5B);
	font-weight: 800;
}
.ab-toast__text {
	flex: 1 1 190px;
	min-width: 0;
	word-break: normal;
	overflow-wrap: normal;
}
.ab-toast__link {
	flex: 0 0 auto;
	color: #F3D38A;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}
.ab-toast--error {
	background: #7C2C25;
}

@media (max-width: 859px) {
	body.single-product {
		--alicos-sticky-cart-height: 72px;
		padding-bottom: calc(var(--alicos-sticky-cart-height, 72px) + env(safe-area-inset-bottom));
	}
	.ab-toast {
		right: 12px;
		left: 12px;
		bottom: calc(var(--alicos-sticky-cart-height, 72px) + 14px + env(safe-area-inset-bottom));
		width: auto;
		max-width: none;
		padding: .9rem .95rem;
	}
}

@media (max-width: 520px) {
	.product-card--live .product-card__cta {
		max-width: 84%;
		min-height: 44px;
		padding-inline: .88rem;
		font-size: .82rem;
	}
	.woocommerce .purchase-card__cart .woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch;
	}
	.purchase-card__cart .quantity,
	.purchase-card__cart .quantity .qty {
		width: 100%;
	}
	.woocommerce .purchase-card__cart .single_add_to_cart_button {
		width: 100%;
		flex: 1 1 auto;
		padding-inline: .95rem;
		font-size: .94rem;
	}
	.sticky-buy {
		gap: .7rem;
	}
	.sticky-buy__button {
		min-height: 48px;
		padding-inline: .95rem;
		font-size: .86rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ab-toast {
		transition: none;
	}
}

/* ============================================================
   Sprint 3 — Sistema ecommerce Casa Alicos, Dispensa Viva.
   Layer visuale scoped: non altera query, form, prezzi o logiche WooCommerce.
   ============================================================ */

.alicos-commerce-section,
.shop-listing,
.category-listing,
.shop-product-shelf,
.shop-service-section {
	position: relative;
}

.shop-categories .macro-grid,
.category-listing + .section .macro-grid,
.woocommerce .macro-grid {
	align-items: stretch;
}

.shop-categories .macro-card,
.category-listing .macro-card,
.product-related .macro-card {
	min-height: 100%;
	border-color: rgba(200,185,159,.7);
	background:
		linear-gradient(180deg, #FFFDF8 0%, #F8EFE1 100%);
	box-shadow: 0 10px 26px rgba(58,44,25,.07);
}

.shop-categories .macro-card__media,
.category-listing .macro-card__media {
	background:
		radial-gradient(circle at 30% 24%, rgba(181,74,45,.16), transparent 34%),
		linear-gradient(145deg, #F8E7CF 0%, #E9F0DF 100%);
	color: var(--color-secondary-dark);
}

.shop-categories .macro-card__title,
.category-listing .macro-card__title {
	font-size: clamp(1.14rem, 1vw + .9rem, 1.36rem);
	line-height: 1.12;
}

.shop-categories .macro-card__count,
.category-listing .macro-card__count {
	color: var(--color-secondary-dark);
	font-size: .72rem;
}

.shop-categories .macro-card__desc,
.category-listing .macro-card__desc {
	line-height: 1.42;
}

.shop-refine {
	padding-block: clamp(1rem, 2vw, 1.35rem);
	background:
		linear-gradient(180deg, rgba(255,252,246,.3), rgba(238,241,231,.48));
	border-block: 1px solid rgba(200,185,159,.45);
}

.shop-refine .container {
	max-width: min(100% - 32px, 1320px);
}

.shop-refine__panel {
	justify-content: space-between;
	padding: .75rem;
	border: 1px solid rgba(200,185,159,.62);
	border-radius: 18px;
	background: rgba(255,252,246,.78);
	box-shadow: 0 8px 22px rgba(58,44,25,.06);
}

.shop-refine__field {
	flex: 1 1 300px;
	max-width: 420px;
}

.shop-refine__select,
.woocommerce .woocommerce-ordering select {
	min-height: 48px;
	border-radius: 12px;
	border-color: rgba(139,47,36,.22);
	background-color: #FFFDF8;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.shop-refine__select:focus-visible,
.woocommerce .woocommerce-ordering select:focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: 2px;
}

.shop-toolbar {
	align-items: center;
	gap: .85rem 1rem;
	margin-bottom: clamp(1.1rem, 2vw, 1.6rem);
	padding: .85rem 1rem;
	border: 1px solid rgba(200,185,159,.58);
	border-radius: 18px;
	background:
		linear-gradient(135deg, #FFFDF8 0%, #F7F1E6 100%);
	box-shadow: 0 10px 24px rgba(58,44,25,.06);
}

.shop-toolbar .woocommerce-result-count,
.shop-toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
}

.shop-toolbar .woocommerce-result-count {
	color: #5F4C36;
	font-size: .93rem;
	font-weight: 650;
}

.woocommerce ul.products {
	gap: clamp(1rem, 1.8vw, 1.55rem);
}

.alicos-product-card {
	isolation: isolate;
	border-radius: 18px;
	border-color: rgba(200,185,159,.68);
	background:
		linear-gradient(180deg, #FFFDF8 0%, #FBF3E7 100%);
	box-shadow: 0 10px 28px rgba(58,44,25,.075);
}

.alicos-product-card:hover,
.alicos-product-card:focus-within {
	border-color: rgba(181,74,45,.42);
	box-shadow: 0 18px 38px rgba(58,44,25,.11);
}

.alicos-product-card .product-card__link:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 4px;
	border-radius: 18px;
}

.alicos-product-card .product-card__badges {
	pointer-events: none;
	gap: .32rem;
}

.alicos-product-card .badge {
	padding: .24rem .52rem;
	border: 1px solid rgba(255,255,255,.58);
	box-shadow: 0 4px 10px rgba(58,44,25,.08);
}

.alicos-product-card .product-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	padding: .85rem;
	background:
		radial-gradient(circle at 38% 24%, rgba(209,154,58,.18), transparent 34%),
		linear-gradient(145deg, #FFF3DA 0%, #EEF1E7 100%);
}

.alicos-product-card .product-card__media img {
	object-fit: contain;
	object-position: center center;
	justify-self: center;
	align-self: center;
	margin: auto;
	filter: drop-shadow(0 14px 18px rgba(58,44,25,.13));
	transition: transform .24s ease;
}

.alicos-product-card:hover .product-card__media img {
	transform: scale(1.025);
}

.alicos-product-card .product-card__body {
	align-items: flex-start;
	text-align: left;
	padding: 1rem 1.05rem 1.1rem;
}

.alicos-product-card .product-card__eyebrow {
	color: var(--color-secondary-dark);
	font-size: .68rem;
	font-weight: 800;
}

.alicos-product-card .product-card__title {
	min-height: 2.5em;
	font-size: clamp(1.05rem, .7vw + .9rem, 1.18rem);
}

.alicos-product-card .product-card__excerpt {
	min-height: 2.75em;
	color: #5F6A59;
}

.alicos-product-card .product-card__price {
	justify-content: flex-start;
	width: 100%;
	min-height: 2.25em;
	color: var(--color-secondary-dark);
	font-size: 1.02rem;
	text-align: left;
}

.alicos-product-card .product-card__price del {
	color: #807568;
	font-weight: 500;
}

.alicos-product-card .product-card__price ins {
	text-decoration: none;
}

.alicos-product-card .product-card__cta {
	align-self: flex-start;
	min-height: 44px;
	max-width: 100%;
	padding-inline: 1.05rem;
	background: var(--color-primary-dark);
	box-shadow: 0 8px 18px rgba(23,33,25,.12);
}

.alicos-product-card:hover .product-card__cta {
	background: var(--color-secondary-dark);
}

.alicos-product-card.is-out-of-stock .product-card__media img {
	opacity: .72;
}

.alicos-product-card.is-out-of-stock .product-card__cta {
	background: #E8DCC9;
	color: #645B51;
	box-shadow: none;
}

.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
	margin-top: clamp(1.6rem, 3vw, 2.4rem);
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .45rem;
	border: 0;
}

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

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	border: 1px solid rgba(200,185,159,.78);
	border-radius: 12px;
	background: #FFFDF8;
	color: var(--color-primary-dark);
	font-weight: 750;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

.category-hub-empty__inner,
.category-empty__inner {
	text-align: center;
}

.category-hub-empty__lead,
.category-empty__lead {
	max-width: 58ch;
	margin: .5rem auto 0;
	color: var(--color-muted);
	line-height: 1.6;
}

.category-hub-empty__actions,
.category-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin-top: 1.25rem;
}

.alicos-pdp-hero {
	background:
		linear-gradient(180deg, #EEF1E7 0%, #F7F4EC 74%);
}

.alicos-pdp .breadcrumbs {
	background: #F7F4EC;
}

.alicos-pdp .product-hero__grid {
	align-items: start;
}

.alicos-pdp .product-hero__gallery .woocommerce-product-gallery__image {
	border-radius: 24px;
	border-color: rgba(200,185,159,.72);
	background:
		linear-gradient(145deg, #FFF7EA 0%, #EEF1E7 100%);
	box-shadow: 0 18px 46px rgba(58,44,25,.1);
}

.alicos-pdp .product-hero__gallery .woocommerce-product-gallery__image img {
	border-radius: 24px;
	object-fit: contain;
	padding: clamp(.35rem, 1.2vw, .85rem);
}

.alicos-pdp .flex-control-thumbs {
	scrollbar-width: thin;
}

.alicos-purchase-panel {
	border-radius: 24px;
	border-color: rgba(200,185,159,.7);
	background:
		linear-gradient(180deg, #FFFDF8 0%, #F9EFE0 100%);
	box-shadow: 0 18px 46px rgba(58,44,25,.11);
}

.alicos-purchase-panel .product-summary__title {
	font-size: clamp(2.05rem, 4vw, 3.8rem);
}

.alicos-purchase-panel .product-summary__price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .35rem .55rem;
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}

.alicos-purchase-panel .product-summary__desc {
	color: #4F5A4A;
	line-height: 1.62;
}

.alicos-purchase-panel .purchase-card__cart form.cart .button,
.alicos-purchase-panel .purchase-card__cart .single_add_to_cart_button,
.alicos-purchase-panel .purchase-card__cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	max-height: none;
	white-space: normal;
}

.alicos-purchase-panel .buy-reassure {
	margin-top: 1.05rem;
	padding-top: 1.05rem;
	border-top: 1px solid rgba(200,185,159,.58);
}

.alicos-purchase-panel .buy-reassure li {
	align-items: flex-start;
	gap: .65rem;
	color: #4F5A4A;
	line-height: 1.42;
}

.alicos-purchase-panel .buy-reassure svg {
	flex: 0 0 auto;
	color: var(--color-secondary-dark);
}

.alicos-purchase-panel .buy-reassure a {
	color: var(--color-secondary-dark);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.alicos-product-details .tabs,
.alicos-native-product-tabs .woocommerce-tabs {
	border: 1px solid rgba(200,185,159,.64);
	border-radius: 22px;
	background: #FFFDF8;
	box-shadow: 0 10px 26px rgba(58,44,25,.065);
	overflow: hidden;
}

.alicos-product-details .tabs__nav {
	padding: .55rem;
	background: #EEF1E7;
	border-bottom: 1px solid rgba(200,185,159,.54);
}

.alicos-product-details .tabs__tab {
	border-radius: 12px;
}

.alicos-product-details .tabs__tab.is-active {
	background: var(--color-primary);
	color: #fff;
}

.alicos-product-details .tabs__panel {
	padding: clamp(1.1rem, 2vw, 1.55rem);
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 48px 56px 56px;
	color: var(--color-text);
	line-height: 1.72;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel > :first-child,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel > :first-child {
	margin-top: 0;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel > :last-child,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel > :last-child {
	margin-bottom: 0;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel h2,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel h2,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel h3,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel h3 {
	margin: 0 0 1rem;
	line-height: 1.14;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel p,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel p {
	margin: 0 0 1rem;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel ul,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel ol,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel ul,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel ol {
	margin: 0 0 1.1rem;
	padding-left: 1.35rem;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-product-attributes {
	width: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-product-attributes th,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-product-attributes td {
	padding: .9rem 1rem;
	border-bottom: 1px solid rgba(200,185,159,.48);
	vertical-align: top;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-product-attributes tr:last-child th,
.woocommerce div.product .alicos-native-product-tabs .woocommerce-product-attributes tr:last-child td {
	border-bottom: 0;
}

.woocommerce div.product .alicos-native-product-tabs .woocommerce-product-attributes td p:last-child {
	margin-bottom: 0;
}

@media (max-width: 1024px) and (min-width: 561px) {
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel {
		padding: 40px 40px 44px;
	}
}

.alicos-product-details .spec-grid {
	border-color: rgba(200,185,159,.7);
	border-radius: 16px;
	background: #FFFCF6;
}

.alicos-product-details .spec-row {
	align-items: baseline;
	padding: .82rem 1rem;
}

.alicos-product-details .spec-row dt {
	color: #697361;
	font-weight: 750;
}

.alicos-product-details .spec-row dd {
	color: var(--color-primary-dark);
	font-weight: 700;
}

.alicos-frequently-bought,
.alicos-product-recipes,
.alicos-product-related {
	position: relative;
}

.alicos-frequently-bought {
	background:
		linear-gradient(180deg, rgba(255,252,246,.9) 0%, rgba(238,241,231,.92) 100%);
	border-block: 1px solid rgba(200,185,159,.46);
}

.alicos-frequently-bought__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2.5rem);
	margin-bottom: clamp(1.35rem, 3vw, 2rem);
}

.alicos-frequently-bought__header .section__head {
	margin: 0;
	max-width: 660px;
}

.alicos-frequently-bought__header p {
	max-width: 30rem;
	margin: 0;
	color: #5f6a59;
	font-size: clamp(.98rem, .4vw + .9rem, 1.08rem);
	line-height: 1.55;
}

.alicos-frequently-bought__grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.alicos-product-related .related {
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2rem);
}

.alicos-product-related .related > h2 {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
	font-size: clamp(2rem, 4vw, 3.2rem);
}

.alicos-product-related .related > h2::before {
	content: "Altre specialità";
	display: block;
	margin-bottom: .45rem;
	color: var(--color-secondary-dark);
	font-family: var(--font-body);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.alicos-product-related ul.products {
	margin-bottom: 0;
}

@media (max-width: 780px) {
	.alicos-frequently-bought__header {
		display: grid;
		align-items: start;
	}
}

.sticky-buy {
	background:
		linear-gradient(180deg, rgba(255,253,248,.97), rgba(247,241,230,.97));
	border-top-color: rgba(200,185,159,.68);
	backdrop-filter: blur(12px);
}

.sticky-buy__button {
	background: var(--color-primary);
	color: #fff;
	box-shadow: 0 8px 18px rgba(23,33,25,.15);
}

.sticky-buy__button:hover {
	background: var(--color-primary-dark);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-NoticeGroup .woocommerce-error {
	border: 1px solid rgba(200,185,159,.68);
	border-top: 0;
	border-radius: 16px;
	background: #FFFDF8;
	box-shadow: 0 10px 26px rgba(58,44,25,.07);
}

.woocommerce .woocommerce-error,
.woocommerce .woocommerce-NoticeGroup .woocommerce-error {
	border-color: rgba(163,45,45,.38);
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login {
	border-radius: 24px;
	border-color: rgba(200,185,159,.72);
}

body.woocommerce-cart table.shop_table td {
	background: #FFFDF8;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a:hover,
body.woocommerce-cart .woocommerce-cart-form .product-name a:focus-visible {
	color: var(--color-secondary-dark);
}

body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-family: var(--font-display);
	line-height: 1.08;
}

body.woocommerce-cart .cart_totals .shop_table tr,
body.woocommerce-checkout #order_review .shop_table tr {
	border-bottom: 1px solid rgba(200,185,159,.52);
}

body.woocommerce-cart .cart_totals .shop_table tr:last-child,
body.woocommerce-checkout #order_review .shop_table tr:last-child {
	border-bottom: 0;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single {
	border-radius: 12px;
}

body.woocommerce-checkout #payment {
	background:
		linear-gradient(180deg, #F5ECDC 0%, #EEF1E7 100%);
}

.woocommerce-account .woocommerce {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account .woocommerce-form-login {
	border: 1px solid rgba(200,185,159,.72);
	border-radius: 24px;
	background: #FFFDF8;
	box-shadow: 0 12px 30px rgba(58,44,25,.075);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: .75rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: .35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: .7rem .85rem;
	border-radius: 12px;
	color: var(--color-primary-dark);
	font-weight: 750;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
	background: var(--color-primary);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account .woocommerce-form-login {
	padding: clamp(1rem, 2.2vw, 1.55rem);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0 .55rem;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
	border: 1px solid rgba(200,185,159,.62);
	border-inline-width: 0;
	background: #FFFCF6;
	padding: .8rem .9rem;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th:first-child,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td:first-child {
	border-left-width: 1px;
	border-radius: 12px 0 0 12px;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th:last-child,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td:last-child {
	border-right-width: 1px;
	border-radius: 0 12px 12px 0;
}

@media (min-width: 960px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
		align-items: start;
	}
}

@media (max-width: 900px) {
	.shop-toolbar {
		align-items: stretch;
	}

	.shop-toolbar .woocommerce-ordering,
	.shop-toolbar .woocommerce-ordering select {
		width: 100%;
	}

	.alicos-product-card .product-card__body {
		padding: .95rem;
	}
}

@media (max-width: 782px) {
	.shop-refine__panel {
		display: none;
		padding: .85rem;
	}

	.shop-refine__panel.is-open {
		display: grid;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item {
		border-radius: 20px;
		background:
			linear-gradient(180deg, #FFFDF8 0%, #F8EFE1 100%);
		box-shadow: 0 12px 28px rgba(58,44,25,.09);
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name {
		padding-right: 3.35rem !important;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity,
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
		grid-template-columns: minmax(74px, max-content) minmax(0, 1fr);
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price > :not(:first-child),
	body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal > :not(:first-child) {
		justify-self: start;
	}

	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove {
		background: #F6DFD2;
	}

	body.woocommerce-cart .woocommerce-cart-form td.actions,
	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout #order_review {
		border-radius: 20px;
	}

	.alicos-purchase-panel .product-summary__title {
		font-size: clamp(2rem, 9vw, 3rem);
	}

	.alicos-product-details .tabs__nav {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.alicos-product-details .tabs__tab {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .85rem;
	}

	.alicos-product-card .product-card__media {
		padding: .55rem;
	}

	.alicos-product-card .product-card__media img {
		width: 100%;
		height: 100%;
		max-width: 88%;
		max-height: 88%;
		object-fit: contain;
		object-position: center center;
		margin: auto;
	}

	.alicos-product-card .product-card__body {
		padding: .82rem .78rem .9rem;
		gap: .34rem;
	}

	.alicos-product-card .product-card__eyebrow {
		font-size: .62rem;
	}

	.alicos-product-card .product-card__title {
		min-height: 2.55em;
		font-size: .98rem;
		line-height: 1.24;
	}

	.alicos-product-card .product-card__excerpt {
		display: none;
	}

	.alicos-product-card .product-card__price {
		min-height: 2.65em;
		font-size: .9rem;
		line-height: 1.24;
	}

	.alicos-product-card .product-card__cta {
		align-self: stretch;
		width: 100%;
		min-height: 44px;
		padding-inline: .65rem;
		font-size: .8rem;
	}

	.alicos-pdp .product-hero__gallery .woocommerce-product-gallery__image,
	.alicos-pdp .product-hero__gallery .woocommerce-product-gallery__image img,
	.alicos-purchase-panel,
	.alicos-product-details .tabs,
	.alicos-native-product-tabs .woocommerce-tabs {
		border-radius: 18px;
	}

	.single-product .alicos-product-details .tabs__panel {
		padding: 1.15rem clamp(1.25rem, 5.2vw, 1.5rem);
	}

	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel {
		padding: 30px 22px 36px;
	}

	.single-product .alicos-product-details .tabs__panel ul,
	.single-product .alicos-product-details .tabs__panel ol,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel ul,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel ol,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel ul,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel ol {
		padding-left: 1.2rem;
	}

	.single-product .alicos-product-details .tabs__panel table,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel table,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
	}

	.woocommerce .alicos-purchase-panel .purchase-card__cart form.cart .button,
	.woocommerce .alicos-purchase-panel .purchase-card__cart .single_add_to_cart_button,
	.woocommerce .alicos-purchase-panel .purchase-card__cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
		min-height: 54px;
		max-height: 60px;
		padding: .78rem 1rem;
		border-radius: 14px;
		font-size: .95rem;
		line-height: 1.15;
		white-space: nowrap;
	}

	.alicos-product-details .spec-row {
		display: grid;
		gap: .25rem;
	}

	.alicos-product-details .spec-row dd {
		text-align: left;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 390px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.alicos-product-card .product-card__excerpt {
		display: -webkit-box;
	}

	.single-product .alicos-product-details .tabs__panel {
		padding-inline: 1rem;
	}

	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .woocommerce-Tabs-panel,
	.woocommerce div.product .alicos-native-product-tabs .woocommerce-tabs .panel {
		padding-inline: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.alicos-product-card,
	.alicos-product-card .product-card__media img,
	.shop-categories .macro-card,
	.category-listing .macro-card {
		transition: none;
	}

	.alicos-product-card:hover .product-card__media img {
		transform: none;
	}

	.single_add_to_cart_button.is-loading::before {
		animation: none;
		border-top-color: currentColor;
		opacity: .72;
	}
}

/* Shop: categorie principali in ottica boutique/luxury */
.shop-categories.alicos-commerce-section {
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(4.3rem, 7vw, 7.6rem);
	color: #FFF8EC;
	background:
		linear-gradient(118deg, rgba(7, 29, 17, .92) 0%, rgba(17, 50, 29, .9) 48%, rgba(72, 42, 31, .86) 74%, rgba(74, 25, 82, .82) 100%),
		var(--alicos-brand-canvas-tile-image, url("../img/texture/alicos-palette-seamless.webp"));
	background-position: center, center center;
	background-repeat: no-repeat, repeat;
	background-size: 100% 100%, min(1360px, 104vw) auto;
}

.shop-categories.alicos-commerce-section::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(7, 29, 17, .42) 0%, rgba(7, 29, 17, .16) 54%, rgba(73, 30, 78, .22) 100%),
		radial-gradient(circle at 16% 24%, rgba(244, 192, 94, .3), transparent 28%),
		radial-gradient(circle at 86% 18%, rgba(193, 24, 24, .24), transparent 26%),
		radial-gradient(circle at 70% 86%, rgba(10, 127, 98, .24), transparent 32%);
}

.shop-categories.alicos-commerce-section::after {
	content: "";
	position: absolute;
	inset: clamp(1rem, 2vw, 1.6rem);
	z-index: 0;
	pointer-events: none;
	border: 1px solid rgba(244, 192, 94, .32);
	border-radius: clamp(24px, 4vw, 44px);
	box-shadow: inset 0 0 0 1px rgba(255, 248, 234, .08);
}

.shop-categories.alicos-commerce-section > .container {
	position: relative;
	z-index: 1;
	width: min(calc(100% - 2rem), 1280px);
}

.shop-categories .section__head {
	max-width: 760px;
	margin-inline: auto;
	color: #FFF8EC;
	text-align: center;
}

.shop-categories .section__head .eyebrow {
	color: #F4C05E;
}

.shop-categories .section__head h2 {
	margin-top: .4rem;
	color: #FFF8EC;
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	line-height: .93;
	text-wrap: balance;
}

.shop-categories__intro {
	max-width: 58ch;
	margin: .85rem auto 0;
	color: rgba(255, 248, 236, .88);
	font-size: clamp(1rem, .45vw + .95rem, 1.15rem);
	line-height: 1.62;
	text-wrap: pretty;
}

.shop-categories .macro-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.9rem, 1.8vw, 1.25rem);
	margin-top: clamp(2rem, 4vw, 3.2rem);
}

.shop-categories .macro-card {
	--category-accent: #F4C05E;
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-height: 238px;
	padding: clamp(1rem, 1.7vw, 1.25rem);
	border: 1px solid rgba(244, 192, 94, .28);
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255, 252, 246, .98) 0%, rgba(255, 241, 213, .95) 100%);
	box-shadow: 0 6px 8px rgba(5, 22, 13, .2);
	color: #152218;
	overflow: hidden;
}

.shop-categories .macro-card__visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	overflow: hidden;
	background: #102314;
}

.shop-categories .macro-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.01);
	transition: transform .45s ease, opacity .45s ease;
}

.shop-categories .macro-card--multi .macro-card__visual {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: clamp(.2rem, .8vw, .55rem);
	padding: clamp(1rem, 2vw, 1.7rem) clamp(.8rem, 1.3vw, 1.15rem) clamp(.8rem, 1.6vw, 1.25rem) 44%;
}

.shop-categories .macro-card--multi .macro-card__visual img {
	width: auto;
	height: 100%;
	max-width: 46%;
	object-fit: contain;
	object-position: center bottom;
	transform: none;
	filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .28));
}

.shop-categories .macro-card--multi .macro-card__visual-image--2 {
	height: 86%;
	transform: translateX(-12%);
}

.shop-categories .macro-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 5px;
	background:
		linear-gradient(90deg, var(--category-accent), color-mix(in srgb, var(--category-accent) 48%, #FFF8EC));
}

.shop-categories .macro-card::after {
	content: "→";
	position: absolute;
	right: 1rem;
	bottom: .9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid color-mix(in srgb, var(--category-accent) 46%, #FFF8EC);
	border-radius: 999px;
	background: rgba(255, 252, 246, .72);
	color: color-mix(in srgb, var(--category-accent) 70%, #1B2419);
	font-size: 1.1rem;
	font-weight: 900;
	line-height: 1;
}

.shop-categories .macro-card--image {
	min-height: clamp(310px, 27vw, 430px);
	justify-content: flex-end;
	border-color: color-mix(in srgb, var(--category-accent) 48%, rgba(255, 248, 236, .62));
	background: #102314;
	color: #FFF8EC;
}

.shop-categories .macro-card--image::before {
	inset: 0;
	z-index: 1;
	height: auto;
	background:
		linear-gradient(180deg, rgba(7, 29, 17, .1) 0%, rgba(7, 29, 17, .2) 32%, rgba(7, 29, 17, .82) 100%),
		linear-gradient(45deg, color-mix(in srgb, var(--category-accent) 34%, transparent) 0%, transparent 42%);
}

.shop-categories .macro-card--image::after {
	z-index: 3;
	background: rgba(255, 248, 236, .9);
}

.shop-categories .macro-card--image:hover .macro-card__visual img,
.shop-categories .macro-card--image:focus-visible .macro-card__visual img {
	transform: scale(1.045);
}

.shop-categories .macro-card:hover,
.shop-categories .macro-card:focus-visible {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--category-accent) 58%, #FFF8EC);
	box-shadow: 0 8px 10px rgba(5, 22, 13, .28);
}

.shop-categories .macro-card__media {
	position: relative;
	width: 58px;
	height: 58px;
	margin-bottom: 1rem;
	border: 1px solid color-mix(in srgb, var(--category-accent) 34%, #FFF8EC);
	border-radius: 16px;
	background:
		radial-gradient(circle at 30% 24%, color-mix(in srgb, var(--category-accent) 28%, transparent), transparent 38%),
		linear-gradient(145deg, #FFF8EC 0%, color-mix(in srgb, var(--category-accent) 16%, #ECF3DF) 100%);
	color: color-mix(in srgb, var(--category-accent) 68%, #19301E);
}

.shop-categories .macro-card--image .macro-card__media {
	z-index: 2;
	border-color: color-mix(in srgb, var(--category-accent) 42%, rgba(255, 248, 236, .78));
	background:
		radial-gradient(circle at 34% 20%, color-mix(in srgb, var(--category-accent) 34%, transparent), transparent 40%),
		rgba(255, 248, 236, .82);
	box-shadow: 0 4px 8px rgba(5, 22, 13, .14);
}

.shop-categories .macro-card__media svg {
	width: 27px;
	height: 27px;
	stroke-width: 1.8;
}

.shop-categories .macro-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: .32rem;
	padding-right: 2.2rem;
}

.shop-categories .macro-card--image .macro-card__body {
	position: relative;
	z-index: 2;
}

.shop-categories .macro-card__title {
	color: #102314;
	font-size: clamp(1.28rem, 1.4vw, 1.72rem);
	line-height: 1.02;
	text-wrap: balance;
}

.shop-categories .macro-card--image .macro-card__title {
	color: #FFF8EC;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.shop-categories .macro-card__count {
	width: fit-content;
	margin-top: .1rem;
	padding: .22rem .48rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--category-accent) 14%, #FFF8EC);
	color: color-mix(in srgb, var(--category-accent) 70%, #7D2D26);
	font-size: .7rem;
	font-weight: 900;
}

.shop-categories .macro-card--image .macro-card__count {
	background: rgba(255, 248, 236, .9);
	color: color-mix(in srgb, var(--category-accent) 74%, #7D2D26);
}

.shop-categories .macro-card__desc {
	max-width: 30ch;
	margin-top: .25rem;
	color: #243025;
	font-size: .96rem;
	line-height: 1.42;
}

.shop-categories .macro-card--image .macro-card__desc {
	color: rgba(255, 248, 236, .92);
	text-shadow: 0 1px 6px rgba(0, 0, 0, .2);
}

.shop-categories .macro-card__subs {
	margin-top: auto;
	padding-top: .75rem;
	color: #68745E;
	font-size: .86rem;
	line-height: 1.3;
}

.shop-categories .macro-card--image .macro-card__subs {
	color: rgba(255, 248, 236, .76);
}

.shop-categories .macro-card[data-cat*="conserve"] {
	--category-accent: #0A7F62;
}

.shop-categories .macro-card[data-cat*="sughi"] {
	--category-accent: #EE7D1F;
}

.shop-categories .macro-card[data-cat*="marmell"] {
	--category-accent: #C03668;
}

.shop-categories .macro-card[data-cat*="creme"] {
	--category-accent: #75A93B;
}

.shop-categories .macro-card[data-cat*="scatola"],
.shop-categories .macro-card[data-cat*="box"] {
	--category-accent: #D99A22;
}

.shop-categories .macro-card[data-cat*="olio"] {
	--category-accent: #8EA820;
}

.shop-categories .macro-card--image[data-cat*="olio"] {
	background:
		radial-gradient(circle at 82% 36%, rgba(214, 185, 78, .44) 0%, rgba(214, 185, 78, .12) 34%, transparent 58%),
		linear-gradient(135deg, #0C2A19 0%, #18391C 46%, #667C1E 100%);
}

.shop-categories .macro-card--image[data-cat*="olio"]::before {
	background:
		linear-gradient(90deg, rgba(6, 28, 16, .94) 0%, rgba(6, 28, 16, .82) 46%, rgba(6, 28, 16, .32) 72%, rgba(6, 28, 16, .08) 100%),
		linear-gradient(180deg, rgba(6, 28, 16, .08) 0%, rgba(6, 28, 16, .82) 100%);
}

.shop-categories .macro-card--image[data-cat*="olio"] .macro-card__visual {
	background:
		radial-gradient(circle at 82% 38%, rgba(255, 248, 236, .58) 0%, rgba(255, 248, 236, .18) 34%, transparent 58%),
		linear-gradient(135deg, rgba(244, 211, 27, .18), rgba(10, 127, 98, .08));
}

.shop-categories .macro-card--image[data-cat*="olio"] .macro-card__visual img {
	box-sizing: border-box;
	padding: 0;
	object-fit: cover;
	object-position: center;
	opacity: 1;
	mix-blend-mode: normal;
	transform: scale(1.01);
	transform-origin: right center;
}

.shop-categories .macro-card--image[data-cat*="olio"] .macro-card__visual-image--2 {
	transform: translateX(-12%);
}

.shop-categories .macro-card--image[data-cat*="olio"]:hover .macro-card__visual img,
.shop-categories .macro-card--image[data-cat*="olio"]:focus-visible .macro-card__visual img {
	transform: scale(1.045);
}

.shop-categories .macro-card--image[data-cat*="olio"]:hover .macro-card__visual-image--2,
.shop-categories .macro-card--image[data-cat*="olio"]:focus-visible .macro-card__visual-image--2 {
	transform: translate(-12%, -2px);
}

.shop-categories .macro-card--image[data-cat*="scatola"] .macro-card__visual img,
.shop-categories .macro-card--image[data-cat*="box"] .macro-card__visual img {
	box-sizing: border-box;
	padding: 0;
	object-fit: cover;
	object-position: center;
	background: none;
}

.shop-categories .macro-card--image[data-cat*="vino"] .macro-card__visual img {
	object-position: 54% center;
}

.shop-categories .macro-card[data-cat*="vino"] {
	--category-accent: #7B318E;
}

.shop-categories .macro-card[data-cat*="novita"],
.shop-categories .macro-card[data-cat*="nuovi"] {
	--category-accent: #C01818;
}

@media (max-width: 1180px) {
	.shop-categories .macro-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.shop-categories.alicos-commerce-section {
		padding-block: clamp(3.2rem, 10vw, 5rem);
		background:
			linear-gradient(150deg, rgba(7, 29, 17, .92) 0%, rgba(18, 54, 31, .9) 62%, rgba(74, 25, 82, .84) 100%),
			var(--alicos-brand-canvas-tile-image, url("../img/texture/alicos-palette-seamless.webp"));
		background-repeat: no-repeat, repeat;
		background-size: 100% 100%, min(980px, 220vw) auto;
	}

	.shop-categories .macro-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.shop-categories.alicos-commerce-section > .container {
		width: min(calc(100% - 1.25rem), 460px);
	}

	.shop-categories .section__head {
		text-align: left;
	}

	.shop-categories__intro {
		margin-inline: 0;
	}

	.shop-categories .macro-grid {
		grid-template-columns: 1fr;
	}

	.shop-categories .macro-card {
		min-height: 0;
	}

	.shop-categories .macro-card--image {
		min-height: 300px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shop-categories .macro-card:hover,
	.shop-categories .macro-card:focus-visible {
		transform: none;
	}
}

/* ===== Il mio account: dashboard leggibile, senza float WooCommerce residui ===== */
body.woocommerce-account .page-single > .section {
	padding-block: clamp(1.6rem, 4vw, 3.25rem);
}

body.woocommerce-account .page-single > .section > .container--narrow,
body.woocommerce-account .page-hero .container--narrow {
	max-width: min(100% - 40px, 1180px);
	padding-inline: 0;
}

body.woocommerce-account .entry-content.prose {
	max-width: none;
	font-size: 1rem;
	line-height: 1.62;
}

body.woocommerce-account .woocommerce {
	display: grid;
	align-items: start;
	gap: clamp(1rem, 2.5vw, 1.8rem);
	width: 100%;
	max-width: none;
	margin: 0;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
	content: none;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account .woocommerce-form-login {
	border-radius: 18px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
	align-self: start;
	padding: .55rem;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: .35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 46px;
	padding: .72rem .82rem;
	border-radius: 12px;
	font-family: var(--font-body);
	font-size: .98rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	white-space: normal;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a::after {
	content: "→";
	flex: 0 0 auto;
	margin-left: .7rem;
	color: currentColor;
	font-size: .95em;
	opacity: .56;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible::after {
	opacity: .88;
}

body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account .woocommerce-form-login {
	padding: clamp(1.15rem, 2.6vw, 2rem);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.66;
}

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

body.woocommerce-account .woocommerce-MyAccount-content p {
	max-width: 72ch;
	color: #3F493B;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-MyAccount-content legend {
	margin: 0 0 .9rem;
	color: var(--color-primary-dark);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 1.5vw, 1.85rem);
	line-height: 1.15;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	color: var(--color-secondary-dark);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button.button,
body.woocommerce-account .woocommerce-MyAccount-content input.button {
	min-height: 46px;
	border-radius: 12px;
	font-size: .95rem;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.woocommerce-account .woocommerce-MyAccount-content .u-columns,
body.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(.9rem, 2vw, 1.25rem);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column1,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2 {
	min-width: 0;
	padding: 1rem;
	border: 1px solid rgba(200, 185, 159, .58);
	border-radius: 14px;
	background: rgba(255, 252, 246, .82);
}

body.woocommerce-account .woocommerce-MyAccount-content address {
	color: #4F5B48;
	font-style: normal;
	line-height: 1.65;
}

body.woocommerce-account form .form-row {
	margin-bottom: .9rem;
}

body.woocommerce-account form .form-row label {
	display: inline-flex;
	margin-bottom: .35rem;
	color: #4F5B48;
	font-size: .88rem;
	font-weight: 750;
	line-height: 1.25;
}

body.woocommerce-account form .form-row input.input-text,
body.woocommerce-account form .form-row textarea,
body.woocommerce-account form .form-row select,
body.woocommerce-account .select2-container .select2-selection--single {
	min-height: 46px;
	border: 1px solid rgba(200, 185, 159, .72);
	border-radius: 12px;
	background: #FFFDF8;
	color: var(--color-text);
	font-size: .98rem;
}

@media (min-width: 960px) {
	body.woocommerce-account .woocommerce {
		grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		position: sticky;
		top: calc(var(--header-h) + 1rem);
	}
}

@media (max-width: 959px) {
	body.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		grid-template-columns: none;
		gap: .45rem;
		width: max-content;
		min-width: 100%;
		padding-bottom: .05rem;
	}

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

	body.woocommerce-account .woocommerce-MyAccount-navigation a {
		min-height: 44px;
		padding-inline: .78rem;
		white-space: nowrap;
	}
}

@media (max-width: 680px) {
	body.woocommerce-account .page-single > .section > .container--narrow,
	body.woocommerce-account .page-hero .container--narrow {
		max-width: min(100% - 28px, 560px);
	}

	body.woocommerce-account .woocommerce-MyAccount-content,
	body.woocommerce-account form.login,
	body.woocommerce-account form.register,
	body.woocommerce-account .woocommerce-form-login {
		padding: 1rem;
		border-radius: 16px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
	body.woocommerce-account .woocommerce-MyAccount-content .u-columns,
	body.woocommerce-account #customer_login {
		grid-template-columns: 1fr;
	}

	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
		display: block;
		overflow-x: auto;
		border-spacing: 0;
	}

	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
		white-space: nowrap;
	}
}
