/*
Theme Name: Neve Child
Theme URI: https://themeisle.com/themes/neve/
Template: neve
Author: ThemeIsle
Author URI: https://themeisle.com
Description: Neve is a super fast, easily customizable, multi-purpose theme. It’s perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL &amp; translation ready. Look no further. Neve is the perfect theme for you!
Tags: blog,custom-logo,e-commerce,rtl-language-support,grid-layout,one-column,two-columns,custom-background,custom-colors,custom-header,custom-menu,featured-image-header,featured-images,flexible-header,full-width-template,sticky-post,theme-options,threaded-comments,translation-ready,accessibility-ready,wide-blocks,block-styles,footer-widgets,portfolio,left-sidebar,right-sidebar
Version: 3.8.2.1713359482
Updated: 2024-04-17 15:11:22

*/

/* ==========================================================================
   RESTYLING 2026
   Base: colori, font e pulsanti sono impostati anche nel Customizer di Neve.
   Questo file rifinisce ciò che il Customizer non copre.
   ========================================================================== */

/* 0. Design tokens
   ========================================================================== */
:root {
	--dk-ink: #16191d;
	--dk-text: #2b3036;
	--dk-text-soft: #4a5058;
	--dk-muted: #6b7280;
	--dk-subtle: #8b929a;
	--dk-line: #e5e7eb;
	--dk-line-strong: #d4d8dd;
	--dk-soft: #f5f6f7;
	--dk-soft-2: #fafafa;
	--dk-accent: #1f5f5b;
	--dk-accent-hover: #174a47;
	--dk-accent-tint: #e9f1f0;
	--dk-danger: #b42318;
	--dk-radius-sm: 6px;
	--dk-radius: 8px;
	--dk-radius-lg: 12px;
	--dk-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
	--dk-shadow: 0 8px 24px rgba(16, 24, 40, .08);
	--dk-ring: 0 0 0 3px rgba(31, 95, 91, .16);
	--dk-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--dk-font-head: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--dk-btn-h: 46px;

	/* Neve form fields */
	--formfieldborderwidth: 1px;
	--formfieldborderradius: 8px;
	--formfieldbordercolor: #d4d8dd;
	--formfieldpadding: 11px 14px;
	--formfieldbgcolor: #fff;
}

/* 1. Base & tipografia
   ========================================================================== */
body {
	font-family: var(--dk-font);
	color: var(--dk-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--dk-font-head);
	color: var(--dk-ink);
	letter-spacing: -0.015em;
}

a { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }

::selection { background: var(--dk-accent-tint); color: var(--dk-ink); }

/* Titolo pagina (Neve) */
.nv-page-title-wrap { margin-bottom: 8px; }
.nv-page-title { padding-top: 8px; }
.nv-page-title h1 {
	font-size: clamp(28px, 3vw, 36px);
	line-height: 1.2;
	margin-bottom: 0;
}

/* Breadcrumb */
.woocommerce-breadcrumb,
.nv-breadcrumbs-wrap {
	font-size: 13px;
	color: var(--dk-subtle);
}
.woocommerce-breadcrumb a { color: var(--dk-muted); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--dk-accent); }

/* 2. Top bar (elementi di fiducia + promo)
   ========================================================================== */
.header-top { border-bottom: 0; }
.header-top .header--row-inner { padding: 0; }
.header-top .hfg-slot.left { flex: 1 1 auto; }
.header-top .hfg-slot:empty { display: none; }
.header-top .hfg-slot.left > .builder-item { flex: 1 1 auto; width: 100%; }
.header-top .builder-item--custom_html,
.header-top .builder-item--custom_html .nv-html-content { width: 100%; }
.header-top .builder-item { padding: 0; margin: 0; }

.dk-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 38px;
	font-family: var(--dk-font);
	font-size: 12.5px;
	line-height: 1.4;
	color: #c9ced4;
}
.dk-trust {
	display: flex;
	align-items: center;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dk-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	white-space: nowrap;
	font-weight: 500;
	letter-spacing: .01em;
	color: #e7eaed;
}
.dk-trust__item::before {
	content: "";
	width: 15px;
	height: 15px;
	flex: none;
	background-color: #8fc2bc;
	-webkit-mask: var(--dk-icon) center / contain no-repeat;
	mask: var(--dk-icon) center / contain no-repeat;
}
.dk-trust__item--dealer { --dk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.dk-trust__item--qc { --dk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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='m9 14 2 2 4-4'/%3E%3C/svg%3E"); }
.dk-trust__item--shipping { --dk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3'/%3E%3Cpath d='M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5v8h1'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='17.5' cy='17.5' r='2.5'/%3E%3C/svg%3E"); }

.dk-promo { text-align: right; color: #c9ced4; }
.dk-promo p {
	display: inline;
	margin: 0;
	text-align: inherit !important;
	font-size: inherit;
}
.dk-promo p + p::before { content: " "; }
.dk-promo strong,
.dk-promo b { color: #fff; font-weight: 600; }

/* 3. Header
   ========================================================================== */
.hfg_header .header-main {
	border-bottom: 1px solid var(--dk-line);
	background: #fff;
}
.hfg_header .header-main[data-show-on="desktop"] .row--wrapper {
	grid-template-columns: minmax(180px, 1fr) minmax(0, 620px) minmax(180px, 1fr);
	column-gap: 32px;
}
.hfg_header .header-main .hfg-slot.center {
	flex: 1 1 auto;
	justify-content: center;
}
.hfg_header .header-main .hfg-slot.center > .builder-item { width: 100%; }
.hfg_header .header-main .builder-item--header_search,
.hfg_header .header-main .builder-item--header_search .component-wrap {
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
}

/* Logo (titolo testuale) */
.site-logo .site-title,
.site-logo .site-title a {
	font-family: var(--dk-font-head);
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--dk-ink);
	margin: 0;
}
.site-logo .brand { text-decoration: none; }
.site-logo small:empty { display: none; }

/* Carrello nell'header */
.builder-item--header_cart_icon .cart-icon-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	transition: background-color .15s ease;
}
.builder-item--header_cart_icon .cart-icon-wrapper:hover { background: var(--dk-soft); }
.builder-item--header_cart_icon .cart-count {
	position: absolute;
	top: 3px;
	right: 1px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--dk-accent);
	color: #fff;
	font-family: var(--dk-font);
	font-size: 10.5px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
	box-shadow: 0 0 0 2px #fff;
}

/* Mini-cart dropdown */
.nv-nav-cart {
	border: 1px solid var(--dk-line) !important;
	border-radius: var(--dk-radius-lg);
	box-shadow: var(--dk-shadow);
	padding: 16px !important;
	min-width: 320px;
}
.nv-nav-cart .woocommerce-mini-cart-item { padding: 10px 0 10px 28px !important; border-bottom: 1px solid var(--dk-line); font-size: 14px; }
.nv-nav-cart .woocommerce-mini-cart-item img { border-radius: var(--dk-radius-sm); background: var(--dk-soft); }
.nv-nav-cart .woocommerce-mini-cart__total { font-size: 14px; padding-top: 12px; }
.nv-nav-cart .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nv-nav-cart .woocommerce-mini-cart__buttons .button { width: 100%; margin: 0 !important; }

/* Riga menu (desktop) */
.hfg_header .header-bottom {
	background: #fff;
	border-bottom: 1px solid var(--dk-line);
}
.header-bottom .nav-menu-primary .nav-ul > li > .wrap > a,
.header-main .nav-menu-primary .nav-ul > li > .wrap > a {
	position: relative;
	font-family: var(--dk-font);
	font-weight: 500;
	letter-spacing: .005em;
	color: var(--dk-text);
}
.header-bottom .nav-menu-primary .nav-ul > li > .wrap { position: relative; }
.header-bottom .nav-menu-primary .nav-ul > li > .wrap::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -13px;
	height: 2px;
	background: var(--dk-accent);
	transform: scaleX(0);
	transition: transform .2s ease;
}
.header-bottom .nav-menu-primary .nav-ul > li:hover > .wrap::after,
.header-bottom .nav-menu-primary .nav-ul > li.current-menu-item > .wrap::after,
.header-bottom .nav-menu-primary .nav-ul > li.current-menu-ancestor > .wrap::after { transform: scaleX(1); }

/* Sottomenu */
.nav-menu-primary .sub-menu {
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg);
	box-shadow: var(--dk-shadow);
	padding: 8px !important;
	min-width: 220px;
	background: #fff !important;
}
.nav-menu-primary .sub-menu li > .wrap { padding: 0 !important; }
.nav-menu-primary .sub-menu li > .wrap > a {
	display: block;
	width: 100%;
	min-height: 0 !important;
	padding: 8px 12px !important;
	border-radius: var(--dk-radius-sm);
	font-size: 14px;
	font-weight: 400;
	color: var(--dk-text) !important;
	white-space: nowrap;
}
.nav-menu-primary .sub-menu li > .wrap:hover > a,
.nav-menu-primary .sub-menu li > .wrap > a:hover { background: var(--dk-soft); color: var(--dk-accent) !important; }
.header-bottom .nav-menu-primary .sub-menu { max-height: 70vh; overflow-y: auto; }

/* Menu mobile (pannello laterale) */
.header-menu-sidebar-bg { background: #fff !important; }
.header-menu-sidebar .nav-menu-primary .nav-ul li > .wrap > a {
	font-size: 16px;
	font-weight: 500;
	color: var(--dk-ink);
	padding: 14px 0 !important;
}
.header-menu-sidebar .nav-menu-primary .nav-ul > li { border-bottom: 1px solid var(--dk-line); }
.header-menu-sidebar .nav-menu-primary .sub-menu { border: 0; box-shadow: none; padding: 0 0 8px 12px !important; }
.header-menu-sidebar .nav-menu-primary .sub-menu li > .wrap > a { font-size: 15px; font-weight: 400; color: var(--dk-text-soft) !important; padding: 9px 0 !important; }
.navbar-toggle { border-radius: var(--dk-radius); }

/* 4. Ricerca (Advanced Woo Search)
   ========================================================================== */
.aws-container .aws-search-form {
	height: 46px;
	background: var(--dk-soft);
	border: 1px solid var(--dk-line);
	border-radius: 999px;
	overflow: hidden;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.aws-container .aws-search-form:focus-within,
.aws-container .aws-search-form.aws-form-active {
	background: #fff;
	border-color: var(--dk-accent);
	box-shadow: var(--dk-ring);
}
.aws-container .aws-search-field {
	height: 100% !important;
	padding: 0 8px 0 44px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--dk-font);
	font-size: 15px !important;
	color: var(--dk-ink);
}
.aws-container .aws-search-field::placeholder { color: var(--dk-subtle); opacity: 1; }
.aws-container .aws-search-form .aws-wrapper::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 17px;
	width: 17px;
	height: 17px;
	transform: translateY(-50%);
	background-color: var(--dk-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
	z-index: 2;
}
.aws-container .aws-search-form .aws-search-clear { color: var(--dk-subtle); }
.aws-container .aws-search-form .aws-search-clear span { font-size: 22px; }
/* Il pulsante di invio diventa una "freccia" discreta */
.aws-container .aws-search-form .aws-form-btn {
	background: transparent !important;
	border: 0 !important;
	padding: 0 6px 0 2px;
}
.aws-container .aws-search-form .aws-search-btn_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50% !important;
	background: var(--dk-ink);
	color: #fff;
	transition: background-color .15s ease;
}
.aws-container .aws-search-form .aws-search-btn_icon svg { width: 15px; height: 15px; fill: currentColor; }
.aws-container .aws-search-form .aws-form-btn:hover .aws-search-btn_icon { background: var(--dk-accent); }
.aws-container .aws-search-form .aws-loader { right: 48px; }

