/**
 * Sofyia Theme — WooCommerce CSS
 * Caricato solo nelle pagine WooCommerce
 *
 * @package SofyiaTheme
 */

/* ============================================================
   SHOP ARCHIVE — Sofyia card style
   ============================================================ */

/* Background cream full-width su tutti i wrapper parent */
.woocommerce-page .site-main,
.woocommerce-page #primary,
.woocommerce-page .content-area {
	background: var(--sofyia-cream) !important;
	padding: 0 !important;
}

/* Rimuovi max-width laterale che crea bande grigie — wrapper centrato */
.woocommerce-page .woocommerce {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Spacing verticale della pagina shop — sul grid prodotti */
.woocommerce-page .woocommerce ul.products {
	margin-top: 40px !important;
	margin-bottom: 80px !important;
}

.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-size: 15px;
	padding: 8px 12px;
	background: var(--sofyia-white);
	color: var(--sofyia-text);
}

/* Nascondi category meta/badges SOLO sulle product card (non sulle category card) */
.woocommerce ul.products li.product:not(.product-category) .posted_in,
.woocommerce ul.products li.product:not(.product-category) .cat-label,
.woocommerce ul.products li.product:not(.product-category) .category-label,
.woocommerce ul.products li.product:not(.product-category) .product_cat {
	display: none !important;
}

/* Category card — titolo categoria VISIBILE e stilato */
.woocommerce ul.products li.product-category {
	text-align: center;
}

.woocommerce ul.products li.product-category > a {
	display: flex !important;
	flex-direction: column;
	text-decoration: none !important;
	color: var(--sofyia-text) !important;
	height: 100%;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	font-family: var(--font-serif) !important;
	font-size: 1.2rem !important;
	font-weight: 400 !important;
	color: var(--sofyia-text) !important;
	padding: 18px 20px !important;
	margin: 0 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.3px;
}

.woocommerce ul.products li.product-category .count {
	color: var(--sofyia-text-light) !important;
	font-size: 0.85em !important;
	margin-left: 4px;
	background: transparent !important;
	padding: 0 !important;
}

/* Grid base — 4 col desktop / 3 tablet / 2 mobile (responsive in fondo) */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 36px 28px !important;
	list-style: none !important;
	margin: 0 0 40px !important;
	padding: 0 !important;
}

/* Card prodotto — REPLICA ESATTA dello stile .sofyia-category-card del
   widget Elementor categorie (assets/css/elementor-widgets.css).
   Stesso aspect-ratio 3/4, stesse shadow, stessa typography, stesso hover. */
.woocommerce ul.products li.product {
	background: var(--sofyia-white) !important;
	border: none !important;
	border-radius: var(--radius-md) !important;
	overflow: hidden !important;
	box-shadow: var(--shadow-card) !important;
	transition: var(--transition) !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	display: flex !important;
	flex-direction: column !important;
	text-align: center !important;
	position: relative !important;
}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--shadow-hover) !important;
	transform: translateY(-4px) !important;
}

/* IMPORTANTE: nel DOM reale di WooCommerce il <a.woocommerce-loop-product__link>
   wrappa <img> + <h2> + <span.price>. Quindi NON possiamo mettere aspect-ratio
   o overflow:hidden sul link, altrimenti titolo e prezzo vengono clippati.
   L'aspect-ratio 3/4 va direttamente sull'<img>. */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block !important;
	overflow: visible !important;
	text-decoration: none !important;
	color: inherit !important;
	background: transparent !important;
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-loop-product__link > img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 4 !important;
	object-fit: cover !important;
	object-position: center !important;
	margin: 0 !important;
	display: block !important;
	background: var(--sofyia-cream);
	transition: transform 0.5s ease !important;
}

/* Lo scale al hover viene clippato dall'overflow:hidden del <li> esterno,
   quindi titolo e prezzo (in flusso normale sotto l'img) non si muovono. */
.woocommerce ul.products li.product:hover a img {
	transform: scale(1.05) !important;
}

/* Titolo — IDENTICO a .sofyia-category-card__name:
   Cormorant Garamond 1.1rem regolare, centrato, zero letter-spacing. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product h3.woocommerce-loop-product__title,
.elementor ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-serif) !important;
	font-size: 1.1rem !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--sofyia-text) !important;
	padding: 16px 12px 4px !important;
	margin: 0 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: center !important;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Prezzo — stesso font serif del titolo, leggermente più scuro */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price,
