/* ==========================================================================
   HC Bottega – WooCommerce
   ========================================================================== */

/* --------------------------------------------------------------- intestazione negozio */

.hc-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 18px;
	font-size: .82rem;
	letter-spacing: .04em;
	color: var(--ink-3);
}
.hc-breadcrumb a { color: var(--ink-2); text-decoration: none; }
.hc-breadcrumb a:hover { color: var(--wood-d); text-decoration: underline; }
.hc-breadcrumb .sep { opacity: .5; }

.hc-chips {
	display: flex;
	gap: 8px;
	margin-top: 28px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	margin-inline: calc(var(--gutter) * -1);
	padding-inline: var(--gutter);
}
.hc-chips::-webkit-scrollbar { display: none; }
.hc-chip {
	flex: none;
	padding: 9px 18px;
	border: 1.5px solid var(--paper-3);
	border-radius: 999px;
	background: var(--card);
	font-size: .92rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--ink-2);
	transition: border-color .2s, background .2s, color .2s;
}
.hc-chip:hover { border-color: var(--ink); color: var(--ink); }
.hc-chip.is-active { background: var(--ink); border-color: var(--ink); color: var(--paper); }

.hc-shop { padding-block: clamp(28px, 4vw, 48px) clamp(56px, 8vw, 100px); }
.hc-shop--single { padding-top: 24px; }

.woocommerce .woocommerce-result-count {
	margin: 10px 0 24px;
	font-size: .88rem;
	color: var(--ink-3);
}
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select { width: auto; min-height: 42px; padding-right: 36px; font-size: .9rem; }

/* --------------------------------------------------------------- barra sopra la griglia */

.hc-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: clamp(24px, 3vw, 36px);
	padding-bottom: 16px;
	border-bottom: 1px solid var(--line);
}
.hc-count { margin: 0; font: 1.05rem/1 var(--f-sans); color: var(--ink-2); display: flex; align-items: baseline; gap: 6px; }
.hc-count strong { font: 2rem/1 var(--f-serif); font-weight: 400; color: var(--ink); }
.hc-count .hc-hand { font-size: 1.5rem; color: var(--brass-d); }

.hc-sort { display: flex; align-items: center; gap: 12px; }
.hc-sort__label { font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); }
.hc-sort__opts {
	display: inline-flex;
	padding: 4px;
	gap: 2px;
	background: var(--paper-2);
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(43, 33, 24, .12);
}
.hc-sort__opt {
	padding: 8px 15px;
	border-radius: 999px;
	font-size: .88rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ink-2);
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s, color .2s;
}
.hc-sort__opt:hover { color: var(--ink); background: rgba(255, 255, 255, .5); }
.hc-sort__opt.is-active { background: var(--card); color: var(--ink); box-shadow: 0 1px 0 rgba(43, 33, 24, .08), 0 4px 10px -6px rgba(43, 33, 24, .5); }

@media (max-width: 640px) {
	.hc-sort { width: 100%; }
	.hc-sort__label { display: none; }
	.hc-sort__opts { width: 100%; overflow-x: auto; scrollbar-width: none; }
	.hc-sort__opt { flex: 1; text-align: center; padding-inline: 10px; }
}

/* --------------------------------------------------------------- card prodotto: cartellino */

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 32px);
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	float: none;
	clear: none;
	width: auto;
	margin: 0;
	padding: 10px 10px 0;
	display: flex;
	flex-direction: column;
	position: relative;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 6px;
	transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
	border-color: rgba(43, 33, 24, .24);
	box-shadow: 0 28px 44px -30px rgba(43, 33, 24, .55);
}

/* il forellino del cartellino */
.woocommerce ul.products li.product::before {
	content: "";
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 2;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--paper);
	box-shadow: inset 0 1px 2px rgba(43, 33, 24, .35), 0 0 0 3px rgba(248, 242, 231, .9);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-decoration: none;
	color: var(--ink);
}
.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	border-radius: 3px;
	background: var(--paper-2);
	transition: filter .5s var(--ease);
}
.woocommerce ul.products li.product:hover a img { filter: brightness(1.04) saturate(1.05); }

.woocommerce ul.products li.product .hc-card-cat {
	display: block;
	margin: 16px 8px 0;
	font-family: var(--f-hand);
	font-size: 1.45rem;
	line-height: 1;
	color: var(--brass-d);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 4px 8px 0;
	margin: 0 0 4px;
	font: 1.3rem/1.2 var(--f-serif);
	font-weight: 400;
	color: var(--ink);
}