/* Dropdown dei suggerimenti */
.aws-search-result {
	margin-top: 8px;
	border: 1px solid var(--dk-line) !important;
	border-radius: var(--dk-radius-lg) !important;
	box-shadow: var(--dk-shadow);
	overflow: hidden;
	font-family: var(--dk-font);
	background: #fff;
}
.aws-search-result ul li { border-bottom: 1px solid var(--dk-line) !important; background: #fff; }
.aws-search-result ul li:last-child { border-bottom: 0 !important; }
.aws-search-result .aws_result_link { padding: 10px 14px !important; align-items: center; }
.aws-search-result .aws_result_item:hover,
.aws-search-result .aws_result_item.hovered { background: var(--dk-soft) !important; }
.aws-search-result .aws_result_image { padding: 0 12px 0 0 !important; }
.aws-search-result .aws_result_image img {
	width: 52px !important;
	height: 52px !important;
	object-fit: contain;
	border-radius: var(--dk-radius-sm) !important;
	background: var(--dk-soft);
}
.aws-search-result .aws_result_title {
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.35 !important;
	color: var(--dk-ink) !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.aws-search-result .aws_result_title strong,
.aws-search-result .aws_result_title b { font-weight: 700; color: var(--dk-accent); background: transparent; }
.aws-search-result .aws_result_price { font-size: 13.5px !important; color: var(--dk-ink) !important; padding-top: 3px !important; }
.aws-search-result .aws_result_price del { color: var(--dk-subtle); font-weight: 400; margin-right: 4px; }
.aws-search-result .aws_result_price ins { text-decoration: none; font-weight: 700; }
.aws-search-result .aws_result_sale { display: none; }
.aws-search-result .aws_search_more a {
	display: block;
	padding: 12px 14px !important;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--dk-accent) !important;
	text-align: center;
	background: var(--dk-soft-2);
}
.aws-search-result .aws_no_result { padding: 14px !important; font-size: 14px; color: var(--dk-muted); }

/* 5. Pulsanti (linguaggio unico)
   ========================================================================== */
.button,
a.button,
button.button,
input.button,
input[type="submit"],
button[type="submit"]:where(:not(.aws-search-btn):not(.search-submit):not(.navbar-toggle)),
.wp-block-button__link,
.wp-element-button,
.elementor-button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .checkout-button,
.woocommerce #place_order,
.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: var(--dk-btn-h);
	padding: 0 22px !important;
	border: 1px solid var(--dk-accent) !important;
	border-radius: var(--dk-radius) !important;
	background: var(--dk-accent) !important;
	color: #fff !important;
	font-family: var(--dk-font) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: .005em !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease;
}
.button:hover,
a.button:hover,
button.button:hover,
input.button:hover,
input[type="submit"]:hover,
button[type="submit"]:where(:not(.aws-search-btn):not(.search-submit):not(.navbar-toggle)):hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover,
.single_add_to_cart_button:hover {
	background: var(--dk-accent-hover) !important;
	border-color: var(--dk-accent-hover) !important;
	color: #fff !important;
}
.button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
.elementor-button:focus-visible { outline: none; box-shadow: var(--dk-ring) !important; }

.button:disabled,
.button.disabled,
button:disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	opacity: .45 !important;
	cursor: not-allowed;
}

/* Secondari (outline): coupon, aggiorna carrello, continua shopping, ecc. */
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"],
.woocommerce a.wc-backward,
.woocommerce .wc-forward:not(.checkout):not(.checkout-button),
.woocommerce-MyAccount-content .button.wc-forward,
.woocommerce-mini-cart__buttons .button:not(.checkout),
.woocommerce .return-to-shop .button {
	background: #fff !important;
	color: var(--dk-ink) !important;
	border-color: var(--dk-line-strong) !important;
}
.woocommerce button[name="apply_coupon"]:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce a.wc-backward:hover,
.woocommerce .wc-forward:not(.checkout):not(.checkout-button):hover,
.woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.woocommerce .return-to-shop .button:hover {
	background: var(--dk-soft) !important;
	color: var(--dk-ink) !important;
	border-color: var(--dk-ink) !important;
}

/* 6. Campi form
   ========================================================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="search"]:not(.aws-search-field),
textarea,
select,
.select2-container--default .select2-selection--single {
	min-height: 46px;
	border: 1px solid var(--dk-line-strong) !important;
	border-radius: var(--dk-radius) !important;
	background-color: #fff;
	color: var(--dk-ink);
	font-family: var(--dk-font);
	font-size: 15px;
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
textarea { min-height: 120px; padding: 12px 14px; line-height: 1.5; }
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:not(.aws-search-field):focus,
textarea:focus,
select:focus,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
	outline: none;
	border-color: var(--dk-accent) !important;
	box-shadow: var(--dk-ring);
}
input::placeholder,
textarea::placeholder { color: var(--dk-subtle); opacity: 1; }

select {
	-webkit-appearance: none;
	appearance: none;
	padding: 0 40px 0 14px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text { height: 48px; min-height: 48px; padding: 0 14px; }
.select2-container--default .select2-selection--single {
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 46px !important;
	padding-left: 14px !important;
	color: var(--dk-ink);
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; right: 8px !important; }
.select2-dropdown { border-color: var(--dk-line-strong) !important; border-radius: var(--dk-radius) !important; overflow: hidden; box-shadow: var(--dk-shadow); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--dk-accent) !important; }
.select2-search--dropdown .select2-search__field { min-height: 38px; }

input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--dk-accent);
	width: 16px;
	height: 16px;
	vertical-align: -3px;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.comment-form label {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--dk-ink);
	margin-bottom: 6px;
	line-height: 1.4;
}
.woocommerce form .form-row { margin-bottom: 16px; padding: 0; }
.woocommerce form .form-row .required { color: var(--dk-danger); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: var(--dk-danger) !important; }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--dk-line-strong) !important; }

/* Quantità */
.quantity .qty {
	width: 72px;
	min-height: var(--dk-btn-h);
	text-align: center;
	padding: 0 6px;
}

/* 7. Griglia prodotti
   ========================================================================== */
ul.products {
	--dk-card-gap: 24px;
}
.elementor-widget-woocommerce-products ul.products.elementor-grid { gap: var(--dk-card-gap) !important; }
/* Archivi WooCommerce: griglia CSS al posto dei float, card di pari altezza */
body.woocommerce:not(:has(.nv-sidebar-wrap)) .nv-shop.col { max-width: 100% !important; flex-basis: 100%; }
body.woocommerce-cart:not(:has(.nv-sidebar-wrap)) .nv-single-page-wrap.col,
body.woocommerce-checkout:not(:has(.nv-sidebar-wrap)) .nv-single-page-wrap.col,
body.woocommerce-account:not(:has(.nv-sidebar-wrap)) .nv-single-page-wrap.col { max-width: 100% !important; flex-basis: 100%; }
.woocommerce ul.products:not(.elementor-grid) {
	display: grid !important;
	grid-template-columns: repeat(var(--dk-cols, 4), minmax(0, 1fr));
	gap: var(--dk-card-gap);
	margin: 0 0 32px !important;
}
.woocommerce ul.products.columns-2:not(.elementor-grid) { --dk-cols: 2; }
.woocommerce ul.products.columns-3:not(.elementor-grid) { --dk-cols: 3; }
.woocommerce ul.products.columns-5:not(.elementor-grid) { --dk-cols: 5; }
.woocommerce ul.products:not(.elementor-grid)::before,
.woocommerce ul.products:not(.elementor-grid)::after { display: none !important; }
.woocommerce ul.products:not(.elementor-grid) li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
}
.woocommerce ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg);
	padding: 0 0 16px !important;
	overflow: hidden;
	text-align: left;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover,
.elementor-widget-woocommerce-products ul.products li.product:hover {
	border-color: var(--dk-line-strong);
	box-shadow: var(--dk-shadow-sm), 0 6px 18px rgba(16, 24, 40, .05);
}
ul.products li.product .nv-card-content-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
}
ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	text-decoration: none;
	color: inherit;
}

/* Immagine: riquadro quadrato uniforme */
ul.products li.product .sp-product-image,
ul.products li.product .woocommerce-LoopProduct-link > img {
	margin: 0 0 14px !important;
}
ul.products li.product .sp-product-image .img-wrap,
ul.products li.product .woocommerce-LoopProduct-link > img {
	position: relative;
	aspect-ratio: 1 / 1;
	width: 100%;
	background: var(--dk-soft);
	overflow: hidden;
}
ul.products li.product .sp-product-image img,
ul.products li.product .woocommerce-LoopProduct-link > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	padding: 8%;
	box-sizing: border-box;
	mix-blend-mode: multiply;
	margin: 0 !important;
	border-radius: 0 !important;
	transition: transform .35s ease;
}
ul.products li.product:hover .sp-product-image img,
ul.products li.product:hover .woocommerce-LoopProduct-link > img { transform: scale(1.025); }
ul.products li.product .sp-product-image .img-wrap img + img { display: none; }

/* Titolo: max 2 righe */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.4em * 2);
	margin: 0 0 8px !important;
	padding: 0 16px !important;
	font-family: var(--dk-font) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--dk-ink) !important;
}