.elementor ul.products li.product .price {
	font-family: var(--font-serif) !important;
	font-size: 1.1rem !important;
	font-weight: 500 !important;
	font-style: normal !important;
	color: var(--sofyia-gold) !important;
	padding: 0 12px !important;
	margin: 4px 0 14px !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

.woocommerce ul.products li.product .price del {
	color: var(--sofyia-text-light) !important;
	opacity: 0.55;
	font-size: 0.85em;
	margin-right: 8px;
	font-weight: 400;
}

.woocommerce ul.products li.product .price ins {
	background: transparent !important;
	color: var(--sofyia-gold-dark) !important;
	text-decoration: none;
	font-weight: 600;
}

/* Star rating */
.woocommerce ul.products li.product .star-rating {
	margin: 0 auto 10px !important;
	font-size: 0.85em !important;
	display: block !important;
}

.woocommerce .star-rating span::before {
	color: var(--sofyia-gold);
}

/* Bottone aggiungi al carrello — outline oro → fill al hover */
.woocommerce ul.products li.product .button {
	display: inline-block !important;
	margin: auto 12px 16px !important;
	padding: 10px 16px !important;
	width: calc(100% - 24px) !important;
	border-radius: var(--radius-sm) !important;
	background: transparent !important;
	border: 1px solid var(--sofyia-gold) !important;
	color: var(--sofyia-gold) !important;
	font-family: var(--font-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	text-align: center !important;
	transition: var(--transition) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button.added {
	background: var(--sofyia-gold) !important;
	border-color: var(--sofyia-gold) !important;
	color: var(--sofyia-white) !important;
}

/* Stato "added to cart" check */
.woocommerce ul.products li.product .added_to_cart {
	display: block !important;
	margin: -8px 18px 18px !important;
	padding: 8px 12px !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: var(--sofyia-text-light) !important;
	text-align: center !important;
	border: none !important;
	background: transparent !important;
}

.woocommerce ul.products li.product .added_to_cart::before {
	content: "✓ ";
	color: var(--sofyia-gold);
	font-weight: 600;
}

/* On-sale badge — minimal, dark, tipografia letterspaced */
.woocommerce ul.products li.product .onsale {
	background: var(--sofyia-text) !important;
	color: var(--sofyia-white) !important;
	font-family: var(--font-sans) !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	padding: 5px 11px !important;
	border-radius: 0 !important;
	border: none !important;
	line-height: 1.4 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	z-index: 2 !important;
}

/* Rimuovi banda grigia sotto prodotti shop.
   Selettore originario `body.woocommerce-page > .elementor > .elementor-section-wrap > .elementor-section`
   era troppo ampio: colpiva ANCHE il footer Elementor (anche
   `<div class="elementor elementor-location-footer">` è direct child del
   body), sovrascrivendone il background del Theme Builder con il
   crema dello shop. Scope ristretto alla location 'archive' che è il
   template Elementor Pro usato per la shop page WooCommerce. */
.woocommerce-page .woocommerce::after,
.woocommerce-page .woocommerce-page::after,
.post-type-archive-product .woocommerce::after,
body.woocommerce-page .elementor-location-archive > .elementor-section-wrap > .elementor-section,
body.post-type-archive-product .elementor-location-archive > .elementor-section-wrap > .elementor-section {
	background: var(--sofyia-cream) !important;
}

/* Fix specifico per la sezione grigia */
.woocommerce-page .site-main > *,
.woocommerce nav.woocommerce-pagination,
.woocommerce-page .woocommerce-notices-wrapper {
	background: transparent !important;
}

/* Rimuovi padding/margin che crea spazio grigio */
.woocommerce-page .woocommerce {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Responsive — stessi breakpoint della category card slider:
   1024 → 2 col / 768 → 2 col compresse / 480 → 2 col tight */
@media (max-width: 1024px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 24px 20px !important;
	}
}

@media (max-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px 14px !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 1.05rem !important;
		padding: 14px 10px 4px !important;
	}

	.woocommerce ul.products li.product .price {
		font-size: 1.02rem !important;
		padding: 0 10px !important;
		margin: 2px 0 12px !important;
	}

	.woocommerce ul.products li.product .button {
		margin: auto 10px 12px !important;
		width: calc(100% - 20px) !important;
		font-size: 10px !important;
		letter-spacing: 1.5px !important;
		padding: 9px 10px !important;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 14px 10px !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.98rem !important;
		padding: 12px 8px 2px !important;
	}

	.woocommerce ul.products li.product .price {
		font-size: 0.98rem !important;
		padding: 0 8px !important;
	}

	.woocommerce ul.products li.product .button {
		margin: auto 8px 10px !important;
		width: calc(100% - 16px) !important;
		font-size: 9.5px !important;
		letter-spacing: 1px !important;
		padding: 8px 6px !important;
	}

	.woocommerce ul.products li.product .onsale {
		top: 8px !important;
		right: 8px !important;
		font-size: 8px !important;
		padding: 4px 8px !important;
	}
}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.single-product .woocommerce-product-gallery {
	border-radius: var(--radius-md);
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	border-radius: var(--radius-md);
}

.single-product .entry-summary .product_title {
	font-family: var(--font-serif);
	font-size: 2.3rem; /* +15%: 2 → 2.3 */
	font-weight: 300;
	margin-bottom: 0.5rem;
}

.single-product .entry-summary .woocommerce-product-rating {
	margin-bottom: 1rem;
}

.single-product .entry-summary p.price {
	font-family: var(--font-serif);
	font-size: 2.1rem; /* +15%: 1.8 → 2.1 */
	color: var(--sofyia-text);
	margin-bottom: 1.5rem;
}

.single-product .entry-summary .woocommerce-product-details__short-description {
	color: var(--sofyia-text-light);
	font-size: 16px; /* +15%: 15 → 17, capped a 16 per design */
	margin-bottom: 1.5rem;
	line-height: 1.8;
}

/* Qty input */
.woocommerce .quantity .qty {
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-size: 17px; /* +15%: 15 → 17 */
	text-align: center;
	color: var(--sofyia-text);
	padding: 10px;
	width: 70px;
}

/* Add to cart */
.single-product .single_add_to_cart_button {
	background: var(--sofyia-gold) !important;
	color: var(--sofyia-white) !important;
	font-size: 13px !important; /* +15%: 11 → 13 */
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	padding: 14px 32px !important;
	border-radius: var(--radius-sm) !important;
	border: none !important;
	transition: var(--transition) !important;
}

.single-product .single_add_to_cart_button:hover {
	background: var(--sofyia-gold-dark) !important;
}

/* Tabs prodotto */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 2px solid var(--sofyia-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--font-sans);
	font-size: 15px; /* +15%: 13 → 15 */
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--sofyia-text-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--sofyia-gold);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
	background: var(--sofyia-gold);
}

/* Prodotti correlati */
.related.products h2,
.upsells.products h2 {
	font-family: var(--font-serif);
	font-size: 2.1rem; /* +15%: 1.8 → 2.1 */
	font-weight: 400;
	text-align: center;
	margin-bottom: 2rem;
}

/* ============================================================
   SHIPPING PROGRESS BAR — spedizione gratuita (cart + checkout + minicart)
   ============================================================ */
.sofyia-shipping-progress {
	background: #fff;
	border: 1px solid #e8e3da;
	border-radius: 10px;
	padding: 16px 20px;
	margin: 0 0 24px;
	box-shadow: 0 2px 8px rgba(44, 44, 44, 0.04);
}
.sofyia-shipping-progress__text {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #2C2C2C;
	margin-bottom: 12px;
}
.sofyia-shipping-progress__text .amount {
	color: #C4956A;
	font-weight: 700;
}
.sofyia-shipping-progress__icon {
	font-size: 20px;
	flex-shrink: 0;
}
.sofyia-shipping-progress__bar {
	background: #f0ece5;
	border-radius: 10px;
	height: 8px;
	overflow: hidden;
}
.sofyia-shipping-progress__fill {
	background: linear-gradient(90deg, #C4956A 0%, #d6a87e 100%);
	height: 100%;
	border-radius: 10px;
	transition: width .4s ease;
}
.sofyia-shipping-progress.is-achieved .sofyia-shipping-progress__fill {
	background: linear-gradient(90deg, #4caf50 0%, #66bb6a 100%);
}
.sofyia-shipping-progress.is-achieved .sofyia-shipping-progress__text {
	color: #2e7d32;
}
.sofyia-shipping-progress.is-achieved .sofyia-shipping-progress__icon {
	color: #4caf50;
	font-weight: 700;
}

/* ============================================================
   CART — layout 2-col stile lovibes
   ============================================================ */
/* Wrapper page cart — full width handled da page.php custom */
body.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 24px auto 120px;
	padding: 0 24px 40px;
	box-sizing: border-box;
}
body.woocommerce-cart .sofyia-main--page {
	padding-bottom: 40px;
}

/* Progress bar dentro il cart wrapper */
body.woocommerce-cart .sofyia-shipping-progress {
	max-width: 100%;
}

/* 2-col grid: cart-form (sx 1.4fr) + cart-collaterals (dx 1fr sticky) */
body.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	grid-template-areas:
		"progress progress"
		"form collaterals";
	gap: 24px 50px;
	align-items: start;
}
body.woocommerce-cart .sofyia-shipping-progress {
	grid-area: progress;
}
body.woocommerce-cart form.woocommerce-cart-form {
	grid-area: form;
	min-width: 0;
}
body.woocommerce-cart .cart-collaterals {
	grid-area: collaterals;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: sticky;
	top: 100px;
}
body.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100% !important;
	float: none !important;
}

