/*
 * duedecimi — WooCommerce
 *
 *  01 Griglia e card prodotto
 *  02 Catalogo (intestazione, sottocategorie, barra strumenti, filtri, carica altri)
 *  03 Scheda prodotto
 *  04 Carrello laterale
 *  05 Carrello, cassa, account, avvisi
 *  06 Widget prodotti e contatti
 */

/* 01 Griglia e card ------------------------------------------------------- */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	display: none;
}

.woocommerce ul.products:not(.elementor-grid),
.woocommerce-page ul.products:not(.elementor-grid),
ul.products.ddc-wishlist__grid {
	--ddc-cols: 4;
	display: grid;
	grid-template-columns: repeat(var(--ddc-cols), minmax(0, 1fr));
	gap: 40px var(--ddc-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products.columns-2 { --ddc-cols: 2; }
.woocommerce ul.products.columns-3 { --ddc-cols: 3; }
.woocommerce ul.products.columns-5 { --ddc-cols: 5; }

@media (max-width: 1024px) {
	.woocommerce ul.products:not(.elementor-grid),
	.woocommerce-page ul.products:not(.elementor-grid),
	ul.products.ddc-wishlist__grid { --ddc-cols: 3; }
	.woocommerce ul.products.columns-2 { --ddc-cols: 2; }
}

@media (max-width: 767px) {
	.woocommerce ul.products:not(.elementor-grid),
	.woocommerce-page ul.products:not(.elementor-grid),
	ul.products.ddc-wishlist__grid {
		--ddc-cols: 2;
		gap: 28px 8px;
	}
}

.woocommerce ul.products li.product.ddc-card,
.woocommerce-page ul.products li.product.ddc-card,
ul.products li.ddc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
	text-align: left;
}

.ddc-card__media {
	position: relative;
	z-index: 2; /* sopra il link esteso del titolo: pulsanti e cuore restano cliccabili */
	aspect-ratio: var(--ddc-card-ratio, 4 / 5);
	overflow: hidden;
	background: var(--ddc-stone);
	isolation: isolate;
}

.ddc-card__link {
	position: absolute;
	inset: 0;
	display: block;
	/* Il fondo sta qui: il link crea un contesto di sovrapposizione e il "multiply" si fonde con questo colore. */
	background: var(--ddc-stone);
}

.woocommerce ul.products li.product a img.ddc-card__img,
.ddc-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	mix-blend-mode: multiply;
	transition: transform 1.2s var(--ddc-ease-out), opacity 0.6s var(--ddc-ease);
}

.ddc-card__img--hover {
	opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
	.ddc-card:hover .ddc-card__img { transform: scale(1.02); }
	.ddc-card__media.has-hover:hover .ddc-card__img:not(.ddc-card__img--hover) { opacity: 0; }
	.ddc-card__media.has-hover:hover .ddc-card__img--hover { opacity: 1; }
}

/* Etichette */
.ddc-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	pointer-events: none;
}

.ddc-badges--inline {
	position: static;
	flex-direction: row;
}

.ddc-badge {
	display: inline-block;
	padding: 4px 8px 3px;
	background: var(--ddc-white);
	color: var(--ddc-black);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ddc-badge--sale { background: var(--ddc-black); color: var(--ddc-white); }
.ddc-badge--new { background: var(--ddc-sand); }
.ddc-badge--soldout { background: var(--ddc-linen); color: var(--ddc-muted); }

/* Preferiti */
.ddc-wish {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ddc-black);
	cursor: pointer;
	transition: transform 0.3s var(--ddc-ease-out), opacity 0.3s var(--ddc-ease);
}

.ddc-wish .ddc-icon path { transition: fill 0.25s var(--ddc-ease); }
.ddc-wish.is-active .ddc-icon path { fill: currentColor; }
.ddc-wish.is-pop { animation: ddc-bump 0.5s var(--ddc-ease-out); }
.ddc-wish:hover { transform: scale(1.08); }

.ddc-card__wish {
	position: absolute;
	top: 4px;
	right: 4px;
	z-index: 3;
	background: rgba(251, 250, 248, 0.7);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

@media (hover: hover) {
	.ddc-card__wish:not(.is-active) { opacity: 0; }
	.ddc-card:hover .ddc-card__wish,
	.ddc-card__wish:focus-visible { opacity: 1; }
}

/* Aggiunta rapida */
.ddc-card__quick {
	position: absolute;
	right: 8px;
	bottom: 8px;
	left: 8px;
	z-index: 3;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.35s var(--ddc-ease), transform 0.45s var(--ddc-ease-out);
}

.ddc-card:hover .ddc-card__quick,
.ddc-card__quick:focus-within {
	opacity: 1;
	transform: none;
}

@media (hover: none) {
	.ddc-card__quick { display: none; }
}

.woocommerce ul.products li.product .ddc-card__quick .button,
.ddc-card__quick .button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 16px;
	border: 0;
	border-radius: 0;
	background: rgba(17, 17, 17, 0.92);
	color: var(--ddc-white);
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	line-height: 1.2;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .ddc-card__quick .button:hover { background: var(--ddc-black); }

.woocommerce ul.products li.product .ddc-card__quick .button.loading { opacity: 0.8; }
.woocommerce ul.products li.product .ddc-card__quick .button.loading::after {
	position: static;
	margin-left: 10px;
	font-size: 12px;
}

.woocommerce ul.products li.product .ddc-card__quick .added_to_cart { display: none; }

/* Testi della card */
.ddc-card__body {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	gap: 2px 12px;
	padding: 14px 2px 0;
}

.woocommerce ul.products li.product .ddc-card__title,
.ddc-card__title {
	grid-column: 1;
	margin: 0;
	padding: 0;
	color: var(--ddc-black);
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-base);
	font-weight: 400;
	letter-spacing: -0.005em;
	line-height: 1.35;
}

.ddc-card__title a {
	color: inherit;
	text-decoration: none;
}

.ddc-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.ddc-card__media .ddc-card__link,
.ddc-card__media .ddc-badges { z-index: 2; }

.woocommerce ul.products li.product .ddc-card__body .price,
.ddc-card__body .price {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-sm);
	font-weight: 400;
	white-space: nowrap;
}

.ddc-card__body .price del {
	margin-right: 6px;
	color: var(--ddc-muted);
	font-size: 0.92em;
	opacity: 1;
}

.ddc-card__body .price ins {
	padding: 1px 4px;
	background: var(--ddc-sand);
	text-decoration: none;
}

.ddc-card__body .star-rating { display: none; }

.ddc-dots {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.ddc-dot {
	width: 12px;
	height: 12px;
	border: 1px solid rgba(17, 17, 17, 0.18);
	border-radius: 50%;
	background: var(--dot, var(--ddc-sand));
}

.ddc-dots__more {
	color: var(--ddc-muted);
	font-size: 11px;
}

@media (max-width: 767px) {
	.ddc-card__body {
		grid-template-columns: 1fr;
		padding-top: 10px;
	}

	.woocommerce ul.products li.product .ddc-card__body .price,
	.ddc-card__body .price { grid-column: 1; grid-row: auto; }

	.woocommerce ul.products li.product .ddc-card__title,
	.ddc-card__title { font-size: var(--ddc-fs-sm); }
}

/* 02 Catalogo ------------------------------------------------------------- */
.ddc-shop {
	padding-bottom: var(--ddc-section);
}

.ddc-shop-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: calc(var(--ddc-max) + var(--ddc-gutter) * 2);
	margin: 0 auto;
	padding: clamp(24px, 3vw, 40px) var(--ddc-gutter) clamp(24px, 3vw, 40px);
}