/* Stelle discrete */
ul.products li.product .star-rating {
	font-size: 11px !important;
	margin: 0 16px 8px !important;
	color: #d4a43a !important;
	letter-spacing: 1px;
}
ul.products li.product .star-rating::before { color: #dfe2e6 !important; }

/* Prezzo */
.woocommerce ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .price,
ul.products li.product .price {
	display: flex !important;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 2px 8px;
	margin: auto 0 0 !important;
	padding: 0 16px !important;
	font-family: var(--dk-font) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--dk-ink) !important;
	letter-spacing: -0.01em;
}
ul.products li.product .price ins {
	order: -1;
	text-decoration: none !important;
	background: none;
	font-weight: 700 !important;
	color: var(--dk-ink) !important;
}
ul.products li.product .price del {
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--dk-subtle) !important;
	opacity: 1 !important;
	text-decoration-thickness: 1px;
}
ul.products li.product .price del .amount { color: inherit !important; }

/* Eventuali pulsanti / badge nelle card */
ul.products li.product .button {
	margin: 12px 16px 0 !important;
	min-height: 40px;
	font-size: 14px !important;
}
ul.products li.product .onsale,
.woocommerce span.onsale {
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--dk-ink);
	color: #fff;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.4;
}

/* Toolbar archivio */
.woocommerce-result-count { font-size: 13.5px; color: var(--dk-muted); }
.woocommerce-ordering select { min-height: 42px; font-size: 14px; }

/* Paginazione */
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px !important;
	border: 1px solid var(--dk-line) !important;
	border-radius: var(--dk-radius);
	font-size: 14px;
	font-weight: 500;
	color: var(--dk-text);
	background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--dk-ink) !important; background: #fff; color: var(--dk-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--dk-ink); border-color: var(--dk-ink) !important; color: #fff; }

/* 8. Scheda prodotto
   ========================================================================== */
.single-product div.product .product_title {
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
	margin-bottom: 10px;
}
.single-product div.product .summary .price {
	font-family: var(--dk-font);
	font-size: 26px !important;
	font-weight: 700;
	color: var(--dk-ink) !important;
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 12px 0 20px;
}
.single-product div.product .summary .price ins { order: -1; text-decoration: none; background: none; }
.single-product div.product .summary .price del { font-size: 17px; font-weight: 400; color: var(--dk-subtle); opacity: 1; }
.single-product div.product .woocommerce-product-rating { font-size: 13.5px; color: var(--dk-muted); }
.single-product div.product .woocommerce-product-rating .star-rating { font-size: 12px; color: #d4a43a; }
.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 20px 0 !important;
	border-top: 1px solid var(--dk-line) !important;
	border-bottom: 1px solid var(--dk-line) !important;
	margin-bottom: 20px !important;
}
.single-product div.product form.cart .quantity .qty { min-height: 50px; height: 50px; }
.single-product div.product form.cart .quantity { margin: 0 !important; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 50px; }
.single-product .product_meta { font-size: 13.5px; color: var(--dk-muted); }
.single-product .product_meta a { color: var(--dk-text); }
.single-product div.product div.images img { border-radius: var(--dk-radius-lg); }
.single-product div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; margin-top: 10px; }
.single-product div.product div.images .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.single-product div.product div.images .flex-control-thumbs li img { border-radius: var(--dk-radius); border: 1px solid var(--dk-line); opacity: .7; }
.single-product div.product div.images .flex-control-thumbs li img.flex-active,
.single-product div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--dk-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; border-bottom: 1px solid var(--dk-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 20px 0 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0 !important; font-weight: 600; color: var(--dk-muted) !important; border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--dk-ink) !important; border-bottom-color: var(--dk-accent); }
.related.products > h2,
.upsells.products > h2 { font-size: 22px; margin-bottom: 20px; }

/* 9. Avvisi WooCommerce
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 0 0 24px !important;
	padding: 14px 18px 14px 46px !important;
	border: 1px solid var(--dk-line) !important;
	border-left: 3px solid var(--dk-accent) !important;
	border-radius: var(--dk-radius) !important;
	background: var(--dk-soft) !important;
	color: var(--dk-text) !important;
	font-size: 14.5px;
	line-height: 1.5;
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: absolute !important;
	top: 50% !important;
	left: 17px !important;
	transform: translateY(-50%);
	margin: 0 !important;
	color: var(--dk-accent) !important;
	font-size: 16px;
}
.woocommerce-error { border-left-color: var(--dk-danger) !important; }
.woocommerce-error::before { color: var(--dk-danger) !important; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button,
.woocommerce-info .button { order: 2; margin-left: auto !important; min-height: 38px; font-size: 14px !important; }
.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button) { color: var(--dk-accent); font-weight: 600; }

/* 10. Carrello
   ========================================================================== */
.woocommerce table.shop_table {
	border: 1px solid var(--dk-line) !important;
	border-radius: var(--dk-radius-lg) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
	font-size: 14.5px;
	margin-bottom: 24px !important;
}
.woocommerce table.shop_table th {
	padding: 14px 16px !important;
	font-family: var(--dk-font);
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--dk-muted) !important;
}
.woocommerce table.shop_table thead th { background: var(--dk-soft); border-bottom: 1px solid var(--dk-line) !important; }
.woocommerce table.shop_table td {
	padding: 16px !important;
	border-top: 1px solid var(--dk-line) !important;
	vertical-align: middle;
	color: var(--dk-text);
}
.woocommerce table.shop_table tbody tr:first-child td { border-top: 0 !important; }
.woocommerce table.shop_table td.product-name a { color: var(--dk-ink) !important; font-weight: 500; text-decoration: none !important; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--dk-accent); }
.woocommerce table.shop_table .product-thumbnail img {
	width: 72px !important;
	height: 72px;
	object-fit: contain;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	mix-blend-mode: multiply;
}
.woocommerce table.shop_table .product-thumbnail a {
	display: inline-flex;
	padding: 4px;
	border-radius: var(--dk-radius);
	background: var(--dk-soft);
}
.cart_totals .order-total th,
.cart_totals .order-total td { vertical-align: middle !important; }
.woocommerce table.shop_table .product-price del,
.woocommerce table.shop_table .product-subtotal del { color: var(--dk-subtle); font-size: 13px; margin-right: 4px; }
.woocommerce table.shop_table .product-price ins,
.woocommerce table.shop_table .product-subtotal ins { text-decoration: none; }
.woocommerce table.shop_table .product-subtotal { font-weight: 600; color: var(--dk-ink); }
.woocommerce a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: 30px !important;
	border-radius: 50%;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: var(--dk-subtle) !important;
	background: transparent;
	text-decoration: none;
}
.woocommerce a.remove:hover { background: var(--dk-soft) !important; color: var(--dk-danger) !important; }
.woocommerce table.cart td.actions { background: var(--dk-soft-2); }
.woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.woocommerce table.cart td.actions .coupon .input-text {
	width: 200px !important;
	min-height: var(--dk-btn-h);
	margin: 0 !important;
	padding: 0 14px !important;
}
.woocommerce table.cart td.actions .coupon .button { margin: 0 !important; }

/* Totali carrello */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	padding: 24px;
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg);
	background: var(--dk-soft-2);
}
.cart_totals > h2 { font-size: 20px !important; margin: 0 0 12px !important; padding: 0 !important; line-height: 1.3 !important; }
.cart_totals table.shop_table { border: 0 !important; background: transparent; margin-bottom: 16px !important; }
.cart_totals table.shop_table th,
.cart_totals table.shop_table td { padding: 12px 0 !important; border: 0 !important; border-top: 1px solid var(--dk-line) !important; background: transparent; }
.cart_totals table.shop_table tr:first-child th,
.cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
.cart_totals table.shop_table th { text-transform: none; letter-spacing: 0; font-size: 14px !important; font-weight: 500 !important; color: var(--dk-text-soft) !important; vertical-align: top; }
.cart_totals table.shop_table td { text-align: right; }
.cart_totals .order-total th,
.cart_totals .order-total td { font-size: 17px !important; color: var(--dk-ink) !important; font-weight: 700 !important; }
.woocommerce ul#shipping_method li { margin: 0 0 6px; font-size: 14px; line-height: 1.45; }
.woocommerce ul#shipping_method li label { display: inline; }
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator { font-size: 13px; color: var(--dk-muted); }
.wc-proceed-to-checkout { padding: 4px 0 0 !important; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 52px !important; font-size: 16px !important; margin-bottom: 0 !important; }

/* 11. Checkout
   ========================================================================== */
.woocommerce-checkout h3,
#order_review_heading {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 16px;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	margin-bottom: 8px;
}
.woocommerce-checkout #ship-to-different-address { font-size: 16px; }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }

/* Riepilogo ordine come pannello */
.woocommerce-checkout #order_review {
	padding: 24px;
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg);
	background: var(--dk-soft-2);
}
.woocommerce-checkout-review-order-table {
	border: 0 !important;
	background: transparent !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 12px 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--dk-line) !important;
}
.woocommerce-checkout-review-order-table thead th { border-top: 0 !important; background: transparent !important; }
.woocommerce-checkout-review-order-table td.product-name { font-size: 14px; color: var(--dk-text); }
.woocommerce-checkout-review-order-table td.product-name .product-quantity { color: var(--dk-muted); font-weight: 500; }
.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child { text-align: right; }
.woocommerce-checkout-review-order-table tfoot th { text-transform: none; letter-spacing: 0; font-size: 14px !important; font-weight: 500 !important; color: var(--dk-text-soft) !important; text-align: left; vertical-align: top; }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td { font-size: 17px !important; font-weight: 700 !important; color: var(--dk-ink) !important; }
.woocommerce-checkout-review-order-table #shipping_method { text-align: left; display: inline-block; }

/* Pagamenti */
.woocommerce-checkout #payment {
	background: #fff !important;
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg) !important;
	margin-top: 16px;
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 8px 16px !important;
	border-bottom: 1px solid var(--dk-line) !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
	padding: 10px 0 !important;
	border-bottom: 1px solid var(--dk-line);
	font-size: 14.5px;
	line-height: 1.5;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li > label { font-weight: 600; color: var(--dk-ink); cursor: pointer; margin-left: 4px; }
.woocommerce-checkout #payment div.payment_box {
	margin: 10px 0 4px !important;
	padding: 12px 14px !important;
	border-radius: var(--dk-radius) !important;
	background: var(--dk-soft) !important;
	color: var(--dk-text-soft) !important;
	font-size: 13.5px;
	line-height: 1.55;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--dk-soft) !important; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 16px !important; margin: 0 !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--dk-muted); line-height: 1.5; }
.woocommerce-checkout #place_order { width: 100%; min-height: 52px !important; font-size: 16px !important; float: none !important; margin-top: 8px; }
.checkout_coupon.woocommerce-form-coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	padding: 18px !important;
	border: 1px solid var(--dk-line) !important;
	border-radius: var(--dk-radius-lg) !important;
	background: var(--dk-soft-2);
}
.checkout_coupon.woocommerce-form-coupon p:not(.form-row) { flex-basis: 100%; margin: 0 0 4px; font-size: 14px; color: var(--dk-muted); }
.checkout_coupon.woocommerce-form-coupon .form-row { width: auto !important; float: none !important; margin: 0 !important; }
.checkout_coupon.woocommerce-form-coupon .form-row-first { flex: 1 1 220px; }
.checkout_coupon.woocommerce-form-coupon .clear { display: none; }

