/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 06 2026 | 00:09:07 */
:root {
	--rd-primary: #ea580c;
	--rd-primary-hover: #c2410c;
	--rd-dark: #09090b;
	--rd-medium: #18181b;
	--rd-border: #27272a;
	--rd-border-hover: #3f3f46;
	--rd-text: #ffffff;
	--rd-text-soft: #d4d4d8;
	--rd-text-mute: #a1a1aa;
	--rd-text-dim: #71717a;
	--rd-text-faint: #52525b;
	--rd-success: #22c55e;
	--rd-danger: #ef4444;
}
* {
	box-sizing: border-box;
}
body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
	background-color: var(--rd-dark) !important;
	color: var(--rd-text-mute) !important;
	line-height: 1.6;
}
.elementor-page {
	background-color: var(--rd-dark) !important;
}
/* ============================================================
2. SINGOLO PRODOTTO (template Elementor 25233)
============================================================ */
/* Sezione galleria + dati: era full width, la boxiamo */
.elementor-25233 .elementor-element.elementor-element-d1324d1 {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}
.elementor-25233 .elementor-element.elementor-element-d1324d1 > .elementor-container {
	max-width: 100% !important;
}
/* Colonna destra (titolo/prezzo/bottone) staccata dalla foto */
.elementor-25233 .elementor-element.elementor-element-ba25031 > .elementor-widget-wrap {
	padding-left: 48px !important;
}
@media (max-width: 1024px) {
	.elementor-25233 .elementor-element.elementor-element-d1324d1 {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
	.elementor-25233 .elementor-element.elementor-element-ba25031 > .elementor-widget-wrap {
		padding-left: 0 !important;
		padding-top: 24px !important;
	}
}
@media (max-width: 767px) {
	.elementor-25233 .elementor-element.elementor-element-d1324d1 {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
.product_title,
.entry-title,
.shopengine-product-title {
	color: var(--rd-text) !important;
	font-size: 2.2rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
}
p.price,
span.price,
.woocommerce-Price-amount {
	color: var(--rd-primary) !important;
	font-size: 2rem !important;
	font-weight: 900 !important;
	background: transparent !important;
}
.woocommerce-product-details__short-description,
.summary.entry-summary {
	color: var(--rd-text-mute) !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
}
.woocommerce-product-details__short-description {
	display: block !important;
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid var(--rd-border) !important;
}
.woocommerce-product-details__short-description p {
	color: var(--rd-text-mute) !important;
	margin-bottom: 10px !important;
}
.woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0 !important;
}
.stock.out-of-stock,
.stock.in-stock {
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin: 8px 0 !important;
}
.stock.out-of-stock {
	color: var(--rd-text-dim) !important;
}
.stock.in-stock {
	color: var(--rd-success) !important;
}
.product_meta {
	color: var(--rd-text-mute) !important;
	font-size: 0.95rem !important;
	margin-top: 15px !important;
}
.product_meta span {
	display: block !important;
	margin-bottom: 5px !important;
}
.product_meta a,
.product_meta .sku {
	color: var(--rd-text) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	margin-left: 5px !important;
}
.product_meta a:hover {
	color: var(--rd-primary) !important;
}
.product_meta .product_id {
	display: none !important;
}
.product_meta .tagged_as {
	display: none !important;
}
/* tag tecnici maxqty-N */
/* Galleria */
body.single-product .woocommerce-product-gallery {
	background-color: #ffffff !important;
	border-radius: 16px !important;
	padding: 30px !important;
	box-shadow: 0 15px 35px rgba(0,0,0,0.5) !important;
	border: 1px solid var(--rd-border) !important;
	overflow: hidden !important;
	position: relative !important;
}
body.single-product .woocommerce-product-gallery img.wp-post-image {
	max-height: 500px !important;
	width: 100% !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 auto !important;
}
body.single-product .woocommerce-product-gallery__trigger {
	display: none !important;
}
/* lente */
/* Form acquisto */
body.single-product form.cart {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 20px !important;
	margin-top: 25px !important;
	padding-top: 25px !important;
	border-top: 1px solid var(--rd-border) !important;
}
/* pulsanti +/- separati di ShopEngine 4.9.5: nascosti, usiamo q_inc/q_dec */
body.single-product form.cart .shopengine-qty-btn {
	display: none !important;
}
body.single-product form.cart .quantity-wrap {
	display: contents !important;
}
body.single-product form.cart .quantity .plus,
body.single-product form.cart .quantity .minus,
body.single-product form.cart .quantity .quantity-nav,
body.single-product form.cart .quantity .quantity-button {
	display: none !important;
}
body.single-product form.cart .quantity {
	display: block !important;
	position: relative !important;
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border-hover) !important;
	border-radius: 8px !important;
	height: 54px !important;
	width: 92px !important;
	margin: 0 !important;
	overflow: hidden !important;
}
body.single-product form.cart .quantity .q_inc,
body.single-product form.cart .quantity .q_dec {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: absolute !important;
	right: 0 !important;
	width: 28px !important;
	cursor: pointer !important;
	color: var(--rd-text-mute) !important;
	background-color: transparent !important;
	border-left: 1px solid var(--rd-border) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	user-select: none !important;
	transition: color 0.15s !important;
	z-index: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.single-product form.cart .quantity .q_inc {
	top: 0 !important;
	bottom: 50% !important;
	border-bottom: 1px solid var(--rd-border) !important;
}
body.single-product form.cart .quantity .q_dec {
	top: 50% !important;
	bottom: 0 !important;
}
body.single-product form.cart .quantity .q_inc::before {
	content: "+" !important;
}
body.single-product form.cart .quantity .q_dec::before {
	content: "\2212" !important;
}
body.single-product form.cart .quantity .q_inc:hover,
body.single-product form.cart .quantity .q_dec:hover {
	color: var(--rd-primary) !important;
	background-color: transparent !important;
}
body.single-product form.cart .quantity input.qty {
	background: transparent !important;
	color: var(--rd-text) !important;
	-webkit-text-fill-color: var(--rd-text) !important;
	font-size: 1.3rem !important;
	font-weight: 900 !important;
	border: 0 none !important;
	border-radius: 0 !important;
	outline: 0 none !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
	appearance: none !important;
	height: 100% !important;
	width: calc(100% - 28px) !important;
	min-height: 0 !important;
	text-align: center !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button,
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	display: none !important;
	margin: 0 !important;
}
/* Bottone "Noleggia ora" */
body.single-product form.cart .single_add_to_cart_button {
	background-color: var(--rd-primary) !important;
	color: transparent !important;
	border-radius: 8px !important;
	height: 54px !important;
	flex: 1 !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	font-size: 0 !important;
	letter-spacing: 0.05em !important;
	transition: 0.3s !important;
	border: none !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 40px !important;
	box-shadow: 0 4px 15px rgba(234, 88, 12, 0.2) !important;
	cursor: pointer !important;
}
@media (min-width: 769px) {
	body.single-product form.cart .single_add_to_cart_button {
		flex: 0 0 260px !important;
		/* larghezza bottone su desktop: cambia qui */
		max-width: 260px !important;
	}
}
body.single-product form.cart .single_add_to_cart_button::before,
body.single-product form.cart .single_add_to_cart_button i,
body.single-product form.cart .single_add_to_cart_button svg {
	display: none !important;
	content: none !important;
}
body.single-product form.cart .single_add_to_cart_button:hover {
	background-color: var(--rd-primary-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(234, 88, 12, 0.4) !important;
}
/* Etichetta: stesso selettore del tema (:not(.loading)) per batterlo */
body.single-product form.cart .single_add_to_cart_button::after,
.shopengine-widget .shopengine-swatches .cart .button.single_add_to_cart_button:not(.loading)::after {
	content: "Noleggia ora" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--rd-text) !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	border: 0 none !important;
	text-decoration: none !important;
}
/* ============================================================
3. WISHLIST / QUICKVIEW / COMPARE — sempre nascosti
============================================================ */
.shopengine-wishlist,
.shopengine_add_to_list_action,
a.shopengine-wishlist,
.shopengine-comparison,
.shopengine_comparison_add_to_list_action,
a.shopengine-comparison,
.shopengine-quickview-trigger,
.se-btn {
	display: none !important;
}
/* ============================================================
4. PRODOTTI CORRELATI (funziona con e senza slider)
============================================================ */
.related.products,
section.related.products {
	margin-top: 60px !important;
	padding-top: 40px !important;
	border-top: 1px solid var(--rd-border) !important;
}
.related.products h2,
section.related.products h2 {
	color: var(--rd-text) !important;
	font-size: 1.5rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	margin-bottom: 24px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--rd-border) !important;
}
.related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
}
.related.products ul.products li.product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	clip-path: inset(0 round 12px) !important;
	overflow: hidden !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	float: none !important;
	transition: border-color 0.3s, transform 0.3s !important;
}
.related.products ul.products li.product:hover {
	border-color: var(--rd-primary) !important;
	transform: translateY(-5px) !important;
}
.related.products ul.products li.product .mask,
.related.products ul.products li.product .icons {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}
.related.products ul.products li.product .woocommerce-loop-product__title {
	color: var(--rd-text) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 0 0 16px 0 !important;
	padding: 0 15px 16px 15px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.related.products ul.products li.product .woocommerce-loop-product__title a {
	color: var(--rd-text) !important;
	text-decoration: none !important;
}
.related.products ul.products li.product .woocommerce-loop-product__title a:hover {
	color: var(--rd-primary) !important;
}
.related.products ul.products li.product .price {
	color: var(--rd-primary) !important;
	font-size: 1.6rem !important;
	font-weight: 800 !important;
	text-align: center !important;
	margin: 0 0 16px 0 !important;
	padding: 0 15px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: block !important;
	background: transparent !important;
}
/* ============================================================
5. STATUS BAR (carrello + checkout) — solo estetica;
le etichette si traducono con Loco Translate
============================================================ */
.woocommerce_status_bar > div {
	background: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 8px !important;
	color: var(--rd-text-dim) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}
.woocommerce_status_bar > div.active {
	border-color: var(--rd-primary) !important;
	color: var(--rd-text) !important;
}
.woocommerce_status_bar > div .num {
	background: var(--rd-border) !important;
	color: var(--rd-text-soft) !important;
	border-radius: 50% !important;
}
.woocommerce_status_bar > div.active .num {
	background: var(--rd-primary) !important;
	color: var(--rd-text) !important;
}
/* ============================================================
6. CARRELLO
============================================================ */
body.woocommerce-cart .entry-content {
	padding: 32px 32px 60px !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}
.woocommerce-cart-form {
	margin-bottom: 32px !important;
}
table.wpr-shop-table,
table.woocommerce-cart-form__contents {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}
table.wpr-shop-table thead tr th {
	background: var(--rd-dark) !important;
	color: var(--rd-text-dim) !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	padding: 14px 20px !important;
	border-bottom: 1px solid var(--rd-border) !important;
}
table.wpr-shop-table tbody tr.cart_item td.mobile_cell {
	padding: 0 !important;
	border-bottom: 1px solid var(--rd-border) !important;
}
table.wpr-shop-table tbody tr.cart_item:last-of-type td.mobile_cell {
	border-bottom: none !important;
}
table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table {
	width: 100% !important;
	border: none !important;
	background: transparent !important;
}
table.wpr-shop-table tbody tr.first_row td,
table.wpr-shop-table tbody tr.second_row td {
	padding: 20px !important;
	vertical-align: middle !important;
	border: none !important;
	background: transparent !important;
}
table.wpr-shop-table tbody tr.second_row td {
	padding: 0 20px 16px 20px !important;
}
table.wpr-shop-table td.product-thumbnail a {
	display: block !important;
	width: 72px !important;
	height: 72px !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	padding: 6px !important;
	flex-shrink: 0 !important;
}
table.wpr-shop-table td.product-thumbnail img {
	width: 60px !important;
	height: 60px !important;
	object-fit: contain !important;
	display: block !important;
}
table.wpr-shop-table td.product-name a {
	color: var(--rd-text) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}
table.wpr-shop-table td.product-name a:hover {
	color: var(--rd-primary) !important;
}
table.wpr-shop-table td.product-price,
table.wpr-shop-table td.product-price .woocommerce-Price-amount,
table.wpr-shop-table td.product-subtotal .woocommerce-Price-amount {
	color: var(--rd-primary) !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
}
table.wpr-shop-table td.product-remove a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	background: var(--rd-border) !important;
	border-radius: 6px !important;
	color: var(--rd-text-dim) !important;
	font-size: 1rem !important;
	font-weight: bold !important;
	text-decoration: none !important;
	transition: 0.2s !important;
	line-height: 1 !important;
}
table.wpr-shop-table td.product-remove a.remove:hover {
	background: var(--rd-danger) !important;
	color: var(--rd-text) !important;
}
table.wpr-shop-table td.product-quantity .quantity {
	display: inline-flex !important;
	background: var(--rd-dark) !important;
	border: 1px solid var(--rd-border-hover) !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	height: 36px !important;
	width: 64px !important;
}
table.wpr-shop-table td.product-quantity .quantity input.qty {
	background: transparent !important;
	color: var(--rd-text) !important;
	-webkit-text-fill-color: var(--rd-text) !important;
	border: 0 none !important;
	border-radius: 0 !important;
	outline: 0 none !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
	appearance: none !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	text-align: center !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	padding: 0 !important;
	margin: 0 !important;
}
table.wpr-shop-table td.product-quantity .quantity .q_inc,
table.wpr-shop-table td.product-quantity .quantity .q_dec {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}
table.wpr-shop-table tbody tr td.actions {
	padding: 16px 20px !important;
	border-top: 1px solid var(--rd-border) !important;
	text-align: right !important;
	background: var(--rd-dark) !important;
}
.woocommerce-cart-form .actions .button[name="update_cart"] {
	background: var(--rd-border) !important;
	color: var(--rd-text-mute) !important;
	border: 1px solid var(--rd-border-hover) !important;
	border-radius: 8px !important;
	padding: 10px 20px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	cursor: pointer !important;
}
.woocommerce-cart-form .actions .button:hover {
	background: var(--rd-border-hover) !important;
	color: var(--rd-text) !important;
}
.cart-collaterals {
	display: flex !important;
	justify-content: flex-end !important;
}
.cart_totals {
	background: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	padding: 28px !important;
	width: 100% !important;
	max-width: 420px !important;
}
.cart_totals h2 {
	color: var(--rd-text) !important;
	font-size: 1.1rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	margin: 0 0 20px 0 !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid var(--rd-border) !important;
}
.cart_totals table.shop_table {
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	border-collapse: collapse !important;
}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	padding: 12px 0 !important;
	border-bottom: 1px solid #1f1f22 !important;
	color: var(--rd-text-mute) !important;
	font-size: 0.9rem !important;
	background: transparent !important;
}
.cart_totals table.shop_table tr:last-child th,
.cart_totals table.shop_table tr:last-child td {
	border-bottom: none !important;
}
.cart_totals table.shop_table th {
	font-weight: 600 !important;
}
.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td {
	color: var(--rd-text) !important;
	font-weight: 900 !important;
	font-size: 1.1rem !important;
	border-top: 1px solid var(--rd-border-hover) !important;
	padding-top: 16px !important;
}
.cart_totals .woocommerce-Price-amount {
	color: var(--rd-primary) !important;
	font-weight: 800 !important;
}
.wc-proceed-to-checkout {
	margin-top: 20px !important;
}
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout a.button {
	display: block !important;
	width: 100% !important;
	background: var(--rd-primary) !important;
	color: var(--rd-text) !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 16px !important;
	text-align: center !important;
	font-weight: 800 !important;
	font-size: 0.9rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	text-decoration: none !important;
	transition: 0.2s !important;
	box-shadow: 0 4px 15px rgba(234,88,12,0.25) !important;
	cursor: pointer !important;
}
.wc-proceed-to-checkout a.button:hover {
	background: var(--rd-primary-hover) !important;
	transform: translateY(-2px) !important;
}
.wc-empty-cart-message,
.cart-empty.woocommerce-info {
	background: transparent !important;
	border: none !important;
	color: var(--rd-text-mute) !important;
	font-size: 1rem !important;
	text-align: center !important;
	padding: 60px 20px 16px !important;
}
.wc-empty-cart-message::before {
	display: none !important;
}
.return-to-shop {
	text-align: center !important;
	margin-top: 20px !important;
}
.return-to-shop .button,
.wc-backward {
	background: var(--rd-primary) !important;
	color: var(--rd-text) !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 32px !important;
	font-weight: 800 !important;
	font-size: 0.88rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	text-decoration: none !important;
	display: inline-block !important;
	box-shadow: 0 4px 15px rgba(234,88,12,0.25) !important;
}
.return-to-shop .button:hover,
.wc-backward:hover {
	background: var(--rd-primary-hover) !important;
	transform: translateY(-2px) !important;
}
.woocommerce-message,
.woocommerce-info {
	background: var(--rd-medium) !important;
	border-top-color: var(--rd-primary) !important;
	color: var(--rd-text-mute) !important;
	border-radius: 0 0 8px 8px !important;
}
.woocommerce-message::before {
	color: var(--rd-primary) !important;
}
/* ============================================================
7. CHECKOUT
============================================================ */
body.woocommerce-checkout .entry-content {
	padding: 32px 32px 60px !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
}
body.woocommerce-checkout .woocommerce {
	display: block !important;
}
body.woocommerce-checkout form.checkout {
	display: block !important;
}
body.woocommerce-checkout form.checkout::after {
	content: "" !important;
	display: block !important;
	clear: both !important;
}
body.woocommerce-checkout #customer_details {
	float: left !important;
	width: calc(100% - 512px) !important;
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 100% !important;
}
body.woocommerce-checkout #customer_details .col-2 {
	margin-top: 32px !important;
}
body.woocommerce-checkout #order_review_heading {
	float: right !important;
	clear: right !important;
	width: 480px !important;
	margin: 0 0 16px 0 !important;
	min-width: 0 !important;
}
body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
	color: var(--rd-text) !important;
	font-size: 1.3rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	margin: 0 0 20px 0 !important;
	padding: 0 0 14px 0 !important;
	border-bottom: 1px solid var(--rd-border) !important;
	background: transparent !important;
}
body.woocommerce-checkout .form-row {
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
}
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .form-row > label {
	color: var(--rd-text-soft) !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	margin: 0 0 6px 0 !important;
	display: block !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
}
body.woocommerce-checkout .form-row label .required,
body.woocommerce-checkout .form-row label abbr.required {
	color: var(--rd-primary) !important;
	text-decoration: none !important;
	margin-left: 2px !important;
	font-weight: 700 !important;
}
body.woocommerce-checkout .form-row label .optional {
	color: var(--rd-text-dim) !important;
	font-weight: 400 !important;
}
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout form.checkout input[type="text"],
body.woocommerce-checkout form.checkout input[type="email"],
body.woocommerce-checkout form.checkout input[type="tel"],
body.woocommerce-checkout form.checkout input[type="number"],
body.woocommerce-checkout form.checkout input[type="date"],
body.woocommerce-checkout form.checkout input[type="password"],
body.woocommerce-checkout form.checkout textarea {
	background: var(--rd-medium) !important;
	color: var(--rd-text) !important;
	-webkit-text-fill-color: var(--rd-text) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	font-size: 0.92rem !important;
	width: 100% !important;
	height: auto !important;
	min-height: 46px !important;
	box-shadow: none !important;
	transition: border-color 0.2s !important;
	font-family: inherit !important;
	line-height: 1.4 !important;
}
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus {
	border-color: var(--rd-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(234,88,12,0.15) !important;
}
body.woocommerce-checkout .form-row input.filled,
body.woocommerce-checkout .form-row input.fill_inited,
body.woocommerce-checkout .form-row textarea.fill_inited,
body.woocommerce-checkout .form-row select.fill_inited {
	background-color: var(--rd-medium) !important;
	color: var(--rd-text) !important;
	-webkit-text-fill-color: var(--rd-text) !important;
}
body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
	color: var(--rd-text-faint) !important;
	opacity: 1 !important;
}
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout #order_comments {
	min-height: 100px !important;
	resize: vertical !important;
	line-height: 1.5 !important;
}
body.woocommerce-checkout input[type="date"] {
	color-scheme: dark !important;
	cursor: pointer !important;
}
body.woocommerce-checkout input[type="date"]::-webkit-calendar-picker-indicator {
	filter: invert(0.6) sepia(1) saturate(5) !important;
	cursor: pointer !important;
	opacity: 0.8 !important;
}
/* Select: via select2, uso i menu nativi con freccia pulita */
body.woocommerce-checkout .select2-container {
	display: none !important;
}
body.woocommerce-checkout .select_container::before,
body.woocommerce-checkout .select_container::after,
body.woocommerce-checkout .woocommerce-input-wrapper::before,
body.woocommerce-checkout .woocommerce-input-wrapper::after {
	display: none !important;
	content: none !important;
}
body.woocommerce-checkout select.country_to_state,
body.woocommerce-checkout select.state_select,
body.woocommerce-checkout select#billing_country,
body.woocommerce-checkout select#billing_state,
body.woocommerce-checkout form.checkout select {
	display: block !important;
	position: static !important;
	clip: auto !important;
	-webkit-clip-path: none !important;
	clip-path: none !important;
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	white-space: normal !important;
	margin: 0 !important;
	background-color: var(--rd-medium) !important;
	color: var(--rd-text) !important;
	-webkit-text-fill-color: var(--rd-text) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 8px !important;
	padding: 12px 36px 12px 14px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	cursor: pointer !important;
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2371717a' d='M5 6L0 0h10z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	font-size: 0.92rem !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
}
body.woocommerce-checkout form.checkout select:focus {
	border-color: var(--rd-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(234,88,12,0.15) !important;
}
/* Nome/Cognome su 2 colonne */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 16px !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
	width: calc(50% - 8px) !important;
}
/* "Il tuo ordine" — colonna destra sticky */
body.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
	float: right !important;
	clear: right !important;
	width: 480px !important;
	background: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	padding: 24px !important;
	position: sticky !important;
	top: 100px !important;
	overflow: visible !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
	margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
	margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
	display: none !important;
}
body.woocommerce-checkout table.shop_table_in {
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	border-collapse: collapse !important;
	table-layout: auto !important;
}
body.woocommerce-checkout table.shop_table_in tbody tr {
	border-bottom: 1px solid var(--rd-border) !important;
	background: transparent !important;
}
body.woocommerce-checkout table.shop_table_in tbody tr:last-child {
	border-bottom: none !important;
}
body.woocommerce-checkout table.shop_table_in th,
body.woocommerce-checkout table.shop_table_in td {
	padding: 14px 0 !important;
	border: none !important;
	background: transparent !important;
	color: var(--rd-text-mute) !important;
	font-size: 0.9rem !important;
	vertical-align: middle !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}
