/* ============================================================
   Centellino — stile WooCommerce (shop, categoria, scheda prodotto)
   Usa i token definiti in theme.css (:root).
   ============================================================ */

.woocommerce .u.wc-wrap,
.woocommerce-page .u.wc-wrap { color: var(--ink); }

/* Intestazione archivio / categoria */
.woocommerce .woocommerce-products-header__title,
.woocommerce .page-title {
	font-family: var(--serif); font-weight: 600; color: var(--ink);
	font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -.01em; margin: 8px 0 10px;
}
.term-description, .woocommerce-products-header p {
	color: var(--ink-soft); max-width: 68ch; font-size: 16px;
}
.woocommerce .woocommerce-result-count { color: var(--ink-soft); font-family: var(--mono); font-size: 12.5px; }
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--line-strong); background: var(--card); color: var(--ink);
	padding: 9px 12px; border-radius: 3px; font-family: var(--sans);
}

/* Griglia prodotti */
.woocommerce ul.products {
	display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px;
	margin: 26px 0 0; padding: 0; list-style: none;
}
/* Neutralizza il clearfix di WooCommerce: come grid, ::before/::after diventerebbero
   celle della griglia e sfalserebbero il layout ("impaginazione bizzarra"). */
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product {
	background: var(--card); border: 1px solid var(--line); border-radius: 6px;
	overflow: hidden; box-shadow: var(--shadow); text-align: left;
	display: flex; flex-direction: column; transition: transform .18s, box-shadow .18s;
	float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; clear: none !important;
}
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after { content: none !important; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -26px rgba(15,29,62,.4); }
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
	width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin: 0; border-radius: 0; display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; padding: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--serif); font-size: 17px; font-weight: 600; color: var(--ink);
	padding: 15px 16px 2px; line-height: 1.25;
}
.woocommerce ul.products li.product .price {
	color: var(--ink); font-weight: 650; font-size: 17px; font-variant-numeric: tabular-nums;
	padding: 0 16px; margin: 4px 0 0;
}
.woocommerce ul.products li.product .price del { color: var(--ink-faint); font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--wine); }
.woocommerce span.onsale {
	background: var(--wine); color: #fff; border-radius: 3px; min-height: 0; min-width: 0;
	padding: 4px 10px; font-family: var(--mono); font-size: 11px; letter-spacing: .04em; top: 10px; left: 10px; margin: 0;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: 12px 16px 16px; background: var(--navy); color: var(--cream); border-radius: 2px;
	font-size: 13px; letter-spacing: .02em; padding: 10px 16px; transition: background .2s;
}
.woocommerce ul.products li.product .button:hover { background: var(--brass); color: #1a1206; }

/* Bottoni generali */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--navy); color: var(--cream); border-radius: 2px; font-weight: 600;
	padding: 13px 24px; transition: background .2s, transform .15s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce button.button.alt:hover { background: var(--brass); color: #1a1206; }
.woocommerce button.button.alt, .woocommerce .single_add_to_cart_button {
	background: var(--brass); color: #1a1206;
}
.woocommerce button.button.alt:hover { background: var(--brass-2); }

/* Scheda prodotto singola */
.woocommerce div.product .product_title {
	font-family: var(--serif); font-weight: 600; color: var(--ink);
	font-size: clamp(26px, 3.4vw, 40px); letter-spacing: -.01em; line-height: 1.1;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--ink); font-weight: 650; font-size: 26px; font-variant-numeric: tabular-nums;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ink-soft); font-size: 16px; }
.woocommerce .woocommerce-tabs ul.tabs li { background: transparent; border: 0; }
.woocommerce .woocommerce-tabs ul.tabs li.active a { color: var(--brass-ink); }
.woocommerce .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--line); }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-family: var(--serif); color: var(--ink); }
.woocommerce #reviews #comments h2, .woocommerce .related.products > h2, .woocommerce .upsells.products > h2 {
	font-family: var(--serif); font-weight: 600; color: var(--ink);
}
.woocommerce .quantity .qty {
	border: 1px solid var(--line-strong); background: var(--card); color: var(--ink); border-radius: 3px; padding: 10px;
}