/* Override specifici per la tabella di riepilogo (più forti delle regole shop_table) */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	margin-bottom: 0 !important;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th { padding: 0 0 10px !important; }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot th {
	padding: 12px 0 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--dk-text-soft) !important;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--dk-ink) !important;
	vertical-align: middle;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody td { padding: 12px 0 !important; }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
	display: block;
	width: 100%;
	text-align: left !important;
}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th { padding-bottom: 6px !important; }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { border-top: 0 !important; padding-top: 0 !important; }
.woocommerce-checkout-review-order-table #shipping_method { display: block; width: 100%; margin: 0; }
.woocommerce-checkout-review-order-table #shipping_method li { display: flex; align-items: flex-start; gap: 8px; text-align: left; }
.woocommerce-checkout-review-order-table #shipping_method li input { margin: 3px 0 0 !important; flex: none; }

/* Link "Click here to enter your code" come semplice link */
.woocommerce-info > a.showcoupon,
.woocommerce-info > a.showlogin {
	display: inline !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 0 0 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--dk-accent) !important;
	font-size: inherit !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Thank-you / ordine ricevuto */
.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	padding: 0 !important;
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg);
	overflow: hidden;
}
.woocommerce ul.order_details li {
	flex: 1 1 160px;
	margin: 0 !important;
	padding: 16px !important;
	border-right: 1px solid var(--dk-line) !important;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--dk-muted);
}
.woocommerce ul.order_details li strong { margin-top: 4px; font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--dk-ink); }

/* 12. Il mio account
   ========================================================================== */
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 8px !important;
	list-style: none;
	border: 1px solid var(--dk-line);
	border-radius: var(--dk-radius-lg);
}
.woocommerce-MyAccount-navigation ul li { margin: 0; border: 0 !important; }
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 14px !important;
	border-radius: var(--dk-radius-sm);
	font-size: 14.5px;
	color: var(--dk-text);
	text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--dk-soft); color: var(--dk-ink); }
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--dk-accent-tint); color: var(--dk-accent); font-weight: 600; }
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	padding: 28px !important;
	border: 1px solid var(--dk-line) !important;
	border-radius: var(--dk-radius-lg) !important;
	background: #fff;
}

/* 13. Pagine informative
   ========================================================================== */
body.page:not(.elementor-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .nv-single-page-wrap > .nv-content-wrap,
body.page:not(.elementor-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .nv-single-page-wrap > .nv-page-title-wrap {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}
body.page .nv-content-wrap.entry-content,
body.page .elementor-widget-text-editor,
body.page .elementor-widget-theme-post-content {
	font-size: 16px;
	line-height: 1.75;
	color: var(--dk-text-soft);
}
body.page .nv-content-wrap.entry-content > *:first-child { margin-top: 0; }
body.page .nv-content-wrap.entry-content > h2:first-child,
body.page .nv-content-wrap.entry-content > h3:first-child { margin-top: .4em; }
body.page:not(.elementor-page) .nv-page-title-wrap { padding-bottom: 20px; margin-bottom: 28px; border-bottom: 1px solid var(--dk-line); }
body.page .entry-content h2,
body.page .elementor-widget-text-editor h2 { font-size: clamp(22px, 2.2vw, 26px); margin: 2em 0 .6em; line-height: 1.25; }
body.page .entry-content h3,
body.page .elementor-widget-text-editor h3 { font-size: clamp(18px, 1.8vw, 20px); margin: 1.8em 0 .5em; line-height: 1.3; }
body.page .entry-content h4,
body.page .elementor-widget-text-editor h4 { font-size: 17px; margin: 1.6em 0 .4em; }
body.page .entry-content p,
body.page .elementor-widget-text-editor p { margin: 0 0 1.1em; }
body.page .entry-content strong,
body.page .entry-content b,
body.page .elementor-widget-text-editor strong { color: var(--dk-ink); font-weight: 600; }
body.page .entry-content :is(h1, h2, h3, h4, h5, h6) :is(strong, b),
body.page .elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6) :is(strong, b) { font-weight: inherit; color: inherit; }
body.page .entry-content ul,
body.page .entry-content ol,
body.page .elementor-widget-text-editor ul,
body.page .elementor-widget-text-editor ol { margin: 0 0 1.2em; padding-left: 1.3em; }
body.page .entry-content li,
body.page .elementor-widget-text-editor li { margin: 0 0 .45em; padding-left: .2em; }
body.page .entry-content ul li::marker,
body.page .elementor-widget-text-editor ul li::marker { color: var(--dk-accent); }
body.page .entry-content ol li::marker,
body.page .elementor-widget-text-editor ol li::marker { color: var(--dk-accent); font-weight: 600; }
body.page .entry-content a:not(.button):not(.wp-block-button__link),
body.page .elementor-widget-text-editor a {
	color: var(--dk-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
body.page .entry-content a:not(.button):not(.wp-block-button__link):hover,
body.page .elementor-widget-text-editor a:hover { color: var(--dk-accent-hover); }
body.page .entry-content blockquote,
body.page .entry-content .wp-block-quote,
body.page .elementor-widget-text-editor blockquote {
	margin: 1.6em 0;
	padding: 16px 20px;
	border: 0;
	border-left: 3px solid var(--dk-accent);
	border-radius: 0 var(--dk-radius) var(--dk-radius) 0;
	background: var(--dk-soft);
	color: var(--dk-text);
	font-style: normal;
	font-size: 15.5px;
}
body.page .entry-content blockquote p:last-child { margin-bottom: 0; }
body.page .entry-content hr { border: 0; border-top: 1px solid var(--dk-line); margin: 2.2em 0; }
body.page .entry-content table:not(.shop_table) { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 1.4em; }
body.page .entry-content table:not(.shop_table) th,
body.page .entry-content table:not(.shop_table) td { padding: 10px 12px; border-bottom: 1px solid var(--dk-line); text-align: left; }
body.page .entry-content table:not(.shop_table) th { color: var(--dk-ink); font-weight: 600; background: var(--dk-soft); }
body.page .entry-content img { border-radius: var(--dk-radius); }

/* Pagine costruite con Elementor: titoli coerenti */
body.page .elementor-widget-heading .elementor-heading-title { font-family: var(--dk-font-head); letter-spacing: -0.015em; }

/* 13b. Guida "How to order" (classi dk-guide__*, usabili in qualsiasi pagina a blocchi)
   ========================================================================== */
body.page .entry-content .dk-guide__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dk-accent);
}
body.page .entry-content .dk-guide__subtitle {
	margin: 0 0 12px !important;
	font-size: clamp(22px, 2.4vw, 28px);
}
body.page .entry-content .dk-guide__lead { font-size: 17.5px; line-height: 1.7; color: var(--dk-text-soft); }

/* Indice */
.dk-guide__toc {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 28px 0 8px;
}
body.page .entry-content .dk-guide__toc a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--dk-line);
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--dk-ink) !important;
	text-decoration: none !important;
	overflow-wrap: anywhere;
	hyphens: auto;
	min-width: 0;
	transition: border-color .15s ease, background-color .15s ease;
}
body.page .entry-content .dk-guide__toc a:hover { border-color: var(--dk-accent); background: var(--dk-accent-tint); }
.dk-guide__toc span,
.dk-guide__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--dk-ink);
	color: #fff;
	font-family: var(--dk-font);
	font-size: 13px;
	font-weight: 700;
}
html { scroll-padding-top: 24px; }

/* Titoli di sezione */
body.page .entry-content .dk-guide__h2 {
	hyphens: auto;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 2.4em;
	padding-top: 28px;
	border-top: 1px solid var(--dk-line);
}
.dk-guide__num { width: 32px; height: 32px; font-size: 15px; }

/* Passi numerati */
body.page .entry-content ol.dk-guide__steps {
	counter-reset: dkstep;
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
body.page .entry-content ol.dk-guide__steps li {
	counter-increment: dkstep;
	position: relative;
	margin: 0;
	padding: 16px 18px 16px 62px;
	border: 1px solid var(--dk-line);
	border-radius: 14px;
	background: #fff;
}
body.page .entry-content ol.dk-guide__steps li::marker { content: none; }
body.page .entry-content ol.dk-guide__steps li::before {
	content: counter(dkstep);
	position: absolute;
	left: 18px;
	top: 16px;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--dk-accent-tint);
	color: var(--dk-accent);
	font-size: 14px;
	font-weight: 700;
	line-height: 28px;
	text-align: center;
}
.dk-guide__steps strong,
.dk-guide__timeline strong { display: block; color: var(--dk-ink); font-size: 16px; }
body.page .entry-content .dk-guide__steps p,
body.page .entry-content .dk-guide__timeline p { margin: 4px 0 0; font-size: 15px; line-height: 1.6; }

