/**
 * Restyling pagina Shop / archivi categoria WooCommerce.
 * Caricato solo su shop e archivi prodotto (vedi functions.php).
 * Palette del tema darna: accent #3ea9ac, scuro #2a2a2a, grigi #ececec/#f8f8f8.
 */

:root {
	--dr-accent: #3ea9ac;
	--dr-accent-dark: #338e91;
	--dr-dark: #2a2a2a;
	--dr-grey: #606060;
	--dr-border: #ececec;
	--dr-bg: #f8f8f8;
	--dr-sticky-top: 30px; /* aggiornato via JS in base ad admin bar + header sticky */
}

/* ============================================================
   FASCIA TITOLO: più compatta sugli archivi shop
   (il JS del tema ricentra titolo e breadcrumb in automatico)
   ============================================================ */
body.woocommerce.archive .page-title-wrap,
body.single-product .page-title-wrap,
body.woocommerce-cart .page-title-wrap,
body.woocommerce-checkout .page-title-wrap {
	height: 230px !important; /* vince anche sull'altezza inline da opzioni/categoria */
	margin-bottom: 40px;
}
body.woocommerce.archive .page-title-inner h1,
body.single-product .page-title-inner h1,
body.woocommerce-cart .page-title-inner h1,
body.woocommerce-checkout .page-title-inner h1 {
	font-size: 36px;
}

/* ============================================================
   LAYOUT: sidebar che segue lo scroll (solo desktop)
   ============================================================ */
@media (min-width: 992px) {
	/* il tema imposta overflow:hidden sul main, che disattiva position:sticky */
	#wrapper-content > main.site-content-archive-product[role="main"] {
		overflow: visible;
	}
	.site-content-archive-product .dr-shop-row {
		display: flex;
		align-items: stretch;
	}
	/* i pseudo-elementi clearfix di Bootstrap diventerebbero flex-item vuoti */
	.site-content-archive-product .dr-shop-row::before,
	.site-content-archive-product .dr-shop-row::after {
		content: none;
	}
	.site-content-archive-product .dr-shop-row > .sidebar,
	.site-content-archive-product .dr-shop-row > [class*="col-md-"] {
		float: none;
	}
	.site-content-archive-product .dr-sidebar-sticky {
		position: -webkit-sticky;
		position: sticky;
		top: var(--dr-sticky-top);
		/* mai più alta della finestra: il contenuto scorre al suo interno
		   quando il mouse è sopra la sidebar */
		max-height: calc(100vh - var(--dr-sticky-top) - 20px);
		overflow-y: auto;
		overscroll-behavior: contain; /* a fine corsa non trascina lo scroll della pagina */
		padding: 2px 6px 2px 2px;     /* respiro per ombre e scrollbar */
		scrollbar-width: thin;        /* Firefox */
		scrollbar-color: #c5c5c5 transparent;
	}
	/* scrollbar sottile (Chrome/Safari/Edge) */
	.site-content-archive-product .dr-sidebar-sticky::-webkit-scrollbar {
		width: 6px;
	}
	.site-content-archive-product .dr-sidebar-sticky::-webkit-scrollbar-track {
		background: transparent;
	}
	.site-content-archive-product .dr-sidebar-sticky::-webkit-scrollbar-thumb {
		background: #c5c5c5;
		border-radius: 3px;
	}
	.site-content-archive-product .dr-sidebar-sticky::-webkit-scrollbar-thumb:hover {
		background: var(--dr-accent);
	}
}

/* ============================================================
   SIDEBAR: widget a schede
   ============================================================ */
.site-content-archive-product .woocommerce-sidebar .widget {
	background: #fff;
	border: 1px solid var(--dr-border);
	border-radius: 10px;
	padding: 22px 20px;
	margin-bottom: 24px;
}
.site-content-archive-product .woocommerce-sidebar .widget-title {
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--dr-dark);
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--dr-accent);
}