/* Cart form — table prodotti */
body.woocommerce-cart table.shop_table {
	border: 1px solid #e8e3da !important;
	border-radius: 10px !important;
	overflow: hidden;
	background: #fff;
	border-collapse: separate !important;
	border-spacing: 0;
}
body.woocommerce-cart table.shop_table thead {
	background: #f4ede0 !important;
}
/* Thumbnail prodotto nel cart — sempre quadrata 90x90 */
body.woocommerce-cart .product-thumbnail,
body.woocommerce-cart td.product-thumbnail {
	width: 110px !important;
	min-width: 110px;
	padding: 14px !important;
}
body.woocommerce-cart .product-thumbnail a {
	display: block;
	width: 90px;
	height: 90px;
}
body.woocommerce-cart .product-thumbnail img,
body.woocommerce-cart .product-thumbnail a img {
	width: 90px !important;
	height: 90px !important;
	max-width: 90px !important;
	min-width: 90px !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	object-position: center;
	border-radius: 8px !important;
	display: block;
	background: #faf8f4;
}
body.woocommerce-cart .product-quantity .qty {
	min-height: 44px !important;
	width: 70px;
	border: 1px solid #d4d4d4 !important;
	border-radius: 6px !important;
	padding: 8px !important;
	text-align: center;
}
body.woocommerce-cart .product-remove a.remove {
	color: #999 !important;
	font-size: 22px !important;
	background: transparent !important;
	transition: color .15s ease;
}
body.woocommerce-cart .product-remove a.remove:hover {
	color: #e74c3c !important;
	background: transparent !important;
}

/* Cell actions in fondo al cart-form */
body.woocommerce-cart .actions {
	background: transparent !important;
	padding: 24px 0 !important;
	border: none !important;
}

/* Coupon box: input sopra full-width, bottone "Applica" staccato sotto a destra */
body.woocommerce-cart .coupon {
	display: block !important;
	background: #fff;
	border: 1px solid #e8e3da;
	border-radius: 8px;
	padding: 20px 22px !important;
	margin-bottom: 0 !important;
}
body.woocommerce-cart .coupon::before {
	content: "Hai un codice promozionale?";
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.3rem;
	font-weight: 600;
	color: #2C2C2C;
	margin-bottom: 14px;
}
body.woocommerce-cart .coupon label[for="coupon_code"] {
	display: none !important;
}
body.woocommerce-cart .coupon .input-text {
	display: block !important;
	width: 100% !important;
	min-height: 46px !important;
	border: 1px solid #d4d4d4 !important;
	border-radius: 6px !important;
	padding: 10px 14px !important;
	margin: 0 0 14px 0 !important;
	box-sizing: border-box;
}
body.woocommerce-cart .coupon button.button {
	display: block;
	background: #C4956A !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 12px 24px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	min-height: 46px !important;
	min-width: 200px;
	box-shadow: none !important;
	white-space: nowrap;
	margin-left: auto !important;
}
body.woocommerce-cart .coupon button.button:hover {
	background: #a87a52 !important;
}

/* "Aggiorna carrello" STACCATO dal coupon box, con margine sopra */
body.woocommerce-cart button[name="update_cart"] {
	display: block;
	background: transparent !important;
	color: #2C2C2C !important;
	border: 1px solid #d4d4d4 !important;
	border-radius: 30px !important;
	padding: 12px 28px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	min-height: 46px !important;
	min-width: 200px;
	box-shadow: none !important;
	white-space: nowrap;
	margin: 28px 0 0 auto !important;
	float: none !important;
	transition: border-color .15s ease, color .15s ease;
}
body.woocommerce-cart button[name="update_cart"]:hover {
	border-color: #C4956A !important;
	color: #C4956A !important;
	background: transparent !important;
}
body.woocommerce-cart button[name="update_cart"]:disabled,
body.woocommerce-cart button[name="update_cart"][disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Cart totals (colonna dx) */
body.woocommerce-cart .cart_totals {
	background: #faf8f4 !important;
	border: 1px solid #e8e3da !important;
	border-radius: 10px !important;
	padding: 28px 24px !important;
	box-shadow: 0 2px 8px rgba(44, 44, 44, 0.04);
}
body.woocommerce-cart .cart_totals h2 {
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: #2C2C2C !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: none !important;
}
body.woocommerce-cart .cart_totals table.shop_table {
	background: transparent !important;
	border: none !important;
	margin: 0 0 20px !important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	background: transparent !important;
	border-bottom: 1px solid #e8e3da !important;
	padding: 14px 0 !important;
	font-size: 15px !important;
	color: #2C2C2C !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	border-top: 2px solid #C4956A !important;
	border-bottom: none !important;
	padding: 18px 0 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
}
body.woocommerce-cart .cart_totals .order-total .amount {
	color: #C4956A !important;
}
body.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	background: #C4956A !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 16px 24px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	text-align: center;
	box-shadow: none !important;
	min-height: 56px;
	transition: background-color .15s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #a87a52 !important;
}

/* ============================================================
   SHIPPING METHODS — card grandi che usano tutta la larghezza
   ============================================================ */
/* Override del label "Shipping" → "Spedizione" gestito via filter PHP */

/* Riga shipping nella tabella totali — full width + heading "Spedizione" sopra */
.cart_totals tr.shipping,
#order_review tr.shipping,
.woocommerce-shipping-totals {
	display: block;
}
.cart_totals tr.shipping th,
#order_review tr.shipping th,
.woocommerce-shipping-totals th {
	display: block;
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 1.3rem !important;
	font-weight: 700 !important;
	color: #2C2C2C !important;
	border: none !important;
	padding: 16px 0 10px !important;
	margin: 0 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.cart_totals tr.shipping td,
#order_review tr.shipping td,
.woocommerce-shipping-totals td {
	display: block;
	padding: 0 0 16px !important;
	border: none !important;
	background: transparent !important;
}

/* Lista metodi: stack verticale, full-width della card */
.woocommerce-shipping-methods,
ul#shipping_method {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Card singola metodo spedizione — sfrutta tutta la larghezza */
.woocommerce-shipping-methods li,
ul#shipping_method li {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 2px solid #e8e3da;
	border-radius: 10px;
	padding: 14px 16px !important;
	margin: 0 !important;
	font-size: 14px !important;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
	cursor: pointer;
	list-style: none !important;
	width: 100% !important;
	box-sizing: border-box;
	position: relative;
}
.woocommerce-shipping-methods li::before,
ul#shipping_method li::before {
	display: none !important;
}
.woocommerce-shipping-methods li:hover,
ul#shipping_method li:hover {
	border-color: #d6a87e;
	background: #fffdf9;
}
.woocommerce-shipping-methods li:has(input[type="radio"]:checked),
ul#shipping_method li:has(input[type="radio"]:checked) {
	border-color: #C4956A;
	background: #faf8f4;
	box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.12);
}

/* Radio custom rotondo */
.woocommerce-shipping-methods li input[type="radio"],
ul#shipping_method li input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 22px !important;
	height: 22px !important;
	min-height: auto !important;
	border: 2px solid #c4c4c4;
	border-radius: 50%;
	background: #fff;
	margin: 0 !important;
	flex-shrink: 0;
	cursor: pointer;
	position: relative;
}
.woocommerce-shipping-methods li input[type="radio"]:checked,
ul#shipping_method li input[type="radio"]:checked {
	border-color: #C4956A;
}
.woocommerce-shipping-methods li input[type="radio"]:checked::after,
ul#shipping_method li input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #C4956A;
}

/* Label: nome metodo + prezzo a destra (usa tutta la larghezza) */
.woocommerce-shipping-methods li label,
ul#shipping_method li label {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #2C2C2C !important;
	cursor: pointer;
	flex: 1;
	width: 100%;
}
.woocommerce-shipping-methods li label .amount,
ul#shipping_method li label .amount {
	font-size: 15px !important;
	color: #C4956A !important;
	font-weight: 700 !important;
	white-space: nowrap;
}

/* Icona spedizione (pseudo-element davanti al label) — emoji semplice */
.woocommerce-shipping-methods li::after,
ul#shipping_method li::after {
	content: '';
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	border-radius: 10px;
	pointer-events: none;
}