/* Avvisi */
.woocommerce-message { border-top-color: var(--brass); }
.woocommerce-info { border-top-color: var(--navy); }
.woocommerce-error { border-top-color: var(--wine); }
.woocommerce-message::before { color: var(--brass); }
.woocommerce-info::before { color: var(--navy); }

/* Paginazione */
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 6px; display: flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--line-strong); border-radius: 3px; color: var(--ink); padding: .5em .9em;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--navy); color: var(--cream); border-color: var(--navy);
}

@media (max-width: 960px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ============================================================
   Informazioni alimentari (Reg. UE 1169/2011)
   ============================================================ */
.food-info { color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.food-allergeni {
	background: var(--paper-2); border-left: 3px solid var(--wine);
	padding: 12px 16px; margin: 0 0 22px; color: var(--ink); border-radius: 0 4px 4px 0;
}
.food-allergeni strong { color: var(--wine); }
.food-list { display: grid; grid-template-columns: minmax(180px, 240px) 1fr; gap: 0; margin: 0 0 28px; }
.food-list dt {
	font-family: var(--mono); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase;
	color: var(--ink-faint); padding: 12px 16px 12px 0; border-bottom: 1px solid var(--line);
}
.food-list dd {
	margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--ink);
}
.food-info h3 { font-family: var(--serif); font-size: 21px; color: var(--ink); margin: 0 0 4px; }
.food-nut-note { font-size: 13px; color: var(--ink-faint); font-style: italic; margin: 0 0 14px; }
.table-scroll { overflow-x: auto; }
table.food-nutrition {
	width: 100%; max-width: 520px; border-collapse: collapse; font-size: 14.5px;
	font-variant-numeric: tabular-nums;
}
table.food-nutrition th {
	text-align: left; font-weight: 500; color: var(--ink-soft);
	padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line);
}
table.food-nutrition td {
	text-align: right; font-weight: 600; color: var(--ink);
	padding: 10px 0; border-bottom: 1px solid var(--line);
}
@media (max-width: 620px) {
	.food-list { grid-template-columns: 1fr; }
	.food-list dt { border-bottom: 0; padding-bottom: 2px; }
}

/* ============================================================
   PERCORSO DI ACQUISTO — carrello, checkout, account
   ============================================================ */

/* ---- Campi form (usati ovunque) ---- */
.woocommerce form .form-row { padding: 0; margin: 0 0 18px; }
.woocommerce form .form-row label {
	display: block; font-size: 13px; font-weight: 600; color: var(--ink);
	margin-bottom: 6px; letter-spacing: .01em;
}
.woocommerce form .form-row .required { color: var(--wine); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce-page form .form-row input.input-text {
	width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--sans);
	color: var(--ink); background: var(--card);
	border: 1px solid var(--line-strong); border-radius: 3px;
	transition: border-color .2s, box-shadow .2s; box-shadow: none; line-height: 1.4;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none; border-color: var(--brass);
	box-shadow: 0 0 0 3px rgba(166, 124, 60, .15);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--wine); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ink); line-height: 1.4; padding: 0; }
.woocommerce .select2-dropdown { border-color: var(--line-strong); }