/* Barra di ricerca prodotti */
.site-content-archive-product .woocommerce-sidebar .search-form {
	position: relative;
}
.site-content-archive-product .woocommerce-sidebar .search-form .search-field {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 25px;
	padding: 10px 48px 10px 18px;
	background: var(--dr-bg);
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.site-content-archive-product .woocommerce-sidebar .search-form .search-field:focus {
	outline: none;
	border-color: var(--dr-accent);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(62, 169, 172, .15);
}
.site-content-archive-product .woocommerce-sidebar .search-form button[type="submit"] {
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: var(--dr-accent);
	color: #fff;
	cursor: pointer;
	transition: background .2s ease;
}
.site-content-archive-product .woocommerce-sidebar .search-form button[type="submit"]:hover {
	background: var(--dr-dark);
}

/* Elenco categorie: caret, nome e conteggio sulla stessa riga */
.site-content-archive-product .woocommerce-sidebar .widget_product_categories ul,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories li,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 10px 2px;
	border-bottom: 1px solid #f3f3f3;
	color: #9b9b9b; /* colora i conteggi (testo fuori dal link) */
	font-size: 12px;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories > ul > li:last-child,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu > div > ul > li:last-child {
	border-bottom: none;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories li:before,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu > div li:before {
	margin-top: 0;
	margin-right: 0;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories li a,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu li a {
	display: block;
	flex: 1 1 auto;
	font-size: 14px;
	color: var(--dr-grey);
	padding: 0;
	border: none;
	transition: color .2s ease, padding-left .2s ease;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories li a:hover,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu li a:hover {
	color: var(--dr-accent);
	padding-left: 6px;
	text-decoration: none;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories li.current-cat > a,
.site-content-archive-product .woocommerce-sidebar .widget_nav_menu li.current-menu-item > a {
	color: var(--dr-accent);
	font-weight: 600;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories ul.children {
	flex-basis: 100%;
	padding-left: 14px;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories ul.children li:first-child {
	border-top: 1px solid #f3f3f3;
}
.site-content-archive-product .woocommerce-sidebar .widget_product_categories ul.children li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* ============================================================
   BARRA SOPRA LA GRIGLIA: svuotata (ordinamento spostato in
   sidebar); resta solo come contenitore per gli avvisi WC
   ============================================================ */
.site-content-archive-product .catalog-filter {
	margin-bottom: 0;
}

/* ============================================================
   WIDGET "ORDINA E FILTRA" (sidebar)
   ============================================================ */
.dr-filter-widget .dr-filter-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--dr-dark);
	margin: 14px 0 6px;
}
.dr-filter-widget .dr-filter-label:first-of-type {
	margin-top: 0;
}
.dr-filter-widget select,
.dr-filter-widget input[type="number"] {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 8px 10px;
	background: #fff;
	color: var(--dr-dark);
}
.dr-filter-widget select {
	cursor: pointer;
}
.dr-filter-widget .dr-price-row {
	display: flex;
	align-items: center;
	gap: 8px;
}
.dr-filter-widget .dr-price-row span {
	color: #9b9b9b;
}
.dr-filter-widget .dr-filter-check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 16px;
	font-size: 14px;
	color: var(--dr-grey);
	cursor: pointer;
}
.dr-filter-widget .dr-filter-check input {
	margin: 0;
}
.dr-filter-widget .dr-filter-apply {
	display: block;
	width: 100%;
	border: none;
	border-radius: 25px;
	padding: 10px 0;
	background: var(--dr-accent);
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	cursor: pointer;
	transition: background .2s ease;
}
.dr-filter-widget .dr-filter-apply:hover {
	background: var(--dr-dark);
}
.dr-filter-widget .dr-filter-reset {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 13px;
	color: #9b9b9b;
	text-decoration: underline;
}
.dr-filter-widget .dr-filter-reset:hover {
	color: var(--dr-accent);
}

/* ============================================================
   BOX PRODOTTO: card moderne
   ============================================================ */
/* :not(.product-slider) lascia in pace gli eventuali carousel (es. correlati) */
.product-listing.woocommerce:not(.product-slider) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	/* il JS del tema (app.js → product_layout) applica Isotope con altezza
	   inline sul container: la annulliamo, il layout lo fa il flex */
	height: auto !important;
}
/* Isotope posiziona le card in absolute con left/top/transform inline
   (è il "salto" visibile dopo il load): qui le neutralizziamo. */
.product-listing.woocommerce:not(.product-slider) .product-item-wrap {
	position: static !important;
	transform: none !important;
}
/* rimuove i pseudo-elementi clearfix Bootstrap che diventerebbero flex-item vuoti */
.product-listing.woocommerce:not(.product-slider)::before,
.product-listing.woocommerce:not(.product-slider)::after {
	content: none;
}
.product-listing.woocommerce .product-item-wrap {
	float: none;
	display: flex;
	align-items: stretch;
}
.product-listing.woocommerce .product-item-inner {
	display: flex;
	flex-direction: column;
	flex: 1;           /* riempie tutta l'altezza del product-item-wrap → card uguali per riga */
	width: 100%;
	background: #fff;
	border: 1px solid var(--dr-border);
	border-radius: 10px;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.product-listing.woocommerce .product-item-wrap:hover .product-item-inner {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(42, 42, 42, .12);
	border-color: rgba(62, 169, 172, .5);
}

/* Immagine: riquadro ad altezza FISSA con foto centrata.
   Elimina ogni vuoto variabile tra foto e titolo, qualunque sia
   la proporzione dell'immagine caricata. */
.product-listing.woocommerce .product-thumb {
	margin-bottom: 0;
	border: none;
	overflow: hidden;
	height: 160px;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.product-listing.woocommerce .product-thumb img {
	border: none;
	width: auto;      /* il tema forza width:100%, che gonfiava la tela */
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform .45s ease;
}
.product-listing.woocommerce .product-item-wrap:hover .product-thumb img {
	transform: scale(1.05);
}

/* Badge Sale / New */
.product-listing.woocommerce .product-flash-wrap {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
}
.product-listing.woocommerce .product-flash-wrap span {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
	margin-right: 4px;
}
.product-listing.woocommerce .product-flash-wrap .on-sale {
	background: #e2574c;
}
.product-listing.woocommerce .product-flash-wrap .on-new {
	background: var(--dr-accent);
}

/* Info prodotto — righe ad altezza FISSA: titolo max 2 righe, sottotitolo
   sempre 2 righe (anche vuoto), zona prezzo+bottone con altezza riservata.
   Così le card hanno tutte la stessa altezza anche in container separati
   (es. shortcode WPBakery in colonne diverse). */
.product-listing.woocommerce .product-info {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 12px 14px 14px;
	border-top: 1px solid #f3f3f3;
}
.product-listing.woocommerce .product-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 2.7em;             /* 2 righe fisse (line-height 1.35) */
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--dr-dark);
	margin-bottom: 4px;
}
.product-listing.woocommerce .product-name:hover {
	color: var(--dr-accent);
}
.product-listing.woocommerce .product-subtitle-archive {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 2.9em;             /* 2 righe fisse (line-height 1.45) */
	font-size: 13px;
	line-height: 1.45;
	color: #666;
	text-align: center;
	margin: 0;
}

/* Prezzo + bottone: sempre visibili, ancorati in basso.
   min-height riserva lo spazio del prezzo anche quando manca. */
.product-listing.woocommerce .product-add-to-cart {
	margin-top: auto;
	padding-top: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-height: 76px;
}
.product-listing.woocommerce span.price,
.product-listing.woocommerce .product-item-wrap:hover span.price {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	font-size: 16px;
	font-weight: 700;
	color: var(--dr-dark);
}
.product-listing.woocommerce span.price del {
	font-size: 14px;
	font-weight: 400;
	color: #9b9b9b;
	margin-right: 6px;
}
.product-listing.woocommerce span.price ins {
	text-decoration: none;
	color: #e2574c;
}
.product-listing.woocommerce .added_to_cart.wc-forward,
.product-listing.woocommerce .product_type_external,
.product-listing.woocommerce .product_type_grouped,
.product-listing.woocommerce .product_type_simple,
.product-listing.woocommerce .product_type_variable,
.product-listing.woocommerce .product_type_woosb {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	border-radius: 25px;
	padding: 5px 26px;
	font-weight: 600;
	letter-spacing: .5px;
	background-color: var(--dr-accent);
	border-color: var(--dr-accent);
	color: #fff;
}
.product-listing.woocommerce .added_to_cart.wc-forward:hover,
.product-listing.woocommerce .product_type_external:hover,
.product-listing.woocommerce .product_type_grouped:hover,
.product-listing.woocommerce .product_type_simple:hover,
.product-listing.woocommerce .product_type_variable:hover,
.product-listing.woocommerce .product_type_woosb:hover {
	background-color: var(--dr-dark);
	border-color: var(--dr-dark);
	color: #fff;
}

/* ============================================================
   SINGOLO PRODOTTO
   ============================================================ */

/* Galleria più contenuta: meno altezza, più spazio a titolo e info.
   Il tema assegna 44.4% / 55.5%: qui 38% / 62%. */
@media (min-width: 768px) {
	.site-content-single-product .single-product-info .single-product-image-wrap {
		width: 38%;
	}
	.site-content-single-product .single-product-info .summary-product-wrap {
		width: 62%;
	}
}

/* Tetto all'altezza della foto: le immagini verticali vengono adattate
   (object-fit: contain = nessun ritaglio, solo ridimensionate) */
.site-content-single-product .single-product-image .attachment-shop_single {
	width: 100%;
	max-height: 420px;
	object-fit: contain;
	background: #fff;
}
@media (max-width: 767px) {
	.site-content-single-product .single-product-image .attachment-shop_single {
		max-height: 300px;
	}
}

/* Galleria */
.site-content-single-product .single-product-image .attachment-shop_single,
.site-content-single-product .single-product-image img {
	border-radius: 10px;
}
.site-content-single-product .single-product-image-wrap #sync2 .thumbnail-image img {
	border-radius: 6px;
}

/* Titolo e sottotitolo */
.site-content-single-product .single-product-info h1.product_title {
	font-size: 30px;
	line-height: 1.25;
	margin-bottom: 4px;
}
.site-content-single-product .dr-product-subtitle {
	color: #888;
	font-size: 15px;
	margin-bottom: 14px;
}

/* Prezzo */
.site-content-single-product .single-product-info p.price {
	color: var(--dr-accent);
	font-size: 28px;
	font-weight: 700;
	margin: 12px 0 18px;
}
.site-content-single-product .single-product-info p.price del {
	color: #9b9b9b;
	font-size: 18px;
	font-weight: 400;
	margin-right: 8px;
}
.site-content-single-product .single-product-info p.price ins {
	text-decoration: none;
}

/* Form di acquisto: riquadro leggero, bottone in evidenza */
.site-content-single-product .single-product-info form.cart {
	padding: 18px;
	background: var(--dr-bg);
	border: 1px solid var(--dr-border);
	border-radius: 10px;
	margin-bottom: 24px;
}
.site-content-single-product .single-product-info form.cart .quantity .qty {
	height: 44px;
	border: 1px solid #ddd;
	border-radius: 8px;
	text-align: center;
	background: #fff;
}
.site-content-single-product .single-product-info form.cart .single_add_to_cart_button {
	height: 44px;
	line-height: 44px;
	padding: 0 32px;
	border: none;
	border-radius: 25px;
	background-color: var(--dr-accent);
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	transition: background .2s ease;
}
.site-content-single-product .single-product-info form.cart .single_add_to_cart_button:hover {
	background-color: var(--dr-dark);
}

/* Nota "solo aziende" sotto il prezzo */
.site-content-single-product .dr-b2b-note {
	display: inline-block;
	margin: 0 0 16px;
	padding: 8px 14px;
	background: #fcf0f1;
	border: 1px solid #d63638;
	border-radius: 8px;
	color: #d63638;
	font-size: 13px;
	font-weight: 600;
}

/* Meta (SKU, categorie) */
.site-content-single-product .single-product-info .product_meta {
	padding-top: 14px;
	border-top: 1px solid var(--dr-border);
	font-size: 13px;
	color: #888;
}
.site-content-single-product .single-product-info .product_meta a {
	color: var(--dr-accent);
}

/* Tab descrizione/dettagli: angoli morbidi in linea con le card */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 24px;
	border-radius: 8px 8px 0 0;
	margin-right: 4px;
}
.woocommerce div.product .woocommerce-tabs .panel {
	border-radius: 0 10px 10px 10px;
}

/* ============================================================
   RESPONSIVE: tablet e mobile
   ============================================================ */
@media (max-width: 991px) {
	/* fascia titolo ancora più compatta dove l'header non è sovrapposto */
	body.woocommerce.archive .page-title-wrap,
	body.single-product .page-title-wrap,
	body.woocommerce-cart .page-title-wrap,
	body.woocommerce-checkout .page-title-wrap {
		height: 160px !important;
		margin-bottom: 30px;
	}
	body.woocommerce.archive .page-title-inner h1,
	body.single-product .page-title-inner h1,
	body.woocommerce-cart .page-title-inner h1,
	body.woocommerce-checkout .page-title-inner h1 {
		font-size: 26px;
	}
}
@media (max-width: 767px) {
	/* galleria e riepilogo impilati già dal formato tablet verticale
	   (il tema lo faceva solo sotto i 600px) */
	.site-content-single-product .single-product-info .single-product-image-wrap,
	.site-content-single-product .single-product-info .summary-product-wrap {
		float: none;
		width: 100%;
	}
	.site-content-single-product .single-product-info .single-product-image-wrap {
		margin-bottom: 24px;
	}
	.site-content-single-product .single-product-info h1.product_title {
		font-size: 24px;
	}
	.site-content-single-product .single-product-info p.price {
		font-size: 24px;
	}
	.woocommerce div.product .woocommerce-tabs .panel {
		padding: 20px;
	}
	/* card prodotto: info più compatte sugli schermi piccoli */
	.product-listing.woocommerce .product-thumb {
		height: 150px;
	}
	.product-listing.woocommerce .product-info {
		padding: 14px 12px 16px;
	}
	.product-listing.woocommerce .product-name {
		font-size: 14px;
	}
	.product-listing.woocommerce span.price {
		font-size: 16px;
	}
	.site-content-archive-product .catalog-filter {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ============================================================
   TITOLO SEZIONE RIUTILIZZABILE (cross-sells, consigliati, ecc.)
   ============================================================ */
.dr-section-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--dr-dark);
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 24px;
}
.dr-section-title::after {
	content: '';
	display: block;
	width: 36px;
	height: 3px;
	background: var(--dr-accent);
	border-radius: 2px;
	margin-top: 6px;
}

/* Cross-sells nel carrello: appare dentro .cart-collaterals (margin: 0 -15px)
   dopo le colonne flottanti Totale/Spedizione → serve clear:both e padding laterale */
.woocommerce-cart .cart-collaterals .dr-cross-sells {
	clear: both;
	padding: 40px 15px 0;
	margin-top: 40px;
	border-top: 2px solid var(--dr-border);
	width: 100%;
}

/* ============================================================
   CARRELLO
   ============================================================ */
.woocommerce-cart .dr-continue-shopping {
	border-radius: 25px;
	background-color: #fff !important;
	border: 2px solid var(--dr-accent) !important;
	color: var(--dr-accent) !important;
	font-weight: 600;
	margin-right: 8px;
	transition: all .2s ease;
}
.woocommerce-cart .dr-continue-shopping:hover {
	background-color: var(--dr-accent) !important;
	color: #fff !important;
}
.woocommerce-cart .cross-sells .widget-title {
	margin-bottom: 20px;
}

/* Etichetta "solo aziende" nella tabella carrello */
.dr-b2b-tag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 10px;
	background: #fcf0f1;
	border: 1px solid #d63638;
	color: #d63638;
	font-size: 11px;
	font-weight: 600;
	vertical-align: middle;
	white-space: nowrap;
}