.ddc-shop-hero.has-image {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	gap: clamp(24px, 4vw, 72px);
	align-items: stretch;
	max-width: none;
	padding: 0;
	background: var(--ddc-stone);
}

.ddc-shop-hero.has-image .ddc-shop-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 4vw, 64px) 0 clamp(32px, 4vw, 64px) max(var(--ddc-gutter), calc((100vw - var(--ddc-max)) / 2));
}

.ddc-shop-hero__title {
	margin: 0;
	font-size: var(--ddc-fs-2xl);
	font-weight: 300;
	letter-spacing: -0.025em;
}

.ddc-shop-hero__desc {
	max-width: 520px;
	margin-top: 16px;
	color: var(--ddc-charcoal);
}

.ddc-shop-hero__desc p:last-child { margin-bottom: 0; }

.ddc-shop-hero__media {
	position: relative;
	min-height: 320px;
	max-height: 460px;
	overflow: hidden;
}

body .ddc-shop-hero__media img {
	max-width: none;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

@media (max-width: 767px) {
	.ddc-shop-hero.has-image { grid-template-columns: 1fr; gap: 0; }
	.ddc-shop-hero.has-image .ddc-shop-hero__text { padding: 28px var(--ddc-gutter); }
	.ddc-shop-hero__media { min-height: 220px; order: -1; }
}

.ddc-subcats {
	padding-block: 20px 0;
}

.ddc-shop > .woocommerce-notices-wrapper,
.ddc-shop > .ddc-toolbar,
.ddc-shop > ul.products,
.ddc-shop > .woocommerce-info,
.ddc-shop > .ddc-loadmore,
.ddc-shop > .woocommerce-pagination,
.ddc-shop > .woocommerce-no-products-found {
	width: 100%;
	max-width: calc(var(--ddc-max) + var(--ddc-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--ddc-gutter);
}

body .ddc-shop > ul.products.products {
	max-width: calc(var(--ddc-max) + var(--ddc-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--ddc-gutter);
}

.ddc-toolbar {
	position: sticky;
	top: calc(var(--ddc-bar-h) - 1px);
	z-index: 20;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-block: 20px 28px;
	padding-block: 12px;
	border-bottom: 1px solid var(--ddc-line);
	background: var(--ddc-bg);
}

.admin-bar .ddc-toolbar { top: calc(var(--ddc-bar-h) + 31px); }

.ddc-toolbar__left {
	display: flex;
	align-items: center;
	gap: 20px;
}

.ddc-toolbar__filter {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	padding: 8px 16px;
	border: 1px solid var(--ddc-black);
	background: transparent;
	color: var(--ddc-black);
	cursor: pointer;
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-sm);
	transition: background-color var(--ddc-fast) var(--ddc-ease), color var(--ddc-fast) var(--ddc-ease);
}

.ddc-toolbar__filter:hover {
	background: var(--ddc-black);
	color: var(--ddc-white);
}

.ddc-toolbar__count {
	margin: 0;
	color: var(--ddc-muted);
	font-size: var(--ddc-fs-sm);
}

.woocommerce .ddc-toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
}

.ddc-toolbar .woocommerce-ordering select {
	min-width: 220px;
	min-height: 40px;
	padding-block: 8px;
	border-color: transparent;
	background-color: transparent;
	font-size: var(--ddc-fs-sm);
	text-align: right;
}

.ddc-toolbar .woocommerce-ordering select:hover,
.ddc-toolbar .woocommerce-ordering select:focus { border-color: var(--ddc-line); }

@media (max-width: 767px) {
	.ddc-toolbar { flex-wrap: nowrap; gap: 8px; }
	.ddc-toolbar__left { gap: 12px; }
	.ddc-toolbar__count { display: none; }
	.ddc-toolbar .woocommerce-ordering select {
		width: 100%;
		min-width: 0;
		max-width: 190px;
		padding-left: 8px;
		border-color: var(--ddc-line);
	}
}

.ddc-filters .ddc-drawer__body .widget { margin-bottom: 32px; }
.ddc-filters .widget-title,
.ddc-filters .wp-block-heading {
	margin-bottom: 14px;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	text-transform: uppercase;
}

.ddc-filters ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ddc-filters li { padding: 5px 0; }
.ddc-filters a { color: var(--ddc-charcoal); text-decoration: none; }
.ddc-filters a:hover { color: var(--ddc-black); text-decoration: underline; }
.ddc-filters .count { color: var(--ddc-muted); font-size: 0.9em; }

.ddc-loadmore {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 56px;
}

.ddc-loadmore .is-loading { pointer-events: none; opacity: 0.6; }

.ddc-js .ddc-loadmore + .woocommerce-pagination { display: none; }

.woocommerce nav.woocommerce-pagination { margin-top: 48px; }

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

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	padding: 12px;
	font-size: var(--ddc-fs-sm);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	border: 1px solid var(--ddc-black);
	background: transparent;
	color: var(--ddc-black);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--ddc-stone);
	color: var(--ddc-black);
}

/* 03 Scheda prodotto ------------------------------------------------------ */
.ddc-shop--product {
	padding-bottom: 0;
}

.ddc-product-top {
	max-width: calc(var(--ddc-max) + var(--ddc-gutter) * 2);
	margin: 0 auto;
	padding: 20px var(--ddc-gutter) 0;
}

.ddc-product-top .ddc-breadcrumb { margin-bottom: 18px; }

.woocommerce div.product.ddc-card { display: block; }

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: calc(var(--ddc-max) + var(--ddc-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ddc-gutter);
}

.woocommerce div.product > * {
	grid-column: 1 / -1;
}

/* Galleria + colonna acquisto (il contenitore limita la colonna "sticky"). */
.ddc-product-main {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 0 clamp(28px, 4vw, 72px);
	align-items: start;
}

.ddc-product-main > * {
	grid-column: 1 / -1;
}

.ddc-product-main > .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
}

.ddc-product-main > .summary {
	grid-column: 2;
	grid-row: 1;
}

.woocommerce div.product.type-product div.images,
.woocommerce div.product.type-product div.summary,
.woocommerce-page div.product.type-product div.images,
.woocommerce-page div.product.type-product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

/* Galleria a mosaico */
.ddc-gallery {
	position: relative;
	opacity: 1 !important;
}

.ddc-gallery .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
}

.woocommerce div.product div.images.ddc-gallery .woocommerce-product-gallery__image:nth-child(n) {
	display: block;
	width: auto;
}

.ddc-gallery .woocommerce-product-gallery__image {
	position: relative;
	grid-column: span 3;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--ddc-stone);
}

.ddc-gallery--1 .woocommerce-product-gallery__image,
.ddc-gallery--3 .woocommerce-product-gallery__image:first-child,
.ddc-gallery--5 .woocommerce-product-gallery__image:first-child,
.ddc-gallery--7 .woocommerce-product-gallery__image:first-child {
	grid-column: span 6;
	aspect-ratio: 5 / 4;
}

.ddc-gallery--1 .woocommerce-product-gallery__image { aspect-ratio: 1 / 1; }

/* Prodotto senza immagini: il segnaposto occupa tutta la galleria. */
.ddc-gallery .woocommerce-product-gallery__image--placeholder {
	grid-column: 1 / -1;
	aspect-ratio: 1 / 1;
	background: var(--ddc-stone);
}

.woocommerce div.product .ddc-gallery .woocommerce-product-gallery__image--placeholder img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ddc-gallery--5 .woocommerce-product-gallery__image:nth-child(n + 4),
.ddc-gallery--6 .woocommerce-product-gallery__image:nth-child(n + 3):nth-child(-n + 5),
.ddc-gallery--7 .woocommerce-product-gallery__image:nth-child(n + 5) {
	grid-column: span 2;
}