/* "Le opzioni di spedizione verranno aggiornate" hint */
.woocommerce-shipping-calculator {
	margin-top: 12px;
	font-size: 13px;
}
.woocommerce-shipping-calculator a.shipping-calculator-button {
	color: #C4956A !important;
	font-weight: 600;
	text-decoration: underline;
}

/* Mobile cart */
@media (max-width: 992px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr;
		grid-template-areas:
			"progress"
			"form"
			"collaterals";
	}
	body.woocommerce-cart .cart-collaterals {
		position: static;
	}
}

/* ============================================================
   CART — vecchio (mantenuto per fallback layout, override sopra)
   ============================================================ */
.woocommerce-cart-form table.shop_table {
	border: none;
}

.woocommerce-cart-form table.shop_table th {
	font-family: var(--font-sans);
	font-size: 13px; /* +15%: 11 → 13 */
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sofyia-text-light);
	border: none;
	padding: 16px 12px;
	background: var(--sofyia-cream);
}

.woocommerce-cart-form table.shop_table td {
	border: none;
	border-top: 1px solid var(--sofyia-border);
	padding: 20px 12px;
	vertical-align: middle;
}

.woocommerce-cart-form .product-name a {
	font-family: var(--font-serif);
	font-size: 1.15rem; /* +15%: 1 → 1.15 */
	color: var(--sofyia-text);
}

.cart-collaterals .cart_totals {
	background: var(--sofyia-white);
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-md);
	padding: 30px;
}

.cart_totals h2 {
	font-family: var(--font-serif);
	font-size: 1.6rem; /* +15%: 1.4 → 1.6 */
	font-weight: 400;
	margin-bottom: 1.5rem;
}

/* Coupon */
.woocommerce-cart .coupon .input-text {
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-sm);
	padding: 10px 14px;
	font-family: var(--font-sans);
	font-size: 16px; /* +15%: 14 → 16 */
}

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-serif);
	font-size: 1.6rem; /* +15%: 1.4 → 1.6 */
	font-weight: 400;
	margin-bottom: 1.5rem;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sofyia-border);
}

.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
	border: 1px solid var(--sofyia-border) !important;
	border-radius: var(--radius-sm) !important;
	font-family: var(--font-sans) !important;
	font-size: 16px !important; /* +15%: 14 → 16 */
	padding: 12px 16px !important;
	background: var(--sofyia-white) !important;
	color: var(--sofyia-text) !important;
	transition: var(--transition) !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input:focus {
	border-color: var(--sofyia-gold) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.15) !important;
}

.woocommerce-checkout label {
	font-size: 15px; /* +15%: 13 → 15 */
	font-weight: 500;
	color: var(--sofyia-text);
	margin-bottom: 6px;
}

#place_order {
	width: 100%;
	padding: 16px !important;
	font-size: 15px !important; /* +15%: 13 → 15 */
	letter-spacing: 2px !important;
}

/* ============================================================
   CHECKOUT — stile lovibes-adaptato (palette sofyia gold)
   ============================================================ */
/* Wrapper page.php custom — full-width (no max-width parent) */
.sofyia-main.sofyia-main--page {
	display: block;
	width: 100%;
	max-width: 100%;
}
.sofyia-main--page .sofyia-page-content {
	width: 100%;
	max-width: 100%;
}
.sofyia-main--page .sofyia-page-content > .woocommerce {
	max-width: 100%;
	width: 100%;
}

/* Notices + cart-empty info container (max 1200) */
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce > form.checkout_coupon,
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-info {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

/* Page heading "Pagamento" / "Carrello" / "Mio Account" */
body.woocommerce-checkout .sofyia-page-header,
body.woocommerce-cart .sofyia-page-header,
body.woocommerce-account .sofyia-page-header {
	max-width: 1200px;
	margin: 32px auto 16px;
	padding: 0 24px;
}
body.woocommerce-checkout .sofyia-page-title,
body.woocommerce-cart .sofyia-page-title,
body.woocommerce-account .sofyia-page-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.5rem;
	font-weight: 700;
	color: #2C2C2C;
	margin: 0;
}

/* Base font sulla pagina checkout (override font ereditato 13/14px) */
body.woocommerce-checkout,
body.woocommerce-checkout p,
body.woocommerce-checkout label,
body.woocommerce-checkout td,
body.woocommerce-checkout th {
	font-size: 16px;
}

/* Layout 2-col: customer_details (sx 60%) + order_review (dx 40%, sticky) */
form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	grid-template-areas:
		"customer review-h"
		"customer review";
	grid-template-rows: auto 1fr;
	gap: 24px 50px;
	max-width: 1200px !important;
	width: 100% !important;
	margin: 24px auto 60px !important;
	padding: 0 24px !important;
	box-sizing: border-box;
	align-items: start;
}
form.checkout #customer_details {
	grid-area: customer;
	min-width: 0;
	width: 100% !important;
}
form.checkout #order_review_heading {
	grid-area: review-h;
	margin: 0 !important;
}
form.checkout #order_review {
	grid-area: review;
	width: 100% !important;
}
form.checkout .col-1,
form.checkout .col-2 {
	width: 100% !important;
	float: none !important;
	margin-bottom: 32px;
}
form.checkout .col2-set {
	width: 100% !important;
}

/* Order review box (right side) — sticky su desktop */
form.checkout #order_review {
	background: #faf8f4;
	border: 1px solid #e8e3da;
	border-radius: 10px;
	padding: 28px 24px;
	position: sticky;
	top: 100px;
}
form.checkout #order_review_heading {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 700;
	color: #2C2C2C;
	margin: 0 0 20px 0;
	padding: 0;
	border: none;
}
form.checkout #customer_details h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 700;
	color: #2C2C2C;
	margin: 0 0 24px 0;
	padding: 0;
	border: none;
}

/* Input height + label sopra */
form.checkout .woocommerce-input-wrapper {
	display: block;
}
form.checkout .woocommerce-input-wrapper input,
form.checkout .woocommerce-input-wrapper select,
form.checkout .select2-container .select2-selection {
	min-height: 50px !important;
	border-radius: 6px !important;
	border: 1px solid #d4d4d4 !important;
	background: #fff !important;
}
form.checkout label,
form.checkout .form-row > label:first-child {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #2C2C2C;
	margin-bottom: 8px;
}
form.checkout .form-row .required {
	color: #C4956A;
	text-decoration: none;
}

/* Bottone "Effettua ordine" pill rounded gold */
form.checkout #place_order {
	background: #C4956A !important;
	color: #fff !important;
	border: none !important;
	padding: 16px 40px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	border-radius: 30px !important;
	box-shadow: none !important;
	min-height: 56px;
	transition: background-color .15s ease;
}
form.checkout #place_order:hover {
	background: #a87a52 !important;
}

/* Codice fiscale field — typography uppercase, monospace */
#billing_cf_field input,
#shipping_cf_field input {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
}

/* ----------------------------------------------------------------
   FORM ROWS — tutti full-width della colonna (uniformi + allineati)
   ---------------------------------------------------------------- */
form.checkout .form-row,
form.checkout .form-row-first,
form.checkout .form-row-last,
form.checkout .form-row-wide {
	width: 100% !important;
	float: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	clear: both;
	box-sizing: border-box;
}
form.checkout .form-row input.input-text,
form.checkout .form-row select,
form.checkout .form-row textarea {
	width: 100% !important;
	box-sizing: border-box;
}
form.checkout .form-row textarea {
	min-height: 100px !important;
	padding: 12px 14px !important;
	border-radius: 6px !important;
	border: 1px solid #d4d4d4 !important;
}