body.woocommerce-checkout table.shop_table_in td.product-name,
body.woocommerce-checkout table.shop_table_in .product-name {
	color: var(--rd-text) !important;
	font-weight: 600 !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
	padding-right: 16px !important;
	text-align: left !important;
	width: auto !important;
	white-space: normal !important;
}
body.woocommerce-checkout table.shop_table_in .product-name strong.product-quantity {
	color: var(--rd-text-dim) !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	white-space: nowrap !important;
}
body.woocommerce-checkout table.shop_table_in td.product-total,
body.woocommerce-checkout table.shop_table_in .product-total {
	text-align: right !important;
	white-space: nowrap !important;
	width: 1% !important;
	vertical-align: middle !important;
}
body.woocommerce-checkout table.shop_table_in tr.cart-subtotal th,
body.woocommerce-checkout table.shop_table_in tr.tax-total th,
body.woocommerce-checkout table.shop_table_in tr.order-total th {
	color: var(--rd-text-mute) !important;
	font-weight: 600 !important;
	text-align: left !important;
	white-space: nowrap !important;
	width: auto !important;
}
body.woocommerce-checkout table.shop_table_in tr.cart-subtotal td,
body.woocommerce-checkout table.shop_table_in tr.tax-total td,
body.woocommerce-checkout table.shop_table_in tr.order-total td {
	text-align: right !important;
	white-space: nowrap !important;
	width: 1% !important;
}
body.woocommerce-checkout table.shop_table_in .woocommerce-Price-amount,
body.woocommerce-checkout table.shop_table_in .woocommerce-Price-currencySymbol,
body.woocommerce-checkout table.shop_table_in bdi {
	color: var(--rd-primary) !important;
	font-weight: 700 !important;
}
body.woocommerce-checkout table.shop_table_in tr.order-total {
	border-top: 1px solid var(--rd-border-hover) !important;
	border-bottom: none !important;
}
body.woocommerce-checkout table.shop_table_in tr.order-total th {
	color: var(--rd-text) !important;
	font-weight: 900 !important;
	font-size: 1.05rem !important;
	text-transform: uppercase !important;
	padding-top: 18px !important;
	letter-spacing: 0.04em !important;
}
body.woocommerce-checkout table.shop_table_in tr.order-total td {
	padding-top: 18px !important;
}
body.woocommerce-checkout table.shop_table_in tr.order-total .woocommerce-Price-amount,
body.woocommerce-checkout table.shop_table_in tr.order-total .woocommerce-Price-currencySymbol,
body.woocommerce-checkout table.shop_table_in tr.order-total bdi,
body.woocommerce-checkout table.shop_table_in tr.order-total strong {
	color: var(--rd-primary) !important;
	font-weight: 900 !important;
	font-size: 1.25rem !important;
}
/* Pagamento */
body.woocommerce-checkout #payment {
	background: transparent !important;
	margin-top: 24px !important;
	padding: 0 !important;
}
body.woocommerce-checkout #payment h3#order_review_heading_payment {
	color: var(--rd-text) !important;
	font-size: 1.3rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	margin: 0 0 20px 0 !important;
	padding: 0 0 14px 0 !important;
	border-bottom: 1px solid var(--rd-border) !important;
}
body.woocommerce-checkout #payment .payment_methods {
	background: var(--rd-dark) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 8px !important;
	padding: 16px !important;
	margin: 0 0 16px 0 !important;
	list-style: none !important;
}
body.woocommerce-checkout #payment .payment_methods li {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	list-style: none !important;
	position: relative !important;
}
body.woocommerce-checkout #payment .payment_methods li label {
	color: var(--rd-text) !important;
	font-weight: 700 !important;
	font-size: 0.88rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 0 !important;
	margin: 0 0 8px 0 !important;
	white-space: normal !important;
	line-height: 1.4 !important;
}
body.woocommerce-checkout #payment .payment_methods li label::before {
	content: "" !important;
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	background-color: var(--rd-primary) !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	position: static !important;
	font-size: 0 !important;
	color: transparent !important;
}
body.woocommerce-checkout #payment .payment_box {
	background: transparent !important;
	color: var(--rd-text-mute) !important;
	font-size: 0.82rem !important;
	line-height: 1.6 !important;
	padding: 0 !important;
	margin: 8px 0 0 0 !important;
	border: none !important;
	white-space: normal !important;
}
body.woocommerce-checkout #payment .payment_box::before {
	display: none !important;
	content: none !important;
}
body.woocommerce-checkout #payment .payment_box p {
	margin: 0 !important;
	color: var(--rd-text-mute) !important;
}
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout .form-row.place-order #place_order,
body.woocommerce-checkout #place_order.button,
body.woocommerce-checkout #place_order.button.alt {
	display: block !important;
	width: 100% !important;
	background: var(--rd-primary) !important;
	background-image: none !important;
	color: var(--rd-text) !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 16px !important;
	text-align: center !important;
	font-weight: 800 !important;
	font-size: 0.9rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	cursor: pointer !important;
	transition: 0.2s !important;
	box-shadow: 0 4px 15px rgba(234,88,12,0.25) !important;
	margin-top: 16px !important;
	height: auto !important;
	line-height: 1.2 !important;
	text-shadow: none !important;
	white-space: normal !important;
}
body.woocommerce-checkout #place_order:hover {
	background: var(--rd-primary-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(234,88,12,0.4) !important;
	color: var(--rd-text) !important;
}
/* ============================================================
8. ARCHIVIO NATIVO (ricerca / tag) — tema .list_products
============================================================ */
body.archive #sidebar,
body.search-results #sidebar,
body.tax-product_cat #sidebar {
	display: none !important;
}
.rawdeo-back-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: var(--rd-text-mute) !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin-bottom: 20px !important;
	transition: color 0.2s !important;
}
.rawdeo-back-btn:hover {
	color: var(--rd-primary) !important;
}
body.archive .woocommerce-products-header__title,
body.archive .page-title,
body.search-results .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title {
	color: var(--rd-text) !important;
	font-size: 1.8rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 8px 0 !important;
}
.woocommerce-result-count {
	color: var(--rd-text-dim) !important;
	font-size: 0.82rem !important;
	margin: 0 0 20px 0 !important;
}
.woocommerce-ordering {
	float: none !important;
	margin: 0 0 20px 12px !important;
}
.woocommerce-ordering select.orderby,
.woocommerce-ordering .select_container select {
	background-color: var(--rd-medium) !important;
	color: var(--rd-text-mute) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 8px !important;
	padding: 6px 12px !important;
	font-size: 0.82rem !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	outline: none !important;
}
.woocommerce-pagination,
nav.woocommerce-pagination {
	margin-top: 40px !important;
	display: flex !important;
	justify-content: center !important;
	clear: both !important;
}
.woocommerce-pagination ul {
	display: flex !important;
	gap: 8px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 8px !important;
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	color: var(--rd-text-mute) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	text-decoration: none !important;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
	background-color: var(--rd-primary) !important;
	border-color: var(--rd-primary) !important;
	color: var(--rd-text) !important;
}
/* paginazione nativa nascosta in categoria (c'è "Load more on scroll") */
body.tax-product_cat nav.woocommerce-pagination,
body.archive nav.woocommerce-pagination {
	display: none !important;
}
/* ============================================================
9. ARCHIVIO CATEGORIA — ShopEngine (li.archive-product-container)
============================================================ */
/* sottocategorie in cima: nascoste */
li.product-category.product {
	display: none !important;
}
/* Griglia: card ad altezza naturale */
ul.products.elementor-grid,
.elementor-widget-shopengine-archive-products .products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 20px !important;
	align-items: start !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* Wrapper e card */
li.archive-product-container {
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	list-style: none !important;
}
li.archive-product-container ul.shopengine-archive-mode-grid {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 0 !important;
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	transition: border-color 0.3s, transform 0.3s !important;
}
li.archive-product-container:hover ul.shopengine-archive-mode-grid {
	border-color: var(--rd-primary) !important;
	transform: translateY(-4px) !important;
}
li.archive-product-container .shopengine-archive-products__left-image {
	display: none !important;
}
/* Contenuto sempre visibile (fix animazione tema / caricamento AJAX) */
li.archive-product-container .woocommerce-loop-product__title,
li.archive-product-container .price,
li.archive-product-container .product-categories,
li.archive-product-container .product-categories span {
	opacity: 1 !important;
	visibility: visible !important;
	animation: none !important;
	-webkit-animation: none !important;
	animation-name: none !important;
	transform: none !important;
}
/* Contenitori interni: altezza naturale */
li.archive-product-container > ul > li.product {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 0 !important;
	position: static !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	list-style: none !important;
}
/* Etichetta categoria */
li.archive-product-container .product-categories {
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 3 !important;
	list-style: none !important;
}
li.archive-product-container .product-categories li {
	list-style: none !important;
	margin: 0 !important;
}
li.archive-product-container .product-categories li span {
	background-color: rgba(9,9,11,0.85) !important;
	color: var(--rd-text-soft) !important;
	font-size: 0.65rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	padding: 4px 8px !important;
	border-radius: 4px !important;
	display: inline-block !important;
}
/* mask / icone hover del tema: sempre via */
li.archive-product-container .mask,
li.archive-product-container .icons,
li.archive-product-container:hover .mask,
li.archive-product-container:hover .icons {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	pointer-events: none !important;
}
li.archive-product-container .woocommerce-loop-product__title a {
	color: var(--rd-text) !important;
	text-decoration: none !important;
	text-align: center !important;
	transition: color 0.2s !important;
}
li.archive-product-container:hover .woocommerce-loop-product__title a {
	color: var(--rd-primary) !important;
}
li.archive-product-container .price,
li.archive-product-container:hover .price,
body.tax-product_cat li.archive-product-container .price {
	color: var(--rd-primary) !important;
	font-size: 1.35rem !important;
	font-weight: 900 !important;
	margin: 0 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	width: 100% !important;
	left: 0 !important;
	transition: none !important;
}
li.archive-product-container .price .woocommerce-Price-amount {
	color: var(--rd-primary) !important;
	font-size: 1.35rem !important;
	font-weight: 900 !important;
	margin: 0 !important;
	left: 0 !important;
	transition: none !important;
}
/* Contenitore bottone (struttura vecchia .add_to_cart_wrap e nuova btn-group) */
li.archive-product-container .shopengine-product-description-footer,
li.archive-product-container .shopengine-product-description-btn-group {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	transform: none !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	flex-shrink: 0 !important;
	flex-grow: 0 !important;
}
/* via wishlist/quickview/compare e "Visualizza carrello" iniettato da WooCommerce */
li.archive-product-container .shopengine-product-description-btn-group a.se-btn,
li.archive-product-container .shopengine-product-description-btn-group .screen-reader-text {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	position: absolute !important;
	pointer-events: none !important;
}
li.archive-product-container .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	border: 0 none !important;
	margin: -1px !important;
	padding: 0 !important;
}
/* Bottone "Aggiungi a noleggio": uguale in hover e non-hover */
.elementor-25408 .elementor-element-f2ff072 .shopengine-archive-products .product a.add_to_cart_button,
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button,
.shopengine-widget .shopengine-archive-products .products .product .button[data-quantity] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	width: 100% !important;
	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;
	margin: 0 !important;
	background: var(--rd-border) !important;
	border: 0 none !important;
	border-image: none !important;
	border-radius: 0 0 12px 12px !important;
	padding: 0 !important;
	box-shadow: none !important;
	outline: 0 none !important;
	background-image: none !important;
	text-decoration: none !important;
	transition: background-color 0.2s !important;
	overflow: hidden !important;
	font-size: 0 !important;
	color: transparent !important;
	transform: none !important;
}
.elementor-25408 .elementor-element-f2ff072 .shopengine-archive-products .product a.add_to_cart_button:hover,
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button:hover {
	background: var(--rd-primary) !important;
	opacity: 1 !important;
}
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button::before,
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button i {
	display: none !important;
	content: none !important;
	border: 0 none !important;
}
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button::after {
	content: "Aggiungi a noleggio" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: auto !important;
	height: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transform: none !important;
	text-align: center !important;
	color: var(--rd-text-soft) !important;
	font-size: 0.8rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	border: 0 none !important;
	box-shadow: none !important;
	background: none !important;
	text-decoration: none !important;
}
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button:hover::after {
	color: var(--rd-text) !important;
}
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button.added::after {
	content: "Aggiunto \2713" !important;
}
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button.loading::after {
	content: "..." !important;
}
/* Spegne bordi/ombre/pseudo-divisori del tema (la "riga bianca") */
li.archive-product-container > ul > li.product {
	border: 0 none !important;
	box-shadow: none !important;
	outline: 0 none !important;
	background-image: none !important;
}
/* ============================================================
10. PAGINA /prodotti/ — widget hfe-woo-product-grid
============================================================ */
.hfe-woo-products-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 20px !important;
	align-items: start !important;
	list-style: none !important;
}
.hfe-product-item {
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	transition: border-color 0.3s, transform 0.3s !important;
	padding: 0 !important;
	margin: 0 !important;
}
.hfe-product-item:hover {
	border-color: var(--rd-primary) !important;
	transform: translateY(-4px) !important;
}
.hfe-product-image {
	background-color: #ffffff !important;
	height: 220px !important;
	min-height: 220px !important;
	max-height: 220px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
	border-bottom: 1px solid var(--rd-border) !important;
	overflow: hidden !important;
}
.hfe-product-image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
}
.hfe-product-image img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 !important;
}
.hfe-product-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
	padding: 14px 16px 0 16px !important;
	text-align: center !important;
}
.hfe-product-category {
	color: var(--rd-text-dim) !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin: 0 0 6px 0 !important;
}
.hfe-product-title {
	margin: 0 0 8px 0 !important;
}
.hfe-product-title .woocommerce-loop-product__title {
	color: var(--rd-text) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}