/* Card (pagamenti / spedizioni) */
.dk-guide__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
}
.dk-guide__card {
	padding: 18px 20px;
	border: 1px solid var(--dk-line);
	border-radius: 14px;
	background: #fafaf9;
}
body.page .entry-content .dk-guide__card h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	font-size: 16.5px;
}
body.page .entry-content .dk-guide__card p { margin: 0; font-size: 14.5px; line-height: 1.6; }
.dk-guide__badge {
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--dk-accent);
	color: #fff;
	font-family: var(--dk-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .02em;
}
.dk-guide__card--crypto { border-color: #cfe1de; background: var(--dk-accent-tint); }
.dk-guide__cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dk-guide__card .dk-guide__time { margin-bottom: 8px; background: #fff; }
@media (max-width: 900px) { .dk-guide__cards--3 { grid-template-columns: 1fr; } }

/* Schede "metodo" con etichette (pagina Payment Methods) */
.dk-guide__method {
	margin: 16px 0 0;
	padding: 6px 22px;
	border: 1px solid var(--dk-line);
	border-radius: 14px;
	background: #fafaf9;
}
.dk-guide__method--featured { border-color: #cfe1de; background: var(--dk-accent-tint); }
.dk-guide__method dl { margin: 0; }
.dk-guide__method dl > div {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 16px;
	padding: 14px 0;
	border-top: 1px solid rgba(16, 24, 40, .07);
}
.dk-guide__method dl > div:first-child { border-top: 0; }
.dk-guide__method dt {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dk-muted);
	padding-top: 3px;
}
.dk-guide__method dd { margin: 0 !important; padding: 0 !important; font-size: 15px; line-height: 1.6; color: var(--dk-text); }
.dk-guide__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.dk-guide__chips span {
	padding: 4px 10px;
	border: 1px solid var(--dk-line);
	border-radius: 999px;
	background: #fff;
	font-size: 13px;
	font-weight: 500;
	color: var(--dk-ink);
}
.dk-guide__h2 .dk-guide__badge { margin-left: 4px; font-size: 11.5px; }
.dk-guide__badge--muted { background: var(--dk-soft); color: var(--dk-text-soft); border: 1px solid var(--dk-line); }
@media (max-width: 767px) {
	.dk-guide__method { padding: 4px 16px; }
	.dk-guide__method dl > div { grid-template-columns: 1fr; gap: 4px; }
	body.page .entry-content .dk-guide__h2 { display: block; }
	body.page .entry-content .dk-guide__h2 .dk-guide__num { margin-right: 10px; vertical-align: 4px; width: 28px; height: 28px; font-size: 14px; }
	body.page .entry-content .dk-guide__h2 .dk-guide__badge { display: inline-block; vertical-align: 4px; }
}

/* Avvisi */
.dk-guide__callout,
.dk-guide__note {
	margin: 4px 0 0;
	padding: 16px 20px;
	border-radius: 12px;
	font-size: 15px;
	line-height: 1.6;
}
.dk-guide__callout { border: 1px solid #f0dfb8; border-left: 4px solid #c58a1b; background: #fdf8ec; }
.dk-guide__note { border: 1px solid var(--dk-line); border-left: 4px solid var(--dk-accent); background: var(--dk-soft); }
body.page .entry-content .dk-guide__callout p,
body.page .entry-content .dk-guide__note p { margin: 0; color: var(--dk-text); }

/* Timeline QC */
body.page .entry-content ol.dk-guide__timeline {
	list-style: none;
	margin: 22px 0 0;
	padding: 0 0 0 4px;
}
body.page .entry-content ol.dk-guide__timeline li {
	position: relative;
	margin: 0;
	padding: 0 0 24px 32px;
}
body.page .entry-content ol.dk-guide__timeline li::marker { content: none; }
body.page .entry-content ol.dk-guide__timeline li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 14px;
	height: 14px;
	border: 3px solid var(--dk-accent);
	border-radius: 50%;
	background: #fff;
	z-index: 1;
}
body.page .entry-content ol.dk-guide__timeline li::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 18px;
	bottom: -2px;
	width: 2px;
	background: var(--dk-line);
}
body.page .entry-content ol.dk-guide__timeline li:last-child { padding-bottom: 0; }
body.page .entry-content ol.dk-guide__timeline li:last-child::after { display: none; }
.dk-guide__time {
	display: inline-block;
	margin-bottom: 4px;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--dk-soft);
	border: 1px solid var(--dk-line);
	font-size: 12px;
	font-weight: 600;
	color: var(--dk-text-soft);
}

/* FAQ (blocco Dettagli) */
body.page .entry-content .dk-guide__faq {
	margin: 0 0 10px;
	border: 1px solid var(--dk-line);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
body.page .entry-content .dk-guide__faq summary {
	position: relative;
	padding: 16px 48px 16px 18px;
	font-weight: 600;
	color: var(--dk-ink);
	cursor: pointer;
	list-style: none;
}
body.page .entry-content .dk-guide__faq summary::-webkit-details-marker { display: none; }
body.page .entry-content .dk-guide__faq summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	font-weight: 400;
	color: var(--dk-muted);
}
body.page .entry-content .dk-guide__faq[open] summary::after { content: "−"; }
body.page .entry-content .dk-guide__faq > p { margin: 0; padding: 0 18px 16px; font-size: 15px; }