.ddc-gallery .woocommerce-product-gallery__image a {
	display: block;
	height: 100%;
	cursor: zoom-in;
}

.woocommerce div.product .ddc-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
	transition: transform 1.2s var(--ddc-ease-out);
}



.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
	z-index: 5;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(251, 250, 248, 0.85);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
	top: 11px;
	left: 12px;
	border-color: var(--ddc-black);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after {
	top: 24px;
	left: 25px;
	background: var(--ddc-black);
}

.ddc-gallery__dots { display: none; }

@media (max-width: 1024px) {
	.woocommerce div.product { padding: 0; }

	.ddc-product-main { grid-template-columns: minmax(0, 1fr); }

	.ddc-product-main > .woocommerce-product-gallery,
	.ddc-product-main > .summary {
		grid-column: 1;
		grid-row: auto;
	}

	.ddc-product-main > .summary { padding: 28px var(--ddc-gutter) 0; }

	.ddc-gallery .woocommerce-product-gallery__wrapper {
		display: flex;
		gap: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.ddc-gallery .woocommerce-product-gallery__wrapper::-webkit-scrollbar { display: none; }

	.ddc-gallery .woocommerce-product-gallery__image,
	.ddc-gallery--1 .woocommerce-product-gallery__image,
	.ddc-gallery .woocommerce-product-gallery__image:first-child {
		flex: 0 0 100%;
		aspect-ratio: 4 / 5;
		scroll-snap-align: start;
	}

	.ddc-gallery__dots {
		position: absolute;
		right: 0;
		bottom: 14px;
		left: 0;
		z-index: 4;
		display: flex;
		justify-content: center;
		gap: 6px;
		pointer-events: none;
	}

	.ddc-gallery__dots span {
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: rgba(17, 17, 17, 0.25);
		transition: background-color 0.3s var(--ddc-ease), width 0.3s var(--ddc-ease);
	}

	.ddc-gallery__dots span.is-active {
		width: 18px;
		border-radius: 4px;
		background: var(--ddc-black);
	}

	.ddc-product-top { padding-bottom: 4px; }
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ddc-gallery .woocommerce-product-gallery__image,
	.ddc-gallery .woocommerce-product-gallery__image:first-child { flex-basis: 62%; }
}

/* Colonna acquisto */
/* Ferma sotto l'header (e sotto la barra di amministrazione). Se non entra per intero nello
   schermo il JS aggiunge .ddc-summary--static: scorre con la pagina, senza parti nascoste. */
.woocommerce div.product .summary {
	align-self: start;
	position: sticky;
	top: calc(var(--ddc-bar-h) + 24px + var(--wp-admin--admin-bar--height, 0px));
	padding-bottom: 24px;
}

.woocommerce div.product .summary.ddc-summary--static { position: relative; top: auto; }

@media (max-width: 1024px) {
	.woocommerce div.product .summary { position: static; }
}

.ddc-summary__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 12px;
}

.ddc-summary__top .ddc-eyebrow { margin: 0; }

.woocommerce div.product .product_title {
	margin: 0 0 12px;
	color: var(--ddc-black);
	font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem);
	font-weight: 300;
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 0 0 14px;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-lg);
	font-weight: 400;
}

.woocommerce div.product p.price del {
	margin-right: 8px;
	color: var(--ddc-muted);
	font-size: 0.75em;
	opacity: 1;
}

.woocommerce div.product p.price ins {
	padding: 0 6px;
	background: var(--ddc-sand);
	text-decoration: none;
}

.ddc-rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--ddc-muted);
	font-size: var(--ddc-fs-sm);
	text-decoration: none;
}

.woocommerce .star-rating { color: var(--ddc-black); }
.woocommerce .star-rating::before { color: var(--ddc-line); opacity: 1; }
.ddc-rating .star-rating { float: none; margin: 0; }

.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ddc-line);
	color: var(--ddc-charcoal);
}

.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin: 0; }

.ddc-delivery {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	color: var(--ddc-charcoal);
	font-size: var(--ddc-fs-sm);
}

/* Varianti */
.woocommerce div.product form.cart .variations {
	width: 100%;
	margin-bottom: 18px;
	border: 0;
}

.woocommerce div.product form.cart .variations tr {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
	display: block;
	padding: 0;
	border: 0;
	line-height: 1.4;
}

.woocommerce div.product form.cart .variations label {
	margin: 0;
	font-size: var(--ddc-fs-sm);
	font-weight: 400;
}

.woocommerce div.product form.cart .variations select { max-width: 360px; }

.ddc-swatch-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	opacity: 0;
}

.ddc-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ddc-swatch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 8px 16px;
	border: 1px solid var(--ddc-line);
	background: var(--ddc-white);
	color: var(--ddc-black);
	cursor: pointer;
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-sm);
	transition: border-color var(--ddc-fast) var(--ddc-ease), box-shadow var(--ddc-fast) var(--ddc-ease);
}

.ddc-swatch:hover { border-color: var(--ddc-taupe); }

.ddc-swatch[aria-checked="true"] {
	border-color: var(--ddc-black);
	box-shadow: inset 0 0 0 1px var(--ddc-black);
}

.ddc-swatch.is-disabled {
	color: var(--ddc-muted);
	text-decoration: line-through;
	opacity: 0.5;
}

.ddc-swatch__dot {
	width: 18px;
	height: 18px;
	border: 1px solid rgba(17, 17, 17, 0.15);
	border-radius: 50%;
	background: var(--dot, var(--ddc-sand));
}

.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	margin-top: 4px;
	color: var(--ddc-muted);
	font-size: 12px;
}

.woocommerce div.product .woocommerce-variation-price { margin-bottom: 12px; }

/* Quantità + pulsante */
.woocommerce div.product form.cart {
	margin-bottom: 22px;
}

.woocommerce div.product form.cart:not(.variations_form),
.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}

.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { display: none; }

.woocommerce .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 52px;
	border: 1px solid var(--ddc-line);
	background: var(--ddc-white);
}

.woocommerce div.product form.cart div.quantity {
	float: none;
	margin: 0;
}

.woocommerce .quantity .qty {
	width: 44px;
	min-height: 0;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: var(--ddc-fs-base);
	text-align: center;
	-moz-appearance: textfield;
}

.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.ddc-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ddc-black);
	cursor: pointer;
	transition: background-color var(--ddc-fast) var(--ddc-ease);
}

.ddc-qty__btn:hover { background: var(--ddc-linen); }

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 180px;
	min-height: 52px;
	float: none;
	margin: 0;
	padding: 14px 24px;
	border-radius: 0;
	background: var(--ddc-black);
	color: var(--ddc-white);
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	text-transform: uppercase;
	transition: background-color var(--ddc-fast) var(--ddc-ease);
}

.woocommerce div.product form.cart .button:hover { background: var(--ddc-charcoal); color: var(--ddc-white); }

.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled {
	opacity: 0.35;
	background: var(--ddc-black);
}

.woocommerce div.product form.cart .button.loading { opacity: 0.7; }

/* Prodotti raggruppati: tabella a tutta larghezza, pulsanti piccoli nelle righe. */
.woocommerce div.product form.cart .group_table {
	flex: 0 0 100%;
	width: 100%;
	margin-bottom: 8px;
}

.woocommerce div.product form.cart .group_table td { vertical-align: middle; }

.woocommerce div.product form.cart .group_table .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	min-width: 0;
	min-height: 40px;
	padding: 10px 14px;
	white-space: nowrap;
}

.ddc-wish--single {
	width: 52px;
	height: 52px;
	border: 1px solid var(--ddc-line);
	border-radius: 0;
	background: var(--ddc-white);
}