.hfe-product-title a {
	text-decoration: none !important;
	transition: color 0.2s !important;
}
.hfe-product-item:hover .hfe-product-title a {
	color: var(--rd-primary) !important;
}
.hfe-product-price {
	margin: 0 0 14px 0 !important;
}
.hfe-product-price .price,
.hfe-product-price .woocommerce-Price-amount {
	color: var(--rd-primary) !important;
	font-size: 1.25rem !important;
	font-weight: 900 !important;
	display: block !important;
}
/* bottone a filo bordo (esce dal padding di .hfe-product-content) */
.hfe-product-add-to-cart {
	margin: 6px -16px -14px -16px !important;
	padding: 0 !important;
	display: block !important;
	font-size: 0 !important;
	line-height: 0 !important;
}
.hfe-product-add-to-cart a.shopengine-wishlist,
.hfe-product-add-to-cart a.shopengine-quickview-trigger,
.hfe-product-add-to-cart a.shopengine-comparison,
.hfe-product-add-to-cart .se-btn,
.hfe-product-add-to-cart .screen-reader-text {
	display: none !important;
}
.hfe-product-add-to-cart a.add_to_cart_button {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	width: 100% !important;
	height: 64px !important;
	min-height: 64px !important;
	max-height: 64px !important;
	margin: 0 !important;
	background: var(--rd-border) !important;
	border: none !important;
	border-radius: 0 0 12px 12px !important;
	padding: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	font-size: 0 !important;
	color: transparent !important;
	text-decoration: none !important;
	transition: background-color 0.2s !important;
}
.hfe-product-add-to-cart a.add_to_cart_button:hover {
	background: var(--rd-primary) !important;
}
.hfe-product-add-to-cart a.add_to_cart_button::before,
.hfe-product-add-to-cart a.add_to_cart_button i {
	display: none !important;
	content: none !important;
}
.hfe-product-add-to-cart a.add_to_cart_button::after {
	content: "Aggiungi a noleggio" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: auto !important;
	height: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-bottom: 3px !important;
	transform: none !important;
	text-align: center !important;
	color: var(--rd-text-soft) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	border: 0 none !important;
	box-shadow: none !important;
	background: none !important;
	text-decoration: none !important;
}
.hfe-product-add-to-cart a.add_to_cart_button:hover::after {
	color: var(--rd-text) !important;
}
.hfe-product-add-to-cart a.add_to_cart_button.added::after {
	content: "Aggiunto \2713" !important;
}
.hfe-product-add-to-cart a.add_to_cart_button.loading::after {
	content: "..." !important;
}
/* ============================================================
11. MOBILE
============================================================ */
@media (max-width: 1024px) {
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #order_review {
		float: none !important;
		clear: both !important;
		width: 100% !important;
	}
	body.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
		position: static !important;
		float: none !important;
		clear: both !important;
		width: 100% !important;
	}
}
@media (max-width: 768px) {
	/* Singolo prodotto */
	.product_title,
	.entry-title {
		font-size: 1.6rem !important;
	}
	body.single-product .shopengine-product-price p.price,
	body.single-product .shopengine-product-price .woocommerce-Price-amount {
		font-size: 1.6rem !important;
	}
	body.single-product .woocommerce-product-gallery {
		padding: 20px !important;
		border-radius: 12px !important;
	}
	body.single-product .woocommerce-product-gallery img.wp-post-image {
		max-height: 300px !important;
	}
	body.single-product form.cart {
		gap: 12px !important;
		padding-top: 20px !important;
	}
	body.single-product form.cart .quantity {
		height: 50px !important;
		width: 72px !important;
	}
	body.single-product form.cart .single_add_to_cart_button {
		height: 50px !important;
		font-size: 0 !important;
		padding: 0 24px !important;
		flex: 1 !important;
		max-width: none !important;
	}
	/* Correlati: 2 colonne */
	.related.products,
	section.related.products {
		margin-top: 40px !important;
		padding-top: 28px !important;
	}
	.related.products ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
	.related.products h2 {
		font-size: 1.2rem !important;
	}
	.related.products ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.78rem !important;
		margin-bottom: 8px !important;
	}
	.related.products ul.products li.product .price {
		font-size: 1.15rem !important;
	}
	/* Carrello */
	body.woocommerce-cart .entry-content {
		padding: 20px 16px 40px !important;
	}
	.cart-collaterals {
		justify-content: stretch !important;
	}
	.cart_totals {
		max-width: 100% !important;
		padding: 20px 16px !important;
	}
	table.wpr-shop-table tbody tr.first_row td,
	table.wpr-shop-table tbody tr.second_row td {
		padding: 14px !important;
	}
	table.wpr-shop-table td.product-thumbnail a {
		width: 60px !important;
		height: 60px !important;
	}
	table.wpr-shop-table td.product-thumbnail img {
		width: 48px !important;
		height: 48px !important;
	}
	table.wpr-shop-table td.product-name a {
		font-size: 0.82rem !important;
	}
	table.wpr-shop-table td.product-price,
	table.wpr-shop-table td.product-subtotal {
		font-size: 0.9rem !important;
	}
	/* Checkout */
	body.woocommerce-checkout .entry-content {
		padding: 20px 16px 40px !important;
	}
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		gap: 0 !important;
	}
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
		width: 100% !important;
	}
	body.woocommerce-checkout h3,
	body.woocommerce-checkout .woocommerce-billing-fields h3,
	body.woocommerce-checkout .woocommerce-additional-fields h3,
	body.woocommerce-checkout #payment h3#order_review_heading_payment,
	body.woocommerce-checkout #order_review_heading {
		font-size: 1.1rem !important;
		margin: 0 0 16px 0 !important;
		padding: 0 0 12px 0 !important;
	}
	body.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
		padding: 20px 16px !important;
	}
	body.woocommerce-checkout #order_review_heading {
		font-size: 1.1rem !important;
		margin: 24px 0 12px 0 !important;
	}
	body.woocommerce-checkout #customer_details .col-2 {
		margin-top: 24px !important;
	}
	body.woocommerce-checkout .form-row .input-text,
	body.woocommerce-checkout .form-row input.input-text,
	body.woocommerce-checkout .form-row textarea,
	body.woocommerce-checkout form.checkout input,
	body.woocommerce-checkout form.checkout select {
		min-height: 48px !important;
		font-size: 16px !important;
		/* evita lo zoom su iOS */
	}
	/* Archivio categoria ShopEngine */
	ul.products.elementor-grid,
	.elementor-widget-shopengine-archive-products .products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
	li.archive-product-container .price,
	li.archive-product-container .price .woocommerce-Price-amount {
		font-size: 1.1rem !important;
	}
	li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button {
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
	}
	li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button::after {
		font-size: 0.72rem !important;
	}
	/* Pagina /prodotti/ */
	.hfe-woo-products-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
	.hfe-product-image {
		height: 150px !important;
		min-height: 150px !important;
		max-height: 150px !important;
		padding: 14px !important;
	}
	.hfe-product-content {
		padding: 12px 10px 0 10px !important;
	}
	.hfe-product-add-to-cart {
		margin: 6px -10px -14px -10px !important;
	}
	.hfe-product-title .woocommerce-loop-product__title {
		font-size: 0.75rem !important;
	}
	.hfe-product-price .price {
		font-size: 1.05rem !important;
	}
}
@media (max-width: 480px) {
	body.single-product form.cart {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}
	.product_title,
	.entry-title {
		font-size: 1.35rem !important;
	}
	body.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
		padding: 16px 14px !important;
	}
	body.woocommerce-checkout table.shop_table_in td.product-name {
		font-size: 0.82rem !important;
	}
	body.woocommerce-checkout table.shop_table_in tr.order-total .woocommerce-Price-amount {
		font-size: 1.1rem !important;
	}
}
/* ============================================================
12. TOUCH (telefono/tablet) — niente effetti hover "bloccati"
Dopo un tocco il browser lascia lo stato :hover attivo: qui lo
neutralizziamo, cosi' le card restano tutte uguali e allineate.
============================================================ */
@media (hover: none) {
	/* card: niente spostamento e bordo normale */
	.related.products ul.products li.product:hover,
	li.archive-product-container:hover ul.shopengine-archive-mode-grid,
	.hfe-product-item:hover {
		transform: none !important;
		border-color: var(--rd-border) !important;
	}
	/* titoli: colore normale */
	.related.products ul.products li.product .woocommerce-loop-product__title a:hover,
	li.archive-product-container:hover .woocommerce-loop-product__title a,
	.hfe-product-item:hover .hfe-product-title a {
		color: var(--rd-text) !important;
	}
	.elementor-25408 .elementor-element-f2ff072 .shopengine-archive-products .product a.add_to_cart_button:hover,
	li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button:hover,
	.hfe-product-add-to-cart a.add_to_cart_button:hover {
		background: var(--rd-border) !important;
	}
	li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button:hover::after,
	.hfe-product-add-to-cart a.add_to_cart_button:hover::after {
		color: var(--rd-text-soft) !important;
	}
}
/* ============================================================
13. CARRELLO MOBILE — etichette e totali
============================================================ */
@media (max-width: 768px) {
	/* ":" isolato: etichetta vuota di immagine e pulsante rimuovi */
	table.wpr-shop-table td.product-thumbnail::before,
	table.wpr-shop-table td.product-remove::before,
	table.wpr-shop-table td[data-title=""]::before {
		content: none !important;
		display: none !important;
	}
	/* etichette tutte uguali (Prodotto / Prezzo / Quantita' / Subtotale) */
	table.wpr-shop-table td.product-name::before,
	table.wpr-shop-table td.product-price::before,
	table.wpr-shop-table td.product-quantity::before,
	table.wpr-shop-table td.product-subtotal::before {
		font-size: 0.9rem !important;
		font-weight: 700 !important;
		color: var(--rd-text) !important;
	}
	/* totali: stesso peso per subtotale, IVA e totale */
	.cart_totals table td,
	.cart_totals table td .woocommerce-Price-amount,
	.cart_totals table td .woocommerce-Price-amount bdi {
		font-weight: 800 !important;
		color: var(--rd-primary) !important;
	}
	.cart_totals table.shop_table {
		margin-bottom: 0 !important;
	}
}
/* ============================================================
14. CORRELATI MOBILE — margini simmetrici
============================================================ */
@media (max-width: 768px) {
	.related.products ul.products {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
/* ============================================================
15. PREZZI CHECKOUT / CARRELLO (mobile e desktop)
Prima la regola mobile del prodotto singolo ingrandiva TUTTI i
prezzi del sito: ora e' limitata al prodotto. Qui le dimensioni
dei riepiloghi, con il Totale in evidenza.
============================================================ */
body.woocommerce-checkout #order_review .woocommerce-Price-amount,
body.woocommerce-checkout #order_review .woocommerce-Price-amount bdi {
	font-size: 1.1rem !important;
	font-weight: 800 !important;
}
body.woocommerce-checkout #order_review tr.order-total .woocommerce-Price-amount,
body.woocommerce-checkout #order_review tr.order-total .woocommerce-Price-amount bdi {
	font-size: 1.35rem !important;
	font-weight: 900 !important;
}
.cart_totals .woocommerce-Price-amount,
.cart_totals .woocommerce-Price-amount bdi {
	font-size: 1.1rem !important;
}
.cart_totals tr.order-total .woocommerce-Price-amount,
.cart_totals tr.order-total .woocommerce-Price-amount bdi {
	font-size: 1.35rem !important;
}
/* ============================================================
16. CHECKOUT — allineamenti del riepilogo e del pagamento
============================================================ */
/* tabella del riepilogo: stesso allineamento della casella pagamento */
body.woocommerce-checkout #order_review table.shop_table_in,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.woocommerce-checkout #order_review table.shop_table_in tr > :first-child {
	padding-left: 0 !important;
}
body.woocommerce-checkout #order_review table.shop_table_in tr > :last-child {
	padding-right: 0 !important;
}
/* striscia scura sopra il pulsante: sfondo trasparente */
body.woocommerce-checkout #payment div.form-row,
body.woocommerce-checkout #payment .form-row.place-order,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}
/* ============================================================
17. PULSANTE "AGGIUNGI A NOLEGGIO" — stato di caricamento
Mentre WooCommerce aggiunge il prodotto, il pulsante ha la classe
.loading: lo mostriamo arancione con la scritta "Aggiungo...".
============================================================ */
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button.loading,
.hfe-product-add-to-cart a.add_to_cart_button.loading {
	background: var(--rd-primary) !important;
	pointer-events: none !important;
}
li.archive-product-container .shopengine-product-description-btn-group a.add_to_cart_button.loading::after,
.hfe-product-add-to-cart a.add_to_cart_button.loading::after {
	content: "Aggiungo..." !important;
	color: var(--rd-text) !important;
}
/* v39: regola del tema ShopEngine ".is-loading *" (opacity .6 + grigio su TUTTI i figli): annullata */
html body .shopengine-widget .shopengine-archive-products.is-loading *,
html body .shopengine-widget .is-loading *,
html body .shopengine-archive-products.is-loading * {
	opacity:1 !important;
	filter:none !important;
	pointer-events:auto !important;
}
/* v38: il tema scrive opacity inline (jQuery) su un contenitore dell'archivio durante il caricamento.
!important batte lo stile inline: annulla lo scurimento su qualunque antenato della griglia. */
html body :is(div,section,main,article,form,ul,nav):has(> .woocommerce-result-count),
html body :is(div,section,main,article,ul):has(ul.products),
html body :is(div,section,main,article,ul):has(.shopengine-archive-products),
html body :is(div,section,main,article):has(.woocommerce-links-infinite),
html body :is(div,section,main,article):has(.woocommerce-load-more) {
	opacity:1 !important;
	filter:none !important;
	transition:none !important;
}
html body .woocommerce-result-count,
html body .woocommerce-ordering,
html body ul.products,
html body ul.products > li,
html body .woocommerce-links-infinite,
html body .woocommerce-pagination {
	opacity:1 !important;
	filter:none !important }