/* ----------------------------------------------------------------
   AREA SOPRA LE 2 COLONNE — banner PayPal Pay Later + coupon
   ---------------------------------------------------------------- */
/* NASCONDI il toggle "Hai un codice promozionale?" — form coupon SEMPRE visibile */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	display: none !important;
}

/* Login toggle "Sei già un cliente? Fai clic qui per accedere" — banner pulito */
body.woocommerce-checkout .woocommerce-form-login-toggle {
	max-width: 1200px;
	margin: 0 auto 14px;
	padding: 0 24px;
	box-sizing: border-box;
}
/* Override del grid generico .woocommerce-info per questo specifico contesto */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	display: flex !important;
	grid-template-columns: none !important;
	align-items: center;
	gap: 12px;
	background: #faf8f4 !important;
	border: 1px solid #e8e3da !important;
	border-left: 4px solid #C4956A !important;
	border-top: 1px solid #e8e3da !important;
	border-radius: 8px !important;
	color: #2C2C2C !important;
	padding: 14px 20px !important;
	font-size: 14px !important;
	margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
	content: '👤' !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	background: transparent !important;
	color: inherit !important;
	font-size: 20px !important;
	font-family: inherit !important;
	font-style: normal !important;
	border: none !important;
	border-radius: 0 !important;
	flex-shrink: 0;
	margin: 0 !important;
	padding: 0 !important;
	grid-column: auto !important;
	grid-row: auto !important;
}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info > * {
	grid-column: auto !important;
}
body.woocommerce-checkout .woocommerce-form-login-toggle a.showlogin,
body.woocommerce-checkout .woocommerce-form-login-toggle a {
	color: #C4956A !important;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 4px;
}

/* Stesso pattern per "Hai un codice promozionale?" toggle (se appare) */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	display: flex !important;
	grid-template-columns: none !important;
}

/* Form coupon SEMPRE visibile (override display:none inline di WC) */
body.woocommerce-checkout form.checkout_coupon {
	display: block !important;
	max-width: 1200px;
	margin: 0 auto 20px !important;
	padding: 20px 22px !important;
	background: #fff !important;
	border: 1px solid #e8e3da !important;
	border-radius: 8px !important;
	box-sizing: border-box;
}
body.woocommerce-checkout form.checkout_coupon::before {
	content: "Hai un codice promozionale?";
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.4rem;
	font-weight: 600;
	color: #2C2C2C;
	margin-bottom: 14px;
}
/* Input full-width SOPRA */
body.woocommerce-checkout form.checkout_coupon p:first-of-type {
	display: block !important;
	width: 100% !important;
	flex: none !important;
	min-width: 0 !important;
	margin: 0 0 14px 0 !important;
}
body.woocommerce-checkout form.checkout_coupon input.input-text {
	width: 100% !important;
	box-sizing: border-box;
}
/* Bottone SOTTO, allineato a destra (staccato dall'input) */
body.woocommerce-checkout form.checkout_coupon p:nth-of-type(2),
body.woocommerce-checkout form.checkout_coupon p.form-row-last {
	display: flex !important;
	justify-content: flex-end;
	width: 100% !important;
	margin: 0 !important;
}
body.woocommerce-checkout form.checkout_coupon button.button {
	width: auto !important;
	min-width: 200px;
}
body.woocommerce-checkout form.checkout_coupon p {
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 1 auto;
	min-width: 200px;
}
body.woocommerce-checkout form.checkout_coupon input.input-text {
	min-height: 46px !important;
	border-radius: 6px !important;
	border: 1px solid #d4d4d4 !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
}
body.woocommerce-checkout form.checkout_coupon button.button {
	background: #C4956A !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 12px 24px !important;
	min-height: 46px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	white-space: nowrap;
}
body.woocommerce-checkout form.checkout_coupon button.button:hover {
	background: #a87a52 !important;
}

/* Banner PayPal Pay Later — sposta in colonna destra sopra riepilogo
   (selettori difensivi per il widget messaging del plugin PayPal) */
[data-pp-message],
.ppc-message,
.ppc-message-container,
.ppc-messages-container,
.wc-paypal-pay-later-message,
.wc_payment_method-ppcp-pay-later-message,
.pcp-message-container,
.woocommerce-paypal-paylater-message {
	max-width: 1200px;
	margin: 0 auto 16px !important;
	padding: 0 24px;
	box-sizing: border-box;
	display: block;
}

/* ----------------------------------------------------------------
   RIEPILOGO ORDINE — table chiara, totale evidenziato
   ---------------------------------------------------------------- */
.woocommerce-checkout #order_review table.shop_table {
	background: #fff !important;
	border: 1px solid #e8e3da !important;
	border-radius: 8px !important;
	overflow: hidden;
	border-collapse: separate !important;
	border-spacing: 0;
	margin: 0 0 20px 0 !important;
	width: 100% !important;
}
.woocommerce-checkout #order_review table.shop_table thead th {
	background: #f4ede0 !important;
	color: #2C2C2C !important;
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid #e8e3da !important;
}
.woocommerce-checkout #order_review table.shop_table tbody td,
.woocommerce-checkout #order_review table.shop_table tbody th {
	padding: 14px 16px !important;
	border-bottom: 1px solid #f0ece5 !important;
	font-size: 14px !important;
	color: #2C2C2C !important;
	vertical-align: top;
}
.woocommerce-checkout #order_review table.shop_table tbody tr:last-child td,
.woocommerce-checkout #order_review table.shop_table tbody tr:last-child th {
	border-bottom: none !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot th,
.woocommerce-checkout #order_review table.shop_table tfoot td {
	padding: 12px 16px !important;
	font-size: 14px !important;
	border-top: 1px solid #e8e3da !important;
	border-bottom: none !important;
	background: transparent !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
	background: #f4ede0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #2C2C2C !important;
	padding: 16px !important;
	border-top: 2px solid #C4956A !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total .amount {
	color: #C4956A !important;
	font-weight: 700 !important;
}
.woocommerce-checkout #order_review .product-name {
	font-weight: 500 !important;
}
.woocommerce-checkout #order_review .product-total .amount {
	font-weight: 600 !important;
}

/* ----------------------------------------------------------------
   PAYMENT METHODS — card selezionabili con border-radius e hover
   ---------------------------------------------------------------- */
.woocommerce-checkout #payment {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	margin-bottom: 20px;
}
.woocommerce-checkout #payment ul.payment_methods {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none !important;
}

/* Ogni metodo è una CARD */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	background: #fff !important;
	border: 2px solid #e8e3da !important;
	border-radius: 10px !important;
	padding: 16px 18px !important;
	margin: 0 !important;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
	cursor: pointer;
	position: relative;
	list-style: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::before {
	display: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover {
	border-color: #C4956A !important;
	background: #fffdf9 !important;
}

/* Stato SELECTED: bordo gold + bg gold-tint + shadow soft */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
	border-color: #C4956A !important;
	background: #faf8f4 !important;
	box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.12);
}

/* Layout interno della card: radio + label + logo */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	min-height: auto !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #c4c4c4 !important;
	border-radius: 50% !important;
	background: #fff !important;
	margin: 0 12px 0 0 !important;
	padding: 0 !important;
	vertical-align: middle;
	cursor: pointer;
	position: relative;
	transition: border-color .15s ease;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked {
	border-color: #C4956A !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #C4956A;
}