/* Box assistenza finale */
.dk-guide__help {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 32px 0 64px;
	padding: 28px;
	border-radius: 18px;
	background: var(--dk-ink);
}
body.page .entry-content .dk-guide__help h3 { margin: 0 0 6px; color: #fff; font-size: 20px; }
body.page .entry-content .dk-guide__help p { margin: 0; color: #b4bac1; font-size: 15px; line-height: 1.6; }
.dk-guide__help-text { flex: 1 1 auto; min-width: 0; }
.dk-guide__help-actions { display: flex; flex-direction: column; gap: 10px; flex: none; }
body.page .entry-content .dk-guide__help a.button { text-decoration: none !important; }
body.page .entry-content .dk-guide__help .dk-guide__btn-telegram { background: #fff !important; border-color: #fff !important; color: var(--dk-ink) !important; }
body.page .entry-content .dk-guide__help .dk-guide__btn-telegram:hover { background: #e9ecef !important; border-color: #e9ecef !important; }
body.page .entry-content .dk-guide__help .dk-guide__btn-email { background: transparent !important; border-color: rgba(255, 255, 255, .3) !important; color: #fff !important; }
body.page .entry-content .dk-guide__help .dk-guide__btn-email:hover { border-color: #fff !important; }

@media (max-width: 767px) {
	.dk-guide__toc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dk-guide__cards { grid-template-columns: 1fr; }
	.dk-guide__help { flex-direction: column; align-items: stretch; padding: 22px; }
	.dk-guide__help-actions .button { width: 100%; }
}

/* 13c. Pagina About
   ========================================================================== */
.dk-about__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 28px 0 8px;
	border: 1px solid var(--dk-line);
	border-radius: 16px;
	background: #fafaf9;
	overflow: hidden;
}
.dk-about__stats > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 18px 20px;
	border-left: 1px solid var(--dk-line);
}
.dk-about__stats > div:first-child { border-left: 0; }
.dk-about__stats strong {
	font-family: var(--dk-font-head);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--dk-ink);
}
.dk-about__stats span { font-size: 13px; color: var(--dk-muted); }

.dk-about__pillars { display: grid; gap: 12px; margin: 18px 0 0; }
.dk-about__pillar {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	column-gap: 16px;
	padding: 22px 24px;
	border: 1px solid var(--dk-line);
	border-radius: 16px;
	background: #fff;
}
.dk-about__pillar .dk-guide__num { grid-row: span 3; width: 32px; height: 32px; }
body.page .entry-content .dk-about__pillar h3 { margin: 4px 0 8px; font-size: 18px; }
body.page .entry-content .dk-about__pillar p { margin: 0 0 10px; font-size: 15.5px; line-height: 1.65; }
body.page .entry-content .dk-about__pillar p:last-child { margin-bottom: 0; }

.dk-about__quality {
	margin: 40px 0 0;
	padding: 28px;
	border: 1px solid #cfe1de;
	border-radius: 18px;
	background: var(--dk-accent-tint);
}
body.page .entry-content .dk-about__quality h2 { margin: 0 0 14px; font-size: 22px; }
body.page .entry-content .dk-about__quality ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
body.page .entry-content .dk-about__quality li {
	margin: 0;
	padding: 7px 14px 7px 34px;
	position: relative;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #d9e7e5;
	font-size: 14px;
	font-weight: 500;
	color: var(--dk-ink);
}
body.page .entry-content .dk-about__quality li::marker { content: none; }
body.page .entry-content .dk-about__quality li::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	width: 14px;
	height: 14px;
	transform: translateY(-50%);
	background-color: var(--dk-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.page .entry-content .dk-about__quality p { margin: 0; color: var(--dk-text); }

@media (max-width: 767px) {
	.dk-about__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dk-about__stats > div:nth-child(3) { border-left: 0; }
	.dk-about__stats > div:nth-child(n+3) { border-top: 1px solid var(--dk-line); }
	.dk-about__pillar { grid-template-columns: 1fr; padding: 20px; }
	.dk-about__pillar .dk-guide__num { grid-row: auto; margin-bottom: 10px; }
	.dk-about__quality { padding: 22px; }
}

/* 13d. Tabella guida (Water resistance), pagina di conferma ordine, Reviews
   ========================================================================== */
.dk-guide__table-wrap {
	margin: 16px 0 18px;
	border: 1px solid var(--dk-line);
	border-radius: 14px;
	overflow-x: auto;
	background: #fff;
}
body.page .entry-content table.dk-guide__table {
	width: 100%;
	min-width: 520px;
	margin: 0;
	border-collapse: collapse;
	font-size: 14.5px;
}
body.page .entry-content table.dk-guide__table th,
body.page .entry-content table.dk-guide__table td {
	padding: 12px 14px;
	border: 0;
	border-top: 1px solid var(--dk-line);
	text-align: center;
	background: transparent;
}
body.page .entry-content table.dk-guide__table thead th {
	border-top: 0;
	background: var(--dk-soft);
	font-family: var(--dk-font-head);
	font-size: 15px;
	font-weight: 700;
	color: var(--dk-ink);
	line-height: 1.2;
}
body.page .entry-content table.dk-guide__table thead th small { display: block; margin-top: 2px; font-family: var(--dk-font); font-size: 12px; font-weight: 500; color: var(--dk-muted); }
body.page .entry-content table.dk-guide__table tbody th { text-align: left; font-weight: 600; color: var(--dk-ink); background: transparent; }
.dk-yes,
.dk-no {
	display: inline-block;
	min-width: 42px;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .04em;
}
.dk-yes { background: var(--dk-accent-tint); color: var(--dk-accent); }
.dk-no { background: #fbeceb; color: #b42318; }
body.page .entry-content .dk-guide__callout p + p { margin-top: 10px; }

/* Pagina "Order received" */
.dk-thanks {
	max-width: 560px;
	margin: 8px auto 56px;
	padding: 40px 32px;
	border: 1px solid var(--dk-line);
	border-radius: 20px;
	background: #fafaf9;
	text-align: center;
}
.dk-thanks__icon {
	position: relative;
	width: 56px;
	height: 56px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--dk-accent);
}
.dk-thanks__icon::after {
	content: "";
	position: absolute;
	inset: 14px;
	background-color: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.page .entry-content .dk-thanks p { margin: 0 0 6px; }
body.page .entry-content .dk-thanks .dk-thanks__title {
	margin-bottom: 10px;
	font-family: var(--dk-font-head);
	font-size: 22px;
	font-weight: 700;
	color: var(--dk-ink);
}
body.page .entry-content .dk-thanks .dk-thanks__actions { margin-top: 22px; }

/* Reviews (galleria Elementor) */
.elementor-section.dk-reviews-head .elementor-heading-title {
	font-family: var(--dk-font-head) !important;
	font-size: clamp(30px, 3.2vw, 40px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	color: var(--dk-ink) !important;
	text-transform: none !important;
}
.elementor-section.dk-reviews-head { padding-top: 40px; }
.elementor-section.dk-reviews { padding-bottom: 56px; }
.dk-reviews .elementor-gallery-item {
	border: 1px solid var(--dk-line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.dk-reviews .elementor-gallery-item:hover { box-shadow: 0 8px 22px rgba(16, 24, 40, .08); transform: translateY(-2px); }
.dk-reviews .elementor-gallery-item__overlay { display: none; }

/* 14. Newsletter (home)
   ========================================================================== */
.elementor-section:has(object[data*="load-selzy"]) > .elementor-container {
	max-width: 720px;
	margin: 0 auto;
	padding: 32px 32px 20px;
	border: 1px solid var(--dk-line);
	border-radius: 16px;
	background: var(--dk-soft);
}
.elementor-section:has(object[data*="load-selzy"]) .elementor-heading-title {
	font-family: var(--dk-font-head) !important;
	font-size: clamp(18px, 2vw, 22px) !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: var(--dk-ink) !important;
}
.elementor-section:has(object[data*="load-selzy"]) { padding-top: 24px !important; padding-bottom: 72px !important; }
.elementor-section:has(object[data*="load-selzy"]) .elementor-widget-spacer { display: none; }
.elementor-section:has(object[data*="load-selzy"]) .elementor-widget:not(:last-child) { margin-bottom: 14px; }
.elementor-widget-shortcode object[data*="load-selzy"] {
	display: block;
	height: 72px !important;
	background: transparent;
}

/* 14b. Concierge banner: original Daytona photography, compact mobile layout.
   ========================================================================== */
.elementor-section.dk-hero-wrap { margin: 28px 0 8px; }
.dk-hero-wrap .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.elementor-section.dk-hero { padding: 0 15px; }
.elementor-section.dk-hero > .elementor-container {
    position: relative;
    isolation: isolate;
    max-width: 1240px;
    min-height: 360px;
    margin: 0 auto;
    align-items: stretch;
    border-radius: 20px;
    overflow: hidden;
    background: #e7eeec;
}
.dk-hero .elementor-column { background: transparent !important; }
.dk-hero .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.dk-hero .elementor-widget:not(:last-child) { margin-bottom: 0; }
/* Testo */
.dk-hero .dk-hero__content > .elementor-widget-wrap {
	align-content: center;
	padding: 56px 32px 56px 64px !important;
}
.dk-hero__eyebrow .elementor-heading-title {
	margin: 0 0 14px !important;
	font-family: var(--dk-font) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	color: var(--dk-accent) !important;
}
.dk-hero__title .elementor-heading-title {
	margin: 0 0 14px;
	font-family: var(--dk-font-head) !important;
	font-size: clamp(32px, 3.6vw, 50px) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.03em !important;
	color: var(--dk-ink) !important;
}
.dk-hero .dk-hero__text,
.dk-hero .dk-hero__text p {
	max-width: 430px;
	font-size: 17px;
	line-height: 1.6;
	color: #3e4a4e !important;
}
.dk-hero .dk-hero__text { margin-bottom: 30px !important; }
.dk-hero__cta .elementor-button.elementor-button {
	min-height: 54px;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--dk-ink) !important;
	color: #fff !important;
	font-size: 16px !important;
	letter-spacing: 0 !important;
	box-shadow: 0 10px 24px rgba(22, 25, 29, .18) !important;
}
.dk-hero__cta .elementor-button.elementor-button:hover {
	background: #000 !important;
	color: #fff !important;
}
.dk-hero__cta .elementor-button-content-wrapper { gap: 12px; align-items: center; }
.dk-hero__cta .elementor-button-icon { margin: 0 !important; font-size: 14px; transition: transform .2s ease; }
.dk-hero__cta .elementor-button-icon svg { width: 14px; height: 14px; fill: currentColor; }
.dk-hero__cta .elementor-button:hover .elementor-button-icon { transform: translateX(3px); }


/* Use the supplied photo intact, without blending or rotating the watch. */
.dk-hero .dk-hero__content { width: 46% !important; z-index: 1; }
.dk-hero .dk-hero__content > .elementor-widget-wrap { padding: 40px 20px 40px 44px !important; }
.dk-hero__title .elementor-heading-title { font-size: clamp(30px, 3.2vw, 44px) !important; }
.dk-hero .dk-hero__text, .dk-hero .dk-hero__text p { font-size: 16px; line-height: 1.5; }
.dk-hero .dk-hero__text p:last-child { margin-bottom: 0; }
.dk-hero .dk-hero__text { margin-bottom: 24px !important; }
.dk-hero .dk-hero__media {
    position: relative;
    width: 54% !important;
    background: url("assets/images/daytona-concierge.webp") center 48% / auto 125% no-repeat !important;
}
.dk-hero .dk-hero__media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #e7eeec, transparent 24%);
    pointer-events: none;
}
.dk-hero .dk-hero__media > .elementor-widget-wrap { min-height: 360px; padding: 0 !important; }
.dk-hero .dk-hero__watch { display: none !important; }
@media (min-width: 768px) and (max-width: 1024px) {
    .dk-hero .dk-hero__content > .elementor-widget-wrap { padding: 32px 16px 32px 28px !important; }
}
@media (max-width: 767px) {
    .elementor-section.dk-hero-wrap { margin: 16px 0 0; }
    .elementor-section.dk-hero { padding: 0 12px; }
    .elementor-section.dk-hero > .elementor-container { flex-direction: column; min-height: 0; border-radius: 16px; }
    .dk-hero .dk-hero__content, .dk-hero .dk-hero__media { width: 100% !important; }
    .dk-hero .dk-hero__media { order: -1; margin: 0; background-size: auto 165% !important; background-position: center 40% !important; }
    .dk-hero .dk-hero__media > .elementor-widget-wrap { min-height: 0; height: clamp(112px, 32vw, 150px); }
    .dk-hero .dk-hero__media::before { background: linear-gradient(0deg, #e7eeec, transparent 30%); }
    .dk-hero .dk-hero__content > .elementor-widget-wrap { padding: 12px 20px 20px !important; }
    .dk-hero__eyebrow .elementor-heading-title { margin-bottom: 8px !important; font-size: 10px !important; letter-spacing: .12em !important; }
    .dk-hero__title .elementor-heading-title { margin-bottom: 10px !important; font-size: 28px !important; line-height: 1.08 !important; }
    .dk-hero .dk-hero__text, .dk-hero .dk-hero__text p { font-size: 14px; line-height: 1.45; }
    .dk-hero .dk-hero__text { margin-bottom: 14px !important; }
    .dk-hero__cta .elementor-button.elementor-button { width: 100%; min-height: 44px; padding: 10px 18px !important; font-size: 14px !important; border-radius: 10px !important; box-shadow: none !important; }
}

/* 14c. Fascia loghi forum ("Find us on") in home
   ========================================================================== */
.elementor-section.dk-community { margin: 48px 0 16px; padding: 0 15px; }
.elementor-section.dk-community > .elementor-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px 28px;
	border: 1px solid var(--dk-line);
	border-radius: 16px;
	background: #fafaf9;
}
.dk-community .elementor-column > .elementor-widget-wrap {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 28px;
	padding: 0 !important;
}
.dk-community .elementor-widget { margin: 0 !important; }
.dk-community__label { flex: none; width: auto !important; }
.dk-community__label .elementor-heading-title {
	margin: 0;
	font-family: var(--dk-font) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--dk-muted) !important;
}
.dk-community__logos { flex: 1 1 auto; min-width: 0; }
.dk-community__logos .gallery {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
	margin: 0 !important;
}
.dk-community__logos .gallery::before,
.dk-community__logos .gallery::after,
.dk-community__logos .gallery br { display: none !important; }
.dk-community__logos .gallery-item {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
.dk-community__logos .gallery-icon { line-height: 0; }
.dk-community__logos .gallery-item img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 632 / 229;
	object-fit: cover;
	border: 0 !important;
	border-radius: 8px !important;
	transition: transform .2s ease, box-shadow .2s ease;
}
.dk-community__logos .gallery-item:hover img { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(16, 24, 40, .12); }

@media (max-width: 1024px) {
	.dk-community .elementor-column > .elementor-widget-wrap { flex-wrap: wrap; gap: 14px; }
	.dk-community__label,
	.dk-community__logos { width: 100% !important; flex-basis: 100%; }
	.dk-community__logos .gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.elementor-section.dk-community { padding: 0 12px; margin-top: 32px; }
	.elementor-section.dk-community > .elementor-container { padding: 16px; border-radius: 12px; }
	.dk-community__logos .gallery { gap: 8px; }
	.dk-community__logos .gallery-item img { border-radius: 6px !important; }
}

/* 14d. Pagina Contact Us (contatti da "Store contacts" nel Customizer)
   ========================================================================== */
.elementor-section.dk-contact { padding: 0 15px; }
.dk-contact > .elementor-container { max-width: 1040px !important; margin: 0 auto; }
.dk-contact .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.dk-contact .elementor-widget:not(:last-child) { margin-bottom: 0; }
.dk-contact p:last-child { margin-bottom: 0; }

/* Intestazione */
.dk-contact__intro { padding-top: 48px !important; }
.dk-contact__title .elementor-heading-title {
	margin: 0 0 12px;
	font-family: var(--dk-font-head) !important;
	font-size: clamp(32px, 3.4vw, 44px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	color: var(--dk-ink) !important;
}
.dk-contact .dk-contact__lead,
.dk-contact .dk-contact__lead p { max-width: 620px; font-size: 18px; line-height: 1.6; color: var(--dk-text-soft) !important; }

/* Blocco principale: Telegram + consigli */
.dk-contact__main { margin-top: 32px; }
.dk-contact__main > .elementor-container { gap: 20px; align-items: stretch; }
.elementor-column.dk-contact__tg {
	background: var(--dk-ink);
	border-radius: 20px;
}
.dk-contact .dk-contact__tg > .elementor-widget-wrap { padding: 44px 48px !important; align-content: center; }
.dk-contact__eyebrow .elementor-heading-title {
	margin: 0 0 14px !important;
	font-family: var(--dk-font) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	color: #8fc2bc !important;
}
.dk-contact__tg-title .elementor-heading-title {
	margin: 0 0 10px;
	font-family: var(--dk-font-head) !important;
	font-size: clamp(26px, 2.6vw, 34px) !important;
	font-weight: 700 !important;
	line-height: 1.12 !important;
	letter-spacing: -0.025em !important;
	color: #fff !important;
}
.dk-contact .dk-contact__tg-text,
.dk-contact .dk-contact__tg-text p { font-size: 16.5px; line-height: 1.6; color: #b4bac1 !important; }
.dk-contact .dk-contact__tg-text { margin-bottom: 26px !important; }
.dk-contact__tg-btn .elementor-button.elementor-button {
	min-height: 54px;
	padding: 0 26px !important;
	background: #fff !important;
	border-color: #fff !important;
	color: var(--dk-ink) !important;
	font-size: 16px !important;
}
.dk-contact__tg-btn .elementor-button.elementor-button:hover { background: #e9ecef !important; border-color: #e9ecef !important; color: var(--dk-ink) !important; }
.dk-contact__tg-btn .elementor-button-content-wrapper { gap: 10px; align-items: center; }
.dk-contact__tg-btn .elementor-button-icon { margin: 0 !important; font-size: 18px; color: #229ed9; }
.dk-contact__tg-btn .elementor-button-icon svg { width: 18px; height: 18px; fill: #229ed9; }
.dk-contact .dk-contact__tg-handle { margin-top: 16px !important; }
.dk-contact .dk-contact__tg-handle,
.dk-contact .dk-contact__tg-handle p { font-size: 14px; color: #8b929a !important; }
.dk-contact .dk-contact__tg-handle strong { color: #e7eaed !important; font-weight: 600; }

.elementor-column.dk-contact__tips {
	background: #fafaf9;
	border: 1px solid var(--dk-line);
	border-radius: 20px;
}
.dk-contact .dk-contact__tips > .elementor-widget-wrap { padding: 36px 32px !important; align-content: center; }
.dk-contact__card-title .elementor-heading-title {
	margin: 0 0 8px;
	font-family: var(--dk-font-head) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: var(--dk-ink) !important;
}
.dk-contact .dk-contact__tips-text,
.dk-contact .dk-contact__tips-text p { font-size: 15px; line-height: 1.6; color: var(--dk-text-soft) !important; }
.dk-contact .dk-contact__tips-text ul { list-style: none !important; margin: 12px 0 0 !important; padding: 0 !important; }
.dk-contact .dk-contact__tips-text li {
	position: relative;
	margin: 0 0 10px !important;
	padding-left: 28px !important;
	color: var(--dk-text);
}
.dk-contact .dk-contact__tips-text li::marker { content: none; }
.dk-contact .dk-contact__tips-text li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	background-color: var(--dk-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Avviso sicurezza */
.dk-contact__safety { margin-top: 20px; }
.dk-contact .dk-contact__safety-box {
	position: relative;
	padding: 16px 20px 16px 54px;
	border: 1px solid #d9e7e5;
	border-radius: 14px;
	background: var(--dk-accent-tint);
}
.dk-contact .dk-contact__safety-box,
.dk-contact .dk-contact__safety-box p { font-size: 14.5px; line-height: 1.55; color: var(--dk-text) !important; }
.dk-contact .dk-contact__safety-box strong { color: var(--dk-accent); }
.dk-contact .dk-contact__safety-box::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background-color: var(--dk-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Risposte rapide */
.dk-contact__quick-head { margin-top: 56px; }
.dk-contact__h2 .elementor-heading-title {
	margin: 0 0 18px;
	font-family: var(--dk-font-head) !important;
	font-size: clamp(22px, 2.2vw, 26px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	color: var(--dk-ink) !important;
}
.dk-contact__quick-grid > .elementor-container { gap: 14px; }
.dk-contact__quick-grid .elementor-column { flex: 1 1 0; }
.dk-contact__quick { height: 100%; }
.dk-contact__quick .elementor-widget-container { height: 100%; }
.dk-contact__quick .elementor-icon-box-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	height: 100%;
	padding: 18px;
	border: 1px solid var(--dk-line);
	border-radius: 14px;
	background: #fff;
	text-align: left;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.dk-contact__quick .elementor-icon-box-wrapper:hover { border-color: var(--dk-line-strong); box-shadow: 0 6px 18px rgba(16, 24, 40, .06); }
.dk-contact__quick .elementor-icon-box-icon { margin: 0 !important; flex: none; }
.dk-contact__quick .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--dk-accent-tint);
	color: var(--dk-accent) !important;
	fill: var(--dk-accent) !important;
	font-size: 16px !important;
}
.dk-contact__quick .elementor-icon svg { width: 16px; height: 16px; fill: var(--dk-accent); }
.dk-contact__quick .elementor-icon-box-title { margin: 0 0 4px !important; font-family: var(--dk-font) !important; font-size: 15.5px !important; font-weight: 600 !important; }
.dk-contact__quick .elementor-icon-box-title a { color: var(--dk-ink) !important; text-decoration: none; }
.dk-contact__quick .elementor-icon-box-title a::after { content: ""; position: absolute; inset: 0; }
.dk-contact__quick .elementor-icon-box-wrapper { position: relative; }
.dk-contact__quick .elementor-icon-box-description { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--dk-muted); }

/* Email + modulo */
.dk-contact__email { margin: 56px 0 72px; }
.dk-contact__email > .elementor-container {
	gap: 40px;
	padding: 36px 40px;
	border: 1px solid var(--dk-line);
	border-radius: 20px;
	background: #fafaf9;
}
.dk-contact .dk-contact__email-text,
.dk-contact .dk-contact__email-text p { font-size: 15.5px; line-height: 1.6; color: var(--dk-text-soft) !important; }
.dk-contact .dk-contact__email-text a { color: var(--dk-accent); font-weight: 600; }
.dk-contact__form .elementor-field-group { margin-bottom: 14px !important; }
.dk-contact__form .elementor-field-label { font-size: 13.5px; font-weight: 500; color: var(--dk-ink); margin-bottom: 6px; }
.dk-contact__form .elementor-field-textual { background: #fff !important; }
.dk-contact__form .elementor-button { width: 100%; justify-content: center; }

@media (max-width: 1024px) {
	.dk-contact__quick-grid > .elementor-container { flex-wrap: wrap; }
	.dk-contact__quick-grid .elementor-column { flex: 1 1 calc(50% - 7px); width: auto !important; }
}
@media (max-width: 767px) {
	.elementor-section.dk-contact { padding: 0 12px; }
	.dk-contact__intro { padding-top: 32px !important; }
	.dk-contact .dk-contact__lead, .dk-contact .dk-contact__lead p { font-size: 16.5px; }
	.dk-contact__main > .elementor-container,
	.dk-contact__email > .elementor-container { flex-direction: column; gap: 16px; }
	.dk-contact .elementor-column { width: 100% !important; }
	.dk-contact .dk-contact__tg > .elementor-widget-wrap { padding: 32px 24px !important; }
	.dk-contact .dk-contact__tips > .elementor-widget-wrap { padding: 28px 24px !important; }
	.dk-contact__tg-btn .elementor-button.elementor-button { width: 100%; justify-content: center; }
	.dk-contact__quick-grid .elementor-column { flex-basis: 100%; }
	.dk-contact__email > .elementor-container { padding: 24px 20px; }
	.dk-contact__quick-head, .dk-contact__email { margin-top: 40px; }
}

/* 15. Footer
   ========================================================================== */
.site-footer { font-size: 14.5px; }
.site-footer .footer-top .footer--row-inner { padding: 56px 0 44px; }
.site-footer .footer-top,
.site-footer .footer-top a { color: #c9ced4; }
.site-footer .widget-title,
.site-footer .widget .widget-title {
	margin: 0 0 14px !important;
	font-family: var(--dk-font) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff !important;
}
.site-footer .widget ul { margin: 0; padding: 0; list-style: none; }
.site-footer .widget ul li { margin: 0 0 9px; padding: 0; }
.site-footer .widget ul li a {
	color: #c9ced4 !important;
	text-decoration: none;
	font-size: 14.5px;
}
.site-footer .widget ul li a:hover { color: #fff !important; }
.site-footer .builder-item:has(> .item--inner > .widget-area):not(:has(.widget)) { display: none; }
.site-footer .footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.site-footer .footer-bottom .footer--row-inner { padding: 10px 0; min-height: 0; }
.site-footer .footer-bottom,
.site-footer .footer-bottom a { font-size: 13px; color: #8b929a; }

/* Colonna "Do you need help?" (contatti da compilare a mano in Aspetto > Widget) */
.site-footer .dk-footer-contacts { margin: 0; padding: 0; list-style: none; }
.site-footer .dk-footer-contacts__item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0 0 14px !important;
	padding-left: 30px !important;
}
.site-footer .dk-footer-contacts__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px;
	height: 18px;
	background-color: #8fc2bc;
	-webkit-mask: var(--dk-icon) center / contain no-repeat;
	mask: var(--dk-icon) center / contain no-repeat;
}
.site-footer .dk-footer-contacts__item--telegram { --dk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E"); }
.site-footer .dk-footer-contacts__item--email { --dk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.site-footer .dk-footer-contacts__item span {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8b929a;
}
.site-footer .dk-footer-contacts__item a {
	color: #fff !important;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	word-break: break-word;
}
.site-footer .dk-footer-contacts__item a:hover { color: #8fc2bc !important; }

/* Newsletter nel footer (stesso modulo MailerLite, in <object>) */
.site-footer .dk-footer-newsletter object {
	display: block;
	width: 100% !important;
	height: 118px !important;
	margin-top: 4px;
	background: transparent;
}
.site-footer .widget .widget-title { line-height: 1.5; }

/* Colonne footer: help | quick links | newsletter */
@media (min-width: 960px) {
	.site-footer .footer-top .hfg-grid { column-gap: 48px; }
}
@media (max-width: 959px) {
	.site-footer .footer-top .builder-item { margin-bottom: 32px !important; }
	.site-footer .footer-top .hfg-slot:last-child .builder-item:last-child { margin-bottom: 0 !important; }
}

/* Copyright (widget Footer Four, riga inferiore) */
.site-footer .footer-bottom .footer--row-inner { padding: 18px 0; }
.site-footer .footer-bottom .builder-item--footer-four-widgets,
.site-footer .footer-bottom .builder-item--footer-four-widgets .widget { margin: 0 !important; }
.site-footer .dk-footer-copyright {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #8b929a;
}

/* Pulsante "torna su" */
.scroll-to-top {
	border-radius: 50% !important;
	background: var(--dk-ink) !important;
	box-shadow: var(--dk-shadow);
}

/* 16. Responsive
   ========================================================================== */
@media (max-width: 1100px) and (min-width: 769px) {
	.woocommerce ul.products.columns-4:not(.elementor-grid),
	.woocommerce ul.products.columns-5:not(.elementor-grid) { --dk-cols: 3; }
}

@media (max-width: 959px) {
	/* Top bar su mobile: fiducia + promo, compatti */
	.dk-topbar {
		flex-direction: column;
		gap: 2px;
		min-height: 0;
		padding: 7px 0;
		font-size: 11.5px;
		text-align: center;
	}
	.dk-trust { gap: 14px; justify-content: center; flex-wrap: wrap; row-gap: 2px; }
	.dk-trust__item { gap: 5px; }
	.dk-trust__item::before { width: 13px; height: 13px; }
	.dk-promo { text-align: center; font-size: 11px; color: #aeb4bb; }

	/* Righe con un solo elemento: usa tutta la larghezza */
	.hfg_header .header-top[data-show-on="mobile"] .row--wrapper,
	.hfg_header .header-bottom[data-show-on="mobile"] .row--wrapper { display: flex !important; }
	.hfg_header .header-top[data-show-on="mobile"] .hfg-slot,
	.hfg_header .header-bottom[data-show-on="mobile"] .hfg-slot { flex: 1 1 auto; justify-content: center; }
	.hfg_header .header-top[data-show-on="mobile"] .hfg-slot:empty,
	.hfg_header .header-bottom[data-show-on="mobile"] .hfg-slot:empty { display: none; }
	.hfg_header .header-top[data-show-on="mobile"] .builder-item,
	.hfg_header .header-bottom[data-show-on="mobile"] .builder-item { width: 100%; }

	.hfg_header .header-main { border-bottom: 0; }
	.navbar-toggle {
		width: 44px;
		height: 44px;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--dk-line) !important;
		border-radius: 50% !important;
		background: #fff !important;
		color: var(--dk-ink) !important;
	}
	.navbar-toggle .bars { transform: scale(.85); }
	.site-logo .site-title { font-size: 22px; }
	.hfg_header .header-main .hfg-slot.right { gap: 4px; }

	/* Ricerca a tutta larghezza su mobile */
	.hfg_header .header-bottom .hfg-slot.left { flex: 1 1 auto; }
	.hfg_header .header-bottom .builder-item--header_search,
	.hfg_header .header-bottom .builder-item--header_search .item--inner,
	.hfg_header .header-bottom .builder-item--header_search .component-wrap { width: 100%; max-width: none; }
	.hfg_header .header-bottom { padding-bottom: 6px; }
	.aws-container .aws-search-form { height: 44px; }

	.woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
}

@media (max-width: 768px) {
	/* Griglia prodotti: 2 colonne compatte */
	ul.products { --dk-card-gap: 12px; }
	.woocommerce ul.products:not(.elementor-grid) { --dk-cols: 2 !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title,
	ul.products li.product .woocommerce-loop-product__title {
		font-size: 13.5px !important;
		padding: 0 12px !important;
	}
	.woocommerce ul.products li.product .price,
	.elementor-widget-woocommerce-products ul.products li.product .price,
	ul.products li.product .price { padding: 0 12px !important; font-size: 15.5px !important; }
	ul.products li.product .price del { font-size: 12px !important; }
	ul.products li.product .star-rating { margin: 0 12px 6px !important; }
	ul.products li.product .sp-product-image { margin-bottom: 10px !important; }
	.woocommerce ul.products li.product,
	.elementor-widget-woocommerce-products ul.products li.product { padding-bottom: 12px !important; }

	/* Carrello responsive (tabella WooCommerce "shop_table_responsive") */
	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td { padding: 10px 16px !important; }
	.woocommerce table.shop_table_responsive tr td::before { font-weight: 600; color: var(--dk-muted); font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; }
	.woocommerce table.shop_table_responsive tbody tr { border-top: 1px solid var(--dk-line); border-bottom: 0 !important; }
	.woocommerce table.shop_table_responsive tbody tr:first-child { border-top: 0; }
	.cart_totals table.shop_table_responsive tr td { padding: 10px 0 !important; }
	.cart_totals table.shop_table_responsive tr { border: 0 !important; }
	.cart_totals tr.woocommerce-shipping-totals td { text-align: left !important; }
	.cart_totals tr.woocommerce-shipping-totals td::before { display: block; float: none !important; margin-bottom: 8px; }
	.cart_totals tr.woocommerce-shipping-totals #shipping_method li { display: flex; align-items: flex-start; gap: 8px; }
	.cart_totals tr.woocommerce-shipping-totals #shipping_method li input { order: -1; margin: 3px 0 0 !important; flex: none; }
	.cart_totals tr.woocommerce-shipping-totals .woocommerce-shipping-destination,
	.cart_totals tr.woocommerce-shipping-totals .woocommerce-shipping-calculator { text-align: left; }
	.woocommerce table.shop_table_responsive tbody tr td { border-top: 0 !important; }
	.woocommerce table.shop_table_responsive tr td.product-remove { text-align: right !important; }
	.woocommerce table.shop_table .product-thumbnail { display: block !important; text-align: center !important; }
	.woocommerce table.shop_table .product-thumbnail::before { display: none; }
	.woocommerce table.shop_table .product-thumbnail img { width: 96px !important; height: 96px; }
	.woocommerce table.cart td.actions .coupon { flex-direction: column; align-items: stretch; }
	.woocommerce table.cart td.actions .coupon .input-text { width: 100% !important; float: none !important; }
	.woocommerce table.cart td.actions .coupon .button,
	.woocommerce table.cart td.actions > .button { width: 100% !important; float: none !important; margin-top: 8px !important; }

	.woocommerce-checkout #order_review,
	.woocommerce .cart-collaterals .cart_totals { padding: 18px; }

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { width: 100% !important; float: none !important; }

	/* Galleria prodotto: miniature in una riga scorrevole */
	.single-product div.product div.images .flex-control-thumbs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 6px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	.single-product div.product div.images .flex-control-thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
	.woocommerce-breadcrumb { overflow-wrap: anywhere; }

	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error { font-size: 14px; }
	.woocommerce-message .button,
	.woocommerce-info .button { margin-left: 0 !important; width: 100%; }

	.elementor-section:has(object[data*="load-selzy"]) > .elementor-container { padding: 28px 18px 14px; margin: 0 15px; border-radius: 12px; }
	.elementor-widget-shortcode object[data*="load-selzy"] { height: 128px !important; }
	.elementor-section:has(object[data*="load-selzy"]) { padding-bottom: 48px !important; }

	.site-footer .footer-top .footer--row-inner { padding: 40px 0 28px; }

	body.page .nv-content-wrap.entry-content { font-size: 15.5px; }
}

/* 16b. Top bar compatta su mobile: 2 righe
   Riga 1: punti di fiducia uno alla volta (stanno su una riga in ogni lingua).
   Riga 2: promo a sinistra, selettore lingua a destra.
   ========================================================================== */
@media (max-width: 959px) {
	.dk-topbar {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas: "trust trust" "promo lang";
		align-items: center;
		column-gap: 10px;
		row-gap: 3px;
		padding: 6px 14px;
		text-align: left;
	}
	.dk-topbar .dk-trust {
		grid-area: trust;
		position: relative;
		display: block;
		height: 17px;
		overflow: hidden;
	}
	.dk-topbar .dk-trust__item {
		position: absolute;
		inset: 0;
		justify-content: center;
		opacity: 0;
		animation: dk-trust-cycle 9s infinite;
	}
	.dk-topbar .dk-trust__item:nth-child(2) { animation-delay: 3s; }
	.dk-topbar .dk-trust__item:nth-child(3) { animation-delay: 6s; }
	.dk-topbar .dk-promo { grid-area: promo; text-align: left; line-height: 1.3; }
	.dk-topbar .dk-lang {
		grid-area: lang;
		margin: 0;
		padding: 0 0 0 10px;
		border-left: 1px solid rgba(255, 255, 255, .18);
	}
	.dk-topbar .dk-lang a { padding: 2px 4px; font-size: 11px; }
}
@keyframes dk-trust-cycle {
	0%        { opacity: 0; transform: translateY(5px); }
	4%, 30%   { opacity: 1; transform: none; }
	34%, 100% { opacity: 0; transform: translateY(-5px); }
}
@media (max-width: 959px) and (prefers-reduced-motion: reduce) {
	.dk-topbar .dk-trust__item { animation: none; }
	.dk-topbar .dk-trust__item:first-child { opacity: 1; }
}

/* Home finishing: compact spacers and an accessible brand navigation. */
body:has(.dk-hero-wrap) .elementor-element.elementor-element-0ed9936,
body:has(.dk-hero-wrap) .elementor-element.elementor-element-e23bf24 {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body:has(.dk-hero-wrap) .elementor-element-0ed9936 .elementor-spacer-inner,
body:has(.dk-hero-wrap) .elementor-element-e23bf24 .elementor-spacer-inner {
    height: 4px !important;
}
.dk-home-brands {
    max-width: 1240px;
    margin: 28px auto 16px;
    padding: 0 15px;
}
.dk-home-brands__title {
    margin: 0 0 14px;
    font-family: var(--dk-font);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--dk-muted);
}
.dk-home-brands__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.dk-home-brands__grid li { margin: 0; padding: 0; min-width: 0; }
.dk-home-brands__link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    padding: 18px;
    border: 1px solid var(--dk-line);
    border-radius: 12px;
    background: #fafaf9;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.dk-home-brands__link img {
    display: block;
    width: 100%;
    max-width: 145px;
    height: 52px;
    object-fit: contain;
    filter: grayscale(1);
}
.dk-home-brands__link--rolex img { max-width: 110px; }
.dk-home-brands__link--richard-mille img { max-width: 155px; }
.dk-home-brands__link:hover { background: #fff; border-color: #a4b5b1; transform: translateY(-2px); }
.dk-home-brands__link:focus-visible { outline: 2px solid var(--dk-accent); outline-offset: 4px; }
body:has(.dk-hero-wrap) .elementor-widget-woocommerce-products ul.products li.product { border-color: #e8eae8 !important; }
@media (max-width: 767px) {
    .dk-home-brands { margin: 20px auto 12px; padding: 0 12px; }
    .dk-home-brands__title { font-size: 11px; margin-bottom: 10px; }
    .dk-home-brands__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .dk-home-brands__link { height: 74px; padding: 12px; border-radius: 10px; }
    .dk-home-brands__link img { height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .dk-home-brands__link { transition: none; }
    .dk-home-brands__link:hover { transform: none; }
}
body:has(.dk-hero-wrap) .elementor-element-0ed9936 > .elementor-container { max-width: 1240px; }
body:has(.dk-hero-wrap) .elementor-element-0ed9936 .elementor-widget-wrap { padding: 0 !important; }
body:has(.dk-hero-wrap) .elementor-element-0ed9936 .elementor-widget-spacer { margin-bottom: 0 !important; }
body:has(.dk-hero-wrap) .elementor-element-e23bf24 .elementor-widget-wrap { padding: 0 !important; }
.dk-home-brands__link--audemars-piguet img { max-width: 138px; }
.dk-home-brands__link--patek-philippe img { max-width: 118px; }