/* Tabella prodotti: card pulita */
.woocommerce-cart table.shop_table {
	border: 1px solid var(--dr-border);
	border-radius: 10px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}
.woocommerce-cart table.shop_table th {
	background: var(--dr-bg);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .5px;
	color: var(--dr-dark);
}
.woocommerce-cart table.shop_table td {
	vertical-align: middle;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
	max-width: 64px;
	border-radius: 6px;
	border: 1px solid var(--dr-border);
}
.woocommerce-cart table.shop_table td.product-name a {
	font-weight: 600;
	color: var(--dr-dark);
}
.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--dr-accent);
}
.woocommerce-cart table.shop_table .cart-remove {
	color: #b32d2e;
	opacity: .6;
	transition: opacity .2s ease;
}
.woocommerce-cart table.shop_table .cart-remove:hover {
	opacity: 1;
}

/* Quantità e coupon */
.woocommerce-cart .quantity .qty {
	height: 40px;
	border: 1px solid #ddd;
	border-radius: 8px;
	text-align: center;
	background: #fff;
}
.woocommerce-cart td.actions .coupon .input-text {
	height: 40px;
	border: 1px solid #ddd;
	border-radius: 25px;
	padding: 0 18px;
	background: #fff;
}

/* Bottoni della riga azioni a pillola */
.woocommerce-cart td.actions .button {
	border-radius: 25px;
	font-weight: 600;
}