/* ============================================================
18. LOADER "CARICA ALTRI PRODOTTI" (caricamento allo scroll)
ShopEngine mette la classe .is-loading sul contenitore dei
prodotti mentre carica: nascondiamo il suo loader blu e non ne
mostriamo nessuno (richiesta del cliente: si continua a scorrere).
============================================================ */
.shopengine-archive-products.is-loading,
.shopengine-archive-products.is-loading ul.products,
.shopengine-archive-products.is-loading li.product,
.shopengine-archive-products.is-loading .archive-product-container {
	background-image: none !important;
	opacity: 1 !important;
	filter: none !important;
	pointer-events: auto !important;
}
/* nessun velo scuro mentre carica: la griglia resta sempre a piena visibilita',
qualunque sia l'elemento a cui ShopEngine mette la classe di caricamento */
.shopengine-archive-products,
.shopengine-archive-products ul.products,
.shopengine-archive-products ul.products > li,
ul.products.loading,
ul.products li.product,
.elementor-widget-shopengine-archive-products,
.elementor-widget-shopengine-archive-products .elementor-widget-container {
	opacity: 1 !important;
	filter: none !important;
}
.shopengine-archive-products::before,
.shopengine-archive-products::after,
.shopengine-archive-products ul.products::before,
.shopengine-archive-products ul.products::after,
.elementor-widget-shopengine-archive-products::before,
.elementor-widget-shopengine-archive-products::after,
.elementor-widget-shopengine-archive-products .elementor-widget-container::before,
.elementor-widget-shopengine-archive-products .elementor-widget-container::after {
	content: none !important;
	display: none !important;
	background: none !important;
}
/* nessun velo scuro mentre carica (overlay di WooCommerce/ShopEngine) */
.shopengine-archive-products .blockUI.blockOverlay,
.shopengine-archive-products .shopengine-loader-overlay,
.shopengine-archive-products .shopengine-overlay {
	display: none !important;
}
.shopengine-archive-products.is-loading::before,
.shopengine-archive-products.is-loading::after,
.shopengine-archive-products.is-loading .shopengine-loader {
	display: none !important;
	content: none !important;
	animation: none !important;
}
@keyframes rd-spin {
	to {
		transform: rotate(360deg);
	}
}
/* ============================================================
19. HOME — titoli di sezione (es. "Pronto a girare?")
Interlinea normale: le righe non si sovrappongono quando il
titolo va a capo su mobile.
============================================================ */
body .rawdeo-cta-section h2.rawdeo-section-heading,
body h2.rawdeo-section-heading {
	line-height: 1.15 !important;
}
/* ============================================================
22. BARRA SOTTOCATEGORIE (pagine categoria)
La barra viene creata dallo snippet PHP "Sottocategorie" e
appare sopra i prodotti. Quando c'e', le card-sottocategoria
dentro la griglia vengono nascoste (sarebbero doppie).
============================================================ */
.rd-subcat-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	flex: 0 0 100%;
	box-sizing: border-box;
	gap: 10px;
	margin: 0 0 28px 0;
	padding: 0;
}
.rd-subcat-chip {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	background-color: var(--rd-medium);
	border: 1px solid var(--rd-border);
	border-radius: 8px;
	color: var(--rd-text-soft) !important;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
	transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.rd-subcat-chip.is-active {
	background-color: var(--rd-primary);
	border-color: var(--rd-primary);
	color: var(--rd-text) !important;
}
@media (hover: hover) {
	.rd-subcat-chip:not(.is-active):hover {
		border-color: var(--rd-primary);
		color: var(--rd-text) !important;
	}
}
body.rd-has-subcat-bar li.product-category {
	display: none !important;
}
@media (max-width: 768px) {
	/* su telefono: una sola riga scorrevole con il dito */
	.rd-subcat-bar {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		width: calc(100% + 32px);
		flex: 0 0 calc(100% + 32px);
		max-width: none;
		margin: 0 -16px 20px -16px;
		padding: 0 16px 4px 16px;
	}
	.rd-subcat-bar::-webkit-scrollbar {
		display: none;
	}
	.rd-subcat-chip {
		flex: 0 0 auto;
	}
	/* centrata se sta tutta, scorrevole se e' piu' lunga dello schermo */
	.rd-subcat-bar .rd-subcat-chip:first-child {
		margin-left: auto;
	}
	.rd-subcat-bar .rd-subcat-chip:last-child {
		margin-right: auto;
	}
}
/* ============================================================
23. HEADER DESKTOP — il menu non deve finire sotto la colonna destra
Con 5 voci (Noleggio, Bundles, Noleggio Studio, Contatti, Policy)
la colonna centrale al 40% era troppo stretta: l'ultima voce
usciva e finiva sotto la colonna del carrello, che la copriva
(nessun hover, nessun click). Ora la colonna centrale si adatta.
============================================================ */
@media (min-width: 1025px) {
	.rawdeo-nav-container {
		grid-template-columns: 1fr auto 1fr !important;
		column-gap: 1.5rem;
	}
	.rawdeo-main-nav {
		gap: 1.75rem !important;
	}
}
@media (min-width: 1025px) and (max-width: 1280px) {
	.rawdeo-main-nav {
		gap: 1.1rem !important;
	}
	.rawdeo-main-nav a {
		letter-spacing: 0.06em !important;
		font-size: 0.8rem !important;
	}
}
/* ============================================================
24. PAGINA CATEGORIE E TITOLI — touch e sillabazione
- su telefono la card toccata non resta "sollevata" con il bordo
arancione (l'effetto hover resta attivo dopo il tocco)
- niente sillabazione automatica nei titoli (es. "CAME-RA",
"AC-TION"): le parole vanno a capo intere
============================================================ */
@media (hover: none) {
	.rawdeo-cat-page .rawdeo-cat-card:hover {
		transform: none !important;
		border-color: var(--rd-border) !important;
	}
	.rawdeo-cat-page .rawdeo-cat-card:hover .rawdeo-cat-icon {
		transform: none !important;
		color: var(--rd-text-mute) !important;
		border-color: var(--rd-border) !important;
	}
	.rawdeo-cat-page .rawdeo-cat-card:hover .rawdeo-cat-overlay {
		opacity: 0 !important;
	}
}
.rawdeo-cat-page .rawdeo-cat-name,
.woocommerce-loop-product__title,
.hfe-product-title,
.hfe-product-title a,
li.archive-product-container .woocommerce-loop-product__title a {
	-webkit-hyphens: none !important;
	hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	/* spezza una parola solo se non ci sta nemmeno da sola in una riga */
}
/* ============================================================
25. CARRELLO — la "X" per rimuovere un prodotto, centrata
Misura: il carattere × stava ~5px sopra il centro del riquadro
(dipende dal font). La X viene disegnata con due linee CSS,
quindi e' sempre esattamente al centro.
============================================================ */
table.wpr-shop-table td.product-remove a.remove {
	position: relative !important;
	font-size: 0 !important;
	color: transparent !important;
	line-height: 0 !important;
	overflow: hidden !important;
}
table.wpr-shop-table td.product-remove a.remove > * {
	display: none !important;
}
table.wpr-shop-table td.product-remove a.remove::before,
table.wpr-shop-table td.product-remove a.remove::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 14px !important;
	height: 2px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--rd-text-mute) !important;
	border: 0 none !important;
	border-radius: 1px !important;
	transform: translate(-50%, -50%) rotate(45deg) !important;
	transition: background-color 0.2s !important;
}
table.wpr-shop-table td.product-remove a.remove::after {
	transform: translate(-50%, -50%) rotate(-45deg) !important;
}
table.wpr-shop-table td.product-remove a.remove:hover::before,
table.wpr-shop-table td.product-remove a.remove:hover::after {
	background: var(--rd-text) !important;
}
/* ============================================================
26. RISULTATI DI RICERCA — card uguali a quelle delle categorie
Pagina /?s=... (tema: .posts_container > .column-1_2 > article).
Immagine in riquadro bianco di altezza fissa, titolo centrato,
prezzo, "Vedi prodotto". Categoria e data nascoste.
============================================================ */
/* paginazione dei risultati */
body.search-results nav.navigation.pagination {
	display: flex !important;
	justify-content: center !important;
	margin: 0 0 48px 0 !important;
}
body.search-results nav.navigation.pagination .nav-links {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	justify-content: center !important;
}
body.search-results nav.navigation.pagination .page-numbers {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 0 10px !important;
	border-radius: 8px !important;
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	color: var(--rd-text-mute) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	text-decoration: none !important;
}
body.search-results nav.navigation.pagination .page-numbers.dots {
	background: transparent !important;
	border-color: transparent !important;
}
body.search-results nav.navigation.pagination a.page-numbers:hover,
body.search-results nav.navigation.pagination .page-numbers.current {
	background-color: var(--rd-primary) !important;
	border-color: var(--rd-primary) !important;
	color: var(--rd-text) !important;
}
/* ============================================================
27. RICERCA — barra di ricerca in pagina + caricamento allo scroll
(barra e scroll infinito sono creati dallo snippet "ricerca")
============================================================ */
body.search-results .rd-search-form {
	display: flex;
	gap: 10px;
	max-width: 640px;
	width: calc(100% - 64px);
	margin: 90px auto 0 auto;
}
body.search-results .rd-search-form input[type="search"] {
	flex: 1;
	height: 50px;
	padding: 0 18px;
	background: var(--rd-medium);
	border: 1px solid var(--rd-border);
	border-radius: 10px;
	color: var(--rd-text);
	font-size: 1rem;
	outline: none;
	box-shadow: none;
}
body.search-results .rd-search-form input[type="search"]:focus {
	border-color: var(--rd-primary);
}
body.search-results .rd-search-form button {
	height: 50px;
	padding: 0 26px;
	background: var(--rd-primary);
	border: 0;
	border-radius: 10px;
	color: var(--rd-text);
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}
@media (hover: hover) {
	body.search-results .rd-search-form button:hover {
		background: var(--rd-primary-hover);
	}
}
body.rd-infinite nav.navigation.pagination {
	display: none !important;
}
.rd-search-loader {
	display: block;
	height: 1px;
	margin-bottom: 48px;
}
.rd-search-loader span {
	display: none;
}
@media (max-width: 768px) {
	body.search-results .rd-search-form {
		width: calc(100% - 32px);
		margin-top: 90px;
	}
	body.search-results .rd-search-form button {
		padding: 0 18px;
	}
}
/* ============================================================
28. NIENTE SILLABAZIONE NEI TITOLI (es. "PRONTO A GIRA-RE?")
============================================================ */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .elementor-heading-title,
html body .rawdeo-section-heading {
	-webkit-hyphens: none !important;
	-ms-hyphens: none !important;
	hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}