.ddc-wish--single:hover {
	border-color: var(--ddc-black);
	transform: none;
}

/* Prodotto esaurito: il cuore resta, con la sua etichetta. */
.ddc-single-wish {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 4px 0 22px;
	color: var(--ddc-charcoal);
	font-size: var(--ddc-fs-sm);
}

.ddc-inline-notice {
	margin: 0 0 14px;
}

.woocommerce div.product .stock {
	margin: 0 0 12px;
	color: var(--ddc-success);
	font-size: var(--ddc-fs-sm);
}

.woocommerce div.product .out-of-stock { color: var(--ddc-danger); }

/* Vantaggi sotto il pulsante */
.ddc-pusp {
	display: grid;
	gap: 14px;
	margin: 0 0 22px;
	padding: 22px 0;
	border-top: 1px solid var(--ddc-line);
	border-bottom: 1px solid var(--ddc-line);
	list-style: none;
}

.ddc-pusp li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: var(--ddc-fs-sm);
	line-height: 1.5;
}

.ddc-pusp strong {
	display: block;
	color: var(--ddc-black);
	font-weight: 400;
}

.ddc-pusp span { color: var(--ddc-muted); }

.ddc-summary__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
}

.ddc-anchors {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	font-size: 12px;
}

.ddc-anchors a {
	color: var(--ddc-black);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ddc-anchors a + a::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 12px;
	margin: 0 14px;
	background: var(--ddc-line);
	vertical-align: -1px;
}

.ddc-sku {
	margin: 0;
	color: var(--ddc-muted);
	font-size: 11px;
	letter-spacing: 0.06em;
}

/* Pannello informazioni */
.ddc-info {
	grid-column: 1 / -1;
	margin: clamp(48px, 6vw, 88px) calc(-1 * var(--ddc-gutter)) 0;
	padding: clamp(40px, 5vw, 72px) var(--ddc-gutter);
	background: var(--ddc-stone);
}

@media (max-width: 1024px) {
	.ddc-info { margin-inline: 0; }
}

.ddc-info__inner {
	max-width: var(--ddc-max);
	margin: 0 auto;
}

.ddc-info__tabs {
	display: flex;
	gap: 32px;
	margin-bottom: 36px;
	overflow-x: auto;
	border-bottom: 1px solid var(--ddc-taupe);
	scrollbar-width: none;
}

.ddc-info__tabs button {
	position: relative;
	flex: none;
	padding: 0 0 14px;
	border: 0;
	background: none;
	color: var(--ddc-muted);
	cursor: pointer;
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-md);
	font-weight: 400;
}

.ddc-info__tabs button[aria-selected="true"] { color: var(--ddc-black); }

.ddc-info__tabs button::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--ddc-black);
	transform: scaleX(0);
	transition: transform 0.4s var(--ddc-ease-out);
}

.ddc-info__tabs button[aria-selected="true"]::after { transform: scaleX(1); }

.ddc-info__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(28px, 5vw, 88px);
	align-items: start;
}

.ddc-info__media {
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--ddc-sand);
}

.woocommerce .ddc-info__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

.ddc-info__text,
.ddc-info__reviews {
	max-width: 760px;
}

.ddc-info__grid--full { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 767px) {
	.ddc-info__grid { grid-template-columns: 1fr; }
	.ddc-info__media { display: none; }
}

/* Fisarmoniche */
.ddc-acc__item { border-bottom: 1px solid var(--ddc-taupe); }
.ddc-acc__item:first-child { border-top: 1px solid var(--ddc-taupe); }

.ddc-acc__title { margin: 0; }

.ddc-acc__title button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 20px 0;
	border: 0;
	background: none;
	color: var(--ddc-black);
	cursor: pointer;
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	text-align: left;
	text-transform: uppercase;
}

.ddc-acc__icon {
	position: relative;
	width: 14px;
	height: 14px;
}

.ddc-acc__icon::before,
.ddc-acc__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	transition: transform 0.4s var(--ddc-ease-out);
}

.ddc-acc__icon::after { transform: rotate(90deg); }
.ddc-acc__item.is-open .ddc-acc__icon::after { transform: rotate(0deg); }

.ddc-acc__body {
	overflow: hidden;
	transition: height 0.4s var(--ddc-ease);
}

.ddc-acc__content {
	padding-bottom: 22px;
	color: var(--ddc-charcoal);
}

.ddc-acc__content > *:last-child { margin-bottom: 0; }

.ddc-spec,
.ddc-acc__content .woocommerce-product-attributes {
	width: 100%;
	margin: 0;
	border: 0;
}

.ddc-spec th,
.ddc-spec td,
.ddc-acc__content .woocommerce-product-attributes th,
.ddc-acc__content .woocommerce-product-attributes td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--ddc-line);
	background: none !important;
	font-size: var(--ddc-fs-sm);
	font-style: normal;
	text-align: left;
}

.ddc-spec th,
.ddc-acc__content .woocommerce-product-attributes th {
	width: 40%;
	color: var(--ddc-muted);
	font-weight: 300;
}

.ddc-acc__content .woocommerce-product-attributes td p { margin: 0; padding: 0; }

/* Recensioni */
.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin-left: 64px;
	border-color: var(--ddc-line);
	border-radius: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	width: 44px;
	border: 0;
	border-radius: 50%;
	background: none;
}

.woocommerce #review_form #respond .form-submit input,
.woocommerce #respond input#submit {
	border-radius: 0;
	background: var(--ddc-black);
	color: #fff;
	font-family: var(--ddc-font);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	text-transform: uppercase;
	font-size: var(--ddc-fs-xs);
	padding: 16px 28px;
}

.woocommerce p.stars a { color: var(--ddc-black); }

/* Correlati */
.woocommerce div.product .related,
.woocommerce div.product .upsells {
	grid-column: 1 / -1;
	padding-block: clamp(48px, 6vw, 88px) 0;
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	margin-bottom: 28px;
	font-size: var(--ddc-fs-xl);
}

@media (max-width: 1024px) {
	.woocommerce div.product .related,
	.woocommerce div.product .upsells { padding-inline: var(--ddc-gutter); }
}

@media (max-width: 767px) {
	.woocommerce div.product .related ul.products,
	.woocommerce div.product .upsells ul.products {
		display: flex;
		gap: 10px;
		margin-inline: calc(-1 * var(--ddc-gutter));
		padding-inline: var(--ddc-gutter);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
	}

	.woocommerce div.product .related ul.products li.product,
	.woocommerce div.product .upsells ul.products li.product {
		flex: 0 0 64%;
		scroll-snap-align: start;
	}
}

/* Barra acquisto fissa */
.ddc-sticky-atc {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 80;
	border-top: 1px solid var(--ddc-line);
	background: rgba(251, 250, 248, 0.96);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	transform: translateY(110%);
	transition: transform 0.5s var(--ddc-ease-out);
}

.ddc-sticky-atc.is-visible { transform: none; }

/* Su desktop la colonna acquisto è già fissa accanto alle foto: la barra serve su tablet e smartphone. */
@media (min-width: 1025px) {
	.ddc-sticky-atc { display: none; }
}

.ddc-sticky-atc__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-width: calc(var(--ddc-max) + var(--ddc-gutter) * 2);
	margin: 0 auto;
	padding: 10px var(--ddc-gutter);
	padding-bottom: calc(10px + env(safe-area-inset-bottom));
}

.ddc-sticky-atc__product {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.ddc-sticky-atc__product img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	background: var(--ddc-stone);
	mix-blend-mode: multiply;
}