/* riga in fondo: prezzo + bottone */
.hc-card-foot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 14px -10px 0;
	padding: 14px 18px 16px;
	border-top: 1px dashed rgba(43, 33, 24, .2);
}
.woocommerce ul.products li.product .hc-card-foot .price {
	margin: 0;
	color: var(--ink);
	font: 1.3rem/1.1 var(--f-serif);
}
.woocommerce ul.products li.product .price del { color: var(--ink-3); font-size: .8em; opacity: 1; margin-right: 6px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

.woocommerce ul.products li.product .hc-card-foot .button {
	flex: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 42px;
	min-height: 0;
	margin: 0;
	padding: 0 1.15em !important;
	line-height: 1 !important;
	background: var(--ink);
	border-color: var(--ink);
	color: var(--paper);
	font-size: .88rem;
}
.woocommerce ul.products li.product .hc-card-foot .button:hover { background: var(--wood-d); border-color: var(--wood-d); }
.woocommerce ul.products li.product .hc-card-foot .button.add_to_cart_button::before {
	content: "+";
	font-size: 1.15em;
	line-height: 1;
	margin: -1px 0 0;
}
.woocommerce ul.products li.product .hc-card-foot .button.added::before { content: "✓"; }
.woocommerce ul.products li.product .hc-card-foot .button.added::after { display: none; }
.woocommerce ul.products li.product.outofstock .hc-card-foot .button {
	background: transparent;
	color: var(--ink);
}
.woocommerce ul.products li.product.outofstock .hc-card-foot .button:hover { background: var(--ink); color: var(--paper); }
.woocommerce ul.products li.product.outofstock .hc-card-foot .price { color: var(--ink-3); text-decoration: line-through; text-decoration-thickness: 1px; }

/* "Vedi carrello" compare come un'etichetta sopra la foto, senza spostare nulla */
.woocommerce ul.products li.product .hc-card-foot { position: static; }
.woocommerce ul.products li.product { container-type: inline-size; }
.woocommerce ul.products li.product .hc-card-foot a.added_to_cart {
	position: absolute;
	right: 22px;
	top: calc(100cqw - 64px);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--moss);
	color: #fff;
	font-size: .82rem;
	font-weight: 500;
	text-decoration: none;
	box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .5);
	animation: hc-pop .4s var(--ease);
}
.woocommerce ul.products li.product .hc-card-foot a.added_to_cart::after { content: "→"; }
.woocommerce ul.products li.product .hc-card-foot a.added_to_cart:hover { background: var(--ink); color: #fff; }
@keyframes hc-pop { from { opacity: 0; transform: translateY(8px) scale(.94); } }

/* badge */
.hc-badge {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 12px 7px 10px;
	background: #fffaf0;
	border-radius: 3px;
	font: 600 .72rem/1 var(--f-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink);
	transform: rotate(-2deg);
	box-shadow: 0 1px 0 rgba(43, 33, 24, .12), 0 8px 16px -8px rgba(43, 33, 24, .5);
}
.hc-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--brass);
	box-shadow: 0 0 0 3px rgba(192, 138, 46, .22);
}
.hc-badge--sold { background: var(--ink); color: #fffaf0; }
.hc-badge--sold::before { background: #c9b99c; box-shadow: none; }
.hc-badge--sold + .hc-badge { display: none; }
.woocommerce ul.products li.product.outofstock img { filter: saturate(.35) brightness(.94); }
.woocommerce span.onsale {
	min-height: 0;
	min-width: 0;
	top: 22px;
	right: 40px;
	left: auto;
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--moss);
	font: 600 .75rem/1 var(--f-sans);
	letter-spacing: .08em;
	text-transform: uppercase;
}

@media (max-width: 960px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.woocommerce ul.products { gap: 14px 10px; }
	.woocommerce ul.products li.product,
	.woocommerce ul.products[class*="columns-"] li.product { padding: 6px 6px 0; }
	.woocommerce ul.products li.product::before { top: 12px; right: 12px; width: 9px; height: 9px; }
	.woocommerce ul.products li.product .hc-card-cat { font-size: 1.2rem; margin: 12px 4px 0; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.02rem; padding-inline: 4px; }
	.hc-card-foot { flex-direction: column; align-items: stretch; gap: 10px; margin: 10px -6px 0; padding: 10px 10px 12px; }
	.woocommerce ul.products li.product .hc-card-foot .price { font-size: 1.1rem; }
	.woocommerce ul.products li.product .hc-card-foot .button { width: 100%; }
	.woocommerce ul.products li.product .hc-card-foot a.added_to_cart { right: 12px; left: 12px; top: calc(100cqw - 48px); justify-content: center; }
	.hc-badge { top: 12px; left: 12px; font-size: .62rem; letter-spacing: .08em; padding: 6px 8px; }
	.hc-toolbar { flex-direction: column; align-items: flex-start; }
}

/* --------------------------------------------------------------- bottoni WooCommerce */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-block-components-button:not(.is-link),
.wp-element-button.wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 46px;
	padding: .7em 1.3em;
	border: 1.5px solid var(--ink);
	border-radius: 999px;
	background: transparent;
	color: var(--ink);
	font: 500 .95rem/1.2 var(--f-sans);
	text-decoration: none;
	transition: background .2s, color .2s, transform .2s var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { background: var(--ink); color: var(--paper); }

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce #place_order,
.wc-block-components-button.contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--ink) !important;
	border-color: var(--ink) !important;
	color: var(--paper) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--wood-d) !important;
	border-color: var(--wood-d) !important;
}
.woocommerce a.button.loading::after { top: auto; right: auto; position: static; margin-left: 4px; }
.woocommerce a.added_to_cart {
	display: inline-block;
	margin-top: 8px;
	font-size: .88rem;
	font-weight: 500;
	color: var(--wood-d);
}
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] { opacity: .45; padding: .7em 1.3em; }

/* --------------------------------------------------------------- scheda prodotto */

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: 0 clamp(28px, 5vw, 72px);
	align-items: start;
}
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none !important;
	width: auto !important;
	margin: 0;
}
.woocommerce div.product div.images { grid-column: 1; }
.woocommerce div.product div.summary { grid-column: 2; }
.woocommerce div.product > .hc-badge { grid-column: 1; grid-row: 1; position: relative; justify-self: start; top: 16px; left: 16px; margin-bottom: -40px; }

.woocommerce div.product div.images img { border-radius: var(--r); background: var(--paper-2); }
.woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 10px;
}
.woocommerce div.product div.images .flex-control-thumbs li { width: 84px !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 3px; opacity: .55; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; box-shadow: 0 0 0 2px var(--brass); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
	background: var(--card);
	box-shadow: 0 4px 10px -6px rgba(0, 0, 0, .4);
}

