/* ==========================================================================
   Happy Sicily – stili globali: testata delle pagine (titolo + breadcrumb)
   ========================================================================== */
.wd-page-title.page-title {
	--wd-title-sp: 28px;
	--wd-title-font-s: clamp(26px, 3.6vw, 42px);
	position: relative; isolation: isolate; overflow: hidden;
	margin-bottom: 26px;
	background: linear-gradient(120deg, #ff6205 0%, #ef5600 55%, #cf4300 100%) !important;
}
@media (min-width: 1025px) { .wd-page-title.page-title { --wd-title-sp: 42px; } }
.wd-page-title.page-title .wd-page-title-bg { display: none; }
.wd-page-title.page-title::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		radial-gradient(60% 120% at 100% 0%, rgba(255, 255, 255, .16), transparent 60%),
		radial-gradient(40% 90% at 0% 100%, rgba(131, 183, 53, .35), transparent 60%),
		radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .14) 1px, transparent 1.6px);
	background-size: auto, auto, 22px 22px;
}
.wd-page-title.page-title::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 22px; z-index: 1;
	background: #fff; border-radius: 22px 22px 0 0;
}
.wd-page-title.page-title .container { position: relative; z-index: 2; gap: 8px; padding-bottom: 14px; }
.wd-page-title.page-title .title {
	font-weight: 700; letter-spacing: -.01em; text-transform: none; color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .12);
}
.wd-page-title.page-title .wd-breadcrumbs,
.wd-page-title.page-title .woocommerce-breadcrumb,
.wd-page-title.page-title .yoast-breadcrumb {
	font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .78);
}
.wd-page-title.page-title .wd-breadcrumbs a,
.wd-page-title.page-title .woocommerce-breadcrumb a { color: rgba(255, 255, 255, .78); }
.wd-page-title.page-title .wd-breadcrumbs a:hover,
.wd-page-title.page-title .woocommerce-breadcrumb a:hover { color: #fff; }
.wd-page-title.page-title .wd-back-btn { display: none; }

/* Pulsante "Categorie" nel titolo (mobile) e lista categorie Woodmart, se riattivata */
.wd-page-title.page-title .wd-btn-show-cat > a {
	min-height: 36px; padding: 0 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .3); color: #fff;
}
.wd-page-title.page-title .wd-nav-product-cat { --wd-link-color: rgba(255,255,255,.85); --wd-link-color-hover: #fff; font-size: 12.5px; }

/* Descrizione categoria sotto il titolo: più discreta */
.wd-page-title.page-title .wd-entry-content { font-size: 14px; color: rgba(255, 255, 255, .85); max-width: 720px; }

/* ==========================================================================
   Card prodotto (shop, categorie, home, correlati)
   Un solo riquadro, immagine a filo, testi completi, pulsante verde scuro,
   sconto ben visibile. Su mobile: prezzo + pulsante carrello circolare.
   ========================================================================== */
.wd-product {
	--text-align: start;
	--hs-card-green: #4f8a15;
	--hs-card-green-dark: #3f7010;
	--hs-card-sale: #e04e00;
	--hs-card-pad: 16px;
	text-align: start;
}
.wd-products-with-bg:not(.products-bordered-grid) .wd-product .wd-product-wrapper,
.wd-product .product-wrapper {
	background-color: #fff;
	border: 1px solid #efe6d8;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(31, 26, 23, .03);
	transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s cubic-bezier(.22, .61, .36, 1), border-color .3s;
}
.wd-products-with-shadow .wd-product:hover .wd-product-wrapper,
.wd-product:hover .product-wrapper {
	transform: translateY(-4px);
	border-color: #e7dccb;
	box-shadow: 0 22px 44px -24px rgba(31, 26, 23, .35);
}

/* Immagine: larga quanto la card, dall'alto, angoli arrotondati come la card */
.wd-product .product-element-top { margin: 0; border: 0; border-radius: 18px 18px 0 0; overflow: hidden; background: #faf6f0; aspect-ratio: 4 / 5; }
.wd-product .product-element-top .product-image-link img,
.wd-product .product-element-top .hover-img img { padding: 0; object-fit: cover; object-position: center; transition: transform .9s cubic-bezier(.22, .61, .36, 1); }
.wd-product:hover .product-element-top .product-image-link img { transform: scale(1.04); }

/* Testi: titolo e categoria completi (fino a 3 righe), prezzo in evidenza */
[class*="title-line-"] .wd-product .wd-entities-title,
.wd-product .wd-entities-title {
	--wd-line-count: 3; --wd-line-height: 1.35em;
	margin: 14px var(--hs-card-pad) 4px !important; min-height: 0; max-height: none;
	display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
	font-size: 14.5px; font-weight: 600; line-height: 1.35; text-align: start;
	-webkit-line-clamp: 3;
}
.wd-product .wd-entities-title a { color: #1f1a17; }
.wd-product .wd-entities-title a:hover { color: #d94f00; }
.wd-product .wd-product-cats {
	margin: 0 var(--hs-card-pad) 10px !important; min-height: 0;
	font-size: 11px; letter-spacing: .05em; text-transform: uppercase; line-height: 1.35; text-align: start;
	-webkit-line-clamp: 2;
}
.wd-product .wd-product-cats a { color: #8a827a; }
.wd-product .price {
	display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 8px;
	margin: auto var(--hs-card-pad) 12px !important; min-height: 0; padding-top: 4px;
	font-size: 17px; font-weight: 700; color: #1f1a17; text-align: start;
}
.wd-product .price del { order: 2; font-size: 13px; font-weight: 500; color: #9a918a; text-decoration: line-through; opacity: 1; }
.wd-product .price ins { order: 1; text-decoration: none; color: var(--hs-card-sale); background: none; }
.wd-product .price del .amount, .wd-product .price ins .amount { color: inherit; }
.wd-product .price ins::before { content: "Offerta"; order: 0; display: inline-block; margin-inline-end: 4px; padding: 2px 8px; border-radius: 999px; background: #ffe6d6; color: var(--hs-card-sale); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; }

/* Pulsante carrello (desktop: pillola a tutta larghezza) */
.wd-product .wd-add-btn { display: flex !important; margin: 0 var(--hs-card-pad) var(--hs-card-pad) !important; }
.wd-product.wd-hover-standard .wd-add-btn > a,
.wd-product .wd-add-btn > a.button {
	flex: 1 1 auto; justify-content: center; position: relative;
	min-height: 44px; border-radius: 999px;
	background-color: var(--hs-card-green) !important; color: #fff !important;
	font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none;
	box-shadow: 0 10px 20px -12px rgba(79, 138, 21, .7);
	transition: background-color .3s, transform .35s cubic-bezier(.22, .61, .36, 1), box-shadow .35s;
}
.wd-product.wd-hover-standard .wd-add-btn > a:hover,
.wd-product .wd-add-btn > a.button:hover { background-color: var(--hs-card-green-dark) !important; transform: translateY(-2px); box-shadow: 0 14px 24px -12px rgba(63, 112, 16, .8); }
.wd-product.wd-hover-standard .wd-add-btn .add-to-cart-loop span { padding: 5px 12px; font-size: 13px; }
/* "Leggi tutto" / "Scegli": scuro, per distinguerlo dal carrello */
.wd-product .wd-add-btn > a.button:not(.add_to_cart_button),
.wd-product .wd-add-btn > a.product_type_variable,
.wd-product .wd-add-btn > a.product_type_grouped,
.wd-product .wd-add-btn > a.product_type_external { background-color: #1f1a17 !important; box-shadow: 0 10px 20px -12px rgba(31, 26, 23, .6); }
.wd-product .wd-add-btn > a.button:not(.add_to_cart_button):hover { background-color: #000 !important; }

/* Etichette: sconto arancione, altre scure */
.wd-product .product-labels { top: 12px; inset-inline-start: 12px; gap: 6px; max-width: 60%; }
.wd-product .product-label,
.wd-product .product-label.wd-shape-round {
	min-width: 0; min-height: 0; padding: 6px 11px; border-radius: 999px;
	font-size: 12px; font-weight: 700; letter-spacing: .03em; line-height: 1.2; word-break: normal; white-space: nowrap;
	box-shadow: 0 6px 14px -6px rgba(31, 26, 23, .35);
}
.wd-product .product-label.onsale { background: #ff6205 !important; color: #fff; font-size: 13px; padding: 7px 12px; }
.wd-product .product-label.new, .wd-product .product-label.featured { background: #1f1a17 !important; color: #fff; }
.wd-product .product-label.out-of-stock,
.wd-product .labels-rounded .out-of-stock { background: #1f1a17 !important; color: #fff; max-width: none !important; font-size: 11.5px; }
.wd-product:has(.product-label.onsale) .product-wrapper { border-color: #ffd3bd; box-shadow: 0 0 0 1px #ffd3bd, 0 1px 0 rgba(31, 26, 23, .03); }
.wd-product:has(.product-label.onsale):hover .product-wrapper { box-shadow: 0 0 0 1px #ffb892, 0 22px 44px -24px rgba(224, 78, 0, .35); }
.wd-product:has(.product-label.onsale) .price ins { font-size: 18px; }
.wd-product .wd-buttons { top: 10px; inset-inline-end: 10px; }

/* ---------- Mobile: card compatta, prezzo + pulsante circolare sulla stessa riga ---------- */
@media (max-width: 768.98px) {
	.wd-product { --hs-card-pad: 12px; }
	.wd-product .product-wrapper { border-radius: 16px; }
	.wd-product .product-element-top { border-radius: 16px 16px 0 0; }
	.wd-product .wd-entities-title { margin-top: 12px !important; font-size: 13.5px; line-height: 1.3; }
	.wd-product .wd-product-cats { margin-bottom: 8px !important; font-size: 10px; }
	/* Riga finale: prezzo a sinistra, pulsante tondo a destra (griglia esplicita) */
	.wd-product .product-wrapper {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto 1fr auto;
		grid-template-areas: "img img" "title title" "cats cats" "price btn";
		align-items: start;
	}
	.wd-product .product-wrapper > .product-element-top { grid-area: img; }
	.wd-product .product-wrapper > .wd-entities-title { grid-area: title; }
	.wd-product .product-wrapper > .wd-product-cats { grid-area: cats; }
	.wd-product .product-wrapper > .price { grid-area: price; align-self: center; margin: 0 0 var(--hs-card-pad) var(--hs-card-pad) !important; display: flex !important; flex-direction: column; align-items: flex-start; gap: 0; font-size: 15.5px; line-height: 1.15; min-width: 0; }
	.wd-product .price del { font-size: 11.5px; }
	.wd-product .price ins { font-size: 15.5px !important; }
	.wd-product .price ins::before { display: none; }
	.wd-product .product-wrapper > .wd-add-btn { grid-area: btn; align-self: center; margin: 0 var(--hs-card-pad) var(--hs-card-pad) 8px !important; }
	.wd-product.wd-hover-standard .wd-add-btn > a,
	.wd-product .wd-add-btn > a.button {
		flex: 0 0 auto; width: 42px; height: 42px; min-height: 42px; padding: 0 !important; border-radius: 50%;
		font-size: 0; box-shadow: 0 8px 16px -8px rgba(79, 138, 21, .8);
	}
	.wd-product.wd-hover-standard .wd-add-btn .add-to-cart-loop span.wd-action-text,
	.wd-product .wd-add-btn > a.button > span:not(.wd-action-icon) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	/* Icona come sfondo del pulsante: sempre perfettamente centrata */
	.wd-product .wd-add-btn > a.button::before { content: none; }
	.wd-product .wd-add-btn > a.button { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
	.wd-product .wd-add-btn > a.button:not(.add_to_cart_button) { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M13 6l6 6-6 6'/></svg>") !important; }
	.wd-product .wd-add-btn > a.button.added,
	.wd-product .wd-add-btn > a.button.loading { background-image: none !important; }
	.wd-product .wd-add-btn > a.button .wd-action-icon { margin: 0 !important; }
	.wd-product .product-labels { top: 10px; inset-inline-start: 10px; }
	.wd-product .product-label, .wd-product .product-label.wd-shape-round { padding: 5px 9px; font-size: 11px; }
	.wd-product .product-label.onsale { font-size: 12px; padding: 6px 10px; }
	.wd-product .wd-buttons { display: none; }
}

/* Caroselli (correlati, upsell): card della stessa altezza */
.wd-products .wd-carousel-wrap, .wd-carousel-container.wd-products .wd-carousel-wrap { align-items: stretch; }
.wd-products .wd-carousel-item { height: auto; display: flex; }
.wd-products .wd-carousel-item > .wd-product { width: 100%; height: auto; }

/* Pagina prodotto: prezzo scontato evidente */
.single-product .summary .price del { font-size: 60%; color: #9a918a; margin-inline-end: 6px; }
.single-product .summary .price ins { text-decoration: none; color: #e04e00; }

@media (max-width: 768.98px) {
	.wd-product .product-element-top { margin: 8px 8px 0; }
	.wd-product .wd-entities-title { margin: 10px 12px 2px !important; font-size: 13.5px; }
	.wd-product .wd-product-cats { margin: 0 12px 6px !important; font-size: 10px; }
	.wd-product .price { margin: 0 12px 10px !important; font-size: 15.5px; }
	.wd-product .wd-add-btn { margin: 0 12px 12px !important; }
	.wd-product.wd-hover-standard .wd-add-btn > a, .wd-product .wd-add-btn > a.button { min-height: 40px; font-size: 11.5px; }
	.wd-product.wd-hover-standard .wd-add-btn .add-to-cart-loop span { padding: 4px 8px; font-size: 11.5px; }
	.wd-product .product-labels { top: 14px; inset-inline-start: 14px; }
	.wd-product .wd-buttons { top: 12px; inset-inline-end: 12px; }
}