.ddc-sticky-atc__title {
	margin: 0;
	overflow: hidden;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-sm);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.ddc-sticky-atc__price {
	margin: 0;
	color: var(--ddc-muted);
	font-size: var(--ddc-fs-sm);
}

.ddc-sticky-atc__price del { margin-right: 6px; }
.ddc-sticky-atc__price ins { text-decoration: none; }

@media (max-width: 767px) {
	.ddc-sticky-atc__product img { display: none; }
	.ddc-sticky-atc .ddc-btn { padding-inline: 18px; }
}

/* 04 Carrello laterale ---------------------------------------------------- */
.ddc-cart .ddc-drawer__head { padding-left: 24px; }

.ddc-freeship {
	padding: 14px 24px 16px;
	border-bottom: 1px solid var(--ddc-line);
	background: var(--ddc-linen);
	font-size: var(--ddc-fs-sm);
}

.ddc-freeship[hidden] { display: none; }

.ddc-freeship p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
}

.ddc-freeship__track {
	height: 2px;
	overflow: hidden;
	background: var(--ddc-line);
}

.ddc-freeship__track span {
	display: block;
	height: 100%;
	background: var(--ddc-black);
	transition: width 0.8s var(--ddc-ease-out);
}

.ddc-cart__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

.ddc-cart ul.woocommerce-mini-cart.product_list_widget,
.ddc-cart .woocommerce-mini-cart {
	flex: 1;
	margin: 0;
	padding: 8px 24px;
	overflow-y: auto;
	list-style: none;
}

.ddc-cart .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 84px 1fr;
	grid-template-rows: auto auto 1fr;
	column-gap: 16px;
	min-height: 105px;
	padding: 16px 28px 16px 0 !important;
	border-bottom: 1px solid var(--ddc-line);
	font-size: var(--ddc-fs-sm);
}

.ddc-cart .woocommerce-mini-cart-item a:not(.remove) {
	display: contents;
	color: var(--ddc-black);
	font-weight: 400;
	text-decoration: none;
}

.ddc-cart .woocommerce-mini-cart-item img {
	grid-row: 1 / span 3;
	width: 84px !important;
	height: 105px;
	margin: 0 !important;
	float: none !important;
	object-fit: cover;
	background: var(--ddc-stone);
	mix-blend-mode: multiply;
}

.ddc-cart .woocommerce-mini-cart-item .quantity {
	grid-column: 2;
	display: block;
	height: auto;
	margin-top: 4px;
	border: 0;
	background: none;
	color: var(--ddc-muted);
}

.ddc-cart .woocommerce-mini-cart-item .variation {
	grid-column: 2;
	margin: 4px 0 0;
	color: var(--ddc-muted);
	font-size: 12px;
}

.ddc-cart .woocommerce-mini-cart-item .variation dt,
.ddc-cart .woocommerce-mini-cart-item .variation dd { display: inline; margin: 0; }
.ddc-cart .woocommerce-mini-cart-item .variation dd p { display: inline; margin: 0; }

.ddc-cart a.remove,
.woocommerce .ddc-cart a.remove {
	position: absolute !important;
	top: 14px !important;
	right: 0 !important;
	left: auto !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	color: var(--ddc-muted) !important;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
}

.ddc-cart a.remove:hover {
	background: var(--ddc-black) !important;
	color: #fff !important;
}

.ddc-cart .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 18px 24px 8px;
	border-top: 1px solid var(--ddc-line);
	color: var(--ddc-black);
	font-size: var(--ddc-fs-base);
}

.ddc-cart .woocommerce-mini-cart__total strong { font-weight: 400; }

.ddc-cart .woocommerce-mini-cart__buttons {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 10px 24px 24px;
}

.ddc-cart .woocommerce-mini-cart__buttons .button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0 !important;
	border: 1px solid var(--ddc-black);
	border-radius: 0;
	background: transparent;
	color: var(--ddc-black);
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	text-transform: uppercase;
}

.ddc-cart .woocommerce-mini-cart__buttons .button.checkout {
	order: -1;
	background: var(--ddc-black);
	color: var(--ddc-white);
}

.ddc-cart .woocommerce-mini-cart__buttons .button:hover {
	background: var(--ddc-charcoal);
	border-color: var(--ddc-charcoal);
	color: var(--ddc-white);
}

.ddc-cart .woocommerce-mini-cart__empty-message {
	margin: auto;
	padding: 64px 24px;
	color: var(--ddc-muted);
	text-align: center;
}

/* 05 Carrello, cassa, account, avvisi ------------------------------------- */
.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	margin: 0 0 24px;
	padding: 16px 20px 16px 52px;
	border: 0;
	border-left: 2px solid var(--ddc-black);
	border-radius: 0;
	background: var(--ddc-linen);
	color: var(--ddc-charcoal);
	font-size: var(--ddc-fs-sm);
	list-style: none;
}

.woocommerce-error { border-left-color: var(--ddc-danger); }

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	top: 16px;
	left: 20px;
	color: var(--ddc-black);
}

.woocommerce-error::before { color: var(--ddc-danger); }

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	padding: 0;
	background: none !important;
	color: var(--ddc-black) !important;
	font-weight: 500;
	text-decoration: underline;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	border-radius: 0;
	background: var(--ddc-black);
	color: var(--ddc-white);
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	line-height: 1.2;
	padding: 16px 26px;
	text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: var(--ddc-charcoal);
	color: var(--ddc-white);
}

/* Blocchi Carrello e Cassa */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	font-family: var(--ddc-font);
}

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 54px;
	border-radius: 0 !important;
	background: var(--ddc-black) !important;
	color: var(--ddc-white) !important;
	font-family: var(--ddc-font);
	font-size: var(--ddc-fs-xs) !important;
	font-weight: 500 !important;
	letter-spacing: var(--ddc-track);
	text-transform: uppercase;
}

.wc-block-components-button:not(.is-link):hover { background: var(--ddc-charcoal) !important; }

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-color: var(--ddc-line) !important;
	border-radius: 0 !important;
	background: var(--ddc-white) !important;
	font-family: var(--ddc-font) !important;
}

.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus {
	border-color: var(--ddc-black) !important;
	box-shadow: none !important;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	border-radius: 0 !important;
}

.wc-block-cart-items__row .wc-block-components-product-name {
	color: var(--ddc-black);
	font-weight: 400;
	text-decoration: none;
}

.wc-block-components-product-image img,
.wc-block-cart-item__image img {
	background: var(--ddc-stone);
	mix-blend-mode: multiply;
}

.wc-block-components-quantity-selector {
	border-radius: 0 !important;
}

.wc-block-components-quantity-selector::after { border-radius: 0 !important; border-color: var(--ddc-line) !important; }

.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border-radius: 0 !important;
}

.wc-block-components-notice-banner {
	border-radius: 0 !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 400;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-size: var(--ddc-fs-xl);
	font-weight: 300;
}

.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

.woocommerce-account .u-columns.col2-set .col-1,
.woocommerce-account .u-columns.col2-set .col-2 {
	float: none;
	width: auto;
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password {
	margin: 0;
	padding: 32px;
	border: 1px solid var(--ddc-line);
	border-radius: 0;
	background: var(--ddc-white);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	min-height: 48px;
	border-radius: 0;
}

.woocommerce form .form-row label { font-size: var(--ddc-fs-sm); }



.woocommerce table.shop_table {
	border-color: var(--ddc-line);
	border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--ddc-line); }

/* 06 Widget prodotti e contatti ------------------------------------------- */
.ddc-wproducts .woocommerce {
	width: 100%;
}