.woocommerce div.product .product_title {
	font-size: clamp(2rem, 3.6vw, 3rem);
	margin-bottom: .3em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--ink);
	font: 1.6rem/1.2 var(--f-serif);
	margin-bottom: .8em;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--ink-2);
	font-size: 1.05rem;
	padding-bottom: 6px;
}
.woocommerce div.product .stock {
	display: inline-block;
	font-family: var(--f-hand);
	font-size: 1.6rem;
	line-height: 1;
	color: var(--moss) !important;
	margin-bottom: 14px;
}
.woocommerce div.product .stock.out-of-stock { color: #9b3d2a !important; }
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 6px 0 26px;
	padding: 20px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.woocommerce div.product form.cart .quantity { margin: 0 !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 54px; font-size: 1rem; }
.woocommerce .quantity .qty {
	width: 76px;
	min-height: 54px;
	text-align: center;
	border-radius: 999px;
}
.woocommerce div.product form.cart .quantity.hidden + .single_add_to_cart_button { flex: 1; }

.hc-product-note {
	position: relative;
	margin: 0 0 24px;
	padding: 20px 22px;
	background: #f7f3ea;
	border-radius: var(--r);
	border-left: 3px solid var(--brass);
}
.hc-product-note .hc-hand { font-size: 1.6rem; margin-bottom: .3em; }
.hc-product-note p:not(.hc-hand) { font-size: .95rem; color: var(--ink-2); }

.woocommerce div.product .product_meta {
	font-size: .85rem;
	color: var(--ink-3);
	display: grid;
	gap: 4px;
}
.woocommerce div.product .product_meta a { color: var(--ink-2); }

/* schede descrizione */
.woocommerce div.product .woocommerce-tabs {
	margin-top: clamp(48px, 7vw, 88px);
	padding-top: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 6px;
	margin: 0 0 28px;
	padding: 0;
	border-bottom: 1px solid var(--line);
	overflow-x: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 16px;
	font: 500 .95rem var(--f-sans);
	color: var(--ink-3);
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-color: var(--brass); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; color: var(--ink-2); }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.6rem; color: var(--ink); }
.woocommerce table.shop_attributes { border-top-color: var(--line); }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { border-bottom-color: var(--line); padding: 10px; font-style: normal; }
.woocommerce table.shop_attributes tr:nth-child(even) td,
.woocommerce table.shop_attributes tr:nth-child(even) th { background: transparent; }

.woocommerce .related,
.woocommerce .upsells {
	margin-top: clamp(48px, 7vw, 88px);
	padding-top: clamp(36px, 5vw, 56px);
	border-top: 1px solid var(--line);
}
.woocommerce .related > h2,
.woocommerce .upsells > h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: 1em; }

@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary { grid-column: 1; position: static; }
	.woocommerce div.product div.summary { margin-top: 28px; }
}

/* rifiniture scheda */
.woocommerce div.product .hc-summary-cat {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 1.7rem;
	color: var(--brass-d);
	text-decoration: none;
}
.woocommerce div.product p.stock {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 500 .95rem/1.3 var(--f-sans);
	color: var(--moss) !important;
	margin: 4px 0 0;
}
.woocommerce div.product p.stock::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(77, 91, 60, .16);
}
.woocommerce div.product p.stock.out-of-stock::before { box-shadow: 0 0 0 4px rgba(155, 61, 42, .14); }
.woocommerce div.product form.cart .quantity:has(input[type="hidden"]) { display: none; }
.woocommerce div.product form.cart { margin-top: 18px; }

.hc-trust {
	list-style: none;
	display: grid;
	gap: 14px;
	margin: 0 0 26px;
	padding: 0;
}
.hc-trust li { display: flex; gap: 14px; align-items: flex-start; font-size: .9rem; color: var(--ink-2); }
.hc-trust .hc-icon {
	width: 38px;
	height: 38px;
	padding: 9px;
	border-radius: 50%;
	background: var(--paper-2);
	color: var(--wood-d);
}
.hc-trust strong { display: block; font: 1.02rem/1.3 var(--f-serif); font-weight: 400; color: var(--ink); }

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent !important;
	border: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--f-serif); font-size: 1.25rem; font-weight: 400; padding: 10px 2px; margin-right: 18px; }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 1.05rem; }

/* --------------------------------------------------------------- avvisi */

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin: 0 0 28px;
	padding: 16px 20px;
	background: var(--card);
	border: 1px solid var(--line);
	border-left: 3px solid var(--moss);
	border-radius: var(--r);
	color: var(--ink);
	font-size: .95rem;
	list-style: none;
}
.woocommerce .woocommerce-info { border-left-color: var(--brass); }
.woocommerce .woocommerce-error { border-left-color: #9b3d2a; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { display: none; }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button { order: 2; margin-left: auto; min-height: 40px; float: none; }

/* --------------------------------------------------------------- carrello e cassa (classici) */

.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	margin-bottom: 32px;
}
.woocommerce table.shop_table th {
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-3);
	border-bottom: 1px solid var(--line);
}
.woocommerce table.shop_table td {
	border-top: 0;
	border-bottom: 1px solid var(--line);
	padding: 16px 12px;
}
.woocommerce table.shop_table td.product-name a { font: 1.15rem var(--f-serif); text-decoration: none; }
.woocommerce table.cart img { width: 72px; border-radius: 3px; }
.woocommerce a.remove { color: var(--ink-3) !important; font-weight: 400; }
.woocommerce a.remove:hover { background: var(--ink); color: var(--paper) !important; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	padding: 24px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r);
}
.woocommerce .cart-collaterals h2,
.woocommerce-checkout h3 { font-size: 1.5rem; }
.woocommerce form .form-row { padding: 0; margin: 0 0 16px; }
.woocommerce form .form-row label { margin-bottom: 6px; display: block; }
.woocommerce-checkout #payment {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r);
}
.woocommerce-checkout #payment div.payment_box { background: var(--paper-2); color: var(--ink-2); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--paper-2); }

/* --------------------------------------------------------------- carrello e cassa (blocchi) */

.wc-block-cart,
.wc-block-checkout { font-family: var(--f-sans); }
.wc-block-components-product-name { font-family: var(--f-serif); font-size: 1.1rem !important; text-decoration: none; color: var(--ink) !important; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: clamp(0px, 3vw, 40px); }
.wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-cart__totals-title { border-color: var(--line) !important; }
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	background: var(--card);
	border-radius: var(--r);
}
.wc-block-cart__sidebar { padding: 8px 20px 20px; border: 1px solid var(--line); }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select__select {
	background: #fffcf6 !important;
	border-color: var(--paper-3) !important;
	border-radius: var(--r) !important;
}
.wc-block-components-title.wc-block-components-title { font-family: var(--f-serif); font-weight: 400; }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; min-height: 52px; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-family: var(--f-serif); font-weight: 400; }

