/* =============================================================================
   PDP Enhancements — rating, badges, stock, delivery, sticky bar, toast
   File: assets/css/pdp.css
   ============================================================================= */

/* Rating snippet PDP: usa stessi stili di .ds-card__rating (home/shop) */

/* ============== BADGE SULL'IMMAGINE ============== */
.ds-pdp__img-badges{
	position:absolute;
	top:14px;
	left:14px;
	display:flex;
	flex-direction:column;
	gap:6px;
	z-index:3;
	pointer-events:none;
}
.ds-pdp__img-badge{
	display:inline-flex;
	align-items:center;
	padding:5px 10px;
	border-radius:99px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	box-shadow:0 4px 12px rgba(0,0,0,.12);
	pointer-events:auto;
	background:#fff;
	color:var(--ds-black);
}
.ds-pdp__img-badge--sale{background:var(--ds-yellow);color:var(--ds-black)}
.ds-pdp__img-badge--bestseller{background:var(--ds-black);color:#fff}
.ds-pdp__img-badge--new{background:#fff;color:var(--ds-black);border:1px solid var(--ds-black)}
.ds-pdp__img-badge--lowstock{background:#b45309;color:#fff}

/* La PDP media deve essere position:relative per i badge */
.ds-pdp__media{position:relative}

/* ============== STOCK INDICATOR (sotto CTA) ============== */
.ds-pdp__stock{
	display:flex;
	align-items:center;
	gap:8px;
	padding:10px 14px;
	border-radius:10px;
	font-size:13px;
	font-weight:600;
	margin-top:12px;
}
.ds-pdp__stock--in{
	background:rgba(47,125,74,.08);
	color:var(--ds-success);
}
.ds-pdp__stock--low{
	background:rgba(180,83,9,.08);
	color:#b45309;
}
.ds-pdp__stock--oos{
	background:rgba(220,38,38,.08);
	color:#dc2626;
}
.ds-pdp__stock svg{flex-shrink:0}

/* ============== DELIVERY DATE BOX ============== */
.ds-pdp__delivery{
	display:flex;
	align-items:center;
	gap:10px;
	padding:12px 14px;
	border:1px dashed var(--ds-border);
	border-radius:10px;
	background:var(--ds-surface);
	font-size:13px;
	font-weight:500;
	color:var(--ds-black);
	margin-top:10px;
	line-height:1.4;
}
.ds-pdp__delivery svg{flex-shrink:0;color:var(--ds-success)}

/* ============== STICKY TOP BAR (DESKTOP + MOBILE) ============== */
/* La variabile --ds-pdp-sticky-top e' settata da main.js con l'altezza reale */
/* del .ds-header. Fallback: 70px mobile, 117px desktop. */
.ds-pdp__sticky{
	--ds-pdp-sticky-top: 70px;
	position:fixed;
	left:0;
	right:0;
	top: var(--ds-pdp-sticky-top);
	z-index:80; /* sotto il z-index dell'header (999) per slide pulito */
	background:#fff;
	border-bottom:1px solid var(--ds-border);
	box-shadow:0 8px 20px rgba(0,0,0,.08);
	transform:translateY(-100%);
	opacity:0;
	transition:transform .3s ease, opacity .25s ease;
	padding:10px 16px;
	display:block;
}
.ds-pdp__sticky[hidden]{display:none}
.ds-pdp__sticky.is-visible{
	transform:translateY(0);
	opacity:1;
}
.ds-pdp__sticky-inner{
	display:flex;
	align-items:center;
	gap:12px;
	max-width: 1240px;
	margin:0 auto;
}
.ds-pdp__sticky-thumb{
	width:48px;
	height:48px;
	flex-shrink:0;
	object-fit:cover;
	border-radius:10px;
	background:#f3f4f6;
}
.ds-pdp__sticky-info{
	flex:1;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:2px;
}
.ds-pdp__sticky-name{
	font-size:13px;
	font-weight:600;
	color:var(--ds-black);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.ds-pdp__sticky-price{font-size:15px;font-weight:800;color:var(--ds-black)}
.ds-pdp__sticky-price .amount,
.ds-pdp__sticky-price .woocommerce-Price-amount{font-size:15px;font-weight:800}
.ds-pdp__sticky-cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:12px 22px;
	background:var(--ds-yellow);
	color:var(--ds-black);
	border:0;
	border-radius:99px;
	font-size:13px;
	font-weight:700;
	letter-spacing:.02em;
	cursor:pointer;
	box-shadow:0 4px 14px rgba(255,193,7,.35);
	white-space:nowrap;
	transition:background .15s;
}
.ds-pdp__sticky-cta:hover{background:var(--ds-yellow-dark)}

@media (min-width: 901px){
	.ds-pdp__sticky{
		--ds-pdp-sticky-top: 117px;
		padding:12px 24px;
	}
	.ds-pdp__sticky-thumb{
		width:56px;
		height:56px;
	}
	.ds-pdp__sticky-name{
		font-size:15px;
	}
	.ds-pdp__sticky-price{font-size:17px}
	.ds-pdp__sticky-price .amount,
	.ds-pdp__sticky-price .woocommerce-Price-amount{font-size:17px}
}

/* Quando sticky è visibile, aggiungi padding al body per evitare overlap con contenuto sotto */
body.ds-pdp-sticky-shown{
	padding-bottom:80px;
}
@media (min-width: 901px){
	body.ds-pdp-sticky-shown{padding-bottom:0}
}

/* ============== TOAST "AGGIUNTO AL CARRELLO" ============== */
.ds-pdp__toast{
	position:fixed;
	bottom:24px;
	left:50%;
	transform:translateX(-50%) translateY(80px);
	z-index:10004;
	background:var(--ds-black);
	color:#fff;
	padding:14px 20px;
	border-radius:99px;
	display:flex;
	align-items:center;
	gap:12px;
	box-shadow:0 12px 32px rgba(0,0,0,.25);
	opacity:0;
	transition:transform .35s cubic-bezier(.16,1,.3,1), opacity .25s ease;
	font-size:14px;
	font-weight:600;
	max-width:90vw;
}
.ds-pdp__toast[hidden]{display:none}
.ds-pdp__toast.is-visible{
	transform:translateX(-50%) translateY(0);
	opacity:1;
}
.ds-pdp__toast svg{
	flex-shrink:0;
	color:var(--ds-yellow);
}
.ds-pdp__toast-text{white-space:nowrap}
.ds-pdp__toast-cta{
	background:var(--ds-yellow);
	color:var(--ds-black);
	border:0;
	padding:8px 14px;
	border-radius:99px;
	font-size:12px;
	font-weight:700;
	cursor:pointer;
	white-space:nowrap;
	margin-left:4px;
}
.ds-pdp__toast-cta:hover{background:var(--ds-yellow-dark)}
@media (max-width: 560px){
	.ds-pdp__toast{
		bottom:90px; /* sopra mobile-nav + sticky-bar */
		padding:12px 16px;
		font-size:13px;
		gap:10px;
	}
}


/* ============================================================================
   FIX duplicati visivi e cleanup PDP
   ============================================================================ */

/* (rimossa la regola che nascondeva .onsale di WooCommerce: il badge nativo deve restare) */

/* 2. Nascondi rating duplicato del video review widget (abbiamo il nostro snippet sotto titolo) */
.ds-pdp .ds-vrw-pdp-rating,
.ds-pdp__cta .ds-vrw-pdp-rating,
body.single-product .ds-pdp__summary .ds-vrw-pdp-rating{
	display:none !important;
}

/* Express Checkout buttons WCPay (Apple/Google Pay/Amazon Pay) ABILITATI su PDP.
   Lo styling per integrarli nella card prezzo e' in style.css L2268+ e L10563+. */

/* 4. Stock + Delivery: parent .ds-pdp__summary-inner è CSS grid (1fr auto)
   → forziamo span su tutta la riga e stack verticale */
.ds-pdp__summary-inner > .ds-pdp__stock,
.ds-pdp__summary-inner > .ds-pdp__delivery,
.ds-pdp .ds-pdp__stock,
.ds-pdp .ds-pdp__delivery{
	grid-column:1 / -1 !important;
	width:100% !important;
	box-sizing:border-box;
	white-space:normal;
}

/* Rating stelle PDP: usa regole globali in extensions.css */
/* 5. Badge sull'immagine: spaziatura e ordine pulito */
.ds-pdp__img-badges{
	gap:8px;
}
.ds-pdp__img-badge{
	padding:6px 12px;
	font-size:10px;
	line-height:1;
}


/* ============================================================================
   PDP V1 — OPEN LAYOUT (no box, tipografia gigante, pill CTA)
   ============================================================================ */

/* ---------- 1) STICKY summary (desktop only) ---------- */
@media (min-width: 1024px){
	.ds-pdp__summary{align-self:start;}
	.ds-pdp__summary .ds-box.ds-pdp__box{
		position:sticky;
		top:90px;
	}
}

/* ---------- 2) AZZERA il "box": background, bordo, shadow, radius ---------- */
.ds-pdp__summary .ds-box.ds-pdp__box{
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
	border-radius:0 !important;
	padding:8px 4px !important;
	max-width:none !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__summary-inner{
	gap:0 !important;
}

/* ---------- 3) TITOLO gigante ---------- */
.ds-pdp__summary .ds-box.ds-pdp__box .product_title{
	font-size:32px !important;
	font-weight:800 !important;
	letter-spacing:-.6px !important;
	line-height:1.1 !important;
	margin:0 0 14px !important;
	color:var(--ds-black) !important;
}

/* ---------- 4) DESCRIZIONE editoriale ---------- */
.ds-pdp__fullDesc--underTitle{
	font-size:15px !important;
	line-height:1.65 !important;
	color:rgba(0,0,0,.65) !important;
	font-weight:400 !important;
	margin:0 0 4px !important;
}

/* ---------- 5) DIVIDER hairline — sopra prezzo e prima di CTA ---------- */
.ds-pdp__summary .ds-box.ds-pdp__box .price{
	grid-column:1 / -1 !important;
	display:flex !important;
	align-items:baseline !important;
	flex-wrap:wrap !important;
	gap:14px !important;
	font-size:42px !important;
	font-weight:800 !important;
	line-height:1 !important;
	letter-spacing:-1px !important;
	margin:24px 0 8px !important;
	padding-top:24px !important;
	border-top:1px solid rgba(0,0,0,.08);
}
.ds-pdp__summary .ds-box.ds-pdp__box .price ins,
.ds-pdp__summary .ds-box.ds-pdp__box .price ins .amount,
.ds-pdp__summary .ds-box.ds-pdp__box .price ins .woocommerce-Price-amount,
.ds-pdp__summary .ds-box.ds-pdp__box .price > .woocommerce-Price-amount{
	text-decoration:none !important;
	font-size:42px !important;
	font-weight:800 !important;
	color:var(--ds-black) !important;
	letter-spacing:-1px !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .price del,
.ds-pdp__summary .ds-box.ds-pdp__box .price del .amount,
.ds-pdp__summary .ds-box.ds-pdp__box .price del .woocommerce-Price-amount{
	font-size:18px !important;
	font-weight:500 !important;
	color:rgba(0,0,0,.4) !important;
	text-decoration:line-through !important;
	text-decoration-thickness:1px !important;
	letter-spacing:0 !important;
}

/* Save badge (verde uppercase) sotto il prezzo — solo se prodotto in sale */
.ds-pdp__save{
	grid-column:1 / -1;
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.5px;
	text-transform:uppercase;
	color:var(--ds-success);
	margin:0 0 24px;
}

/* ---------- 6) QTY label + QTY+CTA sulla stessa riga (pill style) ---------- */
.ds-pdp__qty-label{
	grid-column:1 / -1;
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.6px;
	color:rgba(0,0,0,.55);
	margin:0 0 8px;
}

@media (min-width: 721px){
	.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__qtyRow{
		grid-column:1 / 2 !important;
		grid-row:auto !important;
		align-self:stretch !important;
		justify-self:start !important;
	}
	.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__ctaStack{
		grid-column:2 / -1 !important;
		grid-row:auto !important;
		align-self:stretch !important;
	}
}

/* Qty pill */
.ds-pdp__summary .ds-box.ds-pdp__box .ds-qty{
	height:54px !important;
	border-radius:99px !important;
	border:1px solid rgba(0,0,0,.14) !important;
	background:#fff !important;
	padding:0 4px !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-qty__btn{
	width:38px !important;
	height:54px !important;
	border:0 !important;
	background:transparent !important;
	font-size:18px !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-qty__input{
	width:34px !important;
	height:54px !important;
	border:0 !important;
	background:transparent !important;
	text-align:center;
	font-weight:700;
}

/* CTA primaria pill gialla */
.ds-pdp__summary .ds-box.ds-pdp__box button.single_add_to_cart_button.button.alt.ds-btn.ds-btn--primary{
	display:block !important;
	width:100% !important;
	min-height:54px !important;
	height:54px !important;
	padding:0 24px !important;
	border-radius:99px !important;
	background:var(--ds-yellow) !important;
	color:var(--ds-black) !important;
	border:0 !important;
	font-weight:800 !important;
	font-size:14px !important;
	letter-spacing:.6px !important;
	text-transform:uppercase !important;
	cursor:pointer;
	box-shadow:0 8px 24px rgba(255,193,7,.36);
	transition:background .15s, box-shadow .15s, transform .1s;
}
.ds-pdp__summary .ds-box.ds-pdp__box button.single_add_to_cart_button.button.alt.ds-btn.ds-btn--primary:hover{
	background:var(--ds-yellow-dark) !important;
	box-shadow:0 10px 28px rgba(255,193,7,.45);
}
.ds-pdp__summary .ds-box.ds-pdp__box button.single_add_to_cart_button.button.alt.ds-btn.ds-btn--primary:active{
	transform:translateY(1px);
	box-shadow:0 4px 14px rgba(255,193,7,.32);
}

/* Buy Now pill secondaria */
.ds-pdp__summary .ds-box.ds-pdp__box form.ds-buy-now.ds-pdp__buyNow{
	grid-column:1 / -1 !important;
	width:100% !important;
	margin-top:10px !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-btn.ds-btn--buy-now{
	display:block !important;
	width:100% !important;
	min-height:50px !important;
	border:1.5px solid var(--ds-black) !important;
	border-radius:99px !important;
	background:transparent !important;
	color:var(--ds-black) !important;
	font-weight:700 !important;
	font-size:14px !important;
	letter-spacing:.2px !important;
	transition:background .15s, color .15s;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-btn.ds-btn--buy-now:hover{
	background:var(--ds-black) !important;
	color:#fff !important;
}

/* Su mobile <=720px torna stack verticale (qty su, cta sotto) */
@media (max-width: 720px){
	.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__qtyRow,
	.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__ctaStack{
		grid-column:1 / -1 !important;
	}
	.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__qtyRow{justify-self:start !important;margin-bottom:10px;}
}

/* ---------- 7) STOCK + DELIVERY: stile editoriale "row" (no box riempiti) ---------- */
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__stock,
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__delivery{
	background:transparent !important;
	padding:14px 0 !important;
	border-radius:0 !important;
	border-top:1px solid rgba(0,0,0,.08);
	margin:0 !important;
	font-size:13px !important;
	font-weight:600 !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__delivery{
	justify-content:center !important;
	text-align:center !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__stock{
	margin-top:18px !important;
}
/* Dot stock con pulsing ring */
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__stock--in svg,
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__stock--low svg{
	display:none !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__stock--in::before{
	content:"";
	display:inline-block;
	width:8px;height:8px;
	border-radius:50%;
	background:var(--ds-success);
	box-shadow:0 0 0 4px rgba(47,125,74,.18);
	margin-right:10px;
	flex-shrink:0;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__stock--low::before{
	content:"";
	display:inline-block;
	width:8px;height:8px;
	border-radius:50%;
	background:#b45309;
	box-shadow:0 0 0 4px rgba(180,83,9,.18);
	margin-right:10px;
	flex-shrink:0;
}

/* ---------- 8) PAYMENTS row in basso ---------- */
.ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__payments{
	border-top:1px solid rgba(0,0,0,.08);
	padding-top:14px !important;
	margin-top:0 !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-payments__list{
	justify-content:flex-start !important;
	gap:10px !important;
}
.ds-pdp__summary .ds-box.ds-pdp__box .ds-payments__icon{
	height:24px !important;
}

/* ---------- 8b) PREZZO P1 — Stack verticale (label, was, now, save) ---------- */

/* Label "Prezzo" eyebrow uppercase */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__label{
	display:block !important;
	font-size:11px !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	letter-spacing:1px !important;
	color:rgba(0,0,0,.55) !important;
	margin:0 0 6px !important;
	line-height:1 !important;
}

/* Wrapper prezzo: reset, niente bordo, layout stack column */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-price-raw{
	margin:0 !important;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-price-raw p.price,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-price-raw span.price,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box p.price{
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	gap:2px !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
}

/* Was (regular price striked, sopra) */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price del{
	order:1 !important;
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	line-height:1.2 !important;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price del,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price del bdi,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price del .woocommerce-Price-amount,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price del .amount,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price del .woocommerce-Price-currencySymbol{
	font-size:16px !important;
	font-weight:500 !important;
	color:rgba(0,0,0,.4) !important;
	text-decoration:line-through !important;
	letter-spacing:0 !important;
	line-height:1.2 !important;
}

/* Now (sale price, XXL bold sotto) */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price ins{
	order:2 !important;
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	text-decoration:none !important;
	line-height:1 !important;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price ins,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price ins bdi,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price ins .woocommerce-Price-amount,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price ins .amount,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price ins .woocommerce-Price-currencySymbol{
	font-size:38px !important;
	font-weight:800 !important;
	color:var(--ds-black) !important;
	letter-spacing:-.8px !important;
	line-height:1 !important;
	text-decoration:none !important;
}

/* Prodotto NON in sale: prezzo singolo XXL */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price > bdi,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .price > .woocommerce-Price-amount{
	font-size:38px !important;
	font-weight:800 !important;
	color:var(--ds-black) !important;
	letter-spacing:-.8px !important;
	line-height:1 !important;
}

/* Save row (verde uppercase sotto il prezzo) */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__save{
	display:block;
	margin-top:8px;
	font-size:12px;
	color:var(--ds-success);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
	line-height:1.2;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__save .woocommerce-Price-amount,
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-pdp__save bdi{
	color:var(--ds-success) !important;
	font-weight:700 !important;
	font-size:12px !important;
}

/* ---------- 8c) "Acquista ora" perfettamente centrato (specificita > style.css:10588) ---------- */
html body.single-product .ds-pdp__summary form.ds-buy-now button.ds-btn--buy-now,
html body.single-product .ds-pdp__summary .ds-box.ds-pdp__box form.ds-buy-now button.ds-btn--buy-now{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
	padding:0 24px !important;
	line-height:1 !important;
	width:100% !important;
	box-sizing:border-box !important;
}

/* ---------- 8d) METODI DI PAGAMENTO — coerente con V1 (allineato a sx, label discreto) ---------- */
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-payments{
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	gap:10px !important;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-payments::before{
	font-size:10px !important;
	font-weight:700 !important;
	color:rgba(0,0,0,.45) !important;
	letter-spacing:1.5px !important;
	margin:0 !important;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-payments__list,
body.single-product .ds-pdp__payments .ds-payments__list{
	display:flex !important;
	flex-wrap:wrap !important;
	justify-content:flex-start !important;
	gap:12px !important;
	margin:0 !important;
	padding:0 !important;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-payments__icon,
body.single-product .ds-pdp__payments .ds-payments__icon{
	height:30px !important;
	width:auto !important;
	opacity:.95;
	transition:opacity .15s;
}
body.single-product .ds-pdp__summary .ds-box.ds-pdp__box .ds-payments__item{
	background:transparent !important;
	border:0 !important;
	padding:0 !important;
	margin:0 !important;
	list-style:none !important;
}

/* ---------- 8c bis) RELATED: stessa grid 3-col come da tema originale ---------- */
body.single-product ul.products.ds-related__grid--shop-cards{
	display:grid !important;
	grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
	gap:var(--ds-gap, 18px) !important;
	grid-auto-rows:1fr !important;
	align-items:stretch !important;
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}
body.single-product ul.products.ds-related__grid--shop-cards > li.product{
	float:none !important;
	width:auto !important;
	margin:0 !important;
	padding:0 !important;
	display:flex !important;
	align-self:stretch !important;
	height:100% !important;
	min-width:0 !important;
}
body.single-product ul.products.ds-related__grid--shop-cards > li.product > .ds-card,
body.single-product ul.products.ds-related__grid--shop-cards > li.ds-card{
	width:100% !important;
	height:100% !important;
}
@media (max-width: 1024px){
	body.single-product ul.products.ds-related__grid--shop-cards{
		grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 680px){
	body.single-product ul.products.ds-related__grid--shop-cards{
		grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
	}
}

/* ---------- 8d bis) Swatch -X% pill (in alto a destra di ogni swatch in sale) ---------- */
.ds-swatch{position:relative;}
.ds-swatch__pct{
	position:absolute !important;
	top:-9px !important;
	right:-10px !important;
	z-index:2 !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-width: 38px !important;
	height:20px !important;
	padding:0 8px !important;
	background:var(--ds-yellow) !important;
	color:var(--ds-black) !important;
	border-radius:99px !important;
	font-size:11px !important;
	font-weight:800 !important;
	letter-spacing:.2px !important;
	line-height:1 !important;
	box-shadow:0 2px 6px rgba(0,0,0,.18) !important;
	pointer-events:none !important;
	white-space:nowrap !important;
}

/* ---------- 8e bis) "Pulisci" reset_variations -> chip × discreto ---------- */
body.single-product.product-type-variable .reset_variations,
body.single-product .ds-pdp__summary .reset_variations{
	display:none !important;
	margin:0 !important;
	font-size:0 !important;
	text-decoration:none !important;
	background:transparent !important;
	color:transparent !important;
	border:0 !important;
	padding:0 !important;
}
/* Mostra solo quando una variation e' stata selezionata (Woo aggiunge visibility:visible inline) */
body.single-product .ds-pdp__summary .reset_variations[style*="visible"],
body.single-product .ds-pdp__summary .reset_variations:not([style*="hidden"]){
	display:inline-flex !important;
	align-items:center !important;
	gap:6px !important;
	margin-top:10px !important;
	padding:6px 10px 6px 8px !important;
	background:#fff !important;
	border:1px solid rgba(0,0,0,.14) !important;
	border-radius:99px !important;
	font-size:12px !important;
	font-weight:700 !important;
	letter-spacing:.2px !important;
	color:var(--ds-black) !important;
	text-decoration:none !important;
	cursor:pointer !important;
	transition:background .15s, border-color .15s !important;
	width:auto !important;
	max-width:max-content !important;
	font-size:0 !important; /* nasconde il testo "Pulisci" del label */
}
body.single-product .ds-pdp__summary .reset_variations:not([style*="hidden"])::before{
	content:"×";
	font-size:18px;
	line-height:1;
	color:rgba(0,0,0,.5);
	font-weight:400;
	display:inline-block;
}
body.single-product .ds-pdp__summary .reset_variations:not([style*="hidden"])::after{
	content:"Annulla selezione";
	font-size:12px;
	font-weight:600;
	color:var(--ds-black);
	letter-spacing:.2px;
	display:inline-block;
	margin-left:6px;
}
body.single-product .ds-pdp__summary .reset_variations:not([style*="hidden"]):hover{
	background:#f6f5f0 !important;
	border-color:rgba(0,0,0,.28) !important;
}

/* ---------- 8e) WISHLIST heart: stato esplicito anche per "0" / non-set ---------- */
.ds-pdp__media .ds-wishlist-btn--overlay svg,
.ds-pdp__media .ds-wishlist-btn--overlay svg path,
.ds-pdp__media .ds-wishlist-btn--overlay:not([data-in-wishlist="1"]) svg,
.ds-pdp__media .ds-wishlist-btn--overlay:not([data-in-wishlist="1"]) svg path,
.ds-pdp__media .ds-wishlist-btn--overlay[data-in-wishlist="0"] svg,
.ds-pdp__media .ds-wishlist-btn--overlay[data-in-wishlist="0"] svg path,
.ds-pdp__media .ds-wishlist-btn--overlay[aria-pressed="false"] svg,
.ds-pdp__media .ds-wishlist-btn--overlay[aria-pressed="false"] svg path{
	fill:none !important;
	stroke:var(--ds-black, #2b2b2b) !important;
	stroke-width:2 !important;
}
.ds-pdp__media .ds-wishlist-btn--overlay[data-in-wishlist="1"] svg,
.ds-pdp__media .ds-wishlist-btn--overlay[data-in-wishlist="1"] svg path,
.ds-pdp__media .ds-wishlist-btn--overlay[aria-pressed="true"] svg,
.ds-pdp__media .ds-wishlist-btn--overlay[aria-pressed="true"] svg path{
	fill:#000 !important;
	stroke:#000 !important;
}

/* Loading state: lieve opacity per feedback */
.ds-pdp__media .ds-wishlist-btn--overlay.is-loading{
	opacity:.7;
	pointer-events:none;
}

/* ---------- 9) COUNTDOWN delivery (pill gialla, tabular-nums, pulse se urgente) ---------- */
.ds-pdp__cd{
	display:inline-block;
	font-weight:800;
	font-variant-numeric:tabular-nums;
	color:var(--ds-black);
	background:var(--ds-yellow);
	padding:2px 9px;
	border-radius:6px;
	letter-spacing:.2px;
	font-size:12.5px;
	line-height:1.4;
	margin:0 2px;
}
.ds-pdp__delivery.is-countdown{
	color:var(--ds-black) !important;
}
.ds-pdp__delivery.is-urgent .ds-pdp__cd{
	background:#fff;
	color:#b45309;
	border:1px solid #b45309;
	animation:ds-cd-pulse 1.6s ease-in-out infinite;
}
@keyframes ds-cd-pulse{
	0%,100%{box-shadow:0 0 0 0 rgba(180,83,9,.45);}
	50%{box-shadow:0 0 0 6px rgba(180,83,9,0);}
}

/* ---------- 7) DESCRIZIONE sotto titolo: accordion in-place ---------- */
.ds-pdp__fullDesc--underTitle{
	position:relative;
	font-size:15px;
	line-height:1.65;
	color:rgba(0,0,0,.72);
	font-weight:450;
	letter-spacing:.1px;
	transition:max-height .3s ease;
}
.ds-pdp__fullDesc--underTitle.is-collapsible:not(.is-expanded){
	max-height:calc(1.65em * 3);
	overflow:hidden;
	-webkit-mask-image:linear-gradient(to bottom, #000 55%, transparent 100%);
	        mask-image:linear-gradient(to bottom, #000 55%, transparent 100%);
}
.ds-pdp__fullDesc--underTitle.is-expanded{
	max-height:none;
}
.ds-pdp__descToggle{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-top:8px;
	padding:0 0 1px;
	background:transparent;
	border:0;
	border-bottom:2px solid var(--ds-yellow);
	cursor:pointer;
	font-size:13px;
	font-weight:800;
	color:var(--ds-black);
	letter-spacing:.2px;
	line-height:1.2;
	transition:border-color .15s;
}
.ds-pdp__descToggle svg{
	width:14px;
	height:14px;
	transition:transform .25s ease;
}
.ds-pdp__descToggle[aria-expanded="true"] svg{
	transform:rotate(180deg);
}
.ds-pdp__descToggle:hover{
	border-bottom-color:var(--ds-yellow-dark);
}

/* ---------- 8) Sezione DESCRIZIONE FULL sotto la PDP (editoriale) ---------- */
section.ds-pdp__description{
	margin-top:48px;
}
section.ds-pdp__description .ds-pdp__description-inner{
	max-width: 880px;
	margin:0 auto;
	padding:0 16px;
}
section.ds-pdp__description .ds-pdp__section-title{
	font-size:22px;
	font-weight:800;
	letter-spacing:-.2px;
	margin:0 0 18px;
	color:var(--ds-black);
}
section.ds-pdp__description .ds-box.ds-pdp__box{
	max-width:none !important;
	padding:32px !important;
	border-radius:22px !important;
	font-size:16px;
	line-height:1.75;
	color:rgba(0,0,0,.78);
}
section.ds-pdp__description .ds-box.ds-pdp__box h2,
section.ds-pdp__description .ds-box.ds-pdp__box h3,
section.ds-pdp__description .ds-box.ds-pdp__box h4{
	font-size:18px;
	font-weight:800;
	color:var(--ds-black);
	margin:24px 0 10px;
	line-height:1.3;
	letter-spacing:-.1px;
}
section.ds-pdp__description .ds-box.ds-pdp__box h2:first-child,
section.ds-pdp__description .ds-box.ds-pdp__box h3:first-child,
section.ds-pdp__description .ds-box.ds-pdp__box h4:first-child,
section.ds-pdp__description .ds-box.ds-pdp__box p:first-child{
	margin-top:0;
}
section.ds-pdp__description .ds-box.ds-pdp__box p{
	margin:0 0 14px;
}
section.ds-pdp__description .ds-box.ds-pdp__box p:last-child{
	margin-bottom:0;
}
section.ds-pdp__description .ds-box.ds-pdp__box ul,
section.ds-pdp__description .ds-box.ds-pdp__box ol{
	margin:0 0 14px;
	padding-left:22px;
}
section.ds-pdp__description .ds-box.ds-pdp__box li{
	margin-bottom:6px;
}
section.ds-pdp__description .ds-box.ds-pdp__box li::marker{
	color:var(--ds-yellow-dark, #b8870c);
}
section.ds-pdp__description .ds-box.ds-pdp__box img{
	max-width:100%;
	height:auto;
	border-radius:12px;
	margin:12px 0;
}
section.ds-pdp__description .ds-box.ds-pdp__box a{
	color:var(--ds-black);
	text-decoration:underline;
	text-underline-offset:3px;
	text-decoration-color:var(--ds-yellow);
	text-decoration-thickness:2px;
}
section.ds-pdp__description .ds-box.ds-pdp__box strong{
	font-weight:700;
	color:var(--ds-black);
}
section.ds-pdp__description .ds-box.ds-pdp__box blockquote{
	margin:18px 0;
	padding:14px 18px;
	border-left:3px solid var(--ds-yellow);
	background:var(--ds-surface, #faf7f0);
	border-radius:0 10px 10px 0;
	font-style:italic;
	color:rgba(0,0,0,.72);
}

@media (max-width: 720px){
	section.ds-pdp__description{margin-top:32px;}
	section.ds-pdp__description .ds-box.ds-pdp__box{
		padding:22px !important;
		font-size:15px;
		line-height:1.7;
	}
	section.ds-pdp__description .ds-pdp__section-title{font-size:20px;}
}

/* ============== STICKY BAR — QUANTITY SELECTOR ============== */
.ds-pdp__sticky-qty{
	display:inline-flex;
	align-items:center;
	border:1px solid var(--ds-border);
	border-radius:99px;
	background:#fff;
	overflow:hidden;
	flex-shrink:0;
}
.ds-pdp__sticky-qty-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:36px;
	border:0;
	background:transparent;
	color:var(--ds-black);
	font-size:16px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	transition:background .15s;
	user-select:none;
	-webkit-tap-highlight-color:transparent;
}
.ds-pdp__sticky-qty-btn:hover{background:rgba(0,0,0,.04)}
.ds-pdp__sticky-qty-btn:active{background:rgba(0,0,0,.08)}
.ds-pdp__sticky-qty-input{
	width:30px;
	height:36px;
	border:0;
	background:transparent;
	text-align:center;
	font-size:14px;
	font-weight:700;
	color:var(--ds-black);
	-moz-appearance:textfield;
	padding:0;
}
.ds-pdp__sticky-qty-input::-webkit-inner-spin-button,
.ds-pdp__sticky-qty-input::-webkit-outer-spin-button{
	-webkit-appearance:none;
	margin:0;
}
.ds-pdp__sticky-qty-input:focus{outline:none}

@media (min-width: 901px){
	.ds-pdp__sticky-qty-btn{width:34px;height:42px;font-size:18px}
	.ds-pdp__sticky-qty-input{width:38px;height:42px;font-size:15px}
}

/* Tighten mobile spacing: thumb gap, name truncation, smaller CTA padding to fit qty */
@media (max-width: 600px){
	.ds-pdp__sticky-inner{gap:8px}
	.ds-pdp__sticky-cta{padding:10px 14px;font-size:12px}
	.ds-pdp__sticky-qty-btn{width:26px;height:34px}
	.ds-pdp__sticky-qty-input{width:26px;height:34px;font-size:13px}
}

/* Sticky CTA disabilitata (es. prodotto variabile senza variazione scelta) */
.ds-pdp__sticky-cta:disabled,
.ds-pdp__sticky-cta.is-disabled{
	opacity:.5;
	cursor:not-allowed;
	box-shadow:none;
}
.ds-pdp__sticky-cta:disabled:hover,
.ds-pdp__sticky-cta.is-disabled:hover{
	background:var(--ds-yellow);
}

/* Sticky thumb vuoto (variabile senza parent image, in attesa di variation pick) */
.ds-pdp__sticky-thumb.is-empty{display:none}