.ddc-track,
.ddc-wproducts--carousel ul.products {
	display: flex !important;
	gap: var(--ddc-gap) !important;
	margin: 0 !important;
	padding: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.ddc-track::-webkit-scrollbar { display: none; }

.ddc-wproducts--carousel ul.products li.product.ddc-card {
	flex: 0 0 calc((100% - (var(--ddc-cols) - 1) * var(--ddc-gap)) / var(--ddc-cols));
	scroll-snap-align: start;
}

@media (max-width: 1024px) {
	.ddc-wproducts--carousel ul.products li.product.ddc-card { flex-basis: calc((100% - 2 * var(--ddc-gap)) / 2.6); }
}

@media (max-width: 767px) {
	.ddc-wproducts--carousel ul.products li.product.ddc-card { flex-basis: 64%; }
	.ddc-wproducts--carousel .ddc-carousel__btn { display: none; }
}

.ddc-carousel.is-static .ddc-carousel__progress,
.ddc-wproducts.is-static .ddc-carousel__progress,
.ddc-wproducts.is-static .ddc-carousel__btn { display: none; }

.ddc-wproducts--grid ul.products { --ddc-cols: var(--ddc-cols); }

.ddc-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--ddc-gap);
	align-items: stretch;
}

.ddc-feature--reverse .ddc-feature__media { order: 2; }

.ddc-feature__media {
	position: relative;
	display: block;
	min-height: 520px;
	overflow: hidden;
	background: var(--ddc-stone);
	color: var(--ddc-white);
	text-decoration: none;
}

body .ddc-feature__media img {
	max-width: none;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}



.ddc-feature__label {
	position: absolute;
	right: 24px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border: 1px solid rgba(255, 255, 255, 0.85);
	color: #fff;
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: var(--ddc-track);
	text-transform: uppercase;
	transition: background-color 0.3s var(--ddc-ease), color 0.3s var(--ddc-ease);
}

.ddc-feature__media:hover .ddc-feature__label {
	background: #fff;
	color: var(--ddc-black);
}

.ddc-feature__grid ul.products,
.woocommerce .ddc-feature__grid ul.products {
	--ddc-cols: 2 !important;
	gap: 28px var(--ddc-gap) !important;
}

@media (max-width: 767px) {
	.ddc-feature { grid-template-columns: 1fr; gap: 28px; }
	.ddc-feature__media { min-height: 0; aspect-ratio: 4 / 5; }
	.ddc-feature--reverse .ddc-feature__media { order: 0; }
}

/* FAQ e contatti (pagina Contatti demo) */
.ddc-faq h3 {
	margin: 40px 0 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ddc-black);
	font-size: var(--ddc-fs-md);
	font-weight: 400;
}

.ddc-faq h3:first-child { margin-top: 0; }

details {
	border-bottom: 1px solid var(--ddc-line);
}

details summary {
	position: relative;
	padding: 18px 40px 18px 0;
	color: var(--ddc-black);
	cursor: pointer;
	font-weight: 400;
	list-style: none;
}

details summary::-webkit-details-marker { display: none; }

details summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 4px;
	font-size: 20px;
	font-weight: 300;
	line-height: 1;
	transform: translateY(-50%);
	transition: transform 0.35s var(--ddc-ease-out);
}

details[open] summary::after { transform: translateY(-50%) rotate(45deg); }

details > *:not(summary) {
	margin: 0;
	padding: 0 0 20px;
	color: var(--ddc-charcoal);
}

.ddc-contact-cards {
	display: grid;
	gap: 12px;
}

.ddc-contact-card {
	padding: 28px;
	background: var(--ddc-stone);
}

.ddc-contact-card p { margin: 0 0 10px; color: var(--ddc-charcoal); }
.ddc-contact-card p:last-child { margin-bottom: 0; }
.ddc-contact-card .ddc-eyebrow { margin-bottom: 8px; }

.ddc-contact-card__title {
	color: var(--ddc-black) !important;
	font-size: var(--ddc-fs-lg);
	font-weight: 300;
	line-height: 1.3;
	word-break: break-word;
}

.ddc-contact-card .ddc-btn { margin-top: 10px; }

@media (max-width: 767px) {
	.woocommerce div.product form.cart .button,
	.woocommerce div.product form.cart .single_add_to_cart_button { min-width: 0; padding-inline: 14px; }
	.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form),
	.woocommerce div.product .woocommerce-variation-add-to-cart { flex-wrap: nowrap; }
}

/* Card strette (tablet, colonne affiancate): nome e prezzo su due righe. */
.ddc-card { container-type: inline-size; }

@container (max-width: 250px) {
	.ddc-card__body { grid-template-columns: 1fr; }
	.woocommerce ul.products li.product .ddc-card__body .price,
	.ddc-card__body .price { grid-column: 1; grid-row: auto; }
}

/* "Immagine grande + 4 prodotti": su tablet l'immagine va sopra, i prodotti sotto a tutta larghezza. */
@media (max-width: 1024px) {
	.ddc-feature { grid-template-columns: 1fr; gap: 28px; }
	.ddc-feature__media { min-height: 0; aspect-ratio: 16 / 10; }
	.ddc-feature--reverse .ddc-feature__media { order: 0; }
	.ddc-feature__grid ul.products,
	.woocommerce .ddc-feature__grid ul.products { --ddc-cols: 4 !important; }
}

@media (max-width: 767px) {
	.ddc-feature__media { aspect-ratio: 4 / 5; }
	.ddc-feature__grid ul.products,
	.woocommerce .ddc-feature__grid ul.products { --ddc-cols: 2 !important; }
}

/* Arrotondamento impostabile: pulsanti, campi, selettori. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button,
.woocommerce .quantity,
.ddc-swatch,
.ddc-toolbar__filter,
.ddc-card__quick .button,
.ddc-wish--single,
.woocommerce form.login,
.woocommerce form.register,
.wc-block-components-button:not(.is-link) {
	border-radius: var(--ddc-radius, 0) !important;
}

/* 07 Area cliente --------------------------------------------------------- */
.woocommerce-account .ddc-page__content .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	grid-template-areas: "notices notices" "nav content";
	min-width: 0;
	align-items: start;
	gap: 0 clamp(32px, 5vw, 80px);
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-area: notices; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-area: nav; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-area: content; min-width: 0; }

.woocommerce-account:not(.logged-in) .ddc-page__content .woocommerce,
.woocommerce-lost-password .ddc-page__content .woocommerce {
	display: block;
}

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

.woocommerce-MyAccount-navigation {
	position: sticky;
	top: calc(var(--ddc-bar-h) + 24px + var(--wp-admin--admin-bar--height, 0px));
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--ddc-line);
	list-style: none;
}

.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--ddc-line); }

.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 12px 14px 4px;
	color: var(--ddc-charcoal);
	text-decoration: none;
	transition: color var(--ddc-fast) var(--ddc-ease), background-color var(--ddc-fast) var(--ddc-ease), padding var(--ddc-fast) var(--ddc-ease);
}

.woocommerce-MyAccount-navigation a::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: no-repeat center / contain;
	mask: no-repeat center / contain;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h7v7H4zM13 4h7v4h-7zM13 10h7v10h-7zM4 13h7v7H4z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h7v7H4zM13 4h7v4h-7zM13 10h7v10h-7zM4 13h7v7H4z'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--dashboard a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h7v7H4zM13 4h7v4h-7zM13 10h7v10h-7zM4 13h7v7H4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h7v7H4zM13 4h7v4h-7zM13 10h7v10h-7zM4 13h7v7H4z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 4.5v9L12 21l-8-4.5v-9L12 3Z'/%3E%3Cpath d='m4 7.5 8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 4.5v9L12 21l-8-4.5v-9L12 3Z'/%3E%3Cpath d='m4 7.5 8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--payment-methods a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--ddc-wishlist a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.6a4.3 4.3 0 0 1 7.5 2.7C19.5 15.9 12 20.5 12 20.5Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.6a4.3 4.3 0 0 1 7.5 2.7C19.5 15.9 12 20.5 12 20.5Z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--ddc-withdrawal a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h11a5 5 0 0 1 0 10H8'/%3E%3Cpath d='m8 5-4 4 4 4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h11a5 5 0 0 1 0 10H8'/%3E%3Cpath d='m8 5-4 4 4 4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h4v16h-4M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h4v16h-4M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E"); }