/* Label: nome metodo + icona */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #2C2C2C !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	flex: 1;
	min-height: 24px;
	vertical-align: middle;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img {
	max-height: 26px !important;
	width: auto !important;
	margin: 0 !important;
	display: inline-block;
	vertical-align: middle;
	float: none !important;
}

/* Box descrizione metodo (appare sotto al radio quando selezionato) */
.woocommerce-checkout #payment div.payment_box {
	background: #fff !important;
	border: 1px solid #e8e3da !important;
	border-radius: 6px !important;
	color: #2C2C2C !important;
	font-size: 13px !important;
	padding: 14px !important;
	margin: 14px 0 0 !important;
	line-height: 1.5;
}
.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
}

/* Place order area — separato dalle card, full width */
.woocommerce-checkout #payment .form-row.place-order {
	padding: 20px 0 0 !important;
	margin: 12px 0 0 !important;
	border-top: 1px solid #e8e3da;
	background: transparent !important;
}
.woocommerce-checkout #payment .terms,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	padding: 12px 0 0 !important;
	margin: 0 0 12px !important;
	font-size: 13px !important;
}

/* Mobile breakpoint */
@media (max-width: 992px) {
	form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"customer"
			"review-h"
			"review";
		gap: 32px;
	}
	body.woocommerce-checkout form.checkout_coupon {
		flex-direction: column;
		align-items: stretch;
	}
	body.woocommerce-checkout form.checkout_coupon button.button {
		width: 100%;
	}
}

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

/* Layout generale — grid sidebar + contenuto */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 40px;
	max-width: 1100px;
	margin: 80px auto 104px;
	padding: 0 24px;
	background: transparent;
	box-shadow: none;
}

/* ============================================================
   LOGIN + REGISTER (stile lovibes — flat 2-col, palette sofyia gold)
   ============================================================ */
/* Reset wrapper outer .woocommerce: NON grid (sovrascrive default
   grid 240px+1fr usato quando loggato). */
.woocommerce-account:not(.logged-in) .woocommerce {
	display: block !important;
	grid-template-columns: none !important;
	max-width: 1200px;
	margin: 24px auto 80px;
	padding: 0 24px;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}
/* Il vero grid 2-col va su .u-columns che contiene .u-column1 + .u-column2 */
.woocommerce-account .u-columns.col2-set,
.woocommerce-account .woocommerce > .u-columns {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	margin: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
	border: none;
}
/* Reset card style — flat full-width come lovibes */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
/* Titoli "Accedi" / "Registrati" — bold, scuro, generoso */
.woocommerce-account .u-columns h2,
.woocommerce-account .woocommerce-form > h2,
.woocommerce-form-login > h2,
.woocommerce-form-register > h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.25rem;
	font-weight: 700;
	color: #2C2C2C;
	margin: 0 0 28px 0;
	text-align: left;
	line-height: 1.1;
}
/* Label sopra ogni input */
.woocommerce-form-login label:not(.woocommerce-form__label-for-checkbox),
.woocommerce-form-register label:not(.woocommerce-form__label-for-checkbox),
.woocommerce-form-row > label {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #2C2C2C;
	margin-bottom: 8px;
}
.woocommerce-form-row > label .required {
	color: #C4956A;
	text-decoration: none;
}
/* Input fields — full width, alti, bordo netto */
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="email"],
.woocommerce-form-register input[type="password"] {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #d4d4d4;
	border-radius: 6px;
	background: #fff;
	font-size: 15px;
	font-family: inherit;
	transition: border-color .15s ease, box-shadow .15s ease;
	box-sizing: border-box;
	min-height: 50px;
}
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
	outline: none;
	border-color: #C4956A;
	box-shadow: 0 0 0 3px rgba(196,149,106,.15);
}
/* Form rows spacing */
.woocommerce-form-row {
	margin-bottom: 20px;
	padding: 0 !important;
}
/* Bottoni "Accedi" / "Registrati" — rounded pill, gold sofyia */
.woocommerce-form-login button.button,
.woocommerce-form-register button.button,
.woocommerce-Button,
.woocommerce-account button[name="login"],
.woocommerce-account button[name="register"] {
	display: inline-block;
	background: #C4956A !important;
	color: #fff !important;
	border: none !important;
	padding: 14px 40px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	border-radius: 30px !important;
	cursor: pointer;
	transition: background-color .15s ease;
	margin-top: 4px;
	box-shadow: none !important;
	min-height: 50px;
	line-height: 1;
}
.woocommerce-form-login button.button:hover,
.woocommerce-form-register button.button:hover,
.woocommerce-Button:hover {
	background: #a87a52 !important;
	transform: none !important;
}
/* Remember me row */
.woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px 0 !important;
	font-size: 14px;
	color: #2C2C2C;
}
.woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: #C4956A;
	margin: 0;
}
/* Password lost link sotto il bottone */
.woocommerce-LostPassword {
	margin-top: 18px;
	font-size: 14px;
}
.woocommerce-LostPassword a {
	color: #C4956A;
	text-decoration: underline;
	font-weight: 500;
}
.woocommerce-LostPassword a:hover {
	color: #a87a52;
}
/* Privacy policy text + paragrafi info Register */
.woocommerce-privacy-policy-text,
.woocommerce-form-register > p:not(.form-row):not(.woocommerce-FormRow) {
	font-size: 14px;
	color: #4a4a4a;
	line-height: 1.6;
	margin-bottom: 16px;
}
.woocommerce-privacy-policy-text a {
	color: #C4956A;
	text-decoration: underline;
}
/* Breadcrumb "Home / Il mio Account" sopra le colonne (se Hello Elementor lo renderizza) */
.woocommerce-account .woocommerce-breadcrumb {
	max-width: 1200px;
	margin: 16px auto 0;
	padding: 0 24px;
	font-size: 14px;
	color: #6b6b6b;
}
.woocommerce-account .woocommerce-breadcrumb a {
	color: #6b6b6b;
	text-decoration: none;
}
.woocommerce-account .woocommerce-breadcrumb a:hover {
	color: #C4956A;
}
/* Mobile: 1 colonna */
@media (max-width: 880px) {
	.woocommerce-account .u-columns.col2-set,
	.woocommerce-account .woocommerce > .u-columns {
		grid-template-columns: 1fr !important;
		gap: 40px;
	}
	.woocommerce-account:not(.logged-in) .woocommerce {
		padding: 0 20px;
	}
	.woocommerce-account .u-columns h2,
	.woocommerce-form-login > h2,
	.woocommerce-form-register > h2 {
		font-size: 1.75rem;
	}
}

/* Sidebar navigazione */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--sofyia-white);
	border-radius: var(--radius-md);
	padding: 24px;
	box-shadow: var(--shadow-card);
	height: fit-content;
	position: sticky;
	top: 100px;
}

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

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid var(--sofyia-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 12px;
	font-family: var(--font-sans);
	font-size: 14px;
	color: var(--sofyia-text-light);
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition: var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--sofyia-gold);
	background: var(--sofyia-cream);
	padding-left: 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--sofyia-gold);
	font-weight: 500;
	background: var(--sofyia-cream);
}

/* Contenuto principale */
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--sofyia-white);
	border-radius: var(--radius-md);
	padding: 36px 40px;
	box-shadow: var(--shadow-card);
}