.wc-block-cart-item__image img { width: 96px !important; border-radius: 4px; background: var(--paper-2); }
.wc-block-cart-items th,
.wc-block-cart-items__header { font-size: .72rem !important; letter-spacing: .16em; color: var(--ink-3); }
.wc-block-cart-items .wc-block-cart-items__row td { padding-block: 22px !important; }
.wc-block-components-quantity-selector { border-radius: 999px !important; }
.wc-block-components-quantity-selector::after { border-radius: 999px !important; border-color: var(--paper-3) !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font-weight: 500; }
.wc-block-cart-item__remove-link { color: var(--ink-3) !important; }
.wc-block-cart .wc-block-cart__totals-title { font-size: .72rem !important; letter-spacing: .16em; color: var(--ink-3) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--f-serif); font-weight: 400 !important; font-size: 1.35rem !important; }
.wc-block-cart__sidebar { padding: 14px 22px 22px !important; box-shadow: 0 30px 50px -40px rgba(43, 33, 24, .6); }
.wc-block-cart__submit-container::after {
	content: "Pagamento sicuro · imballo fatto a mano";
	display: block;
	margin-top: 12px;
	text-align: center;
	font-family: var(--f-hand);
	font-size: 1.35rem;
	color: var(--ink-3);
}

/* --------------------------------------------------------------- account */

.hc-login {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
	max-width: 1080px;
	margin-inline: auto;
}
.hc-login__intro .hc-hand { font-size: 2rem; margin-bottom: .3em; transform: rotate(-2deg); transform-origin: left; }
.hc-login__intro .hc-h2 { margin-bottom: .5em; }
.hc-login__intro > p:not(.hc-hand) { color: var(--ink-2); max-width: 26em; }
.hc-login__art { width: 170px; margin-top: 24px; opacity: .9; }
.hc-login__form > h2 { font-size: 1.6rem; margin-bottom: .7em; }
.woocommerce form.login,
.woocommerce form.register {
	margin: 0;
	padding: clamp(22px, 3vw, 36px);
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 8px;
	box-shadow: 0 34px 60px -46px rgba(43, 33, 24, .6);
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select {
	min-height: 50px;
	padding: 10px 14px;
	border: 1.5px solid var(--paper-3);
	border-radius: var(--r);
	background: #fffcf6;
	font-size: 1rem;
}
.woocommerce form .form-row .input-text:focus { border-color: var(--brass); }
.woocommerce form .form-row .required { color: var(--wood); text-decoration: none; }
.woocommerce form.login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 18px;
	margin-top: 8px;
}
.woocommerce form.login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.woocommerce form.login .woocommerce-form-login__rememberme input { accent-color: var(--wood); width: 17px; height: 17px; margin: 0; }
.woocommerce form.login .woocommerce-form-login__submit {
	order: 2;
	width: 100%;
	min-height: 52px;
	margin: 0 !important;
	background: var(--ink);
	color: var(--paper);
	font-size: 1rem;
}
.woocommerce form.login .woocommerce-form-login__submit:hover { background: var(--wood-d); border-color: var(--wood-d); }
.woocommerce form.login .lost_password { margin: 18px 0 0; font-size: .9rem; text-align: center; }
.woocommerce form.login .lost_password a { color: var(--ink-2); }
.woocommerce-account .hc-page .hc-prose { max-width: none; }

@media (max-width: 820px) {
	.hc-login { grid-template-columns: 1fr; }
	.hc-login__art { display: none; }
}


.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; text-decoration: none; color: var(--ink-2); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--ink); font-weight: 600; }

/* --------------------------------------------------------------- paginazione */

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	border: 1px solid var(--line);
	border-radius: 999px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink); color: var(--paper); }

/* prodotti in homepage: niente intestazione negozio */
.hc-pieces__list .woocommerce { margin: 0; }

/* --------------------------------------------------------------- carrello flottante */

.hc-minicart {
	position: fixed;
	right: 18px;
	bottom: 88px;
	z-index: 41;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
}
.hc-minicart > * { pointer-events: auto; }
.hc-minicart__btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 0;
	border-radius: 50%;
	background: var(--brass);
	color: var(--night);
	cursor: pointer;
	box-shadow: 0 12px 24px -10px rgba(0, 0, 0, .5);
	transform: scale(0);
	opacity: 0;
	transition: transform .4s var(--ease), opacity .3s, background .2s;
}
.hc-minicart.has-items .hc-minicart__btn { transform: scale(1); opacity: 1; }
.hc-minicart__btn:hover { background: var(--glow); }
.hc-minicart__btn .hc-icon { width: 26px; height: 26px; }
.hc-minicart__btn .hc-cart-count {
	top: -2px;
	right: -2px;
	min-width: 22px;
	height: 22px;
	line-height: 22px;
	border-radius: 11px;
	background: var(--ink);
	color: var(--paper);
	box-shadow: 0 0 0 2px var(--paper);
}
.hc-minicart.is-bump .hc-minicart__btn { animation: hc-bump .6s var(--ease); }
@keyframes hc-bump { 30% { transform: scale(1.18) rotate(-8deg); } 60% { transform: scale(.96) rotate(4deg); } }

.hc-minicart__panel {
	width: min(360px, calc(100vw - 36px));
	max-height: min(560px, calc(100vh - 250px));
	min-height: 220px;
	display: flex;
	flex-direction: column;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	box-shadow: 0 30px 60px -24px rgba(43, 33, 24, .55);
	overflow: hidden;
	transform-origin: 100% 100%;
	animation: hc-panel-in .35s var(--ease);
}
.hc-minicart__panel[hidden] { display: none; }
@keyframes hc-panel-in { from { opacity: 0; transform: translateY(10px) scale(.96); } }

.hc-minicart__head {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 12px 12px 18px;
	border-bottom: 1px dashed rgba(43, 33, 24, .2);
}
.hc-minicart__title { margin: 0; font: 1.15rem/1.2 var(--f-serif); }
.hc-minicart__close {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ink-2);
	cursor: pointer;
}
.hc-minicart__close:hover { background: var(--paper-2); color: var(--ink); }
.hc-minicart__close .hc-icon { width: 18px; height: 18px; }
.hc-minicart__added { margin: 10px 18px 0; font-size: 1.45rem; color: var(--moss); }