.woocommerce-MyAccount-navigation a:hover {
	padding-left: 10px;
	color: var(--ddc-black);
}

.woocommerce-MyAccount-navigation .is-active a {
	padding-left: 10px;
	background: var(--ddc-stone);
	color: var(--ddc-black);
	font-weight: 400;
}

.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--ddc-muted); }

.woocommerce-MyAccount-content > p:first-child {
	margin-bottom: 8px;
	font-size: var(--ddc-fs-md);
}

.ddc-account-dashboard .woocommerce-MyAccount-content > p:nth-of-type(2) { display: none; }

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	margin-top: 0;
	font-size: var(--ddc-fs-lg);
}

.ddc-account-home { margin-top: 28px; }

.ddc-account-last {
	margin-bottom: 20px;
	padding: 24px;
	border: 1px solid var(--ddc-line);
	background: var(--ddc-white);
}

.ddc-account-last .ddc-eyebrow { margin-bottom: 14px; }

.ddc-account-last__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 24px;
}

.ddc-account-last__thumbs {
	display: flex;
	gap: 6px;
}

.ddc-account-last__thumbs img {
	width: 64px;
	height: 80px;
	object-fit: cover;
	background: var(--ddc-stone);
	mix-blend-mode: multiply;
}

.ddc-account-last__info { flex: 1; min-width: 200px; }
.ddc-account-last__title { margin: 0 0 6px; color: var(--ddc-black); }

.ddc-account-last__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: var(--ddc-fs-sm);
}

.ddc-status {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	background: var(--ddc-stone);
	color: var(--ddc-black);
	font-size: 12px;
	white-space: nowrap;
}

.ddc-status--completed { background: #E3EBE0; }
.ddc-status--processing { background: #F3EAD3; }
.ddc-status--cancelled,
.ddc-status--failed,
.ddc-status--refunded { background: #F4E1DC; }

.ddc-account-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ddc-account-tile {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 22px;
	border: 1px solid var(--ddc-line);
	background: var(--ddc-white);
	color: var(--ddc-charcoal);
	text-decoration: none;
	transition: border-color var(--ddc-fast) var(--ddc-ease), transform 0.35s var(--ddc-ease-out);
}

.ddc-account-tile:hover {
	border-color: var(--ddc-black);
	transform: translateY(-2px);
}

.ddc-account-tile .ddc-icon { margin-bottom: 8px; color: var(--ddc-black); }
.ddc-account-tile__title { color: var(--ddc-black); font-size: var(--ddc-fs-md); }
.ddc-account-tile__text { color: var(--ddc-muted); font-size: var(--ddc-fs-sm); line-height: 1.5; }

/* Tabelle ordini e dettaglio */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-order-details .shop_table,
.woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 28px;
	border: 1px solid var(--ddc-line);
	border-collapse: collapse;
	border-radius: 0;
	background: var(--ddc-white);
	font-size: var(--ddc-fs-sm);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 14px 16px;
	border-top: 1px solid var(--ddc-line);
	vertical-align: middle;
}

.woocommerce table.shop_table thead th {
	border-top: 0;
	background: var(--ddc-linen);
	color: var(--ddc-muted);
	font-size: var(--ddc-fs-xs);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce table.shop_table tfoot th { font-weight: 400; color: var(--ddc-muted); }
.woocommerce table.shop_table tfoot tr:last-child td,
.woocommerce table.shop_table tfoot tr:last-child th { color: var(--ddc-black); font-size: var(--ddc-fs-base); }

.woocommerce table.my_account_orders .button,
.woocommerce-orders-table .button {
	padding: 10px 16px !important;
	font-size: 10.5px !important;
	margin: 2px 4px 2px 0;
}

.woocommerce-order-details,
.woocommerce-customer-details { margin-bottom: 32px; }

.woocommerce-customer-details .woocommerce-columns--addresses,
.woocommerce .col2-set.addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}

.woocommerce .col2-set.addresses .col-1,
.woocommerce .col2-set.addresses .col-2,
.woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	max-width: none;
}

.woocommerce-customer-details address,
.woocommerce .addresses address {
	padding: 20px;
	border: 1px solid var(--ddc-line);
	border-radius: 0;
	background: var(--ddc-white);
	font-style: normal;
	line-height: 1.8;
}

.woocommerce-Address-title,
.woocommerce .addresses .title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.woocommerce .addresses .title::before,
.woocommerce .addresses .title::after { display: none; }

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 { margin: 0; font-size: var(--ddc-fs-md); }

.woocommerce-Address-title .edit { font-size: var(--ddc-fs-sm); }

.woocommerce-order-details__title,
.woocommerce-column__title { font-size: var(--ddc-fs-lg); }

.ddc-order-withdrawal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin: 0 0 32px;
	padding: 20px 24px;
	border: 1px solid var(--ddc-line);
	background: var(--ddc-linen);
}

.ddc-order-withdrawal p { margin: 0; font-size: var(--ddc-fs-sm); }
.ddc-order-withdrawal__title { color: var(--ddc-black); font-size: var(--ddc-fs-base) !important; }

/* Accesso e registrazione */
.woocommerce-account:not(.logged-in) .u-columns.col2-set,
.woocommerce-account:not(.logged-in) #customer_login {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
	max-width: 1040px;
}

.woocommerce-account:not(.logged-in) #customer_login::before,
.woocommerce-account:not(.logged-in) #customer_login::after { display: none; }

.woocommerce-account:not(.logged-in) #customer_login .u-column1,
.woocommerce-account:not(.logged-in) #customer_login .u-column2 {
	float: none;
	width: auto;
}

#customer_login h2 { font-size: var(--ddc-fs-lg); }

.woocommerce form.login,
.woocommerce form.register {
	margin: 0;
	padding: clamp(24px, 3vw, 36px);
}

.woocommerce form .show-password-input {
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce-password-strength {
	margin-top: 6px;
	padding: 6px 10px;
	font-size: 12px;
}

@media (max-width: 900px) {
	.woocommerce-account .ddc-page__content .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "notices" "nav" "content";
	}

	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { min-width: 0; }

	.woocommerce-MyAccount-navigation {
		position: static;
		margin: 0 calc(-1 * var(--ddc-gutter)) 28px;
	}

	.woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 0;
		overflow-x: auto;
		border-bottom: 1px solid var(--ddc-line);
		padding: 0 var(--ddc-gutter);
		scrollbar-width: none;
	}

	.woocommerce-MyAccount-navigation li { flex: none; border: 0; }

	.woocommerce-MyAccount-navigation a {
		padding: 14px 14px 12px;
		border-bottom: 2px solid transparent;
		white-space: nowrap;
	}

	.woocommerce-MyAccount-navigation a:hover,
	.woocommerce-MyAccount-navigation .is-active a {
		padding-left: 14px;
		background: none;
		border-bottom-color: var(--ddc-black);
	}
}

/* 08 Ordine ricevuto ------------------------------------------------------ */
.woocommerce-order .woocommerce-notice--success,
.woocommerce-thankyou-order-received {
	margin: 0 0 20px;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-lg);
}