/* Titoli sezione */
.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-family: var(--font-serif) !important;
	font-size: 1.4rem !important;
	font-weight: 300 !important;
	letter-spacing: 0.5px !important;
	color: var(--sofyia-text) !important;
	margin-bottom: 20px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--sofyia-border) !important;
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--font-serif) !important;
	font-size: 1.15rem !important;
	font-weight: 300 !important;
	color: var(--sofyia-text) !important;
	margin-bottom: 16px !important;
}

/* Testo paragrafo */
.woocommerce-account .woocommerce-MyAccount-content p {
	font-size: 15px;
	color: var(--sofyia-text-light);
	line-height: 1.8;
}

/* Link inline */
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--sofyia-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Tabella ordini */
.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders-table th {
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sofyia-text-light);
	padding: 12px 16px;
	background: var(--sofyia-cream);
	border-bottom: 2px solid var(--sofyia-border);
	text-align: left;
}

.woocommerce-account .woocommerce-orders-table td {
	padding: 16px;
	border-bottom: 1px solid var(--sofyia-border);
	font-size: 14px;
	color: var(--sofyia-text);
}

.woocommerce-account .woocommerce-orders-table tr:last-child td {
	border-bottom: none;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-button {
	font-size: 11px !important;
	padding: 8px 16px !important;
	letter-spacing: 1px !important;
}

/* Form indirizzi e dettagli account */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm select {
	border: 1px solid var(--sofyia-border) !important;
	border-radius: var(--radius-sm) !important;
	font-family: var(--font-sans) !important;
	font-size: 14px !important;
	padding: 11px 14px !important;
	color: var(--sofyia-text) !important;
	background: var(--sofyia-cream) !important;
	transition: var(--transition) !important;
	width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content input:focus {
	border-color: var(--sofyia-gold) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.15) !important;
	background: var(--sofyia-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--sofyia-text);
	margin-bottom: 6px;
	display: block;
}

/* Badge status ordine */
.woocommerce-account .wc-item-meta,
.woocommerce-account mark.order-status {
	background: var(--sofyia-cream) !important;
	color: var(--sofyia-gold) !important;
	border-radius: 20px !important;
	padding: 4px 12px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
}

/* Pagina ordini — nessun ordine presente */
.woocommerce-account .woocommerce-message--info,
.woocommerce-account .woocommerce-info {
	background: var(--sofyia-cream) !important;
	border: 1px solid var(--sofyia-border) !important;
	border-top: none !important;
	border-radius: var(--radius-sm) !important;
	color: var(--sofyia-text-light) !important;
	font-size: 14px !important;
	padding: 16px 20px !important;
	box-shadow: none !important;
}

.woocommerce-account .woocommerce-info::before {
	display: none !important;
}

.woocommerce-account .woocommerce-info .button {
	font-size: 11px !important;
	padding: 10px 20px !important;
	letter-spacing: 1.5px !important;
	float: none !important;
	display: inline-block !important;
	margin-top: 12px !important;
}

/* Pagina download — messaggio minimal */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
	font-size: 14px !important;
	color: var(--sofyia-text-light) !important;
	background: var(--sofyia-cream) !important;
	border: 1px solid var(--sofyia-border) !important;
	border-top: none !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	padding: 16px 20px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
	display: none !important;
}

/* Responsive mobile */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 20px;
		margin: 30px auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 24px 20px;
	}
}

/* ============================================================
   NOTICES & MESSAGES — card centrate stile sofyia gold
   ============================================================ */
.woocommerce-notices-wrapper {
	max-width: 900px;
	margin: 20px auto;
	padding: 0 24px;
}

/* MESSAGGIO SUCCESS ("X è stato aggiunto al carrello") */
.woocommerce-message {
	display: grid !important;
	grid-template-columns: 32px 1fr auto;
	column-gap: 14px;
	row-gap: 6px;
	align-items: center;
	background: #faf8f4 !important;
	border: 1px solid #e8e3da !important;
	border-left: 4px solid #C4956A !important;
	border-top: 1px solid #e8e3da !important;
	border-radius: 10px !important;
	padding: 18px 22px !important;
	font-size: 15px !important;
	color: #2C2C2C !important;
	box-shadow: 0 4px 14px rgba(44, 44, 44, 0.06);
	animation: sofyiaNoticeIn .35s ease;
	list-style: none !important;
	margin: 0 0 16px !important;
}
.woocommerce-message > li {
	display: block !important;
	grid-column: 2 !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	border: none !important;
	background: transparent !important;
}
.woocommerce-message::before {
	content: '' !important;
	display: inline-block;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #C4956A;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,8 7,12 13,5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	color: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	font-family: inherit !important;
	grid-column: 1;
	grid-row: 1;
	align-self: center;
}
.woocommerce-message .button,
.woocommerce-message a.wc-forward {
	grid-column: 3;
	grid-row: 1;
}

/* Bottone "Visualizza carrello" — pill gold uniforme con checkout */
.woocommerce-message .button,
.woocommerce-message a.wc-forward {
	background: #C4956A !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 10px 22px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	float: none !important;
	white-space: nowrap;
	transition: background-color .15s ease;
	justify-self: end;
}
.woocommerce-message .button:hover,
.woocommerce-message a.wc-forward:hover {
	background: #a87a52 !important;
	color: #fff !important;
}

/* MESSAGGIO ERROR — grid layout: icona sx + lista errori impilata dx */
.woocommerce-error {
	display: grid !important;
	grid-template-columns: 32px 1fr;
	column-gap: 14px;
	row-gap: 0;
	align-items: start;
	background: #fdf2f1 !important;
	border: 1px solid #f5c6c2 !important;
	border-left: 4px solid #e74c3c !important;
	border-top: 1px solid #f5c6c2 !important;
	border-radius: 10px !important;
	padding: 18px 22px !important;
	font-size: 15px !important;
	color: #721c24 !important;
	box-shadow: 0 4px 14px rgba(231, 76, 60, 0.08);
	animation: sofyiaNoticeIn .35s ease;
	list-style: none !important;
	margin: 0 0 16px !important;
}
.woocommerce-error::before {
	content: '!' !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #e74c3c;
	color: #fff !important;
	font-weight: 700;
	font-size: 18px;
	font-family: inherit;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	grid-column: 1;
	grid-row: 1 / span 99;
	align-self: start;
	line-height: 1;
}
.woocommerce-error li {
	display: block !important;
	grid-column: 2 !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 4px 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	color: #721c24 !important;
	border: none !important;
	background: transparent !important;
	min-width: 0;
	width: auto !important;
}
.woocommerce-error li strong {
	color: #5a161c;
	font-weight: 700;
}
.woocommerce-error li + li {
	border-top: 1px dashed rgba(231, 76, 60, 0.25) !important;
	margin-top: 4px !important;
}

/* MESSAGGIO INFO */
.woocommerce-info {
	display: grid !important;
	grid-template-columns: 32px 1fr;
	column-gap: 14px;
	row-gap: 0;
	align-items: start;
	background: #faf8f4 !important;
	border: 1px solid #e8e3da !important;
	border-left: 4px solid #C4956A !important;
	border-top: 1px solid #e8e3da !important;
	border-radius: 10px !important;
	padding: 18px 22px !important;
	font-size: 15px !important;
	color: #2C2C2C !important;
	margin: 0 0 16px !important;
}
.woocommerce-info::before {
	content: 'i' !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #C4956A;
	color: #fff !important;
	font-style: italic;
	font-weight: 700;
	font-size: 16px;
	font-family: 'Cormorant Garamond', serif;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	grid-column: 1;
	grid-row: 1 / span 99;
	align-self: start;
}
.woocommerce-info > li,
.woocommerce-info p {
	display: block !important;
	grid-column: 2 !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	border: none !important;
	background: transparent !important;
}