/* ---- Tabelle (carrello, ordini, account) ---- */
.woocommerce table.shop_table {
	border: 1px solid var(--line); border-radius: 8px; border-collapse: separate;
	border-spacing: 0; background: var(--card); overflow: hidden;
}
.woocommerce table.shop_table th {
	font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
	color: var(--ink-faint); font-weight: 600; padding: 16px 18px;
	border-bottom: 1px solid var(--line-strong); background: var(--paper-2);
}
.woocommerce table.shop_table td {
	padding: 18px; border-top: 1px solid var(--line); color: var(--ink-soft); vertical-align: middle;
}
.woocommerce table.shop_table .product-name a { color: var(--ink); font-family: var(--serif); font-size: 17px; font-weight: 600; }
.woocommerce table.shop_table .product-name a:hover { color: var(--brass); }
.woocommerce table.shop_table img { width: 74px; border-radius: 4px; aspect-ratio: 1/1; object-fit: cover; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal { font-variant-numeric: tabular-nums; color: var(--ink); font-weight: 600; }
.woocommerce a.remove {
	color: var(--ink-faint) !important; font-weight: 400; line-height: 1;
	width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--line-strong);
	display: inline-flex; align-items: center; justify-content: center; font-size: 16px;
}
.woocommerce a.remove:hover { background: var(--wine) !important; color: #fff !important; border-color: var(--wine); }

/* ---- Carrello ---- */
.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce .cross-sells > h2 {
	font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--ink); margin-bottom: 16px;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th { padding: 14px 18px; }
.woocommerce .cart_totals .order-total .amount { font-size: 22px; color: var(--ink); }
.woocommerce .cart .actions .coupon input.input-text { width: auto; min-width: 220px; margin-right: 8px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block; text-align: center; background: var(--brass); color: #1a1206;
	font-size: 16px; padding: 16px; border-radius: 2px;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--brass-2); color: #1a1206; }
.woocommerce .quantity input.qty { width: 68px; text-align: center; }

/* ---- Checkout ---- */
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading {
	font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--ink);
	margin: 0 0 20px; padding-bottom: 12px; border-bottom: 1px solid var(--line);
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-checkout #customer_details { margin-bottom: 40px; }
.woocommerce-checkout-review-order-table tfoot th { text-align: left; }
.woocommerce-checkout-review-order-table tfoot .order-total .amount { font-size: 22px; color: var(--ink); }
.woocommerce-checkout #payment {
	background: var(--paper-2); border: 1px solid var(--line); border-radius: 8px; padding: 8px 4px;
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line); padding: 12px 18px; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 10px; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods label { font-weight: 600; color: var(--ink); }
.woocommerce-checkout #payment div.payment_box {
	background: var(--card); border: 1px solid var(--line); border-radius: 4px; color: var(--ink-soft); font-size: 14px;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--card); }
.woocommerce-checkout #payment .place-order { padding: 18px; }
.woocommerce-checkout #place_order {
	width: 100%; background: var(--brass); color: #1a1206; font-size: 17px; padding: 17px; border-radius: 2px;
}
.woocommerce-checkout #place_order:hover { background: var(--brass-2); }
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info { background: var(--paper-2); }

/* ---- Mio account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }
.woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0; padding: 0; border: 1px solid var(--line);
	border-radius: 8px; overflow: hidden; background: var(--card);
}
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
	display: block; padding: 14px 18px; color: var(--ink-soft); font-size: 15px; transition: background .2s, color .2s;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--paper-2); color: var(--ink); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--navy); color: var(--cream); font-weight: 600; }
.woocommerce-MyAccount-content { color: var(--ink-soft); }

/* ---- Correlati / cross-sell ---- */
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce .cross-sells { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line); }
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 { font-size: 28px; margin-bottom: 6px; }

/* ---- Rassicurazioni sulla scheda prodotto ---- */
.cent-trust {
	margin: 26px 0 0; padding: 18px 20px; background: var(--paper-2);
	border: 1px solid var(--line); border-radius: 8px;
}
.cent-trust ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cent-trust li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--ink-soft); line-height: 1.5; }
.cent-trust li b { color: var(--ink); font-weight: 600; }
.cent-trust .ic { color: var(--brass); font-size: 15px; line-height: 1.3; flex: none; }

@media (max-width: 860px) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce-account .woocommerce-MyAccount-content { margin-top: 24px; }
	.woocommerce table.shop_table img { width: 56px; }
}

/* ============================================================
   v0.3 — card allineate, capacita', carrello a blocchi
   ============================================================ */

/* Card del loop: il blocco immagine/titolo/prezzo si allunga, cosi' il bottone
   "Aggiungi al carrello" sta sempre alla base della card, a qualunque altezza del titolo. */