ul.woocommerce-order-overview,
.woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0;
	margin: 0 0 32px;
	padding: 0;
	border: 1px solid var(--ddc-line);
	background: var(--ddc-white);
	list-style: none;
}

ul.woocommerce-order-overview::before,
ul.woocommerce-order-overview::after { display: none; }

.woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: 18px 20px;
	border: 0;
	border-right: 1px solid var(--ddc-line);
	color: var(--ddc-muted);
	font-size: 11px;
	letter-spacing: 0.1em;
	line-height: 1.8;
	text-transform: uppercase;
}

.woocommerce ul.order_details li:last-child { border-right: 0; }

.woocommerce ul.order_details li strong {
	display: block;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-base);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	word-break: break-word;
}

.ddc-thanks-next {
	margin: 40px 0;
	padding: clamp(24px, 4vw, 44px);
	background: var(--ddc-stone);
}

.ddc-thanks-next__title { margin-top: 0; font-size: var(--ddc-fs-xl); }

.ddc-thanks-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
	margin: 24px 0 32px;
	padding: 0;
	list-style: none;
}

.ddc-thanks-steps li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 14px;
	align-items: start;
}

.ddc-thanks-steps .ddc-icon { grid-row: span 2; color: var(--ddc-black); }
.ddc-thanks-steps strong { color: var(--ddc-black); font-weight: 400; }
.ddc-thanks-steps span { color: var(--ddc-charcoal); font-size: var(--ddc-fs-sm); }

.ddc-thanks-next__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
	margin: 0;
}

.ddc-thanks-next__legal {
	margin: 24px 0 0;
	color: var(--ddc-muted);
	font-size: var(--ddc-fs-sm);
}

/* 09 Carrello: barra spedizione, fiducia, Omnibus ------------------------- */
.ddc-cart-page-freeship { margin-bottom: 28px; }
.ddc-cart-page-freeship .ddc-freeship { border: 1px solid var(--ddc-line); }

.ddc-trust {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	color: var(--ddc-charcoal);
	font-size: var(--ddc-fs-sm);
}

.ddc-trust li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ddc-lowest {
	margin: -8px 0 14px;
	color: var(--ddc-muted);
	font-size: 12px;
}

.ddc-lowest .woocommerce-Price-amount { color: var(--ddc-charcoal); }

.woocommerce-variation-price .ddc-lowest { margin: 6px 0 0; }

.ddc-guarantee {
	margin: 0 0 22px;
}

.ddc-guarantee img {
	display: block;
	width: 100%;
	max-width: 420px;
	height: auto;
}

/* Avviso negozio di WooCommerce */
.woocommerce-store-notice,
p.demo_store {
	position: fixed;
	right: 16px;
	bottom: 16px;
	left: 16px;
	top: auto;
	z-index: 150;
	max-width: 560px;
	margin: 0 auto;
	padding: 14px 44px 14px 18px;
	background: var(--ddc-black);
	color: var(--ddc-white);
	font-size: var(--ddc-fs-sm);
	text-align: left;
	box-shadow: 0 10px 30px rgba(17, 17, 17, 0.18);
}

.woocommerce-store-notice__dismiss-link {
	position: absolute;
	top: 50%;
	right: 16px;
	float: none;
	transform: translateY(-50%);
	color: var(--ddc-white) !important;
	font-size: 0;
}

.woocommerce-store-notice__dismiss-link::before {
	content: "\00d7";
	font-size: 22px;
	line-height: 1;
}

/* iOS: niente zoom automatico sui campi (almeno 16px) */
@media (max-width: 767px) {
	.woocommerce .quantity .qty,
	.wc-block-components-text-input input,
	.wc-block-components-textarea,
	.ddc-toolbar .woocommerce-ordering select { font-size: 16px !important; }
}

.entry-content .woocommerce-MyAccount-navigation a,
.entry-content .ddc-account-tile,
.entry-content .woocommerce-orders-table a.button { text-decoration: none; }

/* Barra strumenti del catalogo (rifatta: ordinamento compatto e linea allineata al contenuto) */
.ddc-shop > .ddc-toolbar {
	border-bottom: 0;
	background-image: linear-gradient(var(--ddc-line), var(--ddc-line));
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: calc(100% - 2 * var(--ddc-gutter)) 1px;
	background-color: var(--ddc-bg);
}

.ddc-sort {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
}

.ddc-sort__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	padding: 8px 2px 8px 12px;
	color: var(--ddc-black);
	font-size: var(--ddc-fs-sm);
	white-space: nowrap;
	pointer-events: none;
}

.ddc-sort__prefix { color: var(--ddc-muted); }
.ddc-sort__prefix::after { content: ":"; }

.ddc-sort__value {
	overflow: hidden;
	text-overflow: ellipsis;
}

.ddc-sort__label .ddc-icon { flex: none; }

/* Il select nativo resta attivo, invisibile sopra l'etichetta: apre il selettore del sistema. */
.woocommerce .ddc-sort .woocommerce-ordering {
	position: absolute;
	inset: 0;
	margin: 0;
}

.woocommerce .ddc-sort .woocommerce-ordering select,
.ddc-toolbar .ddc-sort .woocommerce-ordering select {
	width: 100%;
	max-width: none;
	height: 100%;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	opacity: 0;
	cursor: pointer;
	font-size: 16px !important;
}

.ddc-sort:focus-within .ddc-sort__label { outline: 1px solid var(--ddc-black); outline-offset: 2px; }

@media (max-width: 767px) {
	.ddc-shop > .ddc-toolbar { margin-block: 16px 20px; padding-block: 10px; }
	.ddc-toolbar__filter { min-height: 42px; padding: 8px 14px; }
	.ddc-sort { min-height: 42px; max-width: 58vw; }
	.ddc-sort__prefix { display: none; }
	.ddc-sort__label {
		padding: 8px 12px;
		border: 1px solid var(--ddc-line);
		border-radius: var(--ddc-radius, 0);
	}
}

/* Chip sottocategorie: miniatura tonda, scorrimento orizzontale fino al bordo su mobile */
.ddc-chip.has-thumb { padding: 4px 16px 4px 4px; }

.ddc-chip img,
.woocommerce .ddc-chip img {
	flex: none;
	width: 30px !important;
	height: 30px !important;
	max-width: none;
	margin: 0;
	border-radius: 50%;
	object-fit: cover;
	background: var(--ddc-stone);
	mix-blend-mode: normal;
}

@media (max-width: 767px) {
	.ddc-subcats {
		padding-top: 16px;
		padding-inline: 0;
	}

	.ddc-subcats .ddc-chips--scroll {
		padding-inline: var(--ddc-gutter);
		scroll-padding-inline: var(--ddc-gutter);
		scroll-snap-type: x proximity;
		overscroll-behavior-x: contain;
	}

	.ddc-subcats .ddc-chip { scroll-snap-align: start; min-height: 40px; }

	.ddc-shop-hero { padding-bottom: 8px; }
	.ddc-shop-hero__title { font-size: 2rem; }
	.ddc-shop-hero__desc { margin-top: 10px; font-size: var(--ddc-fs-sm); }
}

.ddc-reviews-note {
	margin: 0 0 20px;
	color: var(--ddc-muted);
	font-size: 12px;
}

/* Carrello laterale: contenitore stabile attorno al fragment di WooCommerce */
.ddc-cart__body .widget_shopping_cart_content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

/* Quantità fissa (prodotto venduto singolarmente): il campo nascosto viene comunque inviato. */
.quantity:has(input[type="hidden"]) .ddc-qty__btn { display: none; }
.woocommerce .quantity:has(input[type="hidden"]) { display: none; }