@keyframes sofyiaNoticeIn {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Field-level error sotto input (validazione client-side WC) */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
form.checkout .form-row.woocommerce-invalid input.input-text,
form.checkout .form-row.woocommerce-invalid select {
	border-color: #e74c3c !important;
	background-color: #fffbfb !important;
}
.woocommerce form .form-row.woocommerce-invalid label,
form.checkout .form-row.woocommerce-invalid label {
	color: #e74c3c;
}
.woocommerce form .form-row.woocommerce-validated input.input-text,
form.checkout .form-row.woocommerce-validated input.input-text {
	border-color: #4caf50 !important;
}

/* WC Blocks-style validation error */
.wc-block-components-validation-error,
.wc-block-components-notice-banner {
	background: #fdf2f1 !important;
	border: 1px solid #f5c6c2 !important;
	border-left: 4px solid #e74c3c !important;
	border-radius: 8px !important;
	color: #721c24 !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
	margin: 6px 0 !important;
}

/* Mobile: layout grid si stack, button va a capo */
@media (max-width: 600px) {
	.woocommerce-message {
		grid-template-columns: 32px 1fr;
	}
	.woocommerce-message .button,
	.woocommerce-message a.wc-forward {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		margin: 8px 0 0 !important;
		width: 100% !important;
		text-align: center;
		justify-self: stretch !important;
	}
}

/* ============================================================
   AREA UTENTE — rifiniture grafiche (2026-06-05)
   ============================================================ */

/* Residuo del password strength meter rimosso: nascondi la barretta vuota. */
.woocommerce-account .woocommerce-password-strength,
.woocommerce-account .woocommerce-password-hint,
.woocommerce-password-strength,
.woocommerce-password-hint {
	display: none !important;
}

/* Menu account — accento oro a sinistra sull'attivo + icone eleganti. */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	border-left: 3px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	border-left-color: var(--sofyia-gold);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	/* longhand: NON usare lo shorthand `background` qui, azzererebbe la
	   background-image impostata dalle regole per-endpoint (specificità). */
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.85;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 12 3l9 8'/%3E%3Cpath d='M5 9.5V20h5v-6h4v6h5V9.5'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 7V6a3 3 0 0 1 6 0v1'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.5 7-11a7 7 0 1 0-14 0c0 4.5 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 12H4'/%3E%3Cpath d='m8 8-4 4 4 4'/%3E%3Cpath d='M11 4h7a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-7'/%3E%3C/svg%3E");
}

/* Voci stack: affiliazione (share) + liste regalo (gift) */
.woocommerce-account .woocommerce-MyAccount-navigation-link--affiliazione a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='12' r='2.6'/%3E%3Ccircle cx='17' cy='6' r='2.6'/%3E%3Ccircle cx='17' cy='18' r='2.6'/%3E%3Cpath d='M8.4 10.8 14.6 7.2M8.4 13.2l6.2 3.6'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--liste-regalo a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8'/%3E%3Crect x='2.5' y='7' width='19' height='5' rx='1'/%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M12 7C12 7 10.5 3 8 4s-.5 3 4 3Z'/%3E%3Cpath d='M12 7c0 0 1.5-4 4-3s.5 3-4 3Z'/%3E%3C/svg%3E");
}

/* Dashboard — saluto piu curato. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-content__welcome,
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
	font-size: 16px;
	color: var(--sofyia-text);
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type strong {
	color: var(--sofyia-gold-dark);
	font-weight: 600;
}

/* Pagina INDIRIZZI — due card eleganti. */
.woocommerce-account .woocommerce-Addresses.addresses,
.woocommerce-account .woocommerce-Addresses.u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 8px;
}
.woocommerce-account .woocommerce-Address {
	background: var(--sofyia-cream);
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-md);
	padding: 24px 26px;
	width: auto !important;
	float: none !important;
}
.woocommerce-account .woocommerce-Address-title.title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sofyia-border);
}
.woocommerce-account .woocommerce-Address-title.title h2,
.woocommerce-account .woocommerce-Address-title.title h3 {
	margin: 0 !important;
	border: none !important;
	padding: 0 !important;
	font-family: var(--font-serif) !important;
	font-size: 1.15rem !important;
	font-weight: 300 !important;
}
.woocommerce-account .woocommerce-Address-title.title a.edit {
	flex: 0 0 auto;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--sofyia-gold) !important;
	border: 1px solid var(--sofyia-gold);
	border-radius: 999px;
	padding: 5px 14px;
	transition: var(--transition);
}
.woocommerce-account .woocommerce-Address-title.title a.edit:hover {
	background: var(--sofyia-gold);
	color: var(--sofyia-white) !important;
}
.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.9;
	color: var(--sofyia-text-light);
}

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-Addresses.addresses,
	.woocommerce-account .woocommerce-Addresses.u-columns {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* Toggle "mostra password" (button.show-password-input): era reso come barretta
   grigia perche il wrapper .password-input non era posizionato. Lo trasformiamo
   in un'icona occhio dentro il campo, a destra. */
.woocommerce-account .password-input {
	position: relative;
	display: block;
}
.woocommerce-account .password-input input {
	padding-right: 46px !important;
}
.woocommerce-account .password-input .show-password-input {
	position: absolute;
	top: 0;
	right: 0;
	width: 46px;
	height: 100%;
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.woocommerce-account .password-input .show-password-input::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	opacity: 0.55;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.woocommerce-account .password-input .show-password-input:hover::after {
	opacity: 0.85;
}
.woocommerce-account .password-input .show-password-input.display-password::after {
	opacity: 0.9;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 10.6a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M9.4 5.2A10 10 0 0 1 12 5c6.5 0 10 7 10 7a18 18 0 0 1-2.4 3.4M6.5 6.5A18 18 0 0 0 2 12s3.5 7 10 7a10 10 0 0 0 2.6-.3'/%3E%3C/svg%3E");
}

/* Empty-state ordini / messaggi nel contenuto account: la regola grid dei
   messaggi carrello li rompeva (testo in verticale + bottone a tutta larghezza).
   Forziamo un layout pulito: testo sopra, bottone normale sotto. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: flex-start !important;
	gap: 14px !important;
	grid-template-columns: none !important;
	text-align: left !important;
	padding: 22px 26px !important;
	background: var(--sofyia-cream) !important;
	border: 1px solid var(--sofyia-border) !important;
	border-radius: var(--radius-md) !important;
	box-shadow: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before {
	display: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
	display: inline-block !important;
	width: auto !important;
	max-width: max-content !important;
	float: none !important;
	margin: 0 !important;
	font-size: 11px !important;
	letter-spacing: 1.5px !important;
	padding: 11px 24px !important;
}

/* Conformità Omnibus — prezzo più basso 30gg sotto il prezzo in scheda prodotto */
.sofyia-omnibus {
	margin: 8px 0 12px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--sofyia-text-light, #777);
}

.sofyia-omnibus__price {
	font-weight: 600;
	color: inherit;
}