.hc-minicart .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.hc-minicart ul.woocommerce-mini-cart {
	flex: 1;
	min-height: 0;
	list-style: none;
	margin: 0;
	padding: 6px 18px;
	overflow-y: auto;
}
.hc-minicart ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
	position: relative;
	display: block;
	padding: 12px 34px 12px 0;
	border-bottom: 1px solid var(--line);
	font-size: .9rem;
}
.hc-minicart ul.woocommerce-mini-cart li:last-child { border-bottom: 0; }
.hc-minicart li.woocommerce-mini-cart-item > a:not(.remove) {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 60px;
	padding-bottom: 18px;
	font: 1.02rem/1.25 var(--f-serif);
	color: var(--ink);
	text-decoration: none;
}
.hc-minicart li.woocommerce-mini-cart-item img {
	order: -1;
	flex: none;
	width: 60px !important;
	height: 60px !important;
	object-fit: cover;
	border-radius: 6px;
	background: var(--paper-2);
	float: none !important;
	margin: 0 !important;
	box-shadow: none !important;
}
.hc-minicart li.woocommerce-mini-cart-item .quantity {
	position: absolute;
	left: 74px;
	bottom: 16px;
	color: var(--ink-3);
	font-size: .85rem;
}
.hc-minicart li.woocommerce-mini-cart-item .quantity .amount { color: var(--ink); font-weight: 500; }
.hc-minicart li.woocommerce-mini-cart-item dl.variation { margin: -14px 0 0 74px; font-size: .8rem; }
.hc-minicart li.woocommerce-mini-cart-item a.remove {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	line-height: 24px;
	font-size: 18px;
	text-align: center;
	border-radius: 50%;
	color: var(--ink-3) !important;
}
.hc-minicart li.woocommerce-mini-cart-item a.remove:hover { background: var(--ink); color: var(--paper) !important; }

.hc-minicart .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0;
	padding: 14px 18px 4px;
	border-top: 1px dashed rgba(43, 33, 24, .2);
	font-size: .9rem;
	color: var(--ink-2);
}
.hc-minicart .woocommerce-mini-cart__total strong { font-weight: 500; }
.hc-minicart .woocommerce-mini-cart__total .amount { font: 1.3rem/1 var(--f-serif); color: var(--ink); }
.hc-minicart .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0;
	padding: 12px 18px 18px;
}
.hc-minicart .woocommerce-mini-cart__buttons::before,
.hc-minicart .woocommerce-mini-cart__buttons::after { display: none; }
.hc-minicart .woocommerce-mini-cart__buttons a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 46px;
	min-height: 0;
	margin: 0 !important;
	padding: 0 12px !important;
	line-height: 1 !important;
	font-size: .9rem;
	text-align: center;
}
.hc-minicart .woocommerce-mini-cart__buttons a.checkout { background: var(--ink); color: var(--paper); }
.hc-minicart .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--wood-d); border-color: var(--wood-d); }
.hc-minicart .woocommerce-mini-cart__empty-message { margin: 0; padding: 22px 18px; color: var(--ink-3); text-align: center; }

.hc-nav-open .hc-minicart { opacity: 0; pointer-events: none; }
@media (max-width: 520px) {
	.hc-minicart { right: 14px; bottom: 82px; }
	.hc-minicart__btn { width: 52px; height: 52px; }
	.hc-wa-float { right: 14px; bottom: 14px; width: 52px; height: 52px; }
}

/* --------------------------------------------------------------- area account (dopo l'accesso) */

.woocommerce-account.logged-in .hc-page .woocommerce {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}
.woocommerce-account.logged-in .hc-page .woocommerce > * { grid-column: 1 / -1; }
.woocommerce-account.logged-in .hc-page .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; }
.woocommerce-account.logged-in .hc-page .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; }
.woocommerce-account.logged-in .hc-page .woocommerce > .woocommerce-notices-wrapper:not(:has(*)) { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	padding: 18px 12px 12px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
}
.hc-acc-user { display: flex; align-items: center; gap: 12px; padding: 0 8px 16px; margin-bottom: 8px; border-bottom: 1px dashed rgba(43, 33, 24, .2); }
.hc-acc-user > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.hc-acc-user__avatar {
	flex: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wood);
	color: var(--paper);
	font: 1.2rem/1 var(--f-serif);
	transform: rotate(-6deg);
}
.hc-acc-user__name { font: 1.05rem/1.2 var(--f-serif); }
.hc-acc-user__mail { font-size: .78rem; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 0; display: grid; gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: .95rem;
	font-weight: 500;
	color: var(--ink-2);
	text-decoration: none;
	transition: background .2s, color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a .hc-icon { width: 19px; height: 19px; color: var(--ink-3); }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--paper-2); color: var(--ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: var(--paper); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a .hc-icon { color: var(--glow); }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line) !important; }