/* ============================================================
29. HOME CATEGORIE — margini laterali dei nomi su telefono
============================================================ */
@media (max-width: 768px) {
	html body .rawdeo-cat-card .rawdeo-cat-name {
		box-sizing: border-box !important;
		width: 100% !important;
		padding: 0 14px !important;
		font-size: 0.95rem !important;
		letter-spacing: 0.04em !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}
}
/* ============================================================
30. BARRA CERCA (Ajax Search Lite) — meno spazio sotto l'header su telefono
Il blocco Elementor ha un margin-top di 100px: su mobile lo riduco.
============================================================ */
@media (max-width: 768px) {
	html body .elementor-section.elementor-top-section:has(.asl_w_container) {
		margin-top: 24px !important;
		margin-bottom: 28px !important;
	}
}
/* ============================================================
31. HEADER SEMPRE SOPRA — barra cerca e card passano sotto
============================================================ */
html body .rawdeo-header-wrapper,
html body .rawdeo-header {
	z-index: 100000 !important;
}
html body .asl_w_container,
html body .asl_w_container .asl_w,
html body .asl_w_container .probox {
	z-index: 1 !important;
}
html body .asl_r,
html body div.asl_r {
	z-index: 9000 !important;
}
html body .elementor-section:has(.asl_w_container),
html body .elementor-section:has(.asl_w_container) .elementor-widget-wrap {
	z-index: auto !important;
}
/* ============================================================
32. CARRELLO — REDESIGN (telefono, tablet, desktop)
- telefono: ogni prodotto e' una card (foto a sinistra, nome,
prezzo e quantita' a destra, subtotale in fondo, X in alto)
- tablet: una colonna, totali a tutta larghezza
- desktop: prodotti a sinistra, riepilogo fisso a destra
- telefono: pulsante "Invia richiesta" sempre visibile in basso
============================================================ */
/* ---------- desktop: due colonne ---------- */
@media (min-width: 1025px) {
	body.woocommerce-cart .entry-content {
		max-width: 1240px !important;
	}
	body.woocommerce-cart .woocommerce {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 380px;
		column-gap: 32px;
		align-items: start;
	}
	body.woocommerce-cart .woocommerce > * {
		grid-column: 1 / -1;
	}
	body.woocommerce-cart .woocommerce > .woocommerce-cart-form {
		grid-column: 1;
		margin-bottom: 0 !important;
	}
	body.woocommerce-cart .woocommerce > .cart-collaterals {
		grid-column: 2;
		position: sticky;
		top: 110px;
		display: block !important;
	}
	body.woocommerce-cart .cart_totals {
		max-width: 100% !important;
	}
}
/* ---------- tablet: una colonna ---------- */
@media (min-width: 769px) and (max-width: 1024px) {
	body.woocommerce-cart .entry-content {
		padding: 24px 28px 48px !important;
	}
	.cart-collaterals {
		justify-content: stretch !important;
	}
	.cart_totals {
		max-width: 100% !important;
	}
}
/* ---------- telefono: card prodotto ---------- */
@media (max-width: 768px) {
	table.wpr-shop-table thead {
		display: none !important;
	}
	table.woocommerce-cart-form__contents,
	table.wpr-shop-table {
		background: transparent !important;
		border: 0 none !important;
		border-radius: 0 !important;
		overflow: visible !important;
	}
	table.wpr-shop-table > tbody {
		display: block !important;
	}
	table.wpr-shop-table > tbody > tr.cart_item {
		display: block !important;
		margin-bottom: 14px !important;
		background: var(--rd-medium) !important;
		border: 1px solid var(--rd-border) !important;
		border-radius: 12px !important;
		overflow: hidden !important;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell {
		display: block !important;
		position: relative !important;
		padding: 14px !important;
		border: 0 none !important;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table,
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table > tbody {
		display: grid !important;
		grid-template-columns: 84px minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 0;
		width: 100% !important;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table {
		display: block !important;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table > tbody > tr {
		display: contents !important;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td {
		display: block !important;
		width: auto !important;
		padding: 0 !important;
		border: 0 none !important;
		background: transparent !important;
		text-align: left !important;
	}
	/* foto */
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 3;
	}
	table.wpr-shop-table td.product-thumbnail a {
		width: 84px !important;
		height: 84px !important;
		padding: 8px !important;
	}
	table.wpr-shop-table td.product-thumbnail img {
		width: 66px !important;
		height: 66px !important;
	}
	/* nome */
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-name {
		grid-column: 2;
		grid-row: 1;
		padding-right: 34px !important;
		min-height: 40px !important;
		margin-bottom: 6px !important;
	}
	table.wpr-shop-table td.product-name::before {
		display: none !important;
		content: none !important;
	}
	table.wpr-shop-table td.product-name a {
		font-size: 0.88rem !important;
		line-height: 1.3 !important;
		display: block !important;
		hyphens: none !important;
	}
	/* prezzo e quantita': etichetta a sinistra, valore a destra */
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-price,
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-quantity {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 36px !important;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-price {
		grid-column: 2;
		grid-row: 2;
	}
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-quantity {
		grid-column: 2;
		grid-row: 3;
	}
	table.wpr-shop-table td.product-price::before,
	table.wpr-shop-table td.product-quantity::before,
	table.wpr-shop-table td.product-subtotal::before {
		float: none !important;
		font-size: 0.72rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase !important;
		color: var(--rd-text-dim) !important;
	}
	table.wpr-shop-table td.product-price::before {
		content: "Prezzo" !important;
		display: block !important;
	}
	table.wpr-shop-table td.product-quantity::before {
		content: "Quantità" !important;
		display: block !important;
	}
	table.wpr-shop-table td.product-subtotal::before {
		content: "Subtotale" !important;
		display: block !important;
	}
	/* subtotale a tutta larghezza */
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-subtotal {
		grid-column: 1 / -1;
		grid-row: 4;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		margin-top: 12px !important;
		padding-top: 12px !important;
		border-top: 1px solid var(--rd-border) !important;
	}
	table.wpr-shop-table td.product-subtotal .woocommerce-Price-amount {
		font-size: 1.15rem !important;
	}
	/* X in alto a destra */
	table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-remove {
		position: absolute !important;
		top: 12px !important;
		right: 12px !important;
		z-index: 2 !important;
		width: auto !important;
	}
	/* aggiorna carrello */
	table.wpr-shop-table tbody tr:not(.cart_item) {
		display: block !important;
	}
	table.wpr-shop-table tbody tr td.actions {
		display: block !important;
		border: 1px solid var(--rd-border) !important;
		border-radius: 12px !important;
		text-align: center !important;
	}
	.woocommerce-cart-form .actions .button[name="update_cart"] {
		width: 100% !important;
	}
	/* pulsante "Invia richiesta" sempre visibile in basso */
	body.woocommerce-cart {
		padding-bottom: 96px !important;
	}
	body.woocommerce-cart .wc-proceed-to-checkout {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 9000 !important;
		margin: 0 !important;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) 16px !important;
		background: rgba(9, 9, 11, 0.96) !important;
		border-top: 1px solid var(--rd-border) !important;
	}
}
/* ---------- icona carrello nell'header su telefono/tablet ---------- */
@media (max-width: 1024px) {
	html body .rawdeo-header-right {
		display: flex !important;
		margin-left: auto !important;
		margin-right: 18px !important;
		gap: 0 !important;
	}
	html body .rawdeo-header-right > *:not(.rawdeo-cart-icon) {
		display: none !important;
	}
	html body .rawdeo-header .rawdeo-cart-icon,
	html body .rawdeo-header .rawdeo-mobile-toggle {
		position: relative;
		z-index: 9999;
	}
}
/* ============================================================
33. CATEGORIE → SOTTOCATEGORIE — spazio ridotto tra i due blocchi
Il blocco delle categorie ha un margine di 40px in fondo, a cui
si sommano quelli di Elementor: su telefono la distanza dalla
barra delle sottocategorie era ~3 volte quella verso i prodotti.
============================================================ */
html body .rawdeo-cat-page {
	margin-bottom: 32px !important;
}
html body .elementor-widget:has(> .elementor-widget-container > .rawdeo-cat-page),
html body .elementor-widget:has(.rawdeo-cat-page) {
	margin-bottom: 0 !important;
}
/* se sotto c'e' la barra delle sottocategorie, lo spazio e' minore */
html body.rd-has-subcat-bar .rawdeo-cat-page {
	margin-bottom: 16px !important;
}
@media (max-width: 768px) {
	html body .rawdeo-cat-page {
		margin-bottom: 28px !important;
		padding-bottom: 0 !important;
	}
	html body.rd-has-subcat-bar .rawdeo-cat-page {
		margin-bottom: 0 !important;
	}
	html body .rd-subcat-bar {
		margin-top: 0 !important;
		margin-bottom: 14px !important;
	}
}
/* ============================================================
34. CARRELLO TELEFONO — margini interni e allineamento
Il margine interno (16px) e' dato alla card stessa, cosi' foto,
nome, X, prezzo, quantita' e subtotale hanno tutti gli stessi
bordi: sopra, a destra e a sinistra.
============================================================ */
@media (max-width: 768px) {
	html body table.wpr-shop-table > tbody > tr.cart_item {
		position: relative !important;
		padding: 16px !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell {
		position: static !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table,
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell > table > tbody {
		padding: 0 !important;
		margin: 0 !important;
	}
	/* X: angolo in alto a destra, alla stessa altezza della foto */
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-remove {
		position: absolute !important;
		top: 16px !important;
		right: 16px !important;
		left: auto !important;
		bottom: auto !important;
		width: 28px !important;
		height: 28px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	html body table.wpr-shop-table td.product-remove a.remove {
		margin: 0 !important;
	}
	/* il nome non finisce sotto la X e parte dall'alto, come la foto */
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-name {
		padding: 4px 38px 0 0 !important;
		margin: 0 0 10px 0 !important;
		min-height: 38px !important;
	}
	/* prezzo, quantita' e subtotale: stesso bordo destro */
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-quantity,
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-price,
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-subtotal {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-right: 0 !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-quantity .quantity {
		margin: 0 !important;
		float: none !important;
		flex-shrink: 0 !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-subtotal {
		padding-top: 14px !important;
		margin-top: 14px !important;
	}
}
/* ============================================================
35. CARRELLO — X allineata al nome (telefono) e colonne allineate (tablet/desktop)
============================================================ */
/* telefono: la X sta alla stessa altezza della prima riga del nome.
Il quadratino partiva piu' in basso perche' il link restava sulla
linea di testo del td: ora il td e' un contenitore che lo ancora in alto. */
@media (max-width: 768px) {
	/* X: non piu' "absolute" (finiva spostata dal contenitore sbagliato) ma
	dentro la griglia della card: colonna destra, prima riga, angolo in alto a destra */
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-remove {
		position: static !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: end !important;
		align-self: start !important;
		z-index: 2 !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: flex-end !important;
		font-size: 0 !important;
		line-height: 0 !important;
		width: 28px !important;
		height: 28px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	html body table.wpr-shop-table td.product-remove a.remove {
		display: flex !important;
		margin: 0 !important;
		vertical-align: top !important;
		flex-shrink: 0 !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.mobile_cell td.product-name {
		padding-top: 5px !important;
	}
}
/* tablet e desktop: intestazioni e celle sulle stesse colonne */
@media (min-width: 769px) {
	html body table.wpr-shop-table {
		table-layout: fixed !important;
		width: 100% !important;
	}
	html body table.wpr-shop-table thead th:nth-last-child(-n+3) {
		width: 15% !important;
		text-align: center !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.product-price,
	html body table.wpr-shop-table tbody tr.cart_item td.product-quantity,
	html body table.wpr-shop-table tbody tr.cart_item td.product-subtotal {
		width: 15% !important;
		text-align: center !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.product-quantity .quantity {
		margin: 0 auto !important;
		float: none !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.product-remove {
		width: 64px !important;
		text-align: center !important;
	}
	html body table.wpr-shop-table tbody tr.cart_item td.product-thumbnail {
		width: 110px !important;
	}
}
/* ============================================================
36. CHECKOUT — nascondi "Sei già un cliente? Fai clic qui per accedere"
(e il box coupon, se presente: non serve per le richieste di preventivo)
============================================================ */
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-login,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon {
	display: none !important;
}
/* ============================================================
38. CARD CATEGORIA — feedback al tocco (telefono)
Su touch l'effetto "hover" e' spento (restava bloccato dopo il
tocco): al suo posto, mentre il dito e' sulla card, diventa
arancione come su desktop.
============================================================ */
@media (hover: none) {
	html body .rawdeo-cat-page .rawdeo-cat-card:active,
	html body .rawdeo-cat-card:active {
		border-color: var(--rd-primary) !important;
		transform: translateY(-3px) !important;
		transition: none !important;
	}
	html body .rawdeo-cat-page .rawdeo-cat-card:active .rawdeo-cat-icon,
	html body .rawdeo-cat-card:active .rawdeo-cat-icon {
		color: var(--rd-primary) !important;
		border-color: rgba(234, 88, 12, 0.5) !important;
		transform: scale(1.1) !important;
		transition: none !important;
	}
	html body .rawdeo-cat-page .rawdeo-cat-card:active .rawdeo-cat-overlay,
	html body .rawdeo-cat-card:active .rawdeo-cat-overlay {
		opacity: 1 !important;
	}
}
/* ============================================================
39. CARD CATEGORIE E RICERCA (ShopEngine) — uguali a /prodotti/
Struttura HTML dopo il passaggio al tema Hello Elementor:
li.archive-product-container > ul > li.product > a (foto, titolo, prezzo) + pulsante
============================================================ */
/* Griglia: stesse colonne di /prodotti/ e card alte uguali sulla stessa riga */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-widget .shopengine-archive-products.shopengine-grid ul.products {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 20px !important;
	align-items: stretch !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container {
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container > ul.shopengine-archive-mode-grid {
	flex: 1 1 auto !important;
}
/* Contenuto della card */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container > ul.shopengine-archive-mode-grid > li.product {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: center !important;
	background: transparent !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container > ul.shopengine-archive-mode-grid > li.product > a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	text-decoration: none !important;
}
/* Foto: teca bianca alta 220px, come in /prodotti/ */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container > ul.shopengine-archive-mode-grid > li.product > a.woocommerce-LoopProduct-link > img {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 220px !important;
	min-height: 220px !important;
	max-height: 220px !important;
	padding: 20px !important;
	margin: 0 !important;
	background-color: #ffffff !important;
	object-fit: contain !important;
	border: 0 none !important;
	border-bottom: 1px solid var(--rd-border) !important;
	border-radius: 0 !important;
	transform: none !important;
	flex-shrink: 0 !important;
}
/* Etichetta categoria (compare solo se aggiungi lo snippet PHP) */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .rd-loop-cat {
	display: block !important;
	color: var(--rd-text-dim) !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	text-align: center !important;
	margin: 14px 16px 6px 16px !important;
}
/* Titolo: occupa lo spazio libero, così prezzo e pulsante restano allineati in fondo */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .woocommerce-loop-product__title {
	display: block !important;
	flex: 1 0 auto !important;
	color: var(--rd-text) !important;
	font-family: inherit !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
	letter-spacing: normal !important;
	text-align: center !important;
	min-height: 0 !important;
	margin: 14px 16px 8px 16px !important;
	padding: 0 !important;
	transition: color 0.2s !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .rd-loop-cat + .woocommerce-loop-product__title {
	margin-top: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container:hover li.product .woocommerce-loop-product__title {
	color: var(--rd-primary) !important;
}
/* Prezzo */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .price {
	display: block !important;
	color: var(--rd-primary) !important;
	font-size: 1.25rem !important;
	font-weight: 900 !important;
	line-height: 1.6 !important;
	text-align: center !important;
	width: auto !important;
	margin: 0 16px 14px 16px !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .price .woocommerce-Price-amount {
	display: inline !important;
	color: var(--rd-primary) !important;
	font-size: 1.25rem !important;
	font-weight: 900 !important;
	line-height: 1.6 !important;
}
/* Pulsante "Aggiungi a noleggio": barra a filo bordo, come in /prodotti/ */
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-footer,
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-footer {
	margin-top: 6px !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-footer a.woocommerce-LoopProduct-link,
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group a.se-btn,
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group a.added_to_cart {
	display: none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group a.button.add_to_cart_button {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--rd-border) !important;
	border: 0 none !important;
	border-radius: 0 0 12px 12px !important;
	box-shadow: none !important;
	font-size: 0 !important;
	color: transparent !important;
	text-align: center !important;
	text-decoration: none !important;
	overflow: hidden !important;
	transition: background-color 0.2s !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group a.button.add_to_cart_button:hover {
	background: var(--rd-primary) !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group a.button.add_to_cart_button::after {
	padding: 11px 0 0 0 !important;
	/* stessa posizione della scritta in /prodotti/ */
	font-size: 0.78rem !important;
}
/* Telefono: stesse misure della pagina /prodotti/ */
@media (max-width: 768px) {
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-widget .shopengine-archive-products.shopengine-grid ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container > ul.shopengine-archive-mode-grid > li.product > a.woocommerce-LoopProduct-link > img {
		height: 150px !important;
		min-height: 150px !important;
		max-height: 150px !important;
		padding: 14px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .rd-loop-cat {
		margin: 12px 10px 6px 10px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .woocommerce-loop-product__title {
		font-size: 0.75rem !important;
		margin: 12px 10px 8px 10px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .rd-loop-cat + .woocommerce-loop-product__title {
		margin-top: 0 !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .price {
		margin: 0 10px 14px 10px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .price {
		font-size: 1.05rem !important;
		/* come /prodotti/: la cifra resta 1.25rem */
	}
}
/* Touch: niente colore "bloccato" dopo il tocco */
@media (hover: none) {
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container li.product .shopengine-product-description-btn-group a.button.add_to_cart_button:hover {
		background: var(--rd-border) !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-archive-products .shopengine-archive-products li.archive-product-container:hover li.product .woocommerce-loop-product__title {
		color: var(--rd-text) !important;
	}
}
/* Spazio sopra e sotto: allineato alle altre pagine (prima serviva per l'header di Promo) */
.elementor-25233 .elementor-element.elementor-element-d1324d1 {
	margin-top: 100px !important;
	margin-bottom: 60px !important;
}
/* Foto: riempie tutto il riquadro bianco (niente margine interno, riquadro quadrato) */
body.single-product .woocommerce-product-gallery {
	padding: 0 !important;
	overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.single-product .woocommerce-product-gallery img.wp-post-image {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	margin: 0 !important;
	border-radius: 0 !important;
}
/* Titolo prodotto */
body.single-product .elementor-widget-shopengine-product-title .product-title {
	color: var(--rd-text) !important;
	font-size: 2rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	margin: 0 0 8px 0 !important;
}
/* Descrizione: testo chiaro sotto il pulsante, separata da una riga */
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description {
	color: var(--rd-text-mute) !important;
	font-size: 0.95rem !important;
	line-height: 1.7 !important;
	margin-top: 28px !important;
	padding-top: 24px !important;
	border-top: 1px solid var(--rd-border) !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description:empty {
	display: none !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description * {
	color: inherit !important;
	font-size: inherit !important;
	font-family: inherit !important;
	line-height: inherit !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description strong,
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description b,
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description h2,
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description h3,
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description h4 {
	color: var(--rd-text) !important;
	font-weight: 700 !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description p {
	margin: 0 0 10px 0 !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description ul,
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description ol {
	margin: 0 0 12px 0 !important;
	padding-left: 1.2em !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description li {
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description li::marker {
	color: var(--rd-primary) !important;
}
/* ---------- Prodotti correlati: stesse card del catalogo ---------- */
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	align-items: stretch !important;
	margin: 0 !important;
	padding: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products::before,
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products::after {
	display: none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product {
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: var(--rd-medium) !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	text-align: center !important;
	transition: border-color 0.3s, transform 0.3s !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product:hover {
	border-color: var(--rd-primary) !important;
	transform: translateY(-4px) !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.woocommerce-LoopProduct-link > img {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 220px !important;
	min-height: 220px !important;
	max-height: 220px !important;
	padding: 20px !important;
	margin: 0 !important;
	background-color: #ffffff !important;
	object-fit: contain !important;
	border: 0 none !important;
	border-bottom: 1px solid var(--rd-border) !important;
	border-radius: 0 !important;
	transform: none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .rd-loop-cat {
	display: block !important;
	color: var(--rd-text-dim) !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin: 14px 16px 6px 16px !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .woocommerce-loop-product__title {
	display: block !important;
	flex: 1 0 auto !important;
	color: var(--rd-text) !important;
	font-family: inherit !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
	letter-spacing: normal !important;
	text-align: center !important;
	width: auto !important;
	border: 0 none !important;
	margin: 14px 16px 8px 16px !important;
	padding: 0 !important;
	transition: color 0.2s !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .rd-loop-cat + .woocommerce-loop-product__title {
	margin-top: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product:hover .woocommerce-loop-product__title {
	color: var(--rd-primary) !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .price {
	display: block !important;
	width: auto !important;
	color: var(--rd-primary) !important;
	font-size: 1.25rem !important;
	font-weight: 900 !important;
	line-height: 1.6 !important;
	text-align: center !important;
	border: 0 none !important;
	margin: 0 16px 14px 16px !important;
	padding: 0 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .price .woocommerce-Price-amount {
	display: inline !important;
	color: var(--rd-primary) !important;
	font-size: 1.25rem !important;
	font-weight: 900 !important;
	line-height: 1.6 !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.added_to_cart {
	display: none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button {
	display: block !important;
	position: relative !important;
	flex-shrink: 0 !important;
	width: 100% !important;
	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;
	margin: 6px 0 0 0 !important;
	padding: 0 !important;
	background: var(--rd-border) !important;
	border: 0 none !important;
	border-radius: 0 0 12px 12px !important;
	box-shadow: none !important;
	font-size: 0 !important;
	color: transparent !important;
	text-decoration: none !important;
	overflow: hidden !important;
	transition: background-color 0.2s !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button:hover {
	background: var(--rd-primary) !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button::before {
	display: none !important;
	content: none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button::after {
	content: "Aggiungi a noleggio" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 11px 0 0 0 !important;
	color: var(--rd-text-soft) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	background: none !important;
	border: 0 none !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button:hover::after {
	color: var(--rd-text) !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button.added::after {
	content: "Aggiunto \2713" !important;
}
.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button.loading::after {
	content: "..." !important;
}
/* Tablet */
@media (max-width: 1024px) {
	.elementor-25233 .elementor-element.elementor-element-d1324d1 {
		margin-top: 60px !important;
	}
}
/* Telefono */
@media (max-width: 768px) {
	.elementor-25233 .elementor-element.elementor-element-d1324d1 {
		margin-top: 30px !important;
		margin-bottom: 40px !important;
	}
	body.single-product .elementor-widget-shopengine-product-title .product-title {
		font-size: 1.5rem !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.woocommerce-LoopProduct-link > img {
		height: 150px !important;
		min-height: 150px !important;
		max-height: 150px !important;
		padding: 14px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .rd-loop-cat {
		margin: 12px 10px 6px 10px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .woocommerce-loop-product__title {
		font-size: 0.75rem !important;
		margin: 12px 10px 8px 10px !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .rd-loop-cat + .woocommerce-loop-product__title {
		margin-top: 0 !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product .price {
		font-size: 1.05rem !important;
		margin: 0 10px 14px 10px !important;
	}
}
/* Touch: niente colore "bloccato" dopo il tocco */
@media (hover: none) {
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product:hover {
		transform: none !important;
		border-color: var(--rd-border) !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product > a.button.add_to_cart_button:hover {
		background: var(--rd-border) !important;
	}
	.elementor-element.elementor-widget.elementor-widget-shopengine-related .shopengine-related section.related.products ul.products > li.product:hover .woocommerce-loop-product__title {
		color: var(--rd-text) !important;
	}
}
/* 41. SCHEDA PRODOTTO — foto non ingrandibile */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
	pointer-events: none !important;
	cursor: default !important;
}
body.single-product .shopengine-product-image-toggle,
body.single-product .woocommerce-product-gallery__trigger {
	display: none !important;
}
/* ============================================================
42. HEADER — niente spazio nero sopra la pagina
(il contenitore del modello header occupava 20px)
============================================================ */
#masthead .elementor-column,
#masthead .elementor-widget-wrap {
	min-height: 0 !important;
	padding: 0 !important;
}
/* ============================================================
43. CONTATTI — niente titolo "Contatti" aggiunto dal tema Hello
============================================================ */
body.page-id-25453 .page-header {
	display: none !important;
}
/* ============================================================
44. LOGO UFFICIALE — solo CSS, nessun widget da modificare.
La scritta RAWDEO di testo viene sostituita dal disegno
ufficiale (solo lettere, senza sfondo); il puntino
arancione resta quello di prima, con la pulsazione.
============================================================ */
.rawdeo-logo,
.rawdeo-footer-logo {
	--rd-logo-h: 22px;
	position: relative !important;
	display: inline-block !important;
	height: var(--rd-logo-h) !important;
	width: calc(var(--rd-logo-h) * 5.9902) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-shadow: none !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='52.2 33.35 196.6 32.82'%3E%3Cpath fill-rule='evenodd' fill='%23ea580c' d='M 221.16 58.55 C 216.88 58.55 214.57 55.45 214.57 49.74 C 214.57 44.02 216.88 40.89 221.16 40.89 C 225.45 40.89 227.74 44.02 227.74 49.74 C 227.74 55.45 225.45 58.55 221.16 58.55 M 221.16 66.07 C 229.81 66.07 236.63 60.36 236.63 49.74 C 236.63 39.1 229.81 33.37 221.16 33.37 C 212.46 33.37 205.69 39.1 205.69 49.74 C 205.69 60.3 212.46 66.07 221.16 66.07'/%3E%3Cpath fill-rule='evenodd' fill='%23ea580c' d='M 179.42 65.64 L 202.29 65.64 L 202.29 58.68 L 188.05 58.68 L 188.05 52.95 L 201.18 52.95 L 201.18 46.15 L 188.05 46.15 L 188.05 40.77 L 202.38 40.77 L 202.38 33.8 L 179.42 33.8 Z M 179.42 65.64'/%3E%3Cpath fill-rule='evenodd' fill='%23ea580c' d='M 156.43 58.29 L 156.43 41.15 L 159.46 41.15 C 164.46 41.15 167.2 43.07 167.2 49.74 C 167.2 56.39 164.46 58.29 159.72 58.29 Z M 160.06 65.64 C 169.74 65.64 175.88 59.68 175.88 49.74 C 175.88 39.78 169.74 33.8 159.93 33.8 L 147.8 33.8 L 147.8 65.64 Z M 160.06 65.64'/%3E%3Cpath fill-rule='evenodd' fill='%23fff' d='M 119.89 65.64 L 129.66 65.64 L 132.84 52.67 C 133.42 50.3 133.76 47.67 134.12 45.02 C 134.51 47.69 134.89 50.32 135.47 52.67 L 138.63 65.64 L 148.4 65.64 L 156.84 33.8 L 147.18 33.8 L 144.61 46.15 C 143.99 49.14 143.5 52.86 143.03 56.34 C 142.5 52.86 141.96 49.14 141.28 46.15 L 138.46 33.8 L 129.83 33.8 L 127 46.15 C 126.32 49.16 125.77 52.9 125.23 56.43 C 124.76 52.9 124.27 49.16 123.65 46.15 L 121.11 33.8 L 111.45 33.8 Z M 119.89 65.64'/%3E%3Cpath fill-rule='evenodd' fill='%23fff' d='M 93.63 53.07 C 94.74 49.19 95.64 45.04 96.51 40.87 C 97.47 45.04 98.5 49.19 99.65 53.07 Z M 80.38 65.64 L 90.04 65.64 L 91.79 59.53 L 101.58 59.53 L 103.41 65.64 L 113.2 65.64 L 102.5 33.8 L 90.7 33.8 Z M 80.38 65.64'/%3E%3Cpath fill-rule='evenodd' fill='%23fff' d='M 60.85 48.42 L 60.85 40.72 L 63.88 40.72 C 66.94 40.72 68.75 41.9 68.75 44.61 C 68.75 47.35 66.94 48.42 63.88 48.42 Z M 52.21 65.64 L 60.85 65.64 L 60.85 55.12 L 63.84 55.12 L 69.44 65.64 L 78.84 65.64 L 72.34 53.76 C 75.74 52.13 77.77 49.04 77.77 44.61 C 77.77 37.86 73.03 33.8 65.93 33.8 L 52.21 33.8 Z M 52.21 65.64'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
.rawdeo-logo {
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.5));
}
.rawdeo-footer-logo {
	--rd-logo-h: 28px;
}
.rawdeo-logo span,
.rawdeo-footer-logo span {
	display: none !important;
}
.rawdeo-logo .rawdeo-logo-dot,
.rawdeo-footer-logo .rawdeo-footer-logo-dot {
	position: absolute !important;
	left: 95.50% !important;
	top: 73.51% !important;
	width: 4.478% !important;
	height: 26.43% !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: #ea580c !important;
}
@media (max-width: 768px) {
	.rawdeo-logo {
		--rd-logo-h: 19px;
	}
	.rawdeo-footer-logo {
		--rd-logo-h: 26px;
	}
}
/* Puntino dell'header: pulsazione con transform/opacity */
.rawdeo-logo .rawdeo-logo-dot {
	animation: none !important;
	box-shadow: none !important;
}
.rawdeo-logo .rawdeo-logo-dot::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: rgba(234, 88, 12, 0.7);
	animation: rawdeo-dot-ring 2s ease-out infinite;
	pointer-events: none;
}
@keyframes rawdeo-dot-ring {
	0%   {
		transform: scale(1);
		opacity: 1;
	}
	70%  {
		transform: scale(2.6);
		opacity: 0;
	}
	100% {
		transform: scale(2.6);
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.rawdeo-logo .rawdeo-logo-dot::after {
		animation: none;
		opacity: 0;
	}
}
/* 46. HOME — H1 SEO nella descrizione, grafica invariata */
.rawdeo-hero-content p.rawdeo-hero-title {
	margin-top: 8px;
	color: #f4f4f5 !important;
}
.rawdeo-hero-content h1.rawdeo-hero-desc {
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #a1a1aa !important;
}
/* 47. HOME — pulsante catalogo PDF */
.rawdeo-hero-buttons .rawdeo-btn-outline {
	background: transparent;
	border: 2px solid var(--rd-primary, #ea580c);
	color: #fff;
}
.rawdeo-hero-buttons .rawdeo-btn-outline:hover {
	background: var(--rd-primary, #ea580c);
	color: #fff;
	transform: translateY(-2px);
}
/* ============================================================
48. SCHEDA PRODOTTO — quantità con − e +, pulsanti PDF,
spazi e allineamenti
============================================================ */
/* Meno spazio tra header e scheda */
.elementor-25233 .elementor-element.elementor-element-d1324d1 {
	margin-top: 48px !important;
	margin-bottom: 56px !important;
}
/* Quantità e pulsante allineati al titolo, distanza giusta */
body.single-product form.cart {
	display: flex !important;
	align-items: stretch !important;
	gap: 12px !important;
	margin: 0 !important;
}
body.single-product form.cart::before,
body.single-product form.cart::after {
	content: none !important;
	display: none !important;
}
body.single-product form.cart .single_add_to_cart_button {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-height: 54px !important;
	margin: 0 !important;
}
/* Colonna dei dati allineata al bordo destro della pagina */
.elementor-25233 .elementor-element.elementor-element-ba25031 > .elementor-widget-wrap {
	padding-right: 0 !important;
}
/* Quantità: − [numero] + in un unico riquadro */
body.single-product form.cart .quantity-wrap {
	display: flex !important;
	align-items: stretch !important;
	height: 54px;
	margin: 0 !important;
	border: 1px solid var(--rd-border-hover, #3f3f46);
	border-radius: 4px;
	background: var(--rd-medium, #18181b);
	overflow: hidden;
}
body.single-product form.cart .quantity-wrap .shopengine-qty-btn {
	display: contents !important;
}
body.single-product form.cart .quantity-wrap .minus {
	order: 1;
}
body.single-product form.cart .quantity-wrap .quantity {
	order: 2;
}
body.single-product form.cart .quantity-wrap .plus {
	order: 3;
}
body.single-product form.cart .quantity-wrap .plus,
body.single-product form.cart .quantity-wrap .minus {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--rd-text, #f4f4f5) !important;
	font-family: inherit !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
body.single-product form.cart .quantity-wrap .plus:hover,
body.single-product form.cart .quantity-wrap .minus:hover {
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--rd-primary, #ea580c) !important;
}
body.single-product form.cart .quantity-wrap .plus i,
body.single-product form.cart .quantity-wrap .minus i {
	display: none !important;
}
body.single-product form.cart .quantity-wrap .plus::before {
	content: "+";
}
body.single-product form.cart .quantity-wrap .minus::before {
	content: "\2212";
}
body.single-product form.cart .quantity-wrap .quantity {
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
body.single-product form.cart .quantity-wrap input.qty {
	width: 44px !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	-moz-appearance: textfield;
	appearance: textfield;
}
body.single-product form.cart .quantity-wrap input.qty::-webkit-outer-spin-button,
body.single-product form.cart .quantity-wrap input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
/* Pulsanti "Scarica policy" e "Scarica catalogo" (snippet PHP) */
.rd-pdf-links {
	order: 10;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 12px;
}
a.rd-pdf-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 16px;
	border: 1px solid var(--rd-border-hover, #3f3f46);
	border-radius: 4px;
	color: var(--rd-text, #f4f4f5) !important;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: border-color 0.2s;
}
a.rd-pdf-btn svg {
	color: var(--rd-primary, #ea580c);
	flex-shrink: 0;
}
a.rd-pdf-btn:hover {
	border-color: var(--rd-primary, #ea580c);
}
/* Descrizione: righe meno distanziate */
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description {
	margin-top: 24px !important;
	padding-top: 20px !important;
}
body.single-product .elementor-widget-shopengine-product-description .shopengine-product-description p {
	margin: 0 0 4px !important;
}
/* "Prodotti correlati": stessi margini della scheda e stile del sito */
.elementor-25233 .elementor-element.elementor-element-0aaf084,
.elementor-25233 .elementor-element.elementor-element-997191d {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}
.elementor-25233 .elementor-element.elementor-element-0aaf084 > .elementor-container,
.elementor-25233 .elementor-element.elementor-element-997191d > .elementor-container {
	max-width: 100% !important;
}
.elementor-25233 .elementor-element.elementor-element-0aaf084 .elementor-widget-wrap,
.elementor-25233 .elementor-element.elementor-element-997191d .elementor-widget-wrap {
	padding: 0 !important;
}
.elementor-25233 .elementor-element.elementor-element-48a179a .elementor-heading-title {
	padding-top: 40px !important;
	border-top: 1px solid var(--rd-border, #27272a) !important;
	color: var(--rd-text, #f4f4f5) !important;
	font-size: 1.5rem !important;
	font-weight: 900 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
}
.elementor-25233 .elementor-widget-shopengine-related section.related.products {
	margin-top: 24px !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}
@media (max-width: 1024px) {
	.elementor-25233 .elementor-element.elementor-element-0aaf084,
	.elementor-25233 .elementor-element.elementor-element-997191d {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}
@media (max-width: 767px) {
	.elementor-25233 .elementor-element.elementor-element-d1324d1 {
		margin-top: 24px !important;
		margin-bottom: 40px !important;
	}
	.elementor-25233 .elementor-element.elementor-element-0aaf084,
	.elementor-25233 .elementor-element.elementor-element-997191d {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.elementor-25233 .elementor-element.elementor-element-48a179a .elementor-heading-title {
		padding-top: 32px !important;
		font-size: 1.25rem !important;
	}
	.rd-pdf-links {
		grid-template-columns: 1fr;
	}
}
/* ============================================================
49. NOLEGGIO E CATEGORIE — spazi tra header, ricerca,
categorie e prodotti + barra di ricerca pulita
============================================================ */
/* --- Spazi: Noleggio (25154) e modello categorie (25408) --- */
html body .elementor-25154 .elementor-section.elementor-element-302beec,
html body .elementor-25154 .elementor-section.elementor-element-9884ed8,
html body .elementor-25154 .elementor-section.elementor-element-1074d2b,
html body .elementor-25408 .elementor-section.elementor-element-6069b46d,
html body .elementor-25408 .elementor-section.elementor-element-515eab95,
html body .elementor-25408 .elementor-section.elementor-element-1ccdae6 {
	padding-left: 24px !important;
	padding-right: 24px !important;
}
html body .elementor-25154 .elementor-section.elementor-element-302beec .elementor-element-populated,
html body .elementor-25154 .elementor-section.elementor-element-9884ed8 .elementor-element-populated,
html body .elementor-25154 .elementor-section.elementor-element-1074d2b .elementor-element-populated,
html body .elementor-25408 .elementor-section.elementor-element-6069b46d .elementor-element-populated,
html body .elementor-25408 .elementor-section.elementor-element-515eab95 .elementor-element-populated,
html body .elementor-25408 .elementor-section.elementor-element-1ccdae6 .elementor-element-populated {
	padding: 0 !important;
}
/* header → ricerca 40 px, ricerca → categorie 24 px */
html body .elementor-25154 .elementor-section.elementor-element-302beec,
html body .elementor-25408 .elementor-section.elementor-element-6069b46d {
	margin-top: 40px !important;
	margin-bottom: 24px !important;
}
/* categorie → prodotti 40 px (nelle categorie: → barra sottocategorie 24 px) */
html body .elementor-25154 .rawdeo-cat-page,
html body .elementor-25408 .rawdeo-cat-page {
	margin-bottom: 40px !important;
}
html body.rd-has-subcat-bar .elementor-25408 .rawdeo-cat-page {
	margin-bottom: 24px !important;
}
html body .elementor-25408 .elementor-section.elementor-element-1ccdae6 {
	margin-top: 0 !important;
}
@media (max-width: 767px) {
	html body .elementor-25154 .elementor-section.elementor-element-302beec,
	html body .elementor-25154 .elementor-section.elementor-element-9884ed8,
	html body .elementor-25154 .elementor-section.elementor-element-1074d2b,
	html body .elementor-25408 .elementor-section.elementor-element-6069b46d,
	html body .elementor-25408 .elementor-section.elementor-element-515eab95,
	html body .elementor-25408 .elementor-section.elementor-element-1ccdae6 {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	html body .elementor-25154 .elementor-section.elementor-element-302beec,
	html body .elementor-25408 .elementor-section.elementor-element-6069b46d {
		margin-top: 24px !important;
		margin-bottom: 16px !important;
	}
	html body .elementor-25154 .rawdeo-cat-page,
	html body .elementor-25408 .rawdeo-cat-page {
		margin-bottom: 32px !important;
	}
	html body.rd-has-subcat-bar .elementor-25408 .rawdeo-cat-page {
		margin-bottom: 16px !important;
	}
}
/* Telefono: la barra delle sottocategorie parte da sinistra,
così "Tutte" non resta tagliata fuori dallo schermo */
@media (max-width: 768px) {
	html body .rd-subcat-bar {
		justify-content: flex-start !important;
	}
}
/* --- Barra di ricerca (Ajax Search Lite) --- */
html body div.asl_w .probox {
	display: flex !important;
	align-items: stretch !important;
	height: 54px !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--rd-medium, #18181b) !important;
	border: 1px solid var(--rd-border, #27272a) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
html body div.asl_w .probox:focus-within {
	border-color: var(--rd-primary, #ea580c) !important;
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.15) !important;
}
html body div.asl_w .probox .proinput {
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: center !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 0 0 16px !important;
}
html body div.asl_w .probox .proinput form {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 100% !important;
}
html body div.asl_w .probox .proinput input.orig {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: normal !important;
	color: var(--rd-text, #f4f4f5) !important;
	-webkit-text-fill-color: var(--rd-text, #f4f4f5) !important;
	caret-color: var(--rd-primary, #ea580c) !important;
}
html body div.asl_w .probox .proinput input.orig::placeholder {
	color: var(--rd-text-dim, #71717a) !important;
	-webkit-text-fill-color: var(--rd-text-dim, #71717a) !important;
	opacity: 1 !important;
}
html body div.asl_w .probox .proinput input.orig::selection {
	background: rgba(234, 88, 12, 0.35);
	color: #fff;
	-webkit-text-fill-color: #fff;
}
/* niente testo-suggerimento sovrapposto (era quello che diventava nero) */
html body div.asl_w .probox .proinput input.autocomplete {
	display: none !important;
}
/* niente X nativa del browser */
html body div.asl_w input[type="search"]::-webkit-search-cancel-button,
html body div.asl_w input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}
/* X per cancellare: centrata e nello stile del sito */
html body div.asl_w .probox .proclose {
	position: relative !important;
	width: 44px !important;
	height: auto !important;
	align-self: stretch !important;
	margin: 0 !important;
}
html body div.asl_w .probox .proclose svg {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 12px !important;
	height: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translate(-50%, -50%) !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	fill: var(--rd-text-dim, #71717a) !important;
	transition: fill 0.2s;
}
html body div.asl_w .probox .proclose:hover svg {
	fill: var(--rd-primary, #ea580c) !important;
}
html body div.asl_w .probox .proloading {
	align-self: center !important;
	margin: 0 8px !important;
}
html body div.asl_w .probox .promagnifier {
	width: 56px !important;
	height: auto !important;
	align-self: stretch !important;
}
/* --- Risultati della ricerca --- */
html body div.asl_r,
html body div.asl_r * {
	font-family: inherit !important;
}
html body div.asl_r .results .item h3,
html body div.asl_r .results .item h3 a {
	color: var(--rd-text, #f4f4f5) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
}
html body div.asl_r .results .item:hover h3 a {
	color: var(--rd-primary, #ea580c) !important;
}
html body div.asl_r .asl_nores {
	padding: 20px 16px !important;
	background: transparent !important;
	color: var(--rd-text-dim, #71717a) !important;
	font-size: 0.95rem !important;
	text-align: center !important;
}
/* ============================================================
50. SPAZI SOTTO L'HEADER
- Telefono e tablet: lo spazio riservato all'header era 110 px
ma l'header è alto 80 px → 30 px di vuoto in più su ogni pagina
- Ricerca (Noleggio e categorie) e foto prodotto più vicine all'header
- Telefono: "ALIMENTAZIONE" non va più a capo a metà parola
============================================================ */
@media (max-width: 1024px) {
	html body:not(.home) .rawdeo-header-wrapper {
		height: 80px !important;
	}
}
/* Noleggio e categorie: header → ricerca */
html body .elementor-25154 .elementor-section.elementor-element-302beec,
html body .elementor-25408 .elementor-section.elementor-element-6069b46d {
	margin-top: 24px !important;
}
/* Scheda prodotto: header → foto */
html body .elementor-25233 .elementor-element.elementor-element-d1324d1 {
	margin-top: 24px !important;
}
@media (max-width: 767px) {
	html body .elementor-25154 .elementor-section.elementor-element-302beec,
	html body .elementor-25408 .elementor-section.elementor-element-6069b46d,
	html body .elementor-25233 .elementor-element.elementor-element-d1324d1 {
		margin-top: 16px !important;
	}
}
/* Telefono: nomi delle categorie senza parole spezzate */
@media (max-width: 767px) {
	html body .rawdeo-cat-page .rawdeo-cat-card .rawdeo-cat-name {
		padding: 0 4px !important;
		font-size: 0.85rem !important;
		letter-spacing: 0.02em !important;
	}
}
/* ============================================================
51. SCHEDA PRODOTTO — "al giorno", "Ricordati" e
"Potrebbe interessarti anche" (snippet PHP)
============================================================ */
/* "al giorno" accanto al prezzo */
.rd-al-giorno {
	margin-left: 6px;
	color: var(--rd-text-mute, #a1a1aa) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: nowrap;
}
.related.products .rd-al-giorno {
	margin-left: 4px;
	font-size: 0.8rem !important;
}
.elementor-widget-shopengine-product-price .price {
	align-items: baseline !important;
}
/* Il vecchio titolo "Prodotti correlati" sparisce quando ci sono i nuovi */
.elementor-25233:has(.rd-sez-titolo) .elementor-element.elementor-element-0aaf084 {
	display: none !important;
}
/* Titoli "Ricordati" e "Potrebbe interessarti anche" */
.elementor-25233 .rd-sez-titolo {
	margin: 0 !important;
	padding-top: 40px !important;
	border-top: 1px solid var(--rd-border, #27272a);
	color: var(--rd-text, #f4f4f5) !important;
	font-size: 1.5rem !important;
	font-weight: 900 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}
.elementor-25233 .rd-ricordati + .rd-sez-titolo {
	margin-top: 56px !important;
}
@media (max-width: 767px) {
	.elementor-25233 .rd-sez-titolo {
		padding-top: 32px !important;
		font-size: 1.25rem !important;
	}
	.elementor-25233 .rd-ricordati + .rd-sez-titolo {
		margin-top: 40px !important;
	}
}
/* ============================================================
52. SCHEDA PRODOTTO — tab "Ritiro e consegna" (snippet PHP)
============================================================ */
body.single-product .rd-tab {
	margin-top: 24px;
	border-top: 1px solid var(--rd-border, #27272a);
	border-bottom: 1px solid var(--rd-border, #27272a);
}
body.single-product .rd-tab summary {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 16px 0;
	cursor: pointer;
	list-style: none;
	color: var(--rd-text, #f4f4f5);
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
body.single-product .rd-tab summary::-webkit-details-marker {
	display: none;
}
/* icona del furgone prima del titolo */
body.single-product .rd-tab summary::before {
	content: "";
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.single-product .rd-tab summary::after {
	content: "+";
	flex-shrink: 0;
	margin-left: auto;
	color: var(--rd-primary, #ea580c);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.2s;
}
body.single-product .rd-tab[open] summary::after {
	transform: rotate(45deg);
}
body.single-product .rd-tab summary:hover {
	color: var(--rd-primary, #ea580c);
}
body.single-product .rd-tab .rd-tab-testo {
	padding: 0 0 18px;
	color: var(--rd-text-mute, #a1a1aa);
	font-size: 0.95rem;
	line-height: 1.7;
}
body.single-product .rd-tab .rd-tab-testo p {
	margin: 0 0 8px !important;
}
body.single-product .rd-tab .rd-tab-testo p:last-child {
	margin-bottom: 0 !important;
}
/* ============================================================
   53. CARRELLO E RICHIESTA DI NOLEGGIO (snippet PHP "Carrello e richiesta")
       fasi con icone, riquadri, campi, riepilogo e pagina "Richiesta inviata"
   ============================================================ */

/* ---------- contenitore e titolo della pagina ---------- */
/* "clip" invece di "hidden": così il riepilogo a destra resta fisso mentre scorri */
html body.woocommerce-cart,
html body.woocommerce-checkout {
    overflow-x: clip !important;
}
html body.woocommerce-cart .site-main,
html body.woocommerce-checkout .site-main {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 40px 24px 96px !important;
    box-sizing: border-box !important;
}
html body.woocommerce-cart .site-main .page-content,
html body.woocommerce-checkout .site-main .page-content,
html body.woocommerce-cart .site-main .page-content > .woocommerce,
html body.woocommerce-checkout .site-main .page-content > .woocommerce {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* il titolo "Cart / Checkout" resta solo per i lettori di schermo: ci sono le fasi */
html body.woocommerce-cart .site-main > .page-header,
html body.woocommerce-checkout .site-main > .page-header {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* ---------- fasi: Carrello → Date e dati → Richiesta inviata ---------- */
.rd-fasi {
    grid-column: 1 / -1;
    margin: 0 0 40px;
}
.rd-fasi ol {
    display: flex;
    justify-content: center;
    max-width: 640px;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
}
.rd-fasi li {
    position: relative;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center;
}
/* linea che unisce le fasi */
.rd-fasi li + li::before {
    content: "";
    position: absolute;
    top: 23px;
    left: calc(-50% + 34px);
    right: calc(50% + 34px);
    height: 2px;
    border-radius: 1px;
    background: var(--rd-border, #27272a);
}
.rd-fasi li.is-attivo::before,
.rd-fasi li.is-fatto::before {
    background: var(--rd-primary, #ea580c);
}
.rd-fase-ico {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 2px solid var(--rd-border-hover, #3f3f46);
    border-radius: 50%;
    background: var(--rd-dark, #09090b);
    color: var(--rd-text-dim, #71717a);
    box-sizing: border-box;
}
.rd-fase-ico svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.rd-fasi .is-attivo .rd-fase-ico {
    border-color: var(--rd-primary, #ea580c);
    background: var(--rd-primary, #ea580c);
    color: #fff;
    box-shadow: 0 0 0 6px rgba(234, 88, 12, 0.15);
}
.rd-fasi .is-fatto .rd-fase-ico {
    border-color: var(--rd-primary, #ea580c);
    background: rgba(234, 88, 12, 0.12);
    color: var(--rd-primary, #ea580c);
}
.rd-fase-nome {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--rd-text-dim, #71717a);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.25;
    text-transform: uppercase;
}
.rd-fase-nome small {
    color: var(--rd-text-faint, #52525b);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}
.rd-fasi .is-attivo .rd-fase-nome { color: var(--rd-text, #fff); }
.rd-fasi .is-attivo .rd-fase-nome small { color: var(--rd-primary, #ea580c); }
.rd-fasi .is-fatto .rd-fase-nome { color: var(--rd-text-mute, #a1a1aa); }

/* ---------- avvisi ---------- */
html body:is(.woocommerce-cart, .woocommerce-checkout) .woocommerce-notices-wrapper:empty { display: none !important; }
html body:is(.woocommerce-cart, .woocommerce-checkout) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 24px !important;
    padding: 16px 20px 16px 52px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-left: 3px solid var(--rd-primary, #ea580c) !important;
    border-radius: 10px !important;
    color: var(--rd-text-soft, #d4d4d8) !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    list-style: none !important;
}
html body:is(.woocommerce-cart, .woocommerce-checkout) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
    top: 50% !important;
    left: 20px !important;
    transform: translateY(-50%) !important;
    color: var(--rd-primary, #ea580c) !important;
}
html body:is(.woocommerce-cart, .woocommerce-checkout) .woocommerce-error { border-left-color: var(--rd-danger, #ef4444) !important; }
html body:is(.woocommerce-cart, .woocommerce-checkout) .woocommerce-error::before { color: var(--rd-danger, #ef4444) !important; }
html body:is(.woocommerce-cart, .woocommerce-checkout) .woocommerce-error li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
/* sul carrello "Vai al carrello" non serve: ci sei già */
html body.woocommerce-cart .woocommerce-message .wc-forward { display: none !important; }

/* caricamento: velo scuro invece che bianco */
html body:is(.woocommerce-cart, .woocommerce-checkout) .blockUI.blockOverlay {
    background: var(--rd-dark, #09090b) !important;
    opacity: 0.55 !important;
}

/* ---------- titoli dei riquadri con icona ---------- */
html body.woocommerce-checkout .rd-date-box > h3,
html body.woocommerce-checkout .woocommerce-billing-fields > h3,
html body.woocommerce-checkout .woocommerce-additional-fields > h3,
html body.woocommerce-checkout #order_review > #order_review_heading,
html body.woocommerce-checkout .woocommerce-order h2,
html body.woocommerce-cart .cart_totals > h2,
html body.woocommerce-cart .cross-sells > h2 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    float: none !important;
    width: auto !important;
    margin: 0 0 20px !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rd-border, #27272a) !important;
    background: transparent !important;
    color: var(--rd-text, #fff) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}
html body.woocommerce-checkout .rd-date-box > h3::before,
html body.woocommerce-checkout .woocommerce-billing-fields > h3::before,
html body.woocommerce-checkout .woocommerce-additional-fields > h3::before,
html body.woocommerce-checkout #order_review > #order_review_heading::before,
html body.woocommerce-checkout .woocommerce-order h2::before,
html body.woocommerce-cart .cart_totals > h2::before,
html body.woocommerce-cart .cross-sells > h2::before {
    content: "";
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(234, 88, 12, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='8' height='4' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M12 11h4M12 16h4M8 11h.01M8 16h.01'/%3E%3C/svg%3E") no-repeat center / 18px;
}
html body.woocommerce-checkout .rd-date-box > h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E"); }
html body.woocommerce-checkout .woocommerce-billing-fields > h3::before,
html body.woocommerce-checkout .woocommerce-customer-details h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3C/svg%3E"); }
html body.woocommerce-checkout .woocommerce-additional-fields > h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/svg%3E"); }
html body.woocommerce-cart .cross-sells > h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }

/* ============================================================
   CARRELLO
   ============================================================ */
@media (min-width: 1025px) {
    html body.woocommerce-cart .site-main .page-content > .woocommerce {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 380px !important;
        grid-auto-flow: row dense !important;
        column-gap: 32px !important;
        align-items: start !important;
    }
    html body.woocommerce-cart .site-main .page-content > .woocommerce > * { grid-column: 1 / -1; }
    html body.woocommerce-cart .site-main .page-content > .woocommerce > .woocommerce-cart-form { grid-column: 1; margin: 0 0 24px !important; }
    /* il riepilogo è fisso a destra; "Ricordati anche" va sotto ai prodotti */
    html body.woocommerce-cart .site-main .page-content > .woocommerce > .cart-collaterals { display: contents !important; }
    html body.woocommerce-cart .cart-collaterals::before,
    html body.woocommerce-cart .cart-collaterals::after { display: none !important; }
    html body.woocommerce-cart .cart-collaterals > .cross-sells { grid-column: 1; }
    html body.woocommerce-cart .cart-collaterals > .cart_totals {
        grid-column: 2;
        grid-row: span 2;
        position: sticky !important;
        top: 130px !important;
    }
}

/* prodotti: una card per riga */
html body.woocommerce-cart .woocommerce-cart-form { margin: 0 0 24px !important; }
html body.woocommerce-cart table.shop_table.cart {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}
html body.woocommerce-cart table.shop_table.cart thead { display: none !important; }
html body.woocommerce-cart table.shop_table.cart tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
html body.woocommerce-cart table.shop_table.cart tr.cart_item {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) auto 112px 32px;
    grid-template-areas:
        "foto nome qta tot via"
        "foto prezzo qta tot via";
    column-gap: 24px;
    row-gap: 4px;
    align-items: center;
    padding: 16px 20px 16px 16px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 12px !important;
    transition: border-color 0.2s;
}
html body.woocommerce-cart table.shop_table.cart tr.cart_item:hover { border-color: var(--rd-border-hover, #3f3f46) !important; }
html body.woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td::before { display: none !important; content: none !important; }

html body.woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-area: foto; }
html body.woocommerce-cart table.shop_table.cart td.product-thumbnail a {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    padding: 8px !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: contain !important;
    margin: 0 !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-name { grid-area: nome; align-self: end; }
html body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-name a:hover { color: var(--rd-primary, #ea580c) !important; }
html body.woocommerce-cart table.shop_table.cart td.product-name dl.variation {
    margin: 4px 0 0 !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.8rem !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-price { grid-area: prezzo; align-self: start; }
html body.woocommerce-cart table.shop_table.cart td.product-price,
html body.woocommerce-cart table.shop_table.cart td.product-price .amount,
html body.woocommerce-cart table.shop_table.cart td.product-price bdi {
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-price .rd-al-giorno {
    margin-left: 2px !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: qta; }
html body.woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: tot; text-align: right !important; }
html body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount,
html body.woocommerce-cart table.shop_table.cart td.product-subtotal bdi {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 1.2rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
/* rimuovi */
html body.woocommerce-cart table.shop_table.cart td.product-remove { grid-area: via; justify-self: end; }
html body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--rd-border, #27272a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / 14px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transition: background-color 0.2s !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-remove a.remove::before,
html body.woocommerce-cart table.shop_table.cart td.product-remove a.remove::after { display: none !important; }
html body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover {
    background: var(--rd-danger, #ef4444) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / 14px !important;
}

/* quantità: − 1 + */
html body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    width: auto !important;
    height: 44px !important;
    margin: 0 !important;
    float: none !important;
    border: 1px solid var(--rd-border-hover, #3f3f46) !important;
    border-radius: 8px !important;
    background: var(--rd-dark, #09090b) !important;
    overflow: hidden !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-quantity input.qty {
    width: 46px !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--rd-text, #fff) !important;
    -webkit-text-fill-color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    text-align: center !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
html body.woocommerce-cart table.shop_table.cart td.product-quantity input.qty::-webkit-inner-spin-button,
html body.woocommerce-cart table.shop_table.cart td.product-quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
html body.woocommerce-cart .quantity .rd-qta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-family: inherit !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background-color 0.2s, color 0.2s !important;
}
html body.woocommerce-cart .quantity .rd-qta-meno { border-right: 1px solid var(--rd-border, #27272a) !important; }
html body.woocommerce-cart .quantity .rd-qta-piu { border-left: 1px solid var(--rd-border, #27272a) !important; }
html body.woocommerce-cart .quantity .rd-qta:hover {
    background: var(--rd-border, #27272a) !important;
    color: var(--rd-primary, #ea580c) !important;
}
html body.woocommerce-cart .quantity .rd-qta:focus-visible {
    outline: 2px solid var(--rd-primary, #ea580c) !important;
    outline-offset: -2px !important;
}

/* riga "Aggiorna": con l'aggiornamento automatico non serve */
html body.woocommerce-cart table.shop_table.cart tbody tr:not(.cart_item) { display: block !important; }
html body.woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
html body.woocommerce-cart table.shop_table.cart td.actions::before { display: none !important; }
html body.woocommerce-cart.rd-carrello-auto table.shop_table.cart tr:has(> td.actions):not(:has(.coupon)) { display: none !important; }
html body.woocommerce-cart.rd-carrello-auto table.shop_table.cart [name="update_cart"] { display: none !important; }

/* riepilogo */
html body.woocommerce-cart .cart-collaterals { width: auto !important; }
html body.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
}
html body.woocommerce-cart .cart_totals > h2 { margin-bottom: 4px !important; }
html body.woocommerce-cart .cart_totals table.shop_table {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
html body.woocommerce-cart .cart_totals table.shop_table tbody { display: block !important; }
html body.woocommerce-cart .cart_totals table.shop_table tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rd-border, #27272a) !important;
    background: transparent !important;
}
html body.woocommerce-cart .cart_totals table.shop_table tr:last-child { border-bottom: 0 !important; }
html body.woocommerce-cart .cart_totals table.shop_table :is(th, td) {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-align: left !important;
}
html body.woocommerce-cart .cart_totals table.shop_table td { text-align: right !important; }
html body.woocommerce-cart .cart_totals table.shop_table td::before { display: none !important; content: none !important; }
html body.woocommerce-cart .cart_totals table.shop_table td :is(.amount, bdi) {
    color: var(--rd-text, #fff) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
html body.woocommerce-cart .cart_totals table.shop_table tr.order-total { padding-top: 16px !important; }
html body.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body.woocommerce-cart .cart_totals table.shop_table tr.order-total td :is(.amount, bdi) {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
}
html body.woocommerce-cart .cart_totals small.includes_tax {
    display: block !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.75rem !important;
}
@media (min-width: 769px) {
    html body.woocommerce-cart .cart_totals .wc-proceed-to-checkout { margin: 8px 0 0 !important; padding: 0 !important; }
}
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    font-size: 0.9rem !important;
}
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: "";
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
}
.rd-nota-pagamento {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 14px 0 0 !important;
    color: var(--rd-text-dim, #71717a);
    font-size: 0.78rem;
    line-height: 1.4;
    text-align: center;
}
.rd-nota-pagamento::before {
    content: "";
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* "Ricordati anche" (cross-sell) sotto ai prodotti */
html body.woocommerce-cart .cross-sells {
    float: none !important;
    width: auto !important;
    margin: 0 0 24px !important;
    padding: 24px !important;
    background: var(--rd-medium, #18181b);
    border: 1px solid var(--rd-border, #27272a);
    border-radius: 12px;
}
html body.woocommerce-cart .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
html body.woocommerce-cart .cross-sells ul.products::before,
html body.woocommerce-cart .cross-sells ul.products::after { display: none !important; }
html body.woocommerce-cart .cross-sells ul.products li.product {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 12px;
    width: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    float: none !important;
    background: var(--rd-dark, #09090b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 10px !important;
    text-align: left !important;
}
html body.woocommerce-cart .cross-sells li.product a.woocommerce-loop-product__link { display: contents !important; }
html body.woocommerce-cart .cross-sells li.product img {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 4px !important;
    border-radius: 8px !important;
    background: #fff !important;
    object-fit: contain !important;
}
html body.woocommerce-cart .cross-sells li.product .woocommerce-loop-product__title {
    grid-column: 2;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rd-text, #fff) !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}
html body.woocommerce-cart .cross-sells li.product .price {
    grid-column: 2;
    margin: 2px 0 0 !important;
    color: var(--rd-primary, #ea580c) !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
}
html body.woocommerce-cart .cross-sells li.product .price :is(.amount, bdi) {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
}
html body.woocommerce-cart .cross-sells li.product a.button {
    text-decoration: none !important;
    grid-column: 3;
    grid-row: 1 / span 2;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid var(--rd-primary, #ea580c) !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--rd-text, #fff) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body.woocommerce-cart .cross-sells li.product a.button:hover { background: var(--rd-primary, #ea580c) !important; }
html body.woocommerce-cart .cross-sells li.product a.added_to_cart { display: none !important; }

/* carrello vuoto */
html body.woocommerce-cart .wc-empty-cart-message { grid-column: 1 / -1; }
html body.woocommerce-cart .wc-empty-cart-message .woocommerce-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 24px 24px 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--rd-text-soft, #d4d4d8) !important;
    font-size: 1.05rem !important;
    text-align: center !important;
}
html body.woocommerce-cart .wc-empty-cart-message .woocommerce-info::before {
    content: "" !important;
    position: static !important;
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    transform: none !important;
    border-radius: 50% !important;
    background: rgba(234, 88, 12, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") no-repeat center / 30px !important;
}
html body.woocommerce-cart .return-to-shop { grid-column: 1 / -1; margin: 24px 0 0 !important; text-align: center !important; }

/* ============================================================
   RICHIESTA (checkout)
   ============================================================ */
@media (min-width: 1025px) {
    html body.woocommerce-checkout form.checkout.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 400px !important;
        column-gap: 40px !important;
        align-items: start !important;
    }
    html body.woocommerce-checkout form.checkout.woocommerce-checkout::before,
    html body.woocommerce-checkout form.checkout.woocommerce-checkout::after { display: none !important; }
    html body.woocommerce-checkout form.checkout.woocommerce-checkout > * { grid-column: 1 / -1; }
    html body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
        grid-column: 1;
        grid-row: 2 / span 2;
    }
    html body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading { grid-column: 2; grid-row: 2; }
    html body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
        grid-column: 2;
        grid-row: 3;
        position: sticky !important;
        top: 130px !important;
    }
    html body.woocommerce-checkout form.checkout.woocommerce-checkout:not(:has(> #order_review_heading)) > #order_review { grid-row: 2 / span 2; }
}
html body.woocommerce-checkout form.checkout #customer_details,
html body.woocommerce-checkout form.checkout #order_review,
html body.woocommerce-checkout form.checkout #order_review_heading {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
html body.woocommerce-checkout #customer_details :is(.col-1, .col-2) {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* riquadri: date, dati, note */
html body.woocommerce-checkout .rd-date-box,
html body.woocommerce-checkout .woocommerce-billing-fields,
html body.woocommerce-checkout .woocommerce-additional-fields {
    margin: 0 0 20px !important;
    padding: 24px 24px 8px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 12px !important;
}
.rd-date-campi {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
}

/* campi su 6 colonne */
html body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
}
html body.woocommerce-checkout form.checkout .form-row {
    grid-column: 1 / -1;
    width: auto !important;
    float: none !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}
html body.woocommerce-checkout form.checkout .rd-date-campi .form-row { grid-column: auto; }
html body.woocommerce-checkout :is(#billing_first_name_field, #billing_last_name_field, #billing_company_field, #billing_country_field, #billing_address_1_field, #billing_address_2_field, #billing_phone_field, #billing_email_field) { grid-column: span 3; }
html body.woocommerce-checkout :is(#billing_city_field, #billing_state_field, #billing_postcode_field) { grid-column: span 2; }
html body.woocommerce-checkout #billing_address_2_field { align-self: end; }

/* campi: più scuri del riquadro, stessa altezza */
html body.woocommerce-checkout form.checkout :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="password"], textarea, select, #billing_country, #billing_state) {
    min-height: 48px !important;
    background-color: var(--rd-dark, #09090b) !important;
    border: 1px solid var(--rd-border-hover, #3f3f46) !important;
    border-radius: 8px !important;
    color: var(--rd-text, #fff) !important;
    -webkit-text-fill-color: var(--rd-text, #fff) !important;
    font-family: inherit !important;
}
html body.woocommerce-checkout form.checkout :is(select, #billing_country, #billing_state) {
    padding-right: 40px !important;
    background-position: right 16px center !important;
    background-size: 10px 6px !important;
    cursor: pointer !important;
}
html body.woocommerce-checkout form.checkout :is(input, textarea, select, #billing_country, #billing_state):focus {
    border-color: var(--rd-primary, #ea580c) !important;
    box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.18) !important;
    outline: none !important;
}
html body.woocommerce-checkout form.checkout input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--rd-dark, #09090b) inset !important;
    -webkit-text-fill-color: var(--rd-text, #fff) !important;
}
html body.woocommerce-checkout form.checkout input[type="date"] { width: 100% !important; }
html body.woocommerce-checkout form.checkout .form-row label {
    margin: 0 0 6px !important;
    color: var(--rd-text-soft, #d4d4d8) !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
}
html body.woocommerce-checkout form.checkout .woocommerce-invalid :is(input, select, textarea, #billing_country, #billing_state) { border-color: var(--rd-danger, #ef4444) !important; }
html body.woocommerce-checkout form.checkout .checkout-inline-error-message {
    margin: 6px 0 0 !important;
    color: var(--rd-danger, #ef4444) !important;
    font-size: 0.78rem !important;
}
html body.woocommerce-checkout #order_comments { min-height: 110px !important; }

/* riepilogo a destra */
html body.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
    padding: 24px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
}
html body.woocommerce-checkout #order_review > #order_review_heading { margin-bottom: 4px !important; }
html body.woocommerce-checkout #order_review table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    background: transparent !important;
}
html body.woocommerce-checkout #order_review table.shop_table thead { display: none !important; }
html body.woocommerce-checkout #order_review table.shop_table :is(th, td) {
    padding: 12px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--rd-border, #27272a) !important;
    background: transparent !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}
html body.woocommerce-checkout #order_review table.shop_table tbody tr:first-child td { border-top: 0 !important; }
html body.woocommerce-checkout #order_review table.shop_table td.product-name {
    padding-right: 16px !important;
    color: var(--rd-text, #fff) !important;
    font-weight: 700 !important;
}
html body.woocommerce-checkout #order_review table.shop_table td.product-name .product-quantity {
    color: var(--rd-text-dim, #71717a) !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
html body.woocommerce-checkout #order_review table.shop_table :is(td.product-total, tfoot td) {
    text-align: right !important;
    white-space: nowrap !important;
}
html body.woocommerce-checkout #order_review table.shop_table tfoot th { text-align: left !important; }
html body.woocommerce-checkout #order_review table.shop_table :is(.amount, bdi) {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
}
html body.woocommerce-checkout #order_review table.shop_table tr.order-total :is(th, td) {
    padding-top: 16px !important;
    border-top-color: var(--rd-border-hover, #3f3f46) !important;
}
html body.woocommerce-checkout #order_review table.shop_table tr.order-total th {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body.woocommerce-checkout #order_review table.shop_table tr.order-total :is(.amount, bdi) {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
}

/* modalità e pulsante "Invia richiesta" */
html body.woocommerce-checkout #order_review #payment {
    margin: 16px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}
html body.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 !important;
    padding: 16px !important;
    background: var(--rd-dark, #09090b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 10px !important;
}
html body.woocommerce-checkout #payment ul.payment_methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    color: var(--rd-text, #fff) !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body.woocommerce-checkout #payment ul.payment_methods li label::before {
    content: "" !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.54 21.69a.5.5 0 0 0 .94-.03L21.97 2.67a.5.5 0 0 0-.64-.64L2.34 8.52a.5.5 0 0 0-.03.94l7.93 3.18a2 2 0 0 1 1.11 1.11z'/%3E%3Cpath d='m21.85 2.15-10.94 10.94'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
html body.woocommerce-checkout #payment .payment_box {
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
html body.woocommerce-checkout #payment .payment_box p {
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.82rem !important;
    line-height: 1.6 !important;
}
html body.woocommerce-checkout #payment .woocommerce-privacy-policy-text:empty,
html body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper:not(:has(*:not(:empty))) { display: none !important; }
html body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p {
    margin: 12px 0 0 !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.75rem !important;
    line-height: 1.5 !important;
}
html body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color: var(--rd-text-mute, #a1a1aa) !important; }
html body.woocommerce-checkout #payment #place_order {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 16px 0 0 !important;
    padding: 0 20px !important;
    float: none !important;
}
html body.woocommerce-checkout #payment #place_order::after {
    content: "";
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.54 21.69a.5.5 0 0 0 .94-.03L21.97 2.67a.5.5 0 0 0-.64-.64L2.34 8.52a.5.5 0 0 0-.03.94l7.93 3.18a2 2 0 0 1 1.11 1.11z'/%3E%3Cpath d='m21.85 2.15-10.94 10.94'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ============================================================
   RICHIESTA INVIATA (pagina di ringraziamento)
   ============================================================ */
html body.woocommerce-order-received .woocommerce-order {
    max-width: 760px;
    margin: 0 auto;
}
html body.woocommerce-order-received .woocommerce-thankyou-order-received {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 0 24px !important;
    padding: 32px 24px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 16px !important;
    color: var(--rd-text, #fff) !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    text-align: center !important;
}
html body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: "" !important;
    position: static !important;
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: rgba(234, 88, 12, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 28px !important;
}
html body.woocommerce-order-received ul.woocommerce-order-overview {
    display: block !important;
    margin: 0 0 20px !important;
    padding: 6px 24px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 12px !important;
    list-style: none !important;
}
html body.woocommerce-order-received ul.woocommerce-order-overview::before,
html body.woocommerce-order-received ul.woocommerce-order-overview::after { display: none !important; }
html body.woocommerce-order-received ul.woocommerce-order-overview li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rd-border, #27272a) !important;
    background: transparent !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    list-style: none !important;
}
html body.woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-bottom: 0 !important; }
html body.woocommerce-order-received ul.woocommerce-order-overview li strong {
    display: block !important;
    margin: 0 !important;
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    text-align: right !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
}
html body.woocommerce-order-received ul.woocommerce-order-overview li :is(.amount, bdi) {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
}
html body.woocommerce-order-received ul.woocommerce-order-overview li.total :is(.amount, bdi) {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 1.2rem !important;
    font-weight: 900 !important;
}
html body.woocommerce-order-received .woocommerce-order > p:not([class]) {
    margin: 0 0 24px !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
    text-align: center !important;
}
html body.woocommerce-order-received :is(.woocommerce-order-details, .woocommerce-customer-details) {
    margin: 0 0 20px !important;
    padding: 24px !important;
    background: var(--rd-medium, #18181b) !important;
    border: 1px solid var(--rd-border, #27272a) !important;
    border-radius: 12px !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    background: transparent !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table thead { display: none !important; }
html body.woocommerce-order-received .woocommerce-order-details table.shop_table :is(th, td) {
    padding: 12px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--rd-border, #27272a) !important;
    background: transparent !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-align: left !important;
    vertical-align: middle !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table tbody tr:first-child td { border-top: 0 !important; }
html body.woocommerce-order-received .woocommerce-order-details table.shop_table :is(td.product-total, tfoot td) { text-align: right !important; }
html body.woocommerce-order-received .woocommerce-order-details table.shop_table td.product-name a {
    color: var(--rd-text, #fff) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table :is(.amount, bdi) {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child :is(th, td) {
    padding-top: 16px !important;
    border-top-color: var(--rd-border-hover, #3f3f46) !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child th {
    color: var(--rd-text, #fff) !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child :is(.amount, bdi) {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table td.product-name .product-quantity { color: var(--rd-text-dim, #71717a) !important; }
html body.woocommerce-order-received .woocommerce-customer-details address {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-style: normal !important;
    line-height: 1.7 !important;
}
html body.woocommerce-order-received .woocommerce-customer-details address p { margin: 6px 0 0 !important; color: var(--rd-text-mute, #a1a1aa) !important; }

/* ============================================================
   TELEFONO E TABLET
   ============================================================ */
@media (max-width: 1024px) {
    html body.woocommerce-cart .cart-collaterals .cart_totals,
    html body.woocommerce-checkout #order_review.woocommerce-checkout-review-order { position: static !important; }
    html body.woocommerce-cart .cart-collaterals { display: block !important; }
}
@media (max-width: 767px) {
    html body.woocommerce-cart .site-main,
    html body.woocommerce-checkout .site-main { padding: 24px 16px 64px !important; }
    html body.woocommerce-cart .site-main { padding-bottom: 24px !important; }

    /* fasi più compatte */
    .rd-fasi { margin-bottom: 28px; }
    .rd-fasi li { gap: 8px; }
    .rd-fasi li + li::before {
        top: 19px;
        left: calc(-50% + 28px);
        right: calc(50% + 28px);
    }
    .rd-fase-ico { width: 40px; height: 40px; }
    .rd-fase-ico svg { width: 17px; height: 17px; }
    .rd-fasi .is-attivo .rd-fase-ico { box-shadow: 0 0 0 4px rgba(234, 88, 12, 0.15); }
    .rd-fase-nome { font-size: 0.68rem; letter-spacing: 0.04em; }
    .rd-fase-nome small { font-size: 0.6rem; }

    /* card prodotto: foto | nome + prezzo | X — sotto quantità e subtotale */
    html body.woocommerce-cart table.shop_table.cart tr.cart_item {
        grid-template-columns: 72px minmax(0, 1fr) auto;
        grid-template-areas:
            "foto nome via"
            "foto prezzo prezzo"
            "qta qta tot";
        column-gap: 14px;
        row-gap: 4px;
        padding: 14px !important;
    }
    html body.woocommerce-cart table.shop_table.cart tr.cart_item::after {
        content: "";
        grid-column: 1 / -1;
        grid-row: 3;
        align-self: start;
        margin-top: 8px;
        border-top: 1px solid var(--rd-border, #27272a);
    }
    html body.woocommerce-cart table.shop_table.cart td.product-thumbnail { display: block !important; }
    html body.woocommerce-cart table.shop_table.cart td.product-thumbnail a { width: 72px !important; height: 72px !important; }
    html body.woocommerce-cart table.shop_table.cart td.product-name { align-self: start; padding-top: 4px !important; }
    html body.woocommerce-cart table.shop_table.cart td.product-name a { font-size: 0.88rem !important; }
    html body.woocommerce-cart table.shop_table.cart td.product-remove { align-self: start; }
    html body.woocommerce-cart table.shop_table.cart :is(td.product-quantity, td.product-subtotal) { padding-top: 21px !important; }
    html body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity { height: 40px !important; }
    html body.woocommerce-cart .quantity .rd-qta { flex-basis: 38px !important; width: 38px !important; }
    html body.woocommerce-cart .cart-collaterals .cart_totals { padding: 20px 16px !important; }

    /* richiesta */
    html body.woocommerce-checkout .rd-date-box,
    html body.woocommerce-checkout .woocommerce-billing-fields,
    html body.woocommerce-checkout .woocommerce-additional-fields { padding: 20px 16px 4px !important; }
    html body.woocommerce-checkout #order_review.woocommerce-checkout-review-order { padding: 20px 16px !important; }
    html body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 12px !important; }
    html body.woocommerce-checkout :is(#billing_company_field, #billing_country_field, #billing_address_1_field, #billing_address_2_field, #billing_city_field, #billing_phone_field, #billing_email_field) { grid-column: 1 / -1 !important; }
    html body.woocommerce-checkout :is(#billing_first_name_field, #billing_last_name_field, #billing_state_field, #billing_postcode_field) { grid-column: span 1 !important; }
    html body.woocommerce-checkout .rd-date-campi { column-gap: 12px; }
    html body.woocommerce-order-received .woocommerce-thankyou-order-received { padding: 24px 16px !important; font-size: 0.98rem !important; }
    html body.woocommerce-order-received :is(.woocommerce-order-details, .woocommerce-customer-details) { padding: 20px 16px !important; }
    html body.woocommerce-order-received ul.woocommerce-order-overview { padding: 4px 16px !important; }
}
@media (max-width: 768px) {
    .rd-nota-pagamento { display: none; }
}
@media (max-width: 380px) {
    html body.woocommerce-checkout .rd-date-campi { grid-template-columns: 1fr; }
}

/* ============================================================
   54. GIORNI DI NOLEGGIO E DATI FATTURA (snippet PHP "Giorni e fattura")
       date nel carrello, totale per N giorni, nota sul prezzo, P.IVA / CF / SDI / PEC
   ============================================================ */

/* ---------- carrello: riquadro "Date del noleggio" sotto ai prodotti ---------- */
html body.woocommerce-cart .rd-date-carrello {
    margin: 12px 0 0;
    padding: 24px 24px 8px;
    background: var(--rd-medium, #18181b);
    border: 1px solid var(--rd-border, #27272a);
    border-radius: 12px;
}
html body.woocommerce-cart .rd-date-carrello > h3 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 20px !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rd-border, #27272a) !important;
    color: var(--rd-text, #fff) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}
html body.woocommerce-cart .rd-date-carrello > h3::before {
    content: "";
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(234, 88, 12, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") no-repeat center / 18px;
}
html body.woocommerce-cart .rd-date-carrello .form-row {
    margin: 0 0 16px !important;
    padding: 0 !important;
}
html body.woocommerce-cart .rd-date-carrello label {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--rd-text-soft, #d4d4d8) !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
}
html body.woocommerce-cart .rd-date-carrello input[type="date"] {
    display: block !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background-color: var(--rd-dark, #09090b) !important;
    border: 1px solid var(--rd-border-hover, #3f3f46) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--rd-text, #fff) !important;
    -webkit-text-fill-color: var(--rd-text, #fff) !important;
    color-scheme: dark;
    font-family: inherit !important;
    font-size: 0.92rem !important;
    cursor: pointer;
}
html body.woocommerce-cart .rd-date-carrello input[type="date"]:focus {
    border-color: var(--rd-primary, #ea580c) !important;
    box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.18) !important;
    outline: none !important;
}
html body.woocommerce-cart .rd-date-carrello input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0.6) sepia(1) saturate(5);
    cursor: pointer;
    opacity: 0.8;
}
.rd-giorni-conto {
    margin: -4px 0 16px !important;
    color: var(--rd-text-mute, #a1a1aa);
    font-size: 0.85rem;
    line-height: 1.5;
}
.rd-giorni-conto strong { color: var(--rd-primary, #ea580c); font-weight: 800; }

/* ---------- riepilogo: "Totale al giorno" + "Totale per N giorni" ---------- */
/* con le date scelte il totale per i giorni è quello in evidenza */
html body.woocommerce-cart .cart_totals table.shop_table:has(tr.rd-totale-giorni:not(.is-vuoto)) tr.order-total th,
html body.woocommerce-checkout #order_review table.shop_table:has(tr.rd-totale-giorni:not(.is-vuoto)) tr.order-total th {
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
html body.woocommerce-cart .cart_totals table.shop_table:has(tr.rd-totale-giorni:not(.is-vuoto)) tr.order-total td :is(.amount, bdi),
html body.woocommerce-checkout #order_review table.shop_table:has(tr.rd-totale-giorni:not(.is-vuoto)) tr.order-total td :is(.amount, bdi) {
    color: var(--rd-text, #fff) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
html body :is(.cart_totals, #order_review) table.shop_table tr.rd-totale-giorni th {
    color: var(--rd-text, #fff) !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body :is(.cart_totals, #order_review) table.shop_table tr.rd-totale-giorni th small {
    display: block !important;
    margin-top: 3px !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
html body :is(.cart_totals, #order_review) table.shop_table tr.rd-totale-giorni td :is(.amount, bdi) {
    color: var(--rd-primary, #ea580c) !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
}
html body :is(.cart_totals, #order_review) table.shop_table tr.rd-totale-giorni.is-vuoto th {
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
html body :is(.cart_totals, #order_review) table.shop_table tr.rd-totale-giorni.is-vuoto td small {
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.8rem !important;
}
html body.woocommerce-checkout #order_review table.shop_table tr.rd-totale-giorni :is(th, td) { padding-top: 16px !important; }

/* nota sul prezzo */
html body.woocommerce-cart .cart_totals table.shop_table tr.rd-nota-prezzo {
    padding: 14px 0 4px !important;
    border-bottom: 0 !important;
}
html body :is(.cart_totals, #order_review) table.shop_table tr.rd-nota-prezzo td[colspan] {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    white-space: normal !important;
}
html body.woocommerce-checkout #order_review table.shop_table tr.rd-nota-prezzo td[colspan] {
    padding-top: 12px !important;
    border-top: 0 !important;
}

/* ---------- richiesta: dati per la fattura ---------- */
html body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .rd-sottotitolo {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 16px !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid var(--rd-border, #27272a);
    color: var(--rd-text, #fff) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
html body.woocommerce-checkout .rd-sottotitolo span {
    color: var(--rd-text-dim, #71717a);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: none;
}
html body.woocommerce-checkout :is(#billing_piva_field, #billing_cf_field, #billing_sdi_field, #billing_pec_field) { grid-column: span 3; }
@media (max-width: 767px) {
    html body.woocommerce-checkout :is(#billing_piva_field, #billing_cf_field, #billing_sdi_field, #billing_pec_field) { grid-column: 1 / -1 !important; }
}

/* pagina "Richiesta inviata": dati fattura sotto l'indirizzo */
html body.woocommerce-order-received .woocommerce-customer-details .rd-dato-fattura {
    margin: 6px 0 0 !important;
    padding: 0 !important;
    color: var(--rd-text-mute, #a1a1aa) !important;
}
html body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot small {
    color: var(--rd-text-dim, #71717a) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
}

/* ---------- tornare indietro: fase "Carrello" cliccabile e link sotto al pulsante ---------- */
.rd-fasi .rd-fase-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: inherit !important;
    text-decoration: none !important;
}
.rd-fasi .rd-fase-link:hover .rd-fase-ico {
    background: var(--rd-primary, #ea580c);
    color: #fff;
}
.rd-fasi .rd-fase-link:hover .rd-fase-nome { color: var(--rd-text, #fff); }
.rd-fasi .rd-fase-link:focus-visible {
    outline: 2px solid var(--rd-primary, #ea580c);
    outline-offset: 4px;
    border-radius: 8px;
}
html body.woocommerce-checkout #payment .rd-indietro {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 14px 0 0;
    color: var(--rd-text-mute, #a1a1aa) !important;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
}
html body.woocommerce-checkout #payment .rd-indietro::before {
    content: "";
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E") no-repeat center / contain;
}
html body.woocommerce-checkout #payment .rd-indietro:hover { color: var(--rd-primary, #ea580c) !important; }
html body.woocommerce-checkout #payment .rd-indietro:hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E"); }
@media (max-width: 767px) {
    .rd-fasi .rd-fase-link { gap: 8px; }
}