/* Riquadro totali + bottone checkout in evidenza */
.woocommerce-cart .cart_totals {
	background: #fff;
	border: 1px solid var(--dr-border);
	border-radius: 10px;
	padding: 24px;
}
.woocommerce-cart .cart_totals h2 {
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--dr-accent);
}
.woocommerce-cart .cart_totals table.shop_table {
	border: none;
	border-radius: 0;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	border-radius: 25px;
	background-color: var(--dr-accent) !important;
	color: #fff !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	transition: background .2s ease;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--dr-dark) !important;
}

/* Mobile: riga azioni incolonnata e spazi ridotti */
@media (max-width: 767px) {
	.woocommerce-cart td.actions .coupon {
		float: none;
		margin-bottom: 10px;
	}
	.woocommerce-cart td.actions .coupon .input-text {
		width: 100%;
		margin-bottom: 8px;
	}
	.woocommerce-cart td.actions .button,
	.woocommerce-cart .dr-continue-shopping {
		width: 100%;
		margin: 4px 0;
	}
}

/* ============================================================
   PRODOTTI CONSIGLIATI (singolo prodotto → per variante)
   ============================================================ */
.dr-recommended-section {
	margin: 40px 0 20px;
	padding-top: 32px;
	border-top: 2px solid var(--dr-border);
}
.dr-recommended-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--dr-dark);
	margin: 0 0 20px;
}
.dr-recommended-title::after {
	content: '';
	display: block;
	width: 36px;
	height: 3px;
	background: var(--dr-accent);
	border-radius: 2px;
	margin-top: 6px;
}
.dr-rec-hint {
	font-size: 14px;
	color: #9b9b9b;
	font-style: italic;
	margin: -8px 0 16px;
}
/* Slot wrapper per visibilità per-variante: trasparente al layout,
   display:none quando il prodotto non è attivo per la variante selezionata */
.dr-rec-slot {
	display: contents;
}
.dr-rec-slot.dr-rec-hidden {
	display: none !important;
}

/* ============================================================
   PAGINAZIONE
   ============================================================ */
.site-content-archive-product .woocommerce-pagination ul.page-numbers,
.site-content-archive-product ul.page-numbers {
	border: none;
}
.site-content-archive-product ul.page-numbers li a,
.site-content-archive-product ul.page-numbers li span {
	border: 1px solid var(--dr-border);
	border-radius: 8px;
	margin: 0 3px;
	padding: 8px 14px;
	color: var(--dr-grey);
	transition: all .2s ease;
}
.site-content-archive-product ul.page-numbers li a:hover {
	background: var(--dr-accent);
	border-color: var(--dr-accent);
	color: #fff;
}
.site-content-archive-product ul.page-numbers li span.current {
	background: var(--dr-dark);
	border-color: var(--dr-dark);
	color: #fff;
}