.hc-dash__hello .hc-hand { font-size: 2rem; margin-bottom: .2em; transform: rotate(-2deg); transform-origin: left; }
.hc-dash__hello .hc-h2 { margin: 0 0 .4em; font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.hc-dash__hello > p:last-child { color: var(--ink-2); max-width: 38em; }
.hc-dash__last { margin-top: 32px; }
.hc-dash__last .hc-eyebrow { margin-bottom: .8em; }

.hc-order-card {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 14px 20px 14px 14px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	text-decoration: none;
	color: var(--ink);
	transition: transform .3s var(--ease), box-shadow .3s;
}
.hc-order-card:hover { color: var(--ink); transform: translateY(-3px); box-shadow: 0 20px 34px -26px rgba(43, 33, 24, .6); }
.hc-order-card__img img { width: 84px; height: 84px; object-fit: cover; border-radius: 6px; }
.hc-order-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.hc-order-card__num { font-size: .8rem; color: var(--ink-3); }
.hc-order-card__title { font: 1.2rem/1.25 var(--f-serif); }
.hc-order-card__title small { font: .8rem var(--f-sans); color: var(--ink-3); margin-left: 4px; }
.hc-order-card__total { font: 1.3rem/1 var(--f-serif); }

.hc-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--paper-2);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.hc-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.hc-status--processing { background: #f4e3c2; color: #8a5a10; }
.hc-status--completed { background: #dfe5d2; color: #3f5230; }
.hc-status--on-hold { background: #eadfd2; color: #6e4826; }
.hc-status--cancelled, .hc-status--failed { background: #f0d9d2; color: #8b3a26; }

.hc-dash__tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}
.hc-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	text-decoration: none;
	color: var(--ink);
	transition: transform .3s var(--ease), border-color .3s;
}
.hc-tile:hover { color: var(--ink); transform: translateY(-3px); border-color: var(--brass); }
.hc-tile .hc-icon { width: 40px; height: 40px; padding: 9px; margin-bottom: 10px; border-radius: 50%; background: var(--paper-2); color: var(--wood-d); }
.hc-tile strong { font: 1.08rem/1.2 var(--f-serif); font-weight: 400; }
.hc-tile span { font-size: .85rem; color: var(--ink-3); }
.hc-tile--wa .hc-icon { background: #2f6f4e; color: #fff; }

/* tabella ordini e dettagli */
.woocommerce-account .woocommerce-orders-table { background: var(--card); border: 1px solid var(--line) !important; border-radius: 10px; overflow: hidden; }
.woocommerce-account .woocommerce-orders-table th { background: var(--paper-2); padding: 14px 16px; }
.woocommerce-account .woocommerce-orders-table td { padding: 16px; vertical-align: middle; }
.woocommerce-account .woocommerce-orders-table__cell-order-number a { font: 1.05rem var(--f-serif); color: var(--ink); text-decoration: none; }
.woocommerce-account .woocommerce-orders-table .button { min-height: 38px; padding: 0 16px; font-size: .85rem; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child mark,
.woocommerce-order-details mark,
.woocommerce-MyAccount-content mark { background: var(--paper-2); color: var(--ink); padding: 2px 8px; border-radius: 4px; font-weight: 500; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Address {
	float: none !important;
	width: auto !important;
	padding: 20px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
}
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 1.3rem; margin: 0; }
.woocommerce-account .woocommerce-Address-title a { font-size: .85rem; color: var(--wood-d); }
.woocommerce-account .woocommerce-Address address { font-style: normal; color: var(--ink-2); line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content form .button { background: var(--ink); color: var(--paper); }
.woocommerce-account .woocommerce-MyAccount-content fieldset { margin: 24px 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 10px; }
.woocommerce-account .woocommerce-MyAccount-content legend { padding: 0 8px; font: 1.15rem var(--f-serif); }

@media (max-width: 1100px) {
	.hc-dash__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.woocommerce-account.logged-in .hc-page .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-account.logged-in .hc-page .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; padding: 12px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; scrollbar-width: none; gap: 6px; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 9px 12px; }
	.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0 !important; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.hc-order-card { grid-template-columns: 64px minmax(0, 1fr); }
	.hc-order-card__img img { width: 64px; height: 64px; }
	.hc-order-card__total { grid-column: 2; }
	.hc-dash__tiles { grid-template-columns: 1fr 1fr; gap: 10px; }
	.hc-tile { padding: 14px; }
}

/* --------------------------------------------------------------- avviso "aggiunto al carrello" */

.woocommerce .woocommerce-message:has(.hc-added) {
	justify-content: space-between;
	gap: 16px 24px;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--card);
	box-shadow: 0 20px 40px -32px rgba(43, 33, 24, .6);
	animation: hc-pop .45s var(--ease);
}
.hc-added { display: flex; align-items: center; gap: 16px; min-width: 0; }
.hc-added__img { width: 64px !important; height: 64px !important; object-fit: cover; border-radius: 6px; background: var(--paper-2); flex: none; }
.hc-added__text { display: block; font-size: 1rem; line-height: 1.4; }
.hc-added__text strong { font: 1.1rem var(--f-serif); font-weight: 400; }
.hc-added__text small { display: block; margin-top: 2px; font-size: .85rem; color: var(--ink-3); }
.hc-added__check {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	margin-right: 4px;
	border-radius: 50%;
	background: var(--moss);
	color: #fff;
	font-size: .75rem;
	vertical-align: 2px;
}
.hc-added__ctas { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce .woocommerce-message .hc-added__ctas .button {
	display: inline-flex !important;
	align-items: center;
	height: 44px;
	min-height: 0;
	padding: 0 18px !important;
	margin: 0;
	line-height: 1 !important;
	float: none;
}
.woocommerce .woocommerce-message .hc-added__ctas .button.alt { background: var(--ink); border-color: var(--ink); color: var(--paper); }
@media (max-width: 640px) {
	.hc-added__ctas { width: 100%; }
	.hc-added__ctas .button { flex: 1; justify-content: center; }
}

/* --------------------------------------------------------------- misure e scheda tecnica */

.hc-summary-size {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
	margin: -4px 0 14px;
	padding: 6px 14px;
	border: 1px dashed var(--paper-3);
	border-radius: 999px;
	font: 1rem/1.2 var(--f-serif);
}
.hc-summary-size span { font: 600 .68rem/1 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); }

.hc-piece {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}
.woocommerce div.product .woocommerce-tabs .panel { max-width: none; }
.hc-piece__text { max-width: 640px; font-size: 1.05rem; }
.hc-piece--solo { grid-template-columns: 1fr; }

.hc-specs {
	position: relative;
	padding: 24px 24px 20px;
	background-color: #f7f3ea;
	background-image:
		linear-gradient(rgba(47, 74, 107, .07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(47, 74, 107, .07) 1px, transparent 1px);
	background-size: 20px 20px;
	border-radius: 8px;
	box-shadow: 0 1px 0 var(--line), 0 24px 40px -34px rgba(43, 33, 24, .6);
	color: var(--ink);
}
.hc-specs__hand { margin: 0 0 6px; font-size: 1.6rem; color: #2f4a6b; transform: rotate(-2deg); transform-origin: left; }
.hc-specs__size { margin: 0 0 14px; font: clamp(1.7rem, 3vw, 2.2rem)/1.1 var(--f-serif); }
.hc-specs__size span { font: 500 .9rem var(--f-sans); color: var(--ink-3); }
.hc-specs dl { margin: 0; }
.hc-specs dl > div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	padding: 9px 0;
	border-top: 1px dashed rgba(47, 74, 107, .25);
	font-size: .92rem;
}
.hc-specs dt { font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); padding-top: 3px; }
.hc-specs dd { margin: 0; color: var(--ink); }
.hc-specs__custom {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 6px;
	background: #2f6f4e;
	color: #fff;
	font-weight: 500;
	font-size: .92rem;
	text-decoration: none;
}
.hc-specs__custom:hover { background: var(--ink); color: #fff; }
@media (max-width: 860px) {
	.hc-piece { grid-template-columns: 1fr; }
	.hc-specs dl > div { grid-template-columns: 110px 1fr; }
}

.hc-incart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 14px;
	margin: 18px 0 26px;
	padding: 16px 18px;
	border: 1px solid var(--line);
	border-left: 3px solid var(--moss);
	border-radius: 8px;
	background: var(--card);
	font-size: .9rem;
	color: var(--ink-3);
}
.hc-incart strong { display: block; font: 1.1rem/1.3 var(--f-serif); font-weight: 400; color: var(--ink); }
.hc-incart > span:nth-child(2) { flex: 1; min-width: 180px; }
.woocommerce .hc-incart .button.alt { height: 46px; min-height: 0; padding: 0 20px !important; display: inline-flex !important; align-items: center; line-height: 1 !important; }
.woocommerce .woocommerce-error {
	border-left-color: var(--brass);
	background: var(--card);
}
.hc-login .hc-h2,
.hc-prose .hc-specs__hand + * { margin-top: 0; }
.woocommerce-account .hc-prose h2 { margin-top: 0; }
.woocommerce-account .woocommerce-orders-table tbody th { background: transparent; padding: 16px; }
.woocommerce-orders-table__row .woocommerce-orders-table__cell-order-status {
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status { color: #8a5a10; }
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #3f5230; }
.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status { color: #6e4826; }
.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status { color: #8b3a26; }
.woocommerce-orders-table__row .woocommerce-orders-table__cell-order-status::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: 1px;
}

/* --------------------------------------------------------------- dettaglio ordine / pagina grazie */

.hc-order__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px 24px;
	margin-bottom: 26px;
}
.hc-order__back { display: inline-block; margin-bottom: 10px; font-size: .88rem; color: var(--ink-3); text-decoration: none; }
.hc-order__back:hover { color: var(--wood-d); }
.hc-order .hc-order__title { margin: 0 0 6px; font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.hc-order__meta { margin: 0; color: var(--ink-3); }
.hc-order__meta .amount { color: var(--ink); font-weight: 500; }
.hc-order .hc-status { font-size: .8rem; padding: 7px 14px; }

.hc-track {
	list-style: none;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 30px;
	padding: 22px 24px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	counter-reset: none;
}
.hc-track li { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding-right: 12px; }
.hc-track li + li::before {
	content: "";
	position: absolute;
	top: 17px;
	right: calc(100% - 4px);
	width: calc(100% - 60px);
	max-width: 70px;
	height: 2px;
	background: var(--paper-3);
	display: none;
}
.hc-track__dot {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1.5px dashed var(--paper-3);
	font: .9rem/1 var(--f-serif);
	color: var(--ink-3);
	background: var(--paper);
}
.hc-track strong { font: 1.05rem/1.2 var(--f-serif); font-weight: 400; color: var(--ink-3); }
.hc-track small { font-size: .8rem; color: var(--ink-3); }
.hc-track .is-done .hc-track__dot,
.hc-track .is-now .hc-track__dot { border: 0; background: var(--brass); color: var(--night); font-family: var(--f-sans); font-weight: 600; }
.hc-track .is-now .hc-track__dot { box-shadow: 0 0 0 5px rgba(192, 138, 46, .2); }
.hc-track .is-done strong,
.hc-track .is-now strong { color: var(--ink); }
.hc-track::after {
	content: "";
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 0;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--brass) calc((var(--step) - .5) / 3 * 100%), transparent 0);
}

.hc-order__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}
.hc-order__main,
.hc-order__side { display: grid; gap: 20px; }
.hc-box {
	display: block;
	padding: 20px 22px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
}
.hc-order .hc-box__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font: 600 .74rem/1 var(--f-sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.hc-box__title .hc-icon { width: 18px; height: 18px; color: var(--wood); }

.hc-items { list-style: none; margin: 0; padding: 0; }
.hc-item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px dashed rgba(43, 33, 24, .18);
}
.hc-item:first-child { padding-top: 0; }
.hc-item__img img { width: 72px; height: 72px; object-fit: cover; border-radius: 6px; background: var(--paper-2); }
.hc-item__body { display: flex; flex-direction: column; gap: 3px; }
.hc-item__name { font: 1.15rem/1.25 var(--f-serif); color: var(--ink); text-decoration: none; }
a.hc-item__name:hover { color: var(--wood-d); }
.hc-item__meta,
.hc-item__extra { font-size: .82rem; color: var(--ink-3); }
.hc-item__price { font: 1.1rem/1 var(--f-serif); }

.hc-totals { margin: 14px 0 0; }
.hc-totals__row { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; font-size: .92rem; }
.hc-totals dt { color: var(--ink-3); }
.hc-totals dd { margin: 0; text-align: right; }
.hc-totals__row--order_total { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.hc-totals__row--order_total dt { color: var(--ink); font: 1.1rem var(--f-serif); }
.hc-totals__row--order_total dd { font: 1.45rem/1 var(--f-serif); }
.hc-totals small,
.hc-totals .includes_tax { display: block; font-size: .75rem; color: var(--ink-3); }

.hc-addr address { font-style: normal; line-height: 1.7; color: var(--ink-2); font-size: .95rem; }
.hc-addr__line { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.hc-addr__line .hc-icon { width: 16px; height: 16px; color: var(--ink-3); }

.hc-help {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	text-decoration: none;
	color: var(--ink-2);
	font-size: .88rem;
	background: #2f6f4e0f;
	border-color: rgba(47, 111, 78, .25);
	transition: border-color .2s, transform .3s var(--ease);
}
.hc-help:hover { color: var(--ink-2); border-color: #2f6f4e; transform: translateY(-2px); }
.hc-help .hc-icon { flex: none; width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: #2f6f4e; color: #fff; }
.hc-help strong { display: block; font: 1.05rem/1.3 var(--f-serif); font-weight: 400; color: var(--ink); }

.hc-box--note p { margin: 0; color: var(--ink-2); }
.hc-notes { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid var(--paper-3); display: grid; gap: 14px; }
.hc-notes li { position: relative; font-size: .92rem; color: var(--ink-2); }
.hc-notes li::before { content: ""; position: absolute; left: -22px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--brass); }
.hc-notes p { margin: 0; }
.hc-notes__date { display: block; font-size: .78rem; color: var(--ink-3); margin-bottom: 2px; }

.hc-order .order-again { margin-top: 20px; }

/* pagina grazie */
.hc-thanks { margin-bottom: 28px; max-width: 760px; }
.hc-thanks .hc-hand { font-size: 2.4rem; margin-bottom: .2em; color: var(--brass-d); transform: rotate(-2deg); transform-origin: left; }
.hc-thanks .hc-h2 { margin: 0 0 .4em; }
.hc-thanks p:not(.hc-hand) { color: var(--ink-2); }
.hc-thanks__ctas { display: flex; gap: 10px; flex-wrap: wrap; }
.hc-thanks__pay:not(:empty) { margin-bottom: 20px; }
.hc-thanks__pay > * { padding: 20px 22px; background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--brass); border-radius: 10px; margin-bottom: 0; }
.hc-thanks__pay h2 { font-size: 1.3rem; }
.hc-thanks__pay ul.order_details { margin: 0; padding: 0; }
.woocommerce-order-received .hc-page { padding-top: clamp(36px, 5vw, 64px); }
.hc-thanks__pay h2 { margin: 0 0 .6em; }
.hc-thanks__pay h3 { margin: 0 0 .5em; font-size: 1.25rem; }

@media (max-width: 860px) {
	.hc-order__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.hc-track { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
	.hc-track::after { display: none; }
	.hc-item { grid-template-columns: 56px minmax(0, 1fr); }
	.hc-item__img img { width: 56px; height: 56px; }
	.hc-item__price { grid-column: 2; }
}

/* Chat WhatsApp del plugin a sinistra: il carrello scende nell'angolo */
.hc-minicart--solo { bottom: 18px; }
@media (max-width: 520px) { .hc-minicart--solo { bottom: 14px; } }

/* --------------------------------------------------------------- area account: indirizzi e moduli */

.hc-acc-head { margin-bottom: 26px; }
.hc-acc-head .hc-hand { font-size: 1.9rem; margin-bottom: .15em; transform: rotate(-2deg); transform-origin: left; }
.woocommerce-account .hc-acc-head .hc-h2 { margin: 0 0 .35em; font-size: clamp(1.8rem, 3.2vw, 2.5rem); }
.hc-acc-head > p:last-child { margin: 0; color: var(--ink-2); }

.hc-addr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hc-addr-card { display: flex; flex-direction: column; gap: 14px; }
.hc-addr-card__head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px dashed rgba(43, 33, 24, .18); }
.hc-addr-card__head .hc-icon { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--paper-2); color: var(--wood-d); flex: none; }
.hc-addr-card__head strong { display: block; font: 1.2rem/1.2 var(--f-serif); font-weight: 400; }
.hc-addr-card__head small { font-size: .82rem; color: var(--ink-3); }
.hc-addr-card__text { flex: 1; font-style: normal; line-height: 1.7; color: var(--ink-2); }
.woocommerce .hc-addr-card__btn.button { align-self: flex-start; height: 42px; min-height: 0; padding: 0 20px !important; display: inline-flex !important; align-items: center; line-height: 1 !important; }

/* moduli di modifica (indirizzo e dati account) */
.woocommerce-account .woocommerce-MyAccount-content .hc-order__back { margin-bottom: 14px; }
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content form:has(.woocommerce-address-fields) {
	padding: clamp(20px, 3vw, 30px);
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
}
.woocommerce-account .woocommerce-MyAccount-content form:has(.woocommerce-address-fields) > h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0 0 22px; }
.woocommerce-account .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row { grid-column: 1 / -1; width: auto !important; float: none !important; }
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first { grid-column: 1; }
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last { grid-column: 2; }
.woocommerce-account form.woocommerce-EditAccountForm .form-row-first,
.woocommerce-account form.woocommerce-EditAccountForm .form-row-last { width: calc(50% - 8px); }
.woocommerce-account form .form-row label { font-size: .88rem; color: var(--ink-2); }
.woocommerce-account form .form-row .description,
.woocommerce-account form #account_display_name_description { display: block; margin-top: 6px; font-size: .8rem; color: var(--ink-3); font-style: normal; }
.woocommerce-account .woocommerce-MyAccount-content form .button[type="submit"] {
	height: 50px;
	min-height: 0;
	padding: 0 28px !important;
	margin-top: 8px;
	display: inline-flex !important;
	align-items: center;
	line-height: 1 !important;
	background: var(--ink);
	color: var(--paper);
}
.woocommerce-account .woocommerce-MyAccount-content form .button[type="submit"]:hover { background: var(--wood-d); border-color: var(--wood-d); }
.woocommerce-account .woocommerce-MyAccount-content fieldset { background: var(--paper); }

/* tendine Paese/Provincia (selectWoo) */
.woocommerce .select2-container .select2-selection--single {
	height: 50px;
	border: 1.5px solid var(--paper-3);
	border-radius: var(--r);
	background: #fffcf6;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 47px; padding-left: 14px; color: var(--ink); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
.select2-dropdown { border-color: var(--paper-3); background: #fffcf6; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--wood); }

@media (max-width: 640px) {
	.hc-addr-grid { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
	.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last { grid-column: 1; }
	.woocommerce-account form.woocommerce-EditAccountForm .form-row-first,
	.woocommerce-account form.woocommerce-EditAccountForm .form-row-last { width: 100%; float: none; }
	.woocommerce-account .woocommerce-MyAccount-content form .button[type="submit"] { width: 100%; justify-content: center; }
}