.woocommerce ul.products li.product .woocommerce-loop-product__link { flex: 1 0 auto; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .price { margin-top: auto; padding-bottom: 2px; }
.woocommerce ul.products li.product .button { margin-top: 14px; align-self: stretch; text-align: center; }
.woocommerce ul.products li.product .added_to_cart { margin-top: -8px; align-self: flex-start; background: transparent; color: var(--navy); padding: 4px 16px 14px; text-decoration: underline; }

/* Scheda prodotto: bottoniera delle capacita' (la select resta, nascosta, per WooCommerce). */
.cent-sizes { display: none; gap: 8px; flex-wrap: wrap; margin: 2px 0 6px; }
.js .cent-sizes { display: flex; }
.js .cent-sizes-select { display: none; }
.cent-size {
	font-family: var(--mono); font-size: 14px; letter-spacing: .03em; font-variant-numeric: tabular-nums;
	background: var(--card); color: var(--ink); border: 1px solid var(--line-strong); border-radius: 999px;
	padding: 9px 18px; cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.cent-size:hover { border-color: var(--navy); }
.cent-size.is-on { background: var(--navy); color: var(--cream); border-color: var(--navy); }
.woocommerce div.product form.cart .variations { margin-bottom: 8px; }
.woocommerce div.product form.cart .variations th.label { padding: 8px 0; }
.woocommerce div.product form.cart .variations th.label label { font-family: var(--mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.woocommerce div.product form.cart .reset_variations { display: none !important; }
.woocommerce-variation-description { color: var(--ink-soft); font-size: 15.5px; margin: 6px 0 10px; }
/* Il prezzo della variante e' quello in alto (aggiornato da main.js): qui sarebbe un doppione. */
.woocommerce div.product .woocommerce-variation-price { display: none; }

/* Carrello e checkout a blocchi: bottoni coi colori del tema (prima: testo blu su grigio scuro). */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-product-collection .wp-block-button__link,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.wc-block-grid__product .wp-block-button__link {
	background: var(--brass) !important; color: #1a1206 !important; border: 1px solid var(--brass) !important;
	border-radius: 2px !important; font-weight: 600; text-decoration: none !important;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-product-collection .wp-block-button__link:hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover {
	background: var(--brass-2) !important; border-color: var(--brass-2) !important; color: #1a1206 !important;
}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit; }
.wc-block-cart__submit-button { font-size: 16px; min-height: 54px; }

/* "Gli altri utenti hanno comprato anche": griglia che scende a 2 e 1 colonna. */
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection { margin-top: 40px; }
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection > h2 { font-family: var(--serif); font-size: 26px; font-weight: 600; color: var(--ink); }
.wp-block-woocommerce-cart .wc-block-product-template {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none;
}
.wp-block-woocommerce-cart .wc-block-product-template > li {
	width: auto !important; max-width: none !important; margin: 0 !important; display: flex; flex-direction: column;
	background: var(--card); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; padding-bottom: 14px;
}
.wp-block-woocommerce-cart .wc-block-product-template > li img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.wp-block-woocommerce-cart .wc-block-product-template .wp-block-post-title { font-size: 16px !important; padding: 0 12px; }
.wp-block-woocommerce-cart .wc-block-product-template .wp-block-post-title a { color: var(--ink); text-decoration: none; border: 0; }
.wp-block-woocommerce-cart .wc-block-product-template .wc-block-components-product-button { margin-top: auto; padding: 0 12px; }
@media (max-width: 700px) { .wp-block-woocommerce-cart .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 380px) { .wp-block-woocommerce-cart .wc-block-product-template { grid-template-columns: 1fr; } }
.wp-block-woocommerce-cart { max-width: 100%; overflow-x: clip; }

/* Contrasti AA (Lighthouse): breadcrumb, disponibilita', prezzi barrati. */
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb a { color: var(--ink-soft); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--ink); }
.woocommerce div.product .stock, .woocommerce div.product p.stock { color: #3D6B35; font-weight: 600; }
.woocommerce div.product .stock.out-of-stock { color: var(--wine); }
.woocommerce ul.products li.product .price del, .woocommerce div.product .price del { color: var(--ink-soft); }
@media (prefers-color-scheme: dark) { .woocommerce div.product .stock { color: #8fc47f; } }

/* Barra "Ti mancano X € per la spedizione gratuita" (inc/cart.php). */
.cent-freeship { background: var(--card); border: 1px solid var(--line); border-radius: 8px; padding: 14px 18px 16px; margin: 0 0 26px; }
.cent-freeship__msg { margin: 0 0 10px; font-size: 15.5px; color: var(--ink); }
.cent-freeship__msg b { color: var(--brass-ink); }
.cent-freeship__bar { height: 8px; background: var(--paper-2); border-radius: 99px; overflow: hidden; }
.cent-freeship__bar span { display: block; height: 100%; background: var(--brass); border-radius: 99px; transition: width .4s ease; }
.cent-freeship.is-done .cent-freeship__msg { color: #3D6B35; font-weight: 600; }
.cent-freeship.is-done .cent-freeship__bar span { background: #3D6B35; }

/* Mobile: paginazione toccabile e schede prodotto su una riga scorrevole. */
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 600px) {
	.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; padding: 0; margin-bottom: 18px; -webkit-overflow-scrolling: touch; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: none; margin: 0; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 14px; white-space: nowrap; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
}
.woocommerce ul.products li.product .added_to_cart { display: none !important; } /* sostituito dal modale */

/* ---- Conferma d'ordine (e dettaglio ordine in Mio account) ----
   Le <section> di WooCommerce ereditavano il padding delle sezioni della home
   (theme.css: section{padding:82px 0}) e lasciavano due vuoti enormi. */
.woocommerce section.woocommerce-order-details,
.woocommerce section.woocommerce-customer-details,
.woocommerce section.woocommerce-columns { padding: 0; }

.woocommerce-order .woocommerce-thankyou-order-received {
	margin: 0 0 24px; padding: 18px 22px; background: var(--card); border: 1px solid var(--line);
	border-left: 4px solid #3D6B35; border-radius: 8px;
	font-family: var(--serif); font-size: 21px; color: var(--ink);
}

/* Riepilogo: griglia di riquadri al posto della riga con separatori. Le linee sono
   il fondo della griglia che traspare dal gap; i clearfix di WooCommerce diventerebbero celle. */
.woocommerce .woocommerce-order ul.order_details {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1px;
	margin: 0 0 48px; padding: 0; list-style: none;
	background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden;
}
.woocommerce .woocommerce-order ul.order_details::before,
.woocommerce .woocommerce-order ul.order_details::after { display: none; }
.woocommerce .woocommerce-order ul.order_details li {
	float: none; margin: 0; padding: 14px 18px; border: 0; background: var(--card);
	font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint);
}
.woocommerce .woocommerce-order ul.order_details li strong {
	display: block; margin-top: 6px; font-size: 16px; letter-spacing: 0; text-transform: none;
	color: var(--ink); overflow-wrap: anywhere;
}

.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
	font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--ink); margin: 0 0 14px;
}
.woocommerce-order .woocommerce-order-details { margin: 0 0 48px; }

/* Indirizzi affiancati (la regola del checkout li impilava a tutta larghezza). */
.woocommerce-checkout .woocommerce-order .col2-set,
.woocommerce-account .woocommerce-MyAccount-content .col2-set.addresses {
	display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.woocommerce-order .col2-set::before, .woocommerce-order .col2-set::after,
.woocommerce-account .col2-set.addresses::before, .woocommerce-account .col2-set.addresses::after { display: none; }
.woocommerce-checkout .woocommerce-order .col2-set .col-1,
.woocommerce-checkout .woocommerce-order .col2-set .col-2 { width: auto; float: none; }
/* Colonne flessibili: i due riquadri indirizzo arrivano alla stessa altezza. */
.woocommerce-order .col2-set .col-1, .woocommerce-order .col2-set .col-2 { display: flex; flex-direction: column; }
.woocommerce .woocommerce-customer-details address {
	flex: 1; box-sizing: border-box; margin: 0; padding: 16px 20px;
	background: var(--card); border: 1px solid var(--line); border-radius: 8px;
	font-style: normal; line-height: 1.75; color: var(--ink-soft);
}
.woocommerce .woocommerce-customer-details address p { margin: 8px 0 0; }
@media (max-width: 700px) {
	.woocommerce-checkout .woocommerce-order .col2-set,
	.woocommerce-account .woocommerce-MyAccount-content .col2-set.addresses { grid-template-columns: 1fr; }
	.woocommerce-order .woocommerce-thankyou-order-received { font-size: 18px; }
}
