/*
Theme Name:   WARBOR
Theme URI:    https://warbor.it
Description:  Premium dark luxury fitness supplements ecommerce theme — child of Astra. High-conversion, mobile-first, cinematographic design.
Author:       Danilo Flow
Author URI:   https://warbor.it
Template:     astra
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  warbor
*/

/* ==========================================================================
   WARBOR — Premium Fitness Supplements Theme
   Dark luxury · High conversion · Mobile first
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS Custom Properties
   -------------------------------------------------------------------------- */
:root {
	/* ── Background — 5 depth levels for hierarchy ── */
	--wb-bg:          #0B0B0D;
	--wb-bg-mid:      #0F0F13;
	--wb-bg-alt:      #121216;
	--wb-bg-card:     #1A1A20;
	--wb-bg-elevated: #222228;
	--wb-bg-input:    #16161C;

	/* ── Gold ── */
	--wb-gold:        #C8A96B;
	--wb-gold-dark:   #B8914F;
	--wb-gold-light:  #E0C58A;
	--wb-gold-grad:   linear-gradient(135deg, #8E6A35 0%, #C8A96B 50%, #E6CF9A 100%);
	--wb-gold-glow:   rgba(200,169,107,0.08);

	/* ── Text — warm, never ice-white ── */
	--wb-text:        #F5F1E8;
	--wb-text-mid:    #DDD7CD;
	--wb-text-muted:  #A8A29A;
	--wb-text-faint:  #6B6560;

	/* ── Functional ── */
	--wb-green:       #22C55E;
	--wb-green-light: #34D399;
	--wb-red:         #D9534F;
	--wb-blue:        #4A90D9;

	/* ── Spacing — generous breathing ── */
	--wb-gap:         clamp(18px, 4vw, 36px);
	--wb-gap-lg:      clamp(48px, 8vw, 88px);
	--wb-gap-xl:      clamp(72px, 11vw, 130px);

	/* ── Radius ── */
	--wb-radius:      12px;
	--wb-radius-sm:   8px;
	--wb-radius-lg:   20px;
	--wb-radius-pill: 100px;

	/* ── Shadows ── */
	--wb-shadow:      0 2px 8px rgba(0,0,0,0.3);
	--wb-shadow-lg:   0 8px 32px rgba(0,0,0,0.4);
	--wb-shadow-gold: 0 4px 20px rgba(200,169,107,0.15);

	/* ── Transition ── */
	--wb-ease:        cubic-bezier(.4,0,.2,1);
	--wb-ease-spring: cubic-bezier(.34,1.56,.64,1);
	--wb-dur:         0.3s;

	/* ── Font ── */
	--wb-font:        'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--wb-font-serif:  'Playfair Display', Georgia, 'Times New Roman', serif;
	--wb-font-mono:   'JetBrains Mono', 'Fira Code', monospace;
}

/* --------------------------------------------------------------------------
   2. Global Reset & Base
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	scroll-behavior: smooth;
}

body,
.ast-separate-container,
.ast-plain-container,
.ast-page-builder-template {
	background-color: var(--wb-bg) !important;
	color: var(--wb-text);
	font-family: var(--wb-font);
	line-height: 1.6;
}

::selection {
	background: var(--wb-gold);
	color: var(--wb-bg);
}

a {
	color: var(--wb-gold);
	text-decoration: none;
	transition: color var(--wb-dur) var(--wb-ease);
}

a:hover {
	color: var(--wb-gold-light);
}

img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   3. Typography
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	color: var(--wb-text);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 2.6rem); }
h3 { font-size: clamp(1.2rem, 3vw, 1.8rem); }
h4 { font-size: clamp(1rem, 2vw, 1.3rem); }

p {
	color: var(--wb-text-mid);
	line-height: 1.7;
}

.wb-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--wb-gold);
}

.wb-serif {
	font-family: var(--wb-font-serif);
	font-style: italic;
}

/* --------------------------------------------------------------------------
   4. Layout Utilities
   -------------------------------------------------------------------------- */
.wb-container {
	width: 100%;
	max-width: 1340px;
	margin: 0 auto;
	padding: 0 var(--wb-gap);
}

.wb-section {
	padding: var(--wb-gap-xl) 0;
}

.wb-grid {
	display: grid;
	gap: var(--wb-gap);
}

.wb-grid-2 { grid-template-columns: repeat(2, 1fr); }
.wb-grid-3 { grid-template-columns: repeat(3, 1fr); }
.wb-grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
	.wb-grid-4 { grid-template-columns: repeat(2, 1fr); }
	.wb-grid-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.wb-grid-4,
	.wb-grid-3,
	.wb-grid-2 { grid-template-columns: 1fr; }
}

.wb-text-center { text-align: center; }

.wb-section-header {
	text-align: center;
	margin-bottom: clamp(32px, 5vw, 56px);
}

.wb-section-header .wb-label {
	margin-bottom: 12px;
	display: block;
}

.wb-section-header h2 {
	margin: 0 0 14px;
}

.wb-section-header p {
	max-width: 600px;
	margin: 0 auto;
}

/* Gold accent line under section titles */
.wb-section-header h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	background: var(--wb-gold-grad);
	margin: 16px auto 0;
	border-radius: 2px;
}

/* ── Section depth alternation ── */
.wb-section-deep    { background: var(--wb-bg); }
.wb-section-mid     { background: var(--wb-bg-mid); }
.wb-section-alt     { background: var(--wb-bg-alt); }
.wb-section-card    { background: var(--wb-bg-card); }

/* Subtle separator between sections */
.wb-section + .wb-section {
	border-top: 1px solid rgba(200,169,107,0.06);
}

/* --------------------------------------------------------------------------
   5. Buttons
   -------------------------------------------------------------------------- */
.wb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 32px;
	border: none;
	border-radius: var(--wb-radius-sm);
	font-family: var(--wb-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: all var(--wb-dur) var(--wb-ease);
	text-decoration: none;
	line-height: 1.4;
	position: relative;
	overflow: hidden;
}

.wb-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0);
	transition: background var(--wb-dur) var(--wb-ease);
}

.wb-btn:hover::after {
	background: rgba(255,255,255,0.06);
}

/* Primary — Gold */
.wb-btn-primary {
	background: var(--wb-gold-grad);
	color: #0B0B0D;
	box-shadow: var(--wb-shadow-gold);
	text-shadow: 0 1px 0 rgba(0,0,0,0.1);
}

.wb-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 28px rgba(200,169,107,0.35), 0 0 40px rgba(200,169,107,0.12);
	color: #0B0B0D;
}

/* Secondary — outlined */
.wb-btn-secondary {
	background: transparent;
	color: var(--wb-text);
	border: 1px solid rgba(200,169,107,0.35);
}

.wb-btn-secondary:hover {
	border-color: var(--wb-gold);
	color: var(--wb-gold);
	transform: translateY(-1px);
}

/* Ghost — minimal */
.wb-btn-ghost {
	background: rgba(255,255,255,0.05);
	color: var(--wb-text);
	border: 1px solid rgba(255,255,255,0.08);
}

.wb-btn-ghost:hover {
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.15);
}

/* Green CTA — conversion color, maximum visibility */
.wb-btn-green {
	background: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
	color: #fff;
	box-shadow: 0 4px 16px rgba(34,197,94,0.3);
	font-weight: 700;
	text-shadow: 0 1px 1px rgba(0,0,0,0.15);
}

.wb-btn-green:hover {
	background: linear-gradient(135deg, #22C55E 0%, #34D399 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 28px rgba(34,197,94,0.4), 0 0 40px rgba(34,197,94,0.12);
	color: #fff;
}

/* Small */
.wb-btn-sm {
	padding: 9px 20px;
	font-size: 12px;
}

/* Large */
.wb-btn-lg {
	padding: 18px 42px;
	font-size: 15px;
}

/* Full width mobile */
@media (max-width: 640px) {
	.wb-btn-mobile-full {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   6. Announcement Bar
   -------------------------------------------------------------------------- */
.wb-announcement {
	background: linear-gradient(90deg, var(--wb-bg-alt) 0%, rgba(200,169,107,0.06) 50%, var(--wb-bg-alt) 100%);
	border-bottom: 1px solid rgba(200,169,107,0.12);
	padding: 9px 0;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: var(--wb-text-mid);
	position: relative;
	z-index: 1000;
}

.wb-announcement strong {
	color: var(--wb-gold);
}

.wb-announcement a {
	color: var(--wb-gold-light);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* --------------------------------------------------------------------------
   6b. Cart Icon nel menu primario (ultima voce)
   -------------------------------------------------------------------------- */

.wb-menu-cart-item {
	display: inline-flex !important;
	align-items: center;
	margin-left: 6px !important;
	padding: 0 !important;
}

.wb-menu-cart-item .wb-menu-cart {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(200, 169, 107, 0.4);
	background: rgba(26, 26, 32, 0.5);
	color: var(--wb-gold, #C8A96B);
	text-decoration: none !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
	padding: 0 !important;
	box-shadow: none;
}

.wb-menu-cart-item .wb-menu-cart:hover,
.wb-menu-cart-item .wb-menu-cart:focus-visible {
	background: rgba(200, 169, 107, 0.12);
	border-color: var(--wb-gold, #C8A96B);
	color: #E6CF9A;
	outline: none;
	transform: translateY(-1px);
}

.wb-menu-cart-icon {
	width: 18px;
	height: 18px;
	color: inherit;
	stroke: currentColor;
	display: block;
}

.wb-menu-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A);
	color: #0B0B0D;
	font-size: 10px;
	font-weight: 800;
	line-height: 17px;
	text-align: center;
	border-radius: 9px;
	border: 1.5px solid #0B0B0D;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.55);
	display: none;
	pointer-events: none;
	font-family: var(--wb-font, 'Inter', sans-serif);
	letter-spacing: 0;
}

.wb-menu-cart-count.has-items {
	display: inline-block;
	animation: wb-menu-cart-pop .35s cubic-bezier(.5, 1.6, .5, 1);
}

@keyframes wb-menu-cart-pop {
	0%   { transform: scale(0.55); }
	60%  { transform: scale(1.18); }
	100% { transform: scale(1); }
}

/* --------------------------------------------------------------------------
   7. Header / Navigation
   -------------------------------------------------------------------------- */

/* Dark header override for Astra */
.ast-primary-header-bar,
.site-header,
.ast-header-sticked,
#ast-desktop-header,
.ast-main-header-wrap,
.main-header-bar {
	background-color: var(--wb-bg) !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

/* Sticky shrink */
.ast-header-sticked,
.ast-primary-header-bar.ast-sticky-active {
	background-color: rgba(11,11,13,0.95) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 2px 20px rgba(0,0,0,0.4);
}

/* Nav links */
.main-header-bar .main-header-menu > .menu-item > a,
.ast-header-sections-navigation .menu-link,
.ast-builder-menu .menu-item > .menu-link {
	color: var(--wb-text-mid) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	transition: color 0.25s var(--wb-ease) !important;
}

.main-header-bar .main-header-menu > .menu-item > a:hover,
.ast-header-sections-navigation .menu-link:hover,
.ast-builder-menu .menu-item > .menu-link:hover,
.main-header-bar .main-header-menu > .current-menu-item > a {
	color: var(--wb-gold) !important;
}

/* Cart & account icons */
.ast-header-woo-cart .ast-cart-menu-wrap,
.ast-site-header-cart,
.ast-header-account-wrap {
	color: var(--wb-text) !important;
}

.ast-header-woo-cart .ast-cart-menu-wrap:hover,
.ast-header-account-wrap:hover {
	color: var(--wb-gold) !important;
}

/* Cart count badge */
.ast-site-header-cart .count,
.ast-header-woo-cart .count {
	background: var(--wb-gold) !important;
	color: var(--wb-bg) !important;
	font-weight: 700;
}

/* Logo — hide site title text (kept for SEO) */
.site-title,
.site-branding .site-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ═══ Mobile Menu — Off-Canvas Drawer (Full WARBOR Dark Theme) ═══ */

/* Drawer background + overlay */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-header-wrap .ast-mobile-header-content,
[data-section="section-header-mobile-menu"] {
	background-color: var(--wb-bg-alt) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-inner {
	background: var(--wb-bg-alt) !important;
	max-width: 85% !important;
	width: 320px !important;
	border-left: 1px solid rgba(200,169,107,0.1) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-overlay {
	background-color: rgba(0,0,0,0.7) !important;
}

/* Close button */
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close {
	color: var(--wb-text-mid) !important;
	padding: 16px !important;
	transition: color 0.2s ease !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close:hover {
	color: var(--wb-gold) !important;
}

/* Menu links — Off-Canvas */
.ast-mobile-popup-drawer .menu-link,
.ast-mobile-popup-drawer .menu-item > a,
.ast-mobile-popup-content .menu-item > a,
.ast-mobile-popup-content .menu-link {
	color: var(--wb-text-mid) !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	padding: 14px 20px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0.3px !important;
	display: block !important;
	transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease !important;
}

.ast-mobile-popup-drawer .menu-link:hover,
.ast-mobile-popup-drawer .menu-item > a:hover,
.ast-mobile-popup-content .menu-item > a:hover,
.ast-mobile-popup-drawer .current-menu-item > a {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
	padding-left: 24px !important;
}

/* Sub-menus inside drawer */
.ast-mobile-popup-drawer .sub-menu,
.ast-mobile-popup-content .sub-menu {
	background: rgba(0,0,0,0.15) !important;
	border: none !important;
	box-shadow: none !important;
}

.ast-mobile-popup-drawer .sub-menu .menu-item > a,
.ast-mobile-popup-content .sub-menu .menu-item > a {
	padding-left: 32px !important;
	font-size: 14px !important;
	color: var(--wb-text-muted) !important;
}

.ast-mobile-popup-drawer .sub-menu .menu-item > a:hover {
	color: var(--wb-gold) !important;
	padding-left: 36px !important;
}

/* Submenu toggle arrow */
.ast-mobile-popup-drawer .ast-menu-toggle,
.ast-mobile-popup-content .ast-menu-toggle {
	color: var(--wb-text-muted) !important;
	border: none !important;
	background: transparent !important;
}

.ast-mobile-popup-drawer .ast-menu-toggle:hover {
	color: var(--wb-gold) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   DRAWER MOBILE — DARK FORZATO (rete larga)
   Astra può renderizzare il drawer con classi diverse a seconda della versione
   e del tipo di header builder. Targettiamo a tappeto qualunque variante.
   ══════════════════════════════════════════════════════════════════════════════ */

/* Outer drawer container: tutte le varianti note */
.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-header-wrap,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-builder-menu-mobile,
.ast-flyout-menu,
.main-header-bar-navigation,
[data-section="section-header-mobile-menu"],
[data-section="section-mobile-menu"],
[class*="mobile-popup"],
[class*="mobile-drawer"],
[class*="ast-mobile"][class*="content"],
[class*="ast-mobile"][class*="inner"] {
	background: #0B0B0D !important;
	background-color: #0B0B0D !important;
	color: #FFFFFF !important;
}

/* Tutti i contenitori interni (widget, sezioni, account, search) trasparenti
   così mostrano il dark del genitore e nessun residuo bianco. */
.ast-mobile-popup-drawer *:not(input):not(textarea):not(select):not(button):not(a):not(.df-login-required-link),
.ast-mobile-header-wrap *:not(input):not(textarea):not(select):not(button):not(a):not(.df-login-required-link),
.ast-builder-menu-mobile *:not(input):not(textarea):not(select):not(button):not(a):not(.df-login-required-link) {
	background: transparent !important;
	background-color: transparent !important;
}

/* Voci di menu — bianche su dark, NESSUNA in oro a parte il pulsante Accedi */
.ast-mobile-popup-drawer .menu-item > a,
.ast-mobile-popup-drawer .menu-link,
.ast-mobile-header-wrap .menu-item > a,
.ast-mobile-header-wrap .menu-link,
.ast-builder-menu-mobile .menu-item > a,
.ast-builder-menu-mobile .menu-link,
.wb-mobile-menu-fallback .menu-item a,
.wb-mobile-pages-fallback .menu-item a {
	color: #FFFFFF !important;
	background: transparent !important;
	font-weight: 500 !important;
}

.ast-mobile-popup-drawer .current-menu-item > a,
.ast-mobile-header-wrap .current-menu-item > a,
.ast-builder-menu-mobile .current-menu-item > a,
.wb-mobile-menu-fallback .current-menu-item > a {
	color: var(--wb-gold) !important; /* solo l'item attivo in oro */
}

.ast-mobile-popup-drawer .menu-item > a:hover,
.ast-mobile-popup-drawer .menu-link:hover,
.ast-mobile-header-wrap .menu-item > a:hover,
.ast-builder-menu-mobile .menu-item > a:hover,
.wb-mobile-menu-fallback .menu-item a:hover {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
}

/* Heading/testi nel drawer su trasparente, colore cream/bianco */
.ast-mobile-popup-drawer h1,
.ast-mobile-popup-drawer h2,
.ast-mobile-popup-drawer h3,
.ast-mobile-popup-drawer h4,
.ast-mobile-popup-drawer p,
.ast-mobile-popup-drawer span:not(.df-login-required-link):not(.wb-mobile-drawer-brand),
.ast-mobile-popup-drawer label,
.ast-mobile-header-wrap h1,
.ast-mobile-header-wrap h2,
.ast-mobile-header-wrap h3,
.ast-mobile-header-wrap p {
	color: #FFFFFF !important;
}

/* Brand text del logo mobile resta dorato (specificità maggiore della regola broad sopra) */
.ast-mobile-popup-drawer .wb-mobile-drawer-header .wb-mobile-drawer-brand,
.ast-mobile-popup-drawer .wb-mobile-drawer-brand {
	color: var(--wb-gold) !important;
}

/* ── Close button X del drawer: bulletproof ──
   Forziamo dimensione touch-friendly, z-index alto e nessun elemento sopra
   che possa intercettare il click. */
.ast-mobile-popup-drawer .ast-mobile-popup-header {
	position: relative !important;
	z-index: 10 !important;
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	padding: 8px !important;
	min-height: 56px !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close,
.ast-mobile-popup-drawer #menu-toggle-close {
	position: relative !important;
	z-index: 11 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	padding: 10px !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	color: var(--wb-text-mid) !important;
	pointer-events: auto !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close svg,
.ast-mobile-popup-drawer #menu-toggle-close svg {
	width: 20px !important;
	height: 20px !important;
	pointer-events: none !important;
	display: block !important;
}

/* Hamburger trigger residui DENTRO al popup-header (mai dovrebbero esserci, ma
   per sicurezza nascondi qualsiasi cosa che non sia il close ufficiale). */
.ast-mobile-popup-drawer .ast-mobile-popup-header > *:not(.menu-toggle-close):not(#menu-toggle-close):not(.ast-svg-iconset),
.ast-mobile-popup-drawer .ast-mobile-popup-header .ast-mobile-menu-trigger-minimal,
.ast-mobile-popup-drawer .ast-mobile-popup-header .ast-mobile-menu-trigger-fill,
.ast-mobile-popup-drawer .ast-mobile-popup-header [class*="menu-trigger"]:not(.menu-toggle-close) {
	display: none !important;
}

/* ── Niente chevron V né sub-menu nel drawer mobile: menu piatto ──
   Astra aggiunge un <button class="ast-menu-toggle"> accanto alle voci
   con figli (ACCOUNT). Sul mobile il menu è già full-width, non serve.
   Sub-menu stessa cosa: nascosti per coerenza. */
.ast-mobile-popup-drawer .wb-mobile-primary-clone .ast-menu-toggle,
.ast-mobile-popup-drawer .ast-menu-toggle,
.wb-mobile-primary-clone .ast-menu-toggle {
	display: none !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .sub-menu,
.wb-mobile-primary-clone .sub-menu {
	display: none !important;
}

/* ── Carrello su header mobile — icona visibile sopra dark ── */
@media (max-width: 921px) {
	.ast-header-break-point .ast-cart-menu-wrap,
	.ast-header-break-point .ast-site-header-cart,
	.ast-header-break-point .ast-header-woo-cart-info-wrap,
	.ast-mobile-header-wrap .ast-cart-menu-wrap,
	.ast-mobile-header-wrap .ast-site-header-cart {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		color: var(--wb-text) !important;
		opacity: 1 !important;
		visibility: visible !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.ast-header-break-point .ast-cart-menu-wrap svg,
	.ast-header-break-point .ast-site-header-cart svg,
	.ast-mobile-header-wrap .ast-cart-menu-wrap svg,
	.ast-mobile-header-wrap .ast-site-header-cart svg,
	.ast-header-break-point .ast-cart-menu-wrap .astra-icon,
	.ast-header-break-point .ast-site-header-cart .astra-icon {
		width: 24px !important;
		height: 24px !important;
		fill: var(--wb-text) !important;
		stroke: var(--wb-text) !important;
		color: var(--wb-text) !important;
		opacity: 1 !important;
	}

	.ast-header-break-point .ast-cart-menu-wrap .count,
	.ast-mobile-header-wrap .ast-cart-menu-wrap .count {
		background: var(--wb-gold) !important;
		color: #0B0B0D !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		min-width: 18px !important;
		height: 18px !important;
		line-height: 18px !important;
		padding: 0 5px !important;
		border-radius: 9px !important;
		position: absolute !important;
		top: -2px !important;
		right: -4px !important;
	}

	/* Wrapper per posizionare correttamente il badge */
	.ast-header-break-point .ast-cart-menu-wrap,
	.ast-mobile-header-wrap .ast-cart-menu-wrap {
		position: relative !important;
	}
}

/* Input (search, login form) restano leggibili dentro al drawer */
.ast-mobile-popup-drawer input[type="text"],
.ast-mobile-popup-drawer input[type="email"],
.ast-mobile-popup-drawer input[type="search"],
.ast-mobile-popup-drawer input[type="password"],
.ast-mobile-popup-drawer input[type="tel"],
.ast-mobile-popup-drawer textarea,
.ast-mobile-header-wrap input[type="text"],
.ast-mobile-header-wrap input[type="email"],
.ast-mobile-header-wrap input[type="search"],
.ast-mobile-header-wrap input[type="password"] {
	background: var(--wb-bg-input) !important;
	background-color: var(--wb-bg-input) !important;
	color: #FFFFFF !important;
	border: 1px solid rgba(200,169,107,0.2) !important;
	border-radius: 8px !important;
}

/* Il bottone "Accedi" minimale (render_login_required_inline + .df-login-required-link)
   è l'UNICO elemento dorato dentro al drawer */
.ast-mobile-popup-drawer .df-login-required-link,
.ast-mobile-header-wrap .df-login-required-link,
.ast-builder-menu-mobile .df-login-required-link {
	background: linear-gradient(135deg,#8E6A35,#C8A96B,#E6CF9A) !important;
	color: #0B0B0D !important;
}

/* ── Pulsante Accedi finale del drawer mobile (gradient gold) ── */
.wb-mobile-accedi-cta-wrap {
	padding: 18px 20px 24px !important;
	margin-top: 8px !important;
}

.wb-mobile-accedi-cta {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 14px 24px !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	letter-spacing: .4px !important;
	text-transform: none !important;
	text-decoration: none !important;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
	box-sizing: border-box !important;
	transition: opacity .2s, transform .2s !important;
}

.wb-mobile-accedi-cta--login {
	background: linear-gradient(135deg,#8E6A35 0%,#C8A96B 50%,#E6CF9A 100%) !important;
	color: #0B0B0D !important;
	border: none !important;
	box-shadow: 0 4px 16px rgba(200,169,107,0.18) !important;
}

.wb-mobile-accedi-cta--login:hover,
.wb-mobile-accedi-cta--login:focus {
	color: #0B0B0D !important;
	opacity: .92 !important;
	transform: translateY(-1px) !important;
}

.wb-mobile-accedi-cta--account {
	background: transparent !important;
	color: var(--wb-gold) !important;
	border: 1px solid var(--wb-gold) !important;
}

.wb-mobile-accedi-cta--account:hover,
.wb-mobile-accedi-cta--account:focus {
	background: rgba(200,169,107,0.08) !important;
	color: var(--wb-gold) !important;
}

/* ── Clone del menu primary dentro al drawer mobile ── */
.wb-mobile-primary-clone {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wb-mobile-primary-clone .menu-item > a {
	display: block !important;
	color: #FFFFFF !important;
	background: transparent !important;
	padding: 14px 20px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: .3px !important;
	text-transform: none !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	text-decoration: none !important;
}

.wb-mobile-primary-clone .menu-item > a:hover,
.wb-mobile-primary-clone .menu-item.current-menu-item > a {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
}

.wb-mobile-primary-clone .sub-menu {
	background: rgba(0,0,0,0.18) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.wb-mobile-primary-clone .sub-menu .menu-item > a {
	padding-left: 36px !important;
	font-size: 14px !important;
	color: var(--wb-text-mid) !important;
}

/* ── Cart "Carrello" dentro al drawer mobile ──
   Override TOTALE delle regole desktop di .wb-menu-cart-item / .wb-menu-cart
   (cerchio 38x38) per trasformarlo in voce di menu full-width con label.
   Selettori più specifici (3 classi) di quelli desktop (1 o 2). */

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart-item,
.wb-mobile-primary-clone .wb-menu-cart-item {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	list-style: none !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart,
.wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 14px 20px !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #FFFFFF !important;
	text-decoration: none !important;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: .3px !important;
	box-shadow: none !important;
	transform: none !important;
	box-sizing: border-box !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart::before,
.wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart::before {
	content: 'Carrello' !important;
	flex: 1 1 auto !important;
	color: #FFFFFF !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	text-align: left !important;
	white-space: nowrap !important;
	overflow: visible !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart-icon,
.wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart-icon {
	width: 22px !important;
	height: 22px !important;
	stroke: var(--wb-gold) !important;
	color: var(--wb-gold) !important;
	flex-shrink: 0 !important;
	order: 2 !important;
	position: static !important;
	display: block !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart-count,
.wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart-count {
	position: static !important;
	top: auto !important;
	right: auto !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 22px !important;
	height: 20px !important;
	padding: 0 6px !important;
	background: var(--wb-gold) !important;
	color: #0B0B0D !important;
	border: none !important;
	border-radius: 10px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	order: 3 !important;
	box-shadow: none !important;
	flex-shrink: 0 !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart-count.has-items,
.wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart-count.has-items {
	display: inline-flex !important;
}

.ast-mobile-popup-drawer .wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart:hover,
.wb-mobile-primary-clone .wb-menu-cart-item .wb-menu-cart:hover {
	background: rgba(200,169,107,0.06) !important;
	color: #FFFFFF !important;
	transform: none !important;
}

/* ── Logo in cima al drawer mobile ── */
.wb-mobile-drawer-header {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 24px 20px 18px !important;
	border-bottom: 1px solid rgba(200,169,107,0.12) !important;
	margin-bottom: 12px !important;
	background: transparent !important;
}

.wb-mobile-drawer-logo {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	text-decoration: none !important;
	border: none !important;
}

.wb-mobile-drawer-logo-img {
	max-height: 64px !important;
	max-width: 240px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

/* Quando c'è un custom logo immagine, niente span brand: il logo va al centro
   con padding più ampio per dare respiro */
.wb-mobile-drawer-logo--image {
	gap: 0 !important;
}

.wb-mobile-drawer-logo-svg {
	flex-shrink: 0 !important;
}

.wb-mobile-drawer-brand {
	color: var(--wb-gold) !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	background: transparent !important;
}

/* Categorie del menu mobile — spaziatura e tipografia coerente */
.wb-mobile-categories-menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wb-mobile-categories-menu .wb-mobile-cat-item > a {
	display: block !important;
	padding: 14px 20px !important;
	color: #FFFFFF !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: .3px !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.wb-mobile-categories-menu .wb-mobile-cat-item > a:hover {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
}

/* ═══ Mobile Menu — Dropdown Type (fallback) ═══ */

.ast-mobile-header-wrap .ast-mobile-header-content {
	background: var(--wb-bg-alt) !important;
	border-bottom: 1px solid rgba(200,169,107,0.1) !important;
	box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
}

.ast-mobile-header-content .menu-link,
.ast-mobile-header-content .menu-item > a {
	color: var(--wb-text-mid) !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	padding: 14px 20px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	transition: color 0.2s ease, background 0.2s ease !important;
}

.ast-mobile-header-content .menu-link:hover,
.ast-mobile-header-content .menu-item > a:hover,
.ast-mobile-header-content .current-menu-item > a {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
}

/* ═══ WARBOR Fallback Menu (PHP-rendered) ═══ */

.wb-mobile-menu-fallback,
.wb-mobile-pages-fallback {
	padding: 0 !important;
}

.wb-mobile-menu-fallback .main-header-menu,
.wb-mobile-pages-fallback .main-header-menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wb-mobile-menu-fallback .menu-item a,
.wb-mobile-pages-fallback .menu-item a {
	display: block !important;
	color: var(--wb-text-mid) !important;
	padding: 14px 20px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	text-decoration: none !important;
	transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease !important;
}

.wb-mobile-menu-fallback .menu-item a:hover,
.wb-mobile-pages-fallback .menu-item a:hover {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
	padding-left: 24px !important;
}

/* ═══ Hamburger icon ═══ */

.ast-mobile-menu-trigger-minimal .ast-mobile-svg,
.menu-toggle .ast-mobile-svg {
	fill: var(--wb-text) !important;
}

/* Hamburger button — bigger touch target */
.ast-mobile-menu-trigger-minimal,
.ast-button-wrap .menu-toggle {
	padding: 8px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* ═══ Mobile Header Bar ═══ */

@media (max-width: 921px) {
	/* Ensure header is above page content */
	.ast-mobile-header-wrap {
		position: relative;
		z-index: 999;
	}

	/* Compact header on mobile */
	.ast-primary-header-bar .site-primary-header-wrap {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	/* Logo sizing for mobile */
	.ast-header-break-point .site-logo-img .custom-logo,
	.ast-header-break-point .site-branding img {
		max-height: 45px !important;
		width: auto !important;
	}

	/* Cart icon color */
	.ast-header-break-point .ast-header-woo-cart .ast-cart-menu-wrap .count,
	.ast-header-break-point .ast-woo-header-cart-info-wrap {
		color: var(--wb-text) !important;
	}

	.ast-header-break-point .ast-cart-menu-wrap .count {
		background: var(--wb-gold) !important;
		color: #0B0B0D !important;
	}

	/* Account icon color */
	.ast-header-break-point .ast-header-account-wrap .ast-header-account-link {
		color: var(--wb-text) !important;
	}
}

/* Sub-menu dropdown */
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(255,255,255,0.06) !important;
	border-radius: var(--wb-radius) !important;
	box-shadow: var(--wb-shadow-lg) !important;
}

.main-header-menu .sub-menu .menu-item > a,
.ast-builder-menu .sub-menu .menu-item > a {
	color: var(--wb-text-mid) !important;
}

.main-header-menu .sub-menu .menu-item > a:hover,
.ast-builder-menu .sub-menu .menu-item > a:hover {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.06) !important;
}

/* --------------------------------------------------------------------------
   8. Hero Section
   -------------------------------------------------------------------------- */
.wb-hero {
	position: relative;
	min-height: 85vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--wb-bg);
}

/* --- Slideshow layer --- */
.wb-hero-slideshow {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.wb-hero-slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.2s var(--wb-ease), transform 6s var(--wb-ease);
	will-change: opacity, transform;
}

.wb-hero-slide--active {
	opacity: 1;
	transform: scale(1);
}

/* Dark overlay — opacity driven by inline custom property */
.wb-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		135deg,
		rgba(11,11,13, var(--hero-overlay, 0.7)) 0%,
		rgba(11,11,13, calc(var(--hero-overlay, 0.7) * 0.6)) 50%,
		rgba(11,11,13, calc(var(--hero-overlay, 0.7) * 0.35)) 100%
	);
	pointer-events: none;
}

/* Legacy single-image bg (retrocompatibilità) */
.wb-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.wb-hero-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(11,11,13,0.85) 0%,
		rgba(11,11,13,0.5) 50%,
		rgba(11,11,13,0.3) 100%
	);
}

.wb-hero-content {
	position: relative;
	z-index: 2;
	max-width: 660px;
	padding: var(--wb-gap-lg) 0;
}

.wb-hero-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--wb-gold);
	margin-bottom: 20px;
	display: block;
	opacity: 0;
	transform: translateY(16px);
	animation: wbHeroLabelIn 0.8s var(--wb-ease) 0.2s forwards;
}

@keyframes wbHeroLabelIn {
	to { opacity: 1; transform: translateY(0); }
}

.wb-hero h1 {
	font-size: clamp(2.2rem, 5.5vw, 4rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	margin: 0 0 20px;
}

.wb-hero h1 em {
	font-family: var(--wb-font-serif);
	font-style: italic;
	color: var(--wb-gold);
	font-weight: 600;
}

.wb-hero-subtitle {
	font-size: clamp(15px, 2vw, 18px);
	color: var(--wb-text-mid);
	line-height: 1.7;
	margin-bottom: 32px;
	max-width: 520px;
}

.wb-hero-ctas {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

/* Trust points row */
.wb-hero-trust {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
}

.wb-hero-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--wb-text-muted);
}

.wb-hero-trust-icon {
	width: 20px;
	height: 20px;
	color: var(--wb-gold);
	flex-shrink: 0;
}

/* Admin edit button */
.wb-hero-edit-btn {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 100;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: rgba(26, 26, 32, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid var(--wb-gold);
	border-radius: 8px;
	color: var(--wb-gold);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	opacity: 0.7;
}

.wb-hero-edit-btn:hover {
	opacity: 1;
	background: rgba(200, 169, 107, 0.15);
	box-shadow: 0 4px 20px rgba(200, 169, 107, 0.25);
	color: var(--wb-gold);
	transform: translateY(-1px);
}

.wb-hero-edit-btn svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

@media (max-width: 782px) {
	.wb-hero-edit-btn {
		top: 12px;
		right: 12px;
		padding: 8px 14px;
		font-size: 12px;
	}
}

/* Ambient glow behind hero */
.wb-hero::before {
	content: "";
	position: absolute;
	top: 20%;
	left: 60%;
	width: min(500px, 90vw);
	height: min(500px, 90vw);
	background: radial-gradient(circle, var(--wb-gold-glow) 0%, transparent 70%);
	pointer-events: none;
	z-index: 1;
}

/* When slideshow present, suppress the glow for cleaner look */
.wb-hero--has-bg::before {
	background: radial-gradient(circle, rgba(200,169,107,0.04) 0%, transparent 70%);
}

/* --- Tablet --- */
@media (max-width: 1024px) {
	.wb-hero {
		min-height: 75vh;
	}

	.wb-hero-content {
		max-width: 90%;
	}
}

/* --- Mobile --- */
@media (max-width: 782px) {
	.wb-hero {
		min-height: 100svh;
		min-height: 100vh;
		text-align: center;
	}

	.wb-hero-content {
		max-width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.wb-hero-subtitle {
		max-width: 100%;
	}

	.wb-hero-ctas {
		justify-content: center;
		width: 100%;
	}

	.wb-hero-ctas .wb-btn {
		flex: 1 1 auto;
		min-width: 0;
		text-align: center;
	}

	.wb-hero-trust {
		justify-content: center;
		gap: 16px;
	}

	.wb-hero-trust-item {
		font-size: 12px;
	}

	.wb-hero h1 {
		font-size: clamp(1.8rem, 8vw, 2.8rem);
	}
}

/* --- Small phones --- */
@media (max-width: 400px) {
	.wb-hero-ctas {
		flex-direction: column;
	}

	.wb-hero-ctas .wb-btn {
		width: 100%;
	}

	.wb-hero-trust {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}
}

/* --------------------------------------------------------------------------
   9. Product Cards (WooCommerce)
   -------------------------------------------------------------------------- */

/* Product listing background */
.ast-woocommerce,
.woocommerce,
.woocommerce-page {
	background-color: var(--wb-bg) !important;
}

/* Grid */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px !important;
}

@media (max-width: 1024px) {
	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	ul.products {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* Single product card */
ul.products li.product,
.woocommerce ul.products li.product {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--wb-radius) !important;
	overflow: hidden;
	padding: 0 !important;
	margin: 0 !important;
	transition: transform var(--wb-dur) var(--wb-ease),
	            box-shadow var(--wb-dur) var(--wb-ease),
	            border-color var(--wb-dur) var(--wb-ease);
	position: relative;
}

ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.5), 0 0 30px rgba(200,169,107,0.06);
	border-color: rgba(200,169,107,0.2);
}

/* Product image wrapper */
ul.products li.product .astra-shop-thumbnail-wrap,
ul.products li.product .woocommerce-LoopProduct-link img,
ul.products li.product > a > img {
	border-radius: 0;
	aspect-ratio: 1/1;
	object-fit: cover;
	width: 100%;
	transition: transform 0.5s var(--wb-ease), opacity 0.5s var(--wb-ease);
}

ul.products li.product:hover img {
	transform: scale(1.05);
}

/* Product info area */
ul.products li.product .astra-shop-summary-wrap,
ul.products li.product .woocommerce-loop-product__title {
	padding: 16px 18px 6px;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--wb-text) !important;
	margin: 0 0 6px !important;
	letter-spacing: -0.01em;
}

/* Price */
ul.products li.product .price,
.woocommerce ul.products li.product .price {
	color: var(--wb-gold) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

ul.products li.product .price del {
	color: var(--wb-text-faint) !important;
	font-weight: 400 !important;
	font-size: 13px !important;
}

ul.products li.product .price ins {
	color: var(--wb-gold) !important;
	text-decoration: none !important;
}

/* Star rating */
.woocommerce .star-rating {
	color: var(--wb-gold) !important;
}

.woocommerce .star-rating::before {
	color: rgba(200,169,107,0.25) !important;
}

/* Add to cart button */
ul.products li.product .button,
.woocommerce ul.products li.product .button {
	background: rgba(200,169,107,0.12) !important;
	color: var(--wb-gold) !important;
	border: 1px solid rgba(200,169,107,0.25) !important;
	border-radius: var(--wb-radius-sm) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 11px 18px !important;
	margin: 10px 18px 18px !important;
	transition: all var(--wb-dur) var(--wb-ease) !important;
	width: calc(100% - 36px) !important;
	text-align: center !important;
}

ul.products li.product .button:hover {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	border-color: var(--wb-gold) !important;
	box-shadow: var(--wb-shadow-gold) !important;
}

/* Sale badge */
.woocommerce span.onsale,
ul.products li.product .onsale {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
	min-height: auto !important;
	min-width: auto !important;
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
}

/* Custom badges */
.wb-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 5px 12px;
	border-radius: var(--wb-radius-sm);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	z-index: 5;
}

.wb-badge-best { background: var(--wb-gold); color: #0B0B0D; }
.wb-badge-new  { background: var(--wb-green); color: #fff; }
.wb-badge-hot  { background: var(--wb-red); color: #fff; }

/* --------------------------------------------------------------------------
   10. Single Product Page
   -------------------------------------------------------------------------- */
.single-product .site-content,
.single-product .ast-container {
	background-color: var(--wb-bg) !important;
}

.single-product div.product {
	color: var(--wb-text-mid);
}

/* Gallery */
.single-product .woocommerce-product-gallery {
	background: var(--wb-bg-alt);
	border-radius: var(--wb-radius);
	overflow: hidden;
}

.single-product .woocommerce-product-gallery img {
	border-radius: var(--wb-radius);
}

/* Title */
.single-product .product_title,
.single-product div.product .product_title {
	font-size: clamp(1.6rem, 4vw, 2.4rem) !important;
	font-weight: 800 !important;
	color: var(--wb-text) !important;
	letter-spacing: -0.02em;
}

/* Price */
.single-product div.product p.price,
.single-product div.product span.price {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: var(--wb-gold) !important;
}

.single-product div.product p.price del {
	color: var(--wb-text-faint) !important;
	font-size: 18px !important;
}

/* Short description */
.single-product .woocommerce-product-details__short-description {
	color: var(--wb-text-mid);
	font-size: 15px;
	line-height: 1.7;
}

/* Add to cart button */
.single-product .single_add_to_cart_button,
.single-product form.cart .button {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 16px 40px !important;
	border-radius: var(--wb-radius-sm) !important;
	border: none !important;
	box-shadow: var(--wb-shadow-gold) !important;
	transition: all var(--wb-dur) var(--wb-ease) !important;
}

.single-product .single_add_to_cart_button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 28px rgba(200,169,107,0.35) !important;
}

/* Quantity input */
.single-product .quantity .qty,
.woocommerce .quantity .qty {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: var(--wb-radius-sm) !important;
}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid rgba(255,255,255,0.08) !important;
	background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs::before {
	border-bottom-color: rgba(255,255,255,0.08) !important;
}

.single-product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
	color: var(--wb-text-muted) !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 12px 20px !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wb-gold) !important;
	border-bottom: 2px solid var(--wb-gold);
}

.single-product .woocommerce-tabs .panel {
	color: var(--wb-text-mid);
}

.single-product .woocommerce-tabs .panel h2 {
	color: var(--wb-text);
	font-size: 20px;
}

/* Related & Upsell */
.single-product .related.products h2,
.single-product .upsells h2,
.single-product .cross-sells h2 {
	color: var(--wb-text) !important;
	font-size: clamp(1.2rem, 3vw, 1.6rem) !important;
}

/* Meta */
.single-product .product_meta {
	color: var(--wb-text-muted);
	font-size: 13px;
}

.single-product .product_meta a {
	color: var(--wb-gold);
}

/* --------------------------------------------------------------------------
   11. Shop by Goal Section
   -------------------------------------------------------------------------- */
.wb-goals {
	background: var(--wb-bg-alt);
}

.wb-goal-card {
	--wb-goal-accent: var(--wb-gold);
	background: var(--wb-bg-card);
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: var(--wb-radius);
	padding: 36px 28px;
	text-align: center;
	transition: all var(--wb-dur) var(--wb-ease);
	cursor: pointer;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.wb-goal-card:hover {
	transform: translateY(-5px);
	border-color: color-mix(in srgb, var(--wb-goal-accent) 35%, transparent);
	box-shadow: 0 12px 40px rgba(0,0,0,0.4), 0 0 24px color-mix(in srgb, var(--wb-goal-accent) 18%, transparent);
}

.wb-goal-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--wb-goal-accent);
	transform: scaleX(0);
	transition: transform var(--wb-dur) var(--wb-ease);
}

.wb-goal-card:hover::before {
	transform: scaleX(1);
}

.wb-goal-icon {
	width: 52px;
	height: 52px;
	margin: 0 auto 18px;
	background: color-mix(in srgb, var(--wb-goal-accent) 14%, transparent);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wb-goal-accent);
	font-size: 24px;
	transition: background var(--wb-dur) var(--wb-ease);
}

.wb-goal-card:hover .wb-goal-icon {
	background: color-mix(in srgb, var(--wb-goal-accent) 24%, transparent);
}

.wb-goal-card h3 {
	font-size: 16px;
	margin: 0 0 8px;
}

.wb-goal-card p {
	font-size: 13px;
	color: var(--wb-text-muted);
	margin: 0 0 14px;
	flex: 1;
}

.wb-goal-count {
	display: inline-block;
	margin-top: auto;
	padding: 4px 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wb-goal-accent);
	background: color-mix(in srgb, var(--wb-goal-accent) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--wb-goal-accent) 25%, transparent);
	border-radius: 999px;
}

/* --------------------------------------------------------------------------
   12. Bundle / Stack Section
   -------------------------------------------------------------------------- */
.wb-bundles {
	background: var(--wb-bg);
}

.wb-bundle-card {
	background: linear-gradient(180deg, var(--wb-bg-card) 0%, var(--wb-bg-alt) 100%);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: var(--wb-radius);
	overflow: hidden;
	transition: all var(--wb-dur) var(--wb-ease);
}

.wb-bundle-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wb-shadow-lg);
	border-color: rgba(200,169,107,0.15);
}

.wb-bundle-img {
	aspect-ratio: 16/10;
	overflow: hidden;
}

.wb-bundle-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--wb-ease);
}

.wb-bundle-card:hover .wb-bundle-img img {
	transform: scale(1.05);
}

.wb-bundle-img-placeholder {
	background: radial-gradient(ellipse at center, #1A1A20 0%, #0B0B0D 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid rgba(200, 169, 107, 0.15);
}

.wb-bundle-img-placeholder svg {
	width: 60%;
	max-width: 200px;
	height: auto;
	transition: transform 0.5s var(--wb-ease);
}

.wb-bundle-card:hover .wb-bundle-img-placeholder svg {
	transform: scale(1.05) translateY(-2px);
}

.wb-bundle-body {
	padding: 24px;
}

.wb-bundle-body h3 {
	font-size: 18px;
	margin: 0 0 8px;
}

.wb-bundle-body p {
	color: var(--wb-text-muted);
	font-size: 14px;
	margin: 0 0 16px;
}

.wb-bundle-price {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.wb-bundle-price .wb-price-now {
	font-size: 22px;
	font-weight: 700;
	color: var(--wb-gold);
}

.wb-bundle-price .wb-price-was {
	font-size: 15px;
	color: var(--wb-text-faint);
	text-decoration: line-through;
}

.wb-bundle-save {
	display: inline-block;
	background: rgba(31,169,113,0.12);
	color: var(--wb-green);
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: var(--wb-radius-pill);
	letter-spacing: 0.5px;
}

/* --------------------------------------------------------------------------
   13. Why Choose Us / Trust Section
   -------------------------------------------------------------------------- */
.wb-trust {
	background: var(--wb-bg-mid);
}

.wb-trust-card {
	background: var(--wb-bg-card);
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: var(--wb-radius);
	padding: 32px 24px;
	text-align: center;
	transition: all var(--wb-dur) var(--wb-ease);
}

.wb-trust-card:hover {
	border-color: rgba(200,169,107,0.15);
	transform: translateY(-3px);
	box-shadow: 0 8px 32px rgba(0,0,0,0.35);
}

.wb-trust-icon {
	width: 48px;
	height: 48px;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wb-gold);
	font-size: 28px;
}

.wb-trust-card h4 {
	font-size: 15px;
	margin: 0 0 8px;
}

.wb-trust-card p {
	font-size: 13px;
	color: var(--wb-text-muted);
	margin: 0;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   14. Reviews / Testimonials
   -------------------------------------------------------------------------- */
.wb-reviews {
	background: var(--wb-bg-alt);
}

.wb-review-card {
	background: var(--wb-bg-card);
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: var(--wb-radius);
	padding: 32px;
	transition: all var(--wb-dur) var(--wb-ease);
}

.wb-review-card:hover {
	border-color: rgba(200,169,107,0.12);
	box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

.wb-review-stars {
	display: flex;
	gap: 3px;
	margin-bottom: 14px;
	color: var(--wb-gold);
	font-size: 16px;
}

.wb-review-text {
	font-size: 15px;
	color: var(--wb-text-mid);
	line-height: 1.7;
	margin-bottom: 18px;
	font-style: italic;
}

.wb-review-author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wb-review-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(200,169,107,0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wb-gold);
	font-weight: 700;
	font-size: 14px;
}

.wb-review-name {
	font-size: 14px;
	font-weight: 600;
	color: var(--wb-text);
}

.wb-review-role {
	font-size: 12px;
	color: var(--wb-text-muted);
}

/* --------------------------------------------------------------------------
   15. Lifestyle Banner
   -------------------------------------------------------------------------- */
.wb-lifestyle-banner {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	border-radius: var(--wb-radius-lg);
	margin: 0 var(--wb-gap);
}

.wb-lifestyle-banner-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.wb-lifestyle-banner-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11,11,13,0.4) 0%, rgba(11,11,13,0.7) 100%);
}

.wb-lifestyle-banner-content {
	position: relative;
	z-index: 2;
	max-width: 600px;
	padding: 60px 32px;
}

.wb-lifestyle-banner h2 {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	margin: 0 0 16px;
}

.wb-lifestyle-banner h2 em {
	font-family: var(--wb-font-serif);
	font-style: italic;
	color: var(--wb-gold);
}

.wb-lifestyle-banner p {
	color: var(--wb-text-mid);
	margin-bottom: 28px;
}

/* --------------------------------------------------------------------------
   16. FAQ Section
   -------------------------------------------------------------------------- */
.wb-faq {
	background: var(--wb-bg-mid);
}

.wb-faq-item {
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

.wb-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	cursor: pointer;
	transition: color var(--wb-dur) var(--wb-ease);
	-webkit-user-select: none;
	user-select: none;
}

.wb-faq-question h4 {
	font-size: 15px;
	font-weight: 600;
	margin: 0;
	transition: color var(--wb-dur) var(--wb-ease);
}

.wb-faq-question:hover h4 {
	color: var(--wb-gold);
}

.wb-faq-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255,255,255,0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform var(--wb-dur) var(--wb-ease), background var(--wb-dur) var(--wb-ease);
	color: var(--wb-text-muted);
	font-size: 14px;
}

.wb-faq-item.active .wb-faq-icon {
	transform: rotate(45deg);
	background: rgba(200,169,107,0.1);
	color: var(--wb-gold);
}

.wb-faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s var(--wb-ease), padding 0.4s var(--wb-ease);
}

.wb-faq-item.active .wb-faq-answer {
	max-height: 400px;
}

.wb-faq-answer p {
	padding-bottom: 20px;
	font-size: 14px;
	line-height: 1.7;
}

/* --------------------------------------------------------------------------
   17. CTA Final Section
   -------------------------------------------------------------------------- */
.wb-cta-final {
	background: linear-gradient(135deg, var(--wb-bg-alt) 0%, var(--wb-bg-card) 50%, var(--wb-bg-alt) 100%);
	text-align: center;
	padding: var(--wb-gap-xl) var(--wb-gap);
	position: relative;
	overflow: hidden;
}

.wb-cta-final::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(700px, 100vw);
	height: min(700px, 100vw);
	background: radial-gradient(circle, rgba(200,169,107,0.08) 0%, transparent 65%);
	pointer-events: none;
}

.wb-cta-final h2 {
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	margin: 0 0 16px;
	position: relative;
}

.wb-cta-final p {
	max-width: 500px;
	margin: 0 auto 32px;
	position: relative;
}

.wb-cta-final .wb-btn {
	position: relative;
}

/* --------------------------------------------------------------------------
   18. Footer — Custom WARBOR Footer
   -------------------------------------------------------------------------- */

/* Hide Astra default footer */
.ast-footer-overlay,
.site-footer,
.ast-small-footer,
.ast-primary-footer,
.ast-above-footer-wrap,
.ast-footer-copyright,
.site-below-footer-wrap {
	display: none !important;
}

/* ── Footer Main ── */
.wb-footer {
	background-color: var(--wb-bg-alt);
	color: var(--wb-text-muted);
	font-size: 14px;
	line-height: 1.6;
}

.wb-footer-main {
	padding: 60px 0 40px;
	border-top: 1px solid rgba(200,169,107,0.1);
}

/* ── Grid ── */
.wb-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr;
	gap: 40px;
}

@media (max-width: 1100px) {
	.wb-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 782px) {
	.wb-footer-grid {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}
}

/* ── Brand column ── */
.wb-footer-logo {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}

.wb-footer-brand-name {
	display: block;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 2px;
	color: var(--wb-text);
	text-transform: uppercase;
}

.wb-footer-brand-sub {
	display: block;
	font-size: 11px;
	color: var(--wb-text-muted);
	letter-spacing: 0.5px;
}

.wb-footer-brand-desc {
	color: var(--wb-text-muted);
	font-size: 13px;
	line-height: 1.7;
	margin-bottom: 20px;
}

/* ── Social icons ── */
.wb-footer-social {
	display: flex;
	gap: 12px;
}

.wb-footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255,255,255,0.06);
	color: var(--wb-text-mid);
	transition: all var(--wb-dur) var(--wb-ease);
}

.wb-footer-social a:hover {
	background: rgba(200,169,107,0.12);
	color: var(--wb-gold);
	transform: translateY(-2px);
}

/* ── Titles ── */
.wb-footer-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wb-text);
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(200,169,107,0.1);
}

/* ── Links ── */
.wb-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.wb-footer-links li {
	margin-bottom: 10px;
}

.wb-footer-links a {
	color: var(--wb-text-muted);
	font-size: 13px;
	transition: color var(--wb-dur) var(--wb-ease), padding-left var(--wb-dur) var(--wb-ease);
	text-decoration: none;
}

.wb-footer-links a:hover {
	color: var(--wb-gold);
	padding-left: 4px;
}

/* ── Contact list ── */
.wb-footer-contact {
	list-style: none;
	padding: 0;
	margin: 0;
}

.wb-footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 14px;
	font-size: 13px;
	color: var(--wb-text-muted);
}

.wb-footer-contact li svg {
	flex-shrink: 0;
	color: var(--wb-gold);
	margin-top: 2px;
}

.wb-footer-contact a {
	color: var(--wb-text-mid);
	text-decoration: none;
	transition: color var(--wb-dur) var(--wb-ease);
}

.wb-footer-contact a:hover {
	color: var(--wb-gold);
}

/* ── Payment icons ── */
.wb-footer-payments {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.wb-pay-icon {
	display: inline-flex;
	border-radius: 4px;
	overflow: hidden;
	opacity: 0.85;
	transition: opacity var(--wb-dur) var(--wb-ease);
}

.wb-pay-icon:hover {
	opacity: 1;
}

/* ── Footer Bottom ── */
.wb-footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.06);
	padding: 20px 0;
	background: linear-gradient(90deg,
		rgba(200,169,107,0.03) 0%,
		rgba(200,169,107,0.08) 50%,
		rgba(200,169,107,0.03) 100%
	);
}

.wb-footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.wb-footer-legal p {
	margin: 0;
	font-size: 12px;
	color: var(--wb-text-faint);
	line-height: 1.6;
}

.wb-footer-credits {
	font-size: 12px;
	color: var(--wb-text-faint);
}

.wb-footer-credits a {
	color: var(--wb-text-mid);
	font-weight: 600;
	text-decoration: none;
	transition: color var(--wb-dur) var(--wb-ease);
}

.wb-footer-credits a:hover {
	color: var(--wb-gold);
}

@media (max-width: 640px) {
	.wb-footer-bottom-inner {
		flex-direction: column;
		text-align: center;
	}
}

/* --------------------------------------------------------------------------
   19. Cart & Checkout
   -------------------------------------------------------------------------- */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content {
	background-color: var(--wb-bg) !important;
}

/* --------------------------------------------------------------------------
   19b. WooCommerce My Account — Full Dark Theme Override
   -------------------------------------------------------------------------- */

/* === Layout & Navigation === */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	color: var(--wb-text-mid) !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	background: var(--wb-bg-card) !important;
	border: none !important;
	border-radius: var(--wb-radius) !important;
	overflow: hidden !important;
	padding: 0 !important;
	list-style: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	color: var(--wb-text-muted) !important;
	padding: 12px 18px !important;
	display: block !important;
	transition: all 0.25s ease !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	border-left: 3px solid transparent !important;
	letter-spacing: 0.2px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--wb-gold) !important;
	background: rgba(255,255,255,0.03) !important;
	border-left-color: rgba(200,169,107,0.3) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
	color: var(--wb-gold) !important;
	background: rgba(200,169,107,0.08) !important;
	border-left: 3px solid var(--wb-gold) !important;
	font-weight: 600 !important;
}

/* === Address cards === */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .u-columns .woocommerce-Address,
.woocommerce-account .col-1,
.woocommerce-account .col-2,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	background: var(--wb-bg-card) !important;
	border: none !important;
	border-radius: var(--wb-radius) !important;
	padding: 20px !important;
	color: var(--wb-text-mid) !important;
}

.woocommerce-account .woocommerce-Address header,
.woocommerce-account .woocommerce-Address .woocommerce-Address-title,
.woocommerce-account header.woocommerce-Address-title,
.woocommerce-account .woocommerce-Address-title.title {
	background: var(--wb-bg-card) !important;
	border: none !important;
	border-bottom: 1px solid rgba(255,255,255,0.08) !important;
	color: var(--wb-text-mid) !important;
}

.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-column__title {
	color: var(--wb-gold) !important;
}

.woocommerce-account .woocommerce-Address-title a,
.woocommerce-account .woocommerce-Address a {
	color: var(--wb-gold) !important;
}

.woocommerce-account .woocommerce-Address address,
.woocommerce-account address {
	color: var(--wb-text-mid) !important;
	background: transparent !important;
}

/* === Forms (edit-account, edit-address, login, register) === */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields,
.woocommerce form.login,
.woocommerce form.register {
	color: var(--wb-text-mid) !important;
}

.woocommerce-account .woocommerce-EditAccountForm input,
.woocommerce-account .woocommerce-address-fields input,
.woocommerce-account .woocommerce-EditAccountForm select,
.woocommerce-account .woocommerce-address-fields select,
.woocommerce form.login input[type="text"],
.woocommerce form.login input[type="password"],
.woocommerce form.login input[type="email"],
.woocommerce form.register input[type="text"],
.woocommerce form.register input[type="password"],
.woocommerce form.register input[type="email"] {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 10px 16px !important;
}

.woocommerce form label,
.woocommerce-account label {
	color: var(--wb-text-mid) !important;
}

.woocommerce form .form-row .required {
	color: var(--wb-gold) !important;
}

/* === Buttons === */
.woocommerce-account .woocommerce-Button,
.woocommerce-account button.button,
.woocommerce-account a.button,
.woocommerce-account input.button,
.woocommerce .woocommerce-MyAccount-content .button {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 12px 28px !important;
	font-size: 13px !important;
	box-shadow: var(--wb-shadow-gold) !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
	text-decoration: none !important;
	display: inline-block !important;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account a.button:hover,
.woocommerce-account input.button:hover,
.woocommerce .woocommerce-MyAccount-content .button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 28px rgba(200,169,107,0.35) !important;
	color: #0B0B0D !important;
}

/* View order / secondary buttons */
.woocommerce-account a.woocommerce-button--previous,
.woocommerce-account a.woocommerce-button--next {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
}

/* === Order detail view === */
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(255,255,255,0.06) !important;
	border-radius: var(--wb-radius) !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
}

.woocommerce-account .woocommerce-order-details h2,
.woocommerce-account .woocommerce-customer-details h2,
.woocommerce-account .woocommerce-order-details__title {
	color: var(--wb-text) !important;
}

.woocommerce-account .order-again .button {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
}

/* === Order status badges === */
.woocommerce-account mark.order-status {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-text) !important;
	border-radius: 20px !important;
	padding: 4px 12px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

.woocommerce-account mark.order-status.status-completed {
	background: rgba(34,197,94,0.15) !important;
	color: #22C55E !important;
}

.woocommerce-account mark.order-status.status-processing {
	background: rgba(59,130,246,0.15) !important;
	color: #60A5FA !important;
}

.woocommerce-account mark.order-status.status-on-hold {
	background: rgba(245,158,11,0.15) !important;
	color: #FBBF24 !important;
}

.woocommerce-account mark.order-status.status-cancelled,
.woocommerce-account mark.order-status.status-failed {
	background: rgba(217,83,79,0.15) !important;
	color: #F87171 !important;
}

.woocommerce-account mark.order-status.status-refunded {
	background: rgba(168,162,154,0.15) !important;
	color: var(--wb-text-muted) !important;
}

/* === Pagination === */
.woocommerce-account .woocommerce-pagination,
.woocommerce-account nav.woocommerce-pagination {
	text-align: center !important;
	margin-top: 20px !important;
}

.woocommerce-account .woocommerce-pagination a,
.woocommerce-account .woocommerce-pagination span {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-text-mid) !important;
	border: 1px solid rgba(255,255,255,0.08) !important;
	border-radius: 6px !important;
	padding: 6px 12px !important;
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-pagination span.current,
.woocommerce-account .woocommerce-pagination a:hover {
	background: var(--wb-gold) !important;
	color: #0B0B0D !important;
	border-color: var(--wb-gold) !important;
}

/* === Downloads === */
.woocommerce-account .woocommerce-order-downloads,
.woocommerce-account .digital-downloads {
	background: var(--wb-bg-card) !important;
	border-radius: var(--wb-radius) !important;
}

/* === Dashboard text === */
.woocommerce-account .woocommerce-MyAccount-content p {
	color: var(--wb-text-mid) !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	color: var(--wb-gold) !important;
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover {
	color: var(--wb-gold-dark) !important;
	text-decoration: underline !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--wb-text) !important;
}

/* === Select2 overrides === */
.woocommerce-account .select2-container--default .select2-selection--single {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: var(--wb-radius-sm) !important;
	height: auto !important;
	padding: 8px 14px !important;
}

.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--wb-text) !important;
}

.select2-container--default .select2-results__option {
	background: #1A1A20 !important;
	color: var(--wb-text-mid) !important;
}

.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option:hover {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-gold) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
}

.select2-dropdown {
	background: #1A1A20 !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
}

/* === Checkbox and radio styling === */
.woocommerce-account input[type="checkbox"] {
	accent-color: var(--wb-gold) !important;
}

/* === "No order yet" style === */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message {
	background: rgba(200,169,107,0.08) !important;
	border: 1px solid rgba(200,169,107,0.15) !important;
	border-left: 4px solid var(--wb-gold) !important;
	color: var(--wb-text-mid) !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 14px 18px 14px 44px !important;
	position: relative !important;
}

.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before {
	color: var(--wb-gold) !important;
	position: absolute !important;
	left: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

/* === Payment methods === */
.woocommerce-account .woocommerce-PaymentMethods,
.woocommerce-account .woocommerce-PaymentMethod {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(255,255,255,0.06) !important;
	border-radius: var(--wb-radius) !important;
	color: var(--wb-text-mid) !important;
	padding: 16px !important;
}

.woocommerce table.shop_table {
	background: var(--wb-bg-card) !important;
	color: var(--wb-text-mid) !important;
	border-color: rgba(255,255,255,0.06) !important;
	border-radius: var(--wb-radius) !important;
}

.woocommerce table.shop_table th {
	color: var(--wb-text) !important;
	font-weight: 600 !important;
	border-color: rgba(255,255,255,0.06) !important;
	background: var(--wb-bg-elevated) !important;
}

.woocommerce table.shop_table td {
	border-color: rgba(255,255,255,0.06) !important;
	color: var(--wb-text-mid) !important;
	background: var(--wb-bg-card) !important;
}

.woocommerce table.shop_table thead,
.woocommerce table.shop_table tbody,
.woocommerce table.shop_table tr {
	background: transparent !important;
}

.woocommerce .cart_totals,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	background: var(--wb-bg-card) !important;
	border-radius: var(--wb-radius) !important;
	border: 1px solid rgba(200, 169, 107, 0.18) !important;
	overflow: hidden !important;
}

/* Header del box "Totale carrello" — era bianco su bianco */
.woocommerce .cart_totals > h2,
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce .cross-sells > h2 {
	background: linear-gradient(135deg, rgba(200, 169, 107, 0.16), rgba(200, 169, 107, 0.04)) !important;
	color: var(--wb-gold, #C8A96B) !important;
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px !important;
	margin: 0 0 8px 0 !important;
	padding: 18px 24px !important;
	border-bottom: 1px solid rgba(200, 169, 107, 0.22) !important;
	text-transform: none !important;
}

.woocommerce .cart_totals .shop_table {
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce .cart_totals .shop_table th,
.woocommerce .cart_totals .shop_table td {
	color: var(--wb-text, #F5F1E8) !important;
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
	padding: 14px 24px !important;
}

.woocommerce .cart_totals .shop_table th {
	color: var(--wb-text-mid, #DDD7CD) !important;
	font-weight: 600 !important;
}

.woocommerce .cart_totals .order-total .amount,
.woocommerce .cart_totals .order-total {
	color: var(--wb-gold, #C8A96B) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
}

.woocommerce .cart_totals .wc-proceed-to-checkout {
	padding: 16px 24px 22px 24px !important;
}

/* ────────────────────────────────────────────────────────────────
   Cart totals — fix data-title prefix sovrapposto a icone (mobile)
   WC nasconde il <th> e mostra data-title via ::before; con la
   shipping che ha radio button inline il prefisso si sovrapponeva.
   ──────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
	.woocommerce .cart_totals table.shop_table_responsive tr td {
		display: block !important;
		padding: 14px 18px !important;
		text-align: left !important;
	}

	/* Prefisso data-title: forzato su riga propria, uppercase gold */
	.woocommerce .cart_totals table.shop_table_responsive tr td::before {
		content: attr(data-title) !important;
		display: block !important;
		float: none !important;
		font-family: var(--wb-font, 'Inter', sans-serif) !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: 1px !important;
		text-transform: uppercase !important;
		color: var(--wb-gold, #C8A96B) !important;
		opacity: 0.85 !important;
		margin-bottom: 14px !important;
	}

	/* Riga totale finale: il prezzo grosso oro deve restare sotto il label */
	.woocommerce .cart_totals .order-total td .amount {
		display: inline-block !important;
		font-size: 22px !important;
	}

	/* Lista metodi spedizione: nasconde la <ul> bullet, gap pulito */
	.woocommerce .cart_totals ul#shipping_method,
	.woocommerce ul#shipping_method,
	.woocommerce-shipping-methods {
		margin: 0 !important;
		padding: 0 !important;
	}
	.woocommerce .cart_totals ul#shipping_method li,
	.woocommerce ul#shipping_method li,
	.woocommerce-shipping-methods li {
		margin: 0 0 6px !important;
		padding: 0 !important;
	}
	.woocommerce .cart_totals ul#shipping_method li label {
		font-size: 14px !important;
		color: var(--wb-text, #F5F1E8) !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 8px !important;
	}

	/* "Spedizione a ROMA" sotto i metodi */
	.woocommerce .cart_totals .woocommerce-shipping-destination {
		display: block !important;
		margin-top: 8px !important;
		font-size: 13px !important;
		color: var(--wb-text-mid, #DDD7CD) !important;
	}

	/* Link "Modifica indirizzo" / "Calcola spedizione" — gold link */
	.woocommerce .cart_totals .shipping-calculator-button {
		display: inline-block !important;
		margin-top: 8px !important;
		color: var(--wb-gold, #C8A96B) !important;
		text-decoration: none !important;
		font-size: 13px !important;
	}
}

/* Italianizza le label del cart_totals — selettori con stessa specificità
 * della regola generica (table.shop_table_responsive) così source order vince.
 */
@media (max-width: 768px) {
	.woocommerce .cart_totals table.shop_table_responsive tr.cart-subtotal td::before {
		content: 'Subtotale' !important;
	}
	.woocommerce .cart_totals table.shop_table_responsive tr.shipping td::before,
	.woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td::before {
		content: 'Spedizione' !important;
	}
	.woocommerce .cart_totals table.shop_table_responsive tr.order-total td::before {
		content: 'Totale' !important;
	}
	.woocommerce .cart_totals table.shop_table_responsive tr.tax-rate td::before,
	.woocommerce .cart_totals table.shop_table_responsive tr.tax-total td::before {
		content: 'IVA' !important;
	}
	.woocommerce .cart_totals table.shop_table_responsive tr.fee td::before {
		content: 'Supplemento' !important;
	}
}

/* Lista metodi spedizione — ogni <li> è un flex row con radio
 * e label allineati e ben spaziati. Vale sia desktop che mobile. */
.woocommerce .cart_totals ul#shipping_method,
.woocommerce ul#shipping_method,
.woocommerce-shipping-methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.woocommerce .cart_totals ul#shipping_method li,
.woocommerce ul#shipping_method li,
.woocommerce-shipping-methods li {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
	text-indent: 0 !important;
}

/* Reset assoluto sul radio: alcuni temi (Astra) lo posizionano absolute
 * facendogli "saltare" addosso al testo. Forziamo position: static + size. */
.woocommerce .cart_totals ul#shipping_method li input[type="radio"],
.woocommerce ul#shipping_method li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"] {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	margin: 0 !important;
	flex: 0 0 22px !important;
	width: 22px !important;
	min-width: 22px !important;
	max-width: 22px !important;
	height: 22px !important;
	accent-color: var(--wb-gold, #C8A96B) !important;
	cursor: pointer !important;
	-webkit-appearance: radio !important;
	appearance: radio !important;
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

.woocommerce .cart_totals ul#shipping_method li label,
.woocommerce ul#shipping_method li label,
.woocommerce-shipping-methods li label {
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--wb-text, #F5F1E8) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	text-indent: 0 !important;
	background: transparent !important;
}

/* Astra/Woo a volte mette ::before sui label dei metodi shipping per fare
 * il proprio radio custom: lo annulliamo. */
.woocommerce .cart_totals ul#shipping_method li label::before,
.woocommerce ul#shipping_method li label::before,
.woocommerce-shipping-methods li label::before {
	content: none !important;
	display: none !important;
}

/* Metodi di spedizione nel box "Totale carrello" — testo era nero su nero */
.woocommerce .cart_totals ul#shipping_method,
.woocommerce ul#shipping_method,
.woocommerce-shipping-methods {
	list-style: none !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
}

.woocommerce .cart_totals ul#shipping_method li,
.woocommerce ul#shipping_method li,
.woocommerce-shipping-methods li {
	color: var(--wb-text, #F5F1E8) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.woocommerce .cart_totals ul#shipping_method li label,
.woocommerce ul#shipping_method li label,
.woocommerce-shipping-methods li label,
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator,
.shipping-calculator-button,
.woocommerce .cart_totals .shipping td,
.woocommerce .cart_totals .shipping th {
	color: var(--wb-text, #F5F1E8) !important;
}

.woocommerce .cart_totals .shipping a,
.shipping-calculator-button {
	color: var(--wb-gold, #C8A96B) !important;
	text-decoration: none !important;
}

.woocommerce .cart_totals .shipping a:hover,
.shipping-calculator-button:hover {
	color: var(--wb-gold-dark, #B8914F) !important;
	text-decoration: underline !important;
}

.woocommerce .cart_totals ul#shipping_method li input[type="radio"],
.woocommerce ul#shipping_method li input[type="radio"] {
	accent-color: var(--wb-gold, #C8A96B) !important;
	margin-right: 8px !important;
}

/* Coupon */
.woocommerce .coupon .input-text {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: var(--wb-radius-sm) !important;
}

/* Checkout form */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 10px 16px !important;
}

.woocommerce form .form-row label {
	color: var(--wb-text-mid) !important;
}

/* Place order button */
.woocommerce #place_order,
.woocommerce .checkout_coupon .button {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 16px 40px !important;
	box-shadow: var(--wb-shadow-gold) !important;
	transition: all var(--wb-dur) var(--wb-ease) !important;
}

.woocommerce #place_order:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 28px rgba(200,169,107,0.35) !important;
}

/* === Checkout: forza dark sui campi billing/shipping === */
.woocommerce-checkout .woocommerce-billing-fields input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
.woocommerce-checkout .woocommerce-additional-fields input.input-text,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-shipping-fields textarea,
.woocommerce-checkout .woocommerce-additional-fields textarea,
.woocommerce-checkout #customer_details input,
.woocommerce-checkout #customer_details textarea,
.woocommerce-checkout #customer_details select,
.woocommerce form.checkout .form-row input,
.woocommerce form.checkout .form-row textarea,
.woocommerce form.checkout .form-row select {
	background: var(--wb-bg-input, #16161C) !important;
	color: var(--wb-text, #F5F1E8) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	-webkit-text-fill-color: var(--wb-text, #F5F1E8) !important;
}

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
	color: var(--wb-text-muted, #A8A29A) !important;
	opacity: 1 !important;
}

/* Autofill Chrome: rimuove il bg giallo/bianco */
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px var(--wb-bg-input, #16161C) inset !important;
	-webkit-text-fill-color: var(--wb-text, #F5F1E8) !important;
	caret-color: var(--wb-text, #F5F1E8) !important;
	transition: background-color 5000s ease-in-out 0s;
}

.woocommerce-checkout label,
.woocommerce-checkout .woocommerce-input-wrapper {
	color: var(--wb-text-mid, #DDD7CD) !important;
}

/* Select2 (paese, provincia) — stile dark */
.woocommerce-checkout .select2-container--default .select2-selection--single,
.select2-dropdown {
	background: var(--wb-bg-input, #16161C) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	color: var(--wb-text, #F5F1E8) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--wb-text, #F5F1E8) !important;
	line-height: 44px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--wb-text-muted, #A8A29A) transparent transparent transparent !important;
}

.select2-results__option {
	background: var(--wb-bg-input, #16161C) !important;
	color: var(--wb-text-mid, #DDD7CD) !important;
}

.select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: rgba(200, 169, 107, 0.15) !important;
	color: var(--wb-gold, #C8A96B) !important;
}

.select2-search--dropdown .select2-search__field {
	background: var(--wb-bg, #0B0B0D) !important;
	color: var(--wb-text, #F5F1E8) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* === Checkout: payment methods === */
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
	background: var(--wb-bg-card, #1A1A20) !important;
	border-radius: var(--wb-radius, 12px) !important;
	border: 1px solid rgba(200, 169, 107, 0.18) !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.woocommerce-checkout ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
	background: transparent !important;
	border: none !important;
	padding: 18px 22px !important;
	margin: 0 !important;
	list-style: none !important;
}

.woocommerce-checkout ul.payment_methods li {
	background: transparent !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	padding: 12px 0 !important;
	color: var(--wb-text, #F5F1E8) !important;
}

.woocommerce-checkout ul.payment_methods li:last-child {
	border-bottom: none !important;
}

.woocommerce-checkout ul.payment_methods li label {
	color: var(--wb-text, #F5F1E8) !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	padding-left: 8px !important;
}

.woocommerce-checkout ul.payment_methods input[type="radio"] {
	accent-color: var(--wb-gold, #C8A96B) !important;
	margin-right: 6px !important;
}

/* Box descrizione del metodo selezionato (era bianco su bianco) */
.woocommerce-checkout .payment_box,
.woocommerce-checkout ul.payment_methods li .payment_box,
.woocommerce-checkout #payment div.payment_box {
	background: var(--wb-bg-elevated, #222228) !important;
	color: var(--wb-text-mid, #DDD7CD) !important;
	border: 1px solid rgba(200, 169, 107, 0.15) !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	margin: 10px 0 6px 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.woocommerce-checkout .payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--wb-bg-elevated, #222228) !important;
}

.woocommerce-checkout .payment_box p {
	color: var(--wb-text-mid, #DDD7CD) !important;
	margin: 0 !important;
}

.woocommerce-checkout .payment_box a {
	color: var(--wb-gold, #C8A96B) !important;
}

/* Privacy text + place order area */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	color: var(--wb-text-muted, #A8A29A) !important;
	background: transparent !important;
	padding: 14px 22px 0 22px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: var(--wb-gold, #C8A96B) !important;
}

.woocommerce-checkout .form-row.place-order {
	padding: 0 22px 22px !important;
	background: transparent !important;
}

/* Headings sezioni checkout */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
	color: var(--wb-gold, #C8A96B) !important;
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif) !important;
	font-weight: 700 !important;
	letter-spacing: 0.3px !important;
}

/* --------------------------------------------------------------------------
   20. WooCommerce Notices — dark luxury (gold per i success, niente più verde)
   Layout flex per allineare verticalmente icona ↔ testo ↔ bottone.
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	font-family: var(--wb-font, 'Inter', sans-serif) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	list-style: none !important;
}

/* Icona check/info/error: ora elemento flex normale, perfettamente centrato */
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
	position: static !important;
	top: auto !important;
	left: auto !important;
	margin: 0 !important;
	flex: 0 0 auto !important;
	font-size: 18px !important;
	line-height: 1 !important;
	width: 28px !important;
	height: 28px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
}

/* Success ("X è stato aggiunto al carrello") → ORO */
.woocommerce-message {
	background: linear-gradient(135deg, rgba(200,169,107,0.14), rgba(200,169,107,0.04)) !important;
	border: 1px solid rgba(200,169,107,0.35) !important;
	border-left: 4px solid var(--wb-gold, #C8A96B) !important;
	color: var(--wb-text, #F5F1E8) !important;
}
.woocommerce-message::before {
	color: var(--wb-gold, #C8A96B) !important;
}

/* Errore → rosso luxury */
.woocommerce-error {
	background: rgba(217,83,79,0.1) !important;
	border: 1px solid rgba(217,83,79,0.25) !important;
	border-left: 4px solid var(--wb-red, #D9534F) !important;
	color: #F5A5A3 !important;
}
.woocommerce-error::before {
	color: var(--wb-red, #D9534F) !important;
}

/* Info → tono neutro coerente con il tema */
.woocommerce-info {
	background: rgba(200,169,107,0.06) !important;
	border: 1px solid rgba(200,169,107,0.2) !important;
	border-left: 4px solid var(--wb-text-muted, #A8A29A) !important;
	color: var(--wb-text-mid, #DDD7CD) !important;
}
.woocommerce-info::before {
	color: var(--wb-text-muted, #A8A29A) !important;
}

/* Pulsante "Visualizza carrello" / "Continue shopping" dentro il notice */
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
	float: none !important;
	display: inline-block !important;
	margin-top: 8px !important;
	margin-left: 0 !important;
	padding: 8px 18px !important;
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A) !important;
	color: #0B0B0D !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.3px !important;
	text-transform: none !important;
}

/* --------------------------------------------------------------------------
   21. Breadcrumbs
   -------------------------------------------------------------------------- */
.ast-breadcrumbs .trail-items,
.woocommerce-breadcrumb {
	color: var(--wb-text-muted) !important;
	font-size: 12px !important;
}

.woocommerce-breadcrumb a {
	color: var(--wb-text-faint) !important;
}

.woocommerce-breadcrumb a:hover {
	color: var(--wb-gold) !important;
}

/* --------------------------------------------------------------------------
   22. Sidebar / Widgets
   -------------------------------------------------------------------------- */
.widget {
	color: var(--wb-text-mid);
}

.widget-title {
	color: var(--wb-text) !important;
}

.widget a {
	color: var(--wb-text-mid);
}

.widget a:hover {
	color: var(--wb-gold);
}

/* --------------------------------------------------------------------------
   23. Pagination
   -------------------------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	background: var(--wb-bg-card) !important;
	color: var(--wb-text-mid) !important;
	border-color: rgba(255,255,255,0.08) !important;
	border-radius: var(--wb-radius-sm) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: rgba(200,169,107,0.1) !important;
	color: var(--wb-gold) !important;
	border-color: rgba(200,169,107,0.2) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wb-gold) !important;
	color: #0B0B0D !important;
	border-color: var(--wb-gold) !important;
}

/* --------------------------------------------------------------------------
   24. Scroll Animations (JS controlled)
   -------------------------------------------------------------------------- */
.wb-fade-up {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s var(--wb-ease), transform 0.6s var(--wb-ease);
}

.wb-fade-up.wb-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Stagger children */
.wb-stagger > * {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s var(--wb-ease), transform 0.5s var(--wb-ease);
}

.wb-stagger.wb-visible > *:nth-child(1) { transition-delay: 0s; opacity: 1; transform: translateY(0); }
.wb-stagger.wb-visible > *:nth-child(2) { transition-delay: 0.08s; opacity: 1; transform: translateY(0); }
.wb-stagger.wb-visible > *:nth-child(3) { transition-delay: 0.16s; opacity: 1; transform: translateY(0); }
.wb-stagger.wb-visible > *:nth-child(4) { transition-delay: 0.24s; opacity: 1; transform: translateY(0); }
.wb-stagger.wb-visible > *:nth-child(5) { transition-delay: 0.32s; opacity: 1; transform: translateY(0); }
.wb-stagger.wb-visible > *:nth-child(6) { transition-delay: 0.40s; opacity: 1; transform: translateY(0); }

/* --------------------------------------------------------------------------
   25. Sticky "Add to Cart" mobile
   -------------------------------------------------------------------------- */
.wb-sticky-atc {
	display: none;
}

@media (max-width: 782px) {
	.wb-sticky-atc {
		display: flex;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 100000;
		background: rgba(11,11,13,0.96);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		border-top: 1px solid rgba(200,169,107,0.15);
		padding: 12px 16px;
		gap: 12px;
		align-items: center;
		transform: translateY(100%);
		transition: transform 0.4s var(--wb-ease);
	}

	.wb-sticky-atc.wb-visible {
		transform: translateY(0);
	}

	.wb-sticky-atc-info {
		flex: 1;
		min-width: 0;
	}

	.wb-sticky-atc-name {
		font-size: 13px;
		font-weight: 600;
		color: var(--wb-text);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.wb-sticky-atc-price {
		font-size: 15px;
		font-weight: 700;
		color: var(--wb-gold);
	}

	.wb-sticky-atc .wb-btn {
		flex-shrink: 0;
		padding: 12px 24px;
	}

	/* Add bottom padding to body so content isn't hidden */
	body.single-product {
		padding-bottom: 72px;
	}
}

/* --------------------------------------------------------------------------
   26. Astra Overrides — Global Dark
   -------------------------------------------------------------------------- */

/* Hide Astra scroll-to-top */
#ast-scroll-top {
	display: none !important;
}

/* Page containers */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .ast-author-box {
	background-color: var(--wb-bg-card) !important;
	border-radius: var(--wb-radius) !important;
}

.ast-separate-container .ast-article-single:hover {
	box-shadow: none !important;
}

/* Content area */
.entry-content,
.ast-entry-content {
	color: var(--wb-text-mid);
}

/* Search */
.ast-search-menu-icon .search-form,
.search-form {
	background: var(--wb-bg-input);
	border-radius: var(--wb-radius-sm);
}

.search-form .search-field {
	background: transparent !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
}

/* 404 page */
.error-404 {
	text-align: center;
	color: var(--wb-text-mid);
}

/* Scrollbar */
::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

::-webkit-scrollbar-track {
	background: var(--wb-bg);
}

::-webkit-scrollbar-thumb {
	background: var(--wb-bg-elevated);
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--wb-text-faint);
}

/* --------------------------------------------------------------------------
   28. Dark Mode Standard Pages
   -------------------------------------------------------------------------- */
.page .entry-title,
.single .entry-title {
	color: var(--wb-text) !important;
}

/* --------------------------------------------------------------------------
   29. Trust bar (below hero or product)
   -------------------------------------------------------------------------- */
.wb-trust-bar {
	display: flex;
	justify-content: center;
	gap: 32px;
	flex-wrap: wrap;
	padding: 24px 0;
	background: var(--wb-bg-mid);
	border-top: 1px solid rgba(255,255,255,0.06);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

.wb-trust-bar-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--wb-text-muted);
}

.wb-trust-bar-item svg {
	width: 18px;
	height: 18px;
	color: var(--wb-gold);
	flex-shrink: 0;
	filter: drop-shadow(0 0 4px rgba(200,169,107,0.3));
}

/* --------------------------------------------------------------------------
   29. Comprehensive Mobile & Responsive Overrides
   -------------------------------------------------------------------------- */

/* ===== Tablet (max-width: 768px) ===== */
@media (max-width: 768px) {
	ul.products {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.wb-lifestyle-banner {
		min-height: 340px;
	}

	.wb-lifestyle-banner-content {
		padding: 40px 24px;
	}

	.wb-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* ===== Mobile (max-width: 640px) ===== */
@media (max-width: 640px) {

	/* Hero refinements */
	.wb-hero {
		min-height: 65vh;
	}

	.wb-hero-ctas {
		flex-direction: column;
		align-items: center;
	}

	.wb-hero-ctas .wb-btn {
		width: 100%;
		text-align: center;
	}

	.wb-hero-trust {
		gap: 12px;
		font-size: 12px;
	}

	.wb-hero-trust-item {
		font-size: 12px;
		gap: 5px;
	}

	.wb-hero-trust-icon {
		width: 16px;
		height: 16px;
	}

	.wb-hero-subtitle {
		margin-bottom: 24px;
	}

	.wb-hero-label {
		font-size: 10px;
		letter-spacing: 2px;
	}

	/* Announcement bar */
	.wb-announcement {
		padding: 6px 12px;
		font-size: 11px;
		letter-spacing: 0;
	}

	/* Goal cards */
	.wb-goal-card {
		padding: 24px 16px;
	}

	.wb-goal-icon {
		width: 44px;
		height: 44px;
		font-size: 20px;
		margin-bottom: 14px;
	}

	/* Bundle cards */
	.wb-bundle-body {
		padding: 16px;
	}

	.wb-bundle-body h3 {
		font-size: 15px;
	}

	.wb-bundle-price .wb-price-now {
		font-size: 18px;
	}

	/* Trust cards (Why Choose) */
	.wb-trust-card {
		padding: 20px 16px;
	}

	/* Review cards */
	.wb-review-card {
		padding: 20px 16px;
	}

	.wb-review-text {
		font-size: 14px;
	}

	.wb-review-avatar {
		width: 32px;
		height: 32px;
	}

	/* FAQ */
	.wb-faq-question {
		padding: 14px 0;
	}

	.wb-faq-question h4 {
		font-size: 14px;
	}

	.wb-faq-icon {
		width: 24px;
		height: 24px;
	}

	.wb-faq-answer p {
		padding-bottom: 14px;
		font-size: 13px;
	}

	/* Lifestyle banner */
	.wb-lifestyle-banner {
		min-height: 280px;
	}

	.wb-lifestyle-banner-content {
		padding: 32px 16px;
	}

	/* CTA final */
	.wb-cta-final {
		padding: var(--wb-gap-lg) var(--wb-gap-sm);
	}

	.wb-cta-final p {
		margin-bottom: 24px;
	}

	/* Trust bar */
	.wb-trust-bar {
		gap: 12px;
	}

	.wb-trust-bar-item {
		font-size: 11px;
		gap: 5px;
	}

	/* Footer */
	.wb-footer-main {
		padding: 40px 0 32px;
	}

	.wb-footer-social a {
		width: 32px;
		height: 32px;
	}

	.wb-footer-links a,
	.wb-footer-contact li {
		font-size: 12px;
	}

	/* Section spacing */
	.wb-section {
		padding: var(--wb-gap-lg) var(--wb-gap-sm);
	}

	/* Single product */
	.single-product .woocommerce-product-gallery {
		margin-bottom: 20px;
	}

	.single-product div.product .product_title {
		font-size: clamp(1.3rem, 5vw, 1.8rem) !important;
	}

	.single-product div.product p.price {
		font-size: 20px !important;
	}
}

/* ===== Extra small (max-width: 400px) ===== */
@media (max-width: 400px) {
	.wb-hero h1 {
		font-size: 1.8rem;
	}

	.wb-bundle-body {
		padding: 12px;
	}

	.wb-goal-card {
		padding: 20px 12px;
	}

	.wb-trust-card,
	.wb-review-card {
		padding: 16px 12px;
	}

	.wb-footer-grid {
		gap: 24px;
	}
}

/* --------------------------------------------------------------------------
   30. Print
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   31a. Affiliates Portal Dark Theme
   -------------------------------------------------------------------------- */
.danilo-flow-affiliates {
	color: var(--wb-text-mid);
}

.danilo-flow-affiliates h3 {
	color: var(--wb-text) !important;
	font-family: var(--wb-font-serif) !important;
}

.danilo-flow-affiliates .df-card {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(200,169,107,0.12) !important;
	border-radius: var(--wb-radius) !important;
	color: var(--wb-text-mid) !important;
}

.danilo-flow-affiliates .df-card p strong {
	color: var(--wb-gold) !important;
}

.danilo-flow-affiliates .df-card p {
	color: var(--wb-text-mid) !important;
}

/* KPI grid */
.danilo-flow-affiliates .df-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 12px;
}

.danilo-flow-affiliates .df-kpi {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(200,169,107,0.12) !important;
	border-radius: var(--wb-radius) !important;
	padding: 16px !important;
	text-align: center;
}

.danilo-flow-affiliates .df-kpi .df-kpi__value {
	font-size: 24px;
	font-weight: 700;
	color: var(--wb-text) !important;
}

.danilo-flow-affiliates .df-kpi .df-kpi__label {
	font-size: 12px;
	color: var(--wb-text-muted) !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: 4px;
}

/* Tables inside affiliates */
.danilo-flow-affiliates .widefat,
.danilo-flow-affiliates table.widefat {
	background: var(--wb-bg-card) !important;
	border: 1px solid rgba(200,169,107,0.1) !important;
	border-radius: var(--wb-radius) !important;
	overflow: hidden;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

.danilo-flow-affiliates .widefat thead th,
.danilo-flow-affiliates .widefat thead td {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-text-muted) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border-bottom: 1px solid rgba(200,169,107,0.08) !important;
	padding: 12px 14px !important;
}

.danilo-flow-affiliates .widefat tbody td {
	background: var(--wb-bg-card) !important;
	color: var(--wb-text-mid) !important;
	border-bottom: 1px solid rgba(255,255,255,0.04) !important;
	padding: 10px 14px !important;
}

.danilo-flow-affiliates .widefat tbody tr:nth-child(even) td {
	background: rgba(255,255,255,0.02) !important;
}

.danilo-flow-affiliates .widefat tbody tr:hover td {
	background: rgba(200,169,107,0.04) !important;
}

.danilo-flow-affiliates .widefat.striped tbody tr:nth-child(odd) {
	background: transparent !important;
}

/* Buttons inside affiliates */
.danilo-flow-affiliates .button {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(200,169,107,0.2) !important;
	border-radius: 8px !important;
	padding: 10px 20px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	font-size: 13px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.danilo-flow-affiliates .button:hover {
	background: rgba(200,169,107,0.15) !important;
	border-color: var(--wb-gold) !important;
	color: var(--wb-gold) !important;
}

.danilo-flow-affiliates .button-primary,
.danilo-flow-affiliates .button-primary:hover {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	border: none !important;
	box-shadow: var(--wb-shadow-gold) !important;
}

.danilo-flow-affiliates .button-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 28px rgba(200,169,107,0.35) !important;
}

/* Affiliates — Tablet */
@media (max-width: 782px) {
	.danilo-flow-affiliates .df-kpi-grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 8px !important;
	}

	.danilo-flow-affiliates .df-kpi .df-kpi__value {
		font-size: 20px;
	}

	.danilo-flow-affiliates .df-card {
		padding: 14px !important;
	}

	.danilo-flow-affiliates input[type="text"] {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.danilo-flow-affiliates form[style*="display:flex"] {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.danilo-flow-affiliates .widefat {
		font-size: 13px !important;
	}

	.danilo-flow-affiliates .widefat thead th,
	.danilo-flow-affiliates .widefat tbody td {
		padding: 8px 10px !important;
		font-size: 12px !important;
	}
}

/* Affiliates — Mobile */
@media (max-width: 640px) {
	.danilo-flow-affiliates .df-kpi-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 6px !important;
	}

	.danilo-flow-affiliates .df-kpi {
		padding: 12px 8px !important;
	}

	.danilo-flow-affiliates .df-kpi .df-kpi__value {
		font-size: 18px;
	}

	.danilo-flow-affiliates .df-kpi .df-kpi__label {
		font-size: 11px;
	}

	.danilo-flow-affiliates .df-card {
		padding: 12px !important;
		margin-bottom: 12px !important;
	}

	/* Performance grid stacks 2 cols on mobile */
	.danilo-flow-affiliates .df-card div[style*="grid-template-columns"] {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}

	.danilo-flow-affiliates .df-card div[style*="grid-template-columns"] > div {
		padding: 10px 6px !important;
	}

	.danilo-flow-affiliates .df-card div[style*="grid-template-columns"] > div > div:first-child {
		font-size: 18px !important;
	}

	/* Horizontal scroll for wide tables */
	.danilo-flow-affiliates .widefat {
		display: block !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}

	.danilo-flow-affiliates .widefat thead,
	.danilo-flow-affiliates .widefat tbody,
	.danilo-flow-affiliates .widefat tr {
		display: table;
		width: 100%;
		table-layout: auto;
	}

	.danilo-flow-affiliates code {
		font-size: 14px !important;
		padding: 6px 12px !important;
	}

	.danilo-flow-affiliates h3 {
		font-size: 20px !important;
	}

	.danilo-flow-affiliates select,
	.danilo-flow-affiliates textarea,
	.danilo-flow-affiliates input[type="text"] {
		font-size: 16px !important; /* prevent iOS zoom */
	}

	.danilo-flow-affiliates .button,
	.danilo-flow-affiliates .button-primary {
		width: 100% !important;
		text-align: center !important;
		padding: 12px 16px !important;
	}
}

/* Affiliates — Small phones */
@media (max-width: 400px) {
	.danilo-flow-affiliates .df-kpi-grid {
		grid-template-columns: 1fr 1fr !important;
	}

	.danilo-flow-affiliates .df-card div[style*="grid-template-columns"] {
		grid-template-columns: 1fr 1fr !important;
	}

	.danilo-flow-affiliates div[style*="display:flex"][style*="gap:12px"] {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
}

/* --------------------------------------------------------------------------
   31b. Ticket / Support Form Dark Theme
   -------------------------------------------------------------------------- */
.danilo-flow-support-form select,
.danilo-flow-support-form textarea,
.danilo-flow-support-form input[type="text"],
.danilo-flow-support-form input[type="email"] {
	background: var(--wb-bg-input) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 10px 16px !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.danilo-flow-support-form select option {
	background: #1A1A20;
	color: #F5F1E8;
	font-size: 14px;
	padding: 8px;
}

.danilo-flow-support-form label {
	color: var(--wb-text-mid) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
	display: block !important;
}

.danilo-flow-support-form .required {
	color: var(--wb-gold) !important;
}

.danilo-flow-support-form textarea::placeholder,
.danilo-flow-support-form input::placeholder {
	color: var(--wb-text-muted) !important;
	opacity: 1 !important;
	font-size: 14px !important;
}

.danilo-flow-support-form input[type="file"] {
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.danilo-flow-support-form input[type="file"]::file-selector-button {
	background: var(--wb-bg-elevated) !important;
	color: var(--wb-text) !important;
	border: 1px solid rgba(255,255,255,0.15) !important;
	border-radius: 6px !important;
	padding: 8px 16px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	margin-right: 12px !important;
	transition: background 0.2s !important;
}

.danilo-flow-support-form input[type="file"]::file-selector-button:hover {
	background: var(--wb-gold-dark) !important;
	color: #0B0B0D !important;
}

.danilo-flow-support-form .woocommerce-Button,
.danilo-flow-support-form button[type="submit"] {
	background: var(--wb-gold-grad) !important;
	color: #0B0B0D !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: var(--wb-radius-sm) !important;
	padding: 14px 36px !important;
	font-size: 14px !important;
	box-shadow: var(--wb-shadow-gold) !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
}

.danilo-flow-support-form .woocommerce-Button:hover,
.danilo-flow-support-form button[type="submit"]:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 28px rgba(200,169,107,0.35) !important;
}

/* --------------------------------------------------------------------------
   32. Mobile-First Global Optimization
   -------------------------------------------------------------------------- */

/* ═══ Touch-friendly targets: minimum 44x44px per WCAG ═══ */
@media (max-width: 782px) {

	/* ── Prevent iOS zoom on focus ── */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="password"],
	input[type="search"],
	select,
	textarea {
		font-size: 16px !important;
	}

	/* ── Buttons — bigger touch targets ── */
	.wb-btn,
	.button,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit {
		min-height: 48px !important;
		padding: 14px 24px !important;
		font-size: 15px !important;
	}

	/* ── WooCommerce product images — full width ── */
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		width: 100% !important;
		float: none !important;
	}

	.woocommerce div.product div.images {
		margin-bottom: 24px !important;
	}

	/* ── Product gallery thumbnails ── */
	.woocommerce div.product .woocommerce-product-gallery__wrapper {
		margin: 0 !important;
	}

	.woocommerce div.product .flex-control-thumbs {
		display: flex !important;
		gap: 8px !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 8px !important;
	}

	.woocommerce div.product .flex-control-thumbs li {
		flex: 0 0 60px !important;
		width: 60px !important;
	}

	/* ── Quantity selector ── */
	.woocommerce .quantity .qty {
		min-width: 48px !important;
		min-height: 44px !important;
		font-size: 16px !important;
		text-align: center !important;
	}

	/* ── Add to cart button — full width on mobile ── */
	.woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100% !important;
		min-height: 52px !important;
		font-size: 16px !important;
	}

	/* ── Cart page mobile ── */
	.woocommerce-cart table.cart td.actions {
		text-align: center !important;
	}

	.woocommerce-cart table.cart .coupon {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
		margin-bottom: 12px !important;
	}

	.woocommerce-cart table.cart .coupon .input-text {
		width: 100% !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.cart .coupon .button {
		width: 100% !important;
	}

	/* ── Checkout form — stack columns ── */
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		width: 100% !important;
		float: none !important;
		margin-bottom: 24px !important;
	}

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

	/* ── My Account page — stack nav and content ── */
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
		float: none !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 20px !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 4px !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li {
		flex: 1 1 auto !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		padding: 10px 14px !important;
		font-size: 13px !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	/* ── Tables — responsive horizontal scroll ── */
	.woocommerce table.shop_table {
		display: block !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce table.shop_table thead {
		display: none !important;
	}

	.woocommerce table.shop_table tbody tr {
		display: flex !important;
		flex-wrap: wrap !important;
		padding: 16px !important;
		border-bottom: 1px solid rgba(255,255,255,0.06) !important;
		gap: 8px !important;
	}

	.woocommerce table.shop_table tbody td {
		display: block !important;
		border: none !important;
		padding: 4px 0 !important;
		text-align: left !important;
	}

	.woocommerce table.shop_table tbody td::before {
		content: attr(data-title);
		display: block;
		font-size: 11px;
		font-weight: 600;
		color: var(--wb-text-muted);
		text-transform: uppercase;
		letter-spacing: 0.5px;
		margin-bottom: 2px;
	}

	/* ── Related products — 2 columns ── */
	.woocommerce .related ul.products,
	.woocommerce .up-sells ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	/* ── Tabs — stack on mobile ── */
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 4px !important;
		padding: 0 !important;
		margin: 0 0 20px !important;
		border-bottom: 1px solid rgba(255,255,255,0.08) !important;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li {
		flex: 1 1 auto !important;
		margin: 0 !important;
		border: none !important;
		background: transparent !important;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		padding: 10px 12px !important;
		font-size: 13px !important;
		text-align: center !important;
		display: block !important;
		border-radius: var(--wb-radius-sm) !important;
		color: var(--wb-text-muted) !important;
		background: transparent !important;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
		color: var(--wb-gold) !important;
		background: rgba(200,169,107,0.08) !important;
	}

	/* ── Container padding ── */
	.wb-container,
	.ast-container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* ── Section headings ── */
	.wb-section-title,
	.wb-section h2 {
		font-size: clamp(1.4rem, 6vw, 2rem) !important;
	}

	.wb-section-subtitle {
		font-size: 14px !important;
	}

	/* ── Announcement bar mobile ── */
	.wb-announcement {
		padding: 7px 12px !important;
		font-size: 11px !important;
		letter-spacing: 0 !important;
	}

	/* ── Body padding for sticky ATC ── */
	body.single-product .wb-footer {
		padding-bottom: 72px !important;
	}

	/* ── Danilo Flow support form mobile ── */
	.danilo-flow-support-form {
		padding: 0 !important;
	}

	.danilo-flow-support-form select,
	.danilo-flow-support-form textarea,
	.danilo-flow-support-form input[type="text"],
	.danilo-flow-support-form input[type="email"] {
		font-size: 16px !important;
		padding: 12px 16px !important;
	}

	.danilo-flow-support-form button[type="submit"] {
		width: 100% !important;
		min-height: 52px !important;
		font-size: 16px !important;
	}

	/* ── Trust bar — stack on small mobile ── */
	.wb-trust-bar {
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
		padding: 16px !important;
	}

	/* ── Product cards — tap-friendly ── */
	ul.products li.product .woocommerce-loop-product__link {
		display: block !important;
	}

	ul.products li.product .button {
		width: 100% !important;
		text-align: center !important;
		min-height: 44px !important;
	}

	/* ── Review card grid — single column ── */
	.wb-reviews-grid {
		grid-template-columns: 1fr !important;
	}

	/* ── Goal card grid — 2 columns on tablet, 1 on small ── */
	.wb-goals-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	/* ── Bundle products list overflow ── */
	.wb-bundle-products {
		max-height: none !important;
		overflow: visible !important;
	}

	/* ── Sticky header compact ── */
	.ast-header-sticked .site-primary-header-wrap,
	.ast-primary-header-bar.ast-sticky-active .site-primary-header-wrap {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}

	/* ── WooCommerce notices — full width ── */
	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info {
		margin-left: 0 !important;
		margin-right: 0 !important;
		font-size: 14px !important;
		padding: 12px 14px !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
	}
	.woocommerce-message > .button,
	.woocommerce-error > .button,
	.woocommerce-info > .button {
		flex: 0 0 auto !important;
	}

	/* ═══════════════════════════════════════════════════════════
	   Cart mobile — riordina la tabella WC come card pulite.
	   La tabella standard WC su mobile diventa illeggibile: qui
	   trasformiamo ogni riga in una card stacked con label gold +
	   valori grandi per leggibilità.
	   ═══════════════════════════════════════════════════════════ */
	.woocommerce-cart table.cart,
	.woocommerce-cart table.cart thead,
	.woocommerce-cart table.cart tbody,
	.woocommerce-cart table.cart tr,
	.woocommerce-cart table.cart th,
	.woocommerce-cart table.cart td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.woocommerce-cart table.cart thead {
		display: none !important; /* nasconde header tabella desktop */
	}

	.woocommerce-cart table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: 80px 1fr !important;
		gap: 4px 14px !important;
		padding: 14px 14px 14px 14px !important;
		margin: 0 0 12px !important;
		background: var(--wb-bg-card, #1A1A20) !important;
		border: 1px solid rgba(200,169,107,0.18) !important;
		border-radius: 10px !important;
		position: relative !important;
	}

	/* Immagine: occupa tutta la colonna sinistra, righe 1→4 */
	.woocommerce-cart table.cart td.product-thumbnail {
		grid-column: 1 / 2 !important;
		grid-row: 1 / span 4 !important;
		padding: 0 !important;
		border: 0 !important;
		align-self: start !important;
	}
	.woocommerce-cart table.cart td.product-thumbnail img {
		width: 80px !important;
		height: 80px !important;
		object-fit: cover !important;
		border-radius: 8px !important;
		margin: 0 !important;
	}

	/* Tutte le altre celle stanno nella colonna 2, una per riga */
	.woocommerce-cart table.cart td.product-name,
	.woocommerce-cart table.cart td.product-price,
	.woocommerce-cart table.cart td.product-quantity,
	.woocommerce-cart table.cart td.product-subtotal {
		grid-column: 2 / 3 !important;
		padding: 6px 0 !important;
		border: 0 !important;
		border-top: 1px solid rgba(255,255,255,0.05) !important;
	}

	/* Nome — primo elemento, no border-top */
	.woocommerce-cart table.cart td.product-name {
		grid-row: 1 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		color: var(--wb-gold, #C8A96B) !important;
		font-weight: 700 !important;
		padding: 0 36px 8px 0 !important;
		border-top: 0 !important;
	}
	.woocommerce-cart table.cart td.product-name a {
		color: inherit !important;
		text-decoration: none !important;
	}
	.woocommerce-cart table.cart td.product-name .variation {
		font-size: 12px !important;
		color: var(--wb-text-muted, #A8A29A) !important;
		font-weight: 400 !important;
		margin-top: 4px !important;
	}

	/* Righe info (Prezzo / Quantità / Subtotale): label sx, valore dx */
	.woocommerce-cart table.cart td.product-price,
	.woocommerce-cart table.cart td.product-quantity,
	.woocommerce-cart table.cart td.product-subtotal {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 12px !important;
	}

	/* Label uppercase prefix via data-title */
	.woocommerce-cart table.cart td.product-price::before,
	.woocommerce-cart table.cart td.product-quantity::before,
	.woocommerce-cart table.cart td.product-subtotal::before {
		content: attr(data-title) !important;
		flex: 0 0 auto !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: 0.8px !important;
		text-transform: uppercase !important;
		color: var(--wb-text-muted, #A8A29A) !important;
	}

	.woocommerce-cart table.cart td.product-price {
		grid-row: 2 !important;
		font-size: 14px !important;
		color: var(--wb-text-mid, #DDD7CD) !important;
		font-weight: 600 !important;
	}

	.woocommerce-cart table.cart td.product-quantity {
		grid-row: 3 !important;
	}
	.woocommerce-cart table.cart td.product-quantity .quantity {
		display: inline-flex !important;
		align-items: center !important;
	}
	.woocommerce-cart table.cart td.product-quantity input.qty {
		width: 64px !important;
		min-height: 38px !important;
		padding: 6px 8px !important;
		text-align: center !important;
		background: var(--wb-bg-input, #16161C) !important;
		color: var(--wb-text, #F5F1E8) !important;
		border: 1px solid rgba(200,169,107,0.3) !important;
		border-radius: 8px !important;
		font-weight: 600 !important;
	}

	.woocommerce-cart table.cart td.product-subtotal {
		grid-row: 4 !important;
		font-size: 16px !important;
		color: var(--wb-gold, #C8A96B) !important;
		font-weight: 700 !important;
	}

	/* X rimuovi: angolo top-right del card */
	.woocommerce-cart table.cart td.product-remove {
		position: absolute !important;
		top: 8px !important;
		right: 8px !important;
		padding: 0 !important;
		border: 0 !important;
		width: auto !important;
		grid-row: auto !important;
		grid-column: auto !important;
		z-index: 2 !important;
	}
	.woocommerce-cart table.cart td.product-remove a.remove {
		width: 26px !important;
		height: 26px !important;
		line-height: 24px !important;
		font-size: 16px !important;
		background: rgba(217,83,79,0.15) !important;
		color: #F5A5A3 !important;
		border: 1px solid rgba(217,83,79,0.3) !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-decoration: none !important;
	}
	.woocommerce-cart table.cart td.product-remove a.remove:hover {
		background: rgba(217,83,79,0.4) !important;
		color: #fff !important;
	}

	/* Riga "Coupon + aggiorna carrello" sotto le righe */
	.woocommerce-cart table.cart td.actions {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		padding: 14px !important;
		background: var(--wb-bg-card, #1A1A20) !important;
		border: 1px solid rgba(200,169,107,0.18) !important;
		border-radius: 10px !important;
		margin-bottom: 12px !important;
	}
	.woocommerce-cart table.cart td.actions .coupon {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}
	.woocommerce-cart table.cart td.actions .coupon .input-text {
		width: 100% !important;
		min-height: 44px !important;
	}
	.woocommerce-cart table.cart td.actions .coupon .button,
	.woocommerce-cart table.cart td.actions button[name="update_cart"] {
		width: 100% !important;
		min-height: 44px !important;
	}

	/* ── Smooth scrolling for entire page ── */
	html {
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}
}

/* ═══ Extra small phones (max-width: 400px) ═══ */
@media (max-width: 400px) {

	/* Goal cards — single column */
	.wb-goals-grid {
		grid-template-columns: 1fr !important;
	}

	/* Related products — single column */
	.woocommerce .related ul.products,
	.woocommerce .up-sells ul.products {
		grid-template-columns: 1fr !important;
	}

	/* Buttons — smaller text */
	.wb-btn {
		font-size: 14px !important;
		padding: 12px 20px !important;
	}

	/* My Account nav — stack fully */
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: column !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		text-align: left !important;
	}
}

/* ═══ Landscape phone fix — prevent hero from being too tall ═══ */
@media (max-height: 500px) and (orientation: landscape) {
	.wb-hero {
		min-height: 70vh !important;
	}

	.wb-hero h1 {
		font-size: 1.6rem !important;
	}

	.wb-hero-subtitle {
		display: none !important;
	}
}

/* ═══ Safe area insets — notch phones (iPhone X+) ═══ */
@supports (padding: env(safe-area-inset-bottom)) {
	.wb-sticky-atc {
		padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
	}

	.wb-footer-bottom {
		padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important;
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-inner {
		padding-top: env(safe-area-inset-top) !important;
	}
}

@media print {
	body {
		background: #fff !important;
		color: #000 !important;
	}
}

/* ==========================================================================
   Spaziatura sezioni su mobile — distacco tra recensioni / newsletter / cta
   ========================================================================== */
@media (max-width: 782px) {
	/* Newsletter: piu' margine sopra per staccarsi dalle recensioni */
	.wb-newsletter {
		padding-top: 56px !important;
		padding-bottom: 56px !important;
		margin-top: 24px;
	}

	/* Recensioni: piu' aria sotto */
	.wb-reviews {
		padding-bottom: 48px !important;
	}

	/* Generico: distacco visivo tra tutte le sezioni adiacenti */
	.wb-section + .wb-section {
		margin-top: 32px;
		padding-top: 56px !important;
		border-top: 1px solid rgba(200,169,107,0.08);
	}

	/* Trust bar (Qualità certificata, Spedizione, Made in Italy) — piu' aria */
	.wb-trust-bar {
		padding: 28px 18px !important;
		gap: 14px !important;
		margin-bottom: 24px;
	}

	/* Stacco tra trust bar e la sezione successiva (Best Seller, ecc) */
	.wb-trust-bar + .wb-section {
		padding-top: 48px !important;
		margin-top: 8px;
	}
}

/* ==========================================================================
   CTA finale "Pronto a fare il prossimo passo?" — piu' respiro su mobile
   ========================================================================== */
@media (max-width: 782px) {
	.wb-cta-final {
		padding: 64px 22px 72px !important;
		margin-top: 24px;
	}
	.wb-cta-final h2 {
		margin-bottom: 18px !important;
	}
	.wb-cta-final p {
		margin-bottom: 36px !important;
	}
	/* Stacco visivo prima del footer */
	.wb-footer {
		margin-top: 24px;
	}
}

/* ==========================================================================
   Footer mobile — colonna unica, layout pulito
   ========================================================================== */
@media (max-width: 782px) {
	/* Padding piu' arioso e uniforme */
	.wb-footer-main {
		padding: 48px 18px 32px !important;
	}

	/* Logo e descrizione brand centrati */
	.wb-footer-brand {
		text-align: center;
	}
	.wb-footer-logo {
		justify-content: center;
	}
	.wb-footer-brand-desc {
		text-align: center;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 16px;
	}
	.wb-footer-social {
		justify-content: center;
	}

	/* Titoli sezioni (LINK RAPIDI, CATEGORIE, ASSISTENZA, ecc) */
	.wb-footer-title {
		text-align: center;
		font-size: 11px !important;
		letter-spacing: 2.5px !important;
		color: var(--wb-gold, #C8A96B) !important;
		border-bottom: 1px solid rgba(200,169,107,0.15) !important;
		padding-bottom: 12px !important;
		margin-bottom: 14px !important;
	}

	/* Liste link con interlinea piu' generosa per facile tap */
	.wb-footer-list,
	.wb-footer ul {
		text-align: center;
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.wb-footer-list li,
	.wb-footer ul li {
		padding: 6px 0;
	}
	.wb-footer-list a {
		font-size: 14px;
	}

	/* Sezione contatti centrata e leggibile */
	.wb-footer-contact {
		text-align: center;
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.wb-footer-contact li {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 8px;
		flex-wrap: wrap;
		padding: 6px 0;
	}
	.wb-footer-contact li svg {
		flex-shrink: 0;
		color: var(--wb-gold, #C8A96B);
	}
	.wb-footer-contact li > * {
		text-align: center;
	}

	/* Pagamenti centrati */
	.wb-footer-payments {
		justify-content: center;
		flex-wrap: wrap;
	}

	/* Spazio extra sotto il footer cosi i bottoni flottanti non coprono testo */
	.wb-footer-bottom {
		padding-bottom: calc(90px + env(safe-area-inset-bottom)) !important;
		text-align: center;
		font-size: 11px;
		line-height: 1.6;
	}

	/* Nasconde il fumetto "Hai bisogno di aiuto?" su mobile */
	.df-ai-chat-bubble {
		display: none !important;
	}

	/* Riduce dimensione del bottone chat su mobile */
	.df-ai-chat-toggle {
		width: 52px !important;
		height: 52px !important;
	}
	.df-ai-chat-toggle svg {
		width: 24px !important;
		height: 24px !important;
	}
	.df-ai-chat {
		bottom: 16px !important;
		right: 16px !important;
	}

	/* Bottone telefono flottante */
	.warbor-phone-fab,
	.wb-phone-fab,
	.wb-call-fab,
	[class*="phone-fab"],
	[class*="call-fab"] {
		bottom: 16px !important;
		left: 16px !important;
		width: 48px !important;
		height: 48px !important;
	}
}

/* Quando lo sticky ATC e' presente, dare ancora piu' spazio in fondo al footer */
@media (max-width: 782px) {
	body.single-product .wb-footer-bottom,
	body.woocommerce-page .wb-footer-bottom {
		padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
	}
}

/* ===========================================================================
   PAGINA CHI SIAMO — [warbor_about]
   Dark luxury, mobile-first, sezioni: hero / story+pillars / mission / team / closing / cta
   =========================================================================== */

/* Hero pagina */
.wb-about-hero {
	position: relative;
	padding: clamp(60px, 12vw, 120px) 0 clamp(40px, 8vw, 80px);
	background:
		radial-gradient(ellipse at 50% 0%, rgba(200,169,107,0.08), transparent 60%),
		var(--wb-bg);
	border-bottom: 1px solid rgba(200,169,107,0.12);
}
.wb-about-hero-inner {
	text-align: center;
	max-width: 820px;
}
.wb-about-h1 {
	margin: 14px 0 18px;
	font-family: var(--wb-font-serif);
	font-size: clamp(36px, 7vw, 68px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wb-text);
	font-weight: 600;
}
.wb-about-h1 em {
	font-style: italic;
	background: var(--wb-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.wb-about-lead {
	font-size: clamp(16px, 2.2vw, 19px);
	line-height: 1.65;
	color: var(--wb-text-mid);
	max-width: 680px;
	margin: 0 auto;
}
.wb-about-edit-btn {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--wb-gold);
	background: rgba(11,11,13,0.85);
	border: 1px solid rgba(200,169,107,0.35);
	border-radius: 999px;
	backdrop-filter: blur(8px);
	text-decoration: none;
	transition: all .25s ease;
	z-index: 5;
}
.wb-about-edit-btn:hover {
	background: rgba(200,169,107,0.15);
	border-color: var(--wb-gold);
	color: var(--wb-gold-light);
}

/* Story + pillars */
.wb-about-story {
	padding: clamp(48px, 9vw, 96px) 0;
}
.wb-about-story-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(32px, 6vw, 72px);
	align-items: start;
}
.wb-about-story-text p {
	font-size: clamp(15px, 1.7vw, 17px);
	line-height: 1.75;
	color: var(--wb-text-mid);
	margin: 0 0 18px;
}
.wb-about-story-text p:first-of-type::first-letter {
	font-family: var(--wb-font-serif);
	font-size: 3.4em;
	float: left;
	line-height: 0.9;
	margin: 6px 10px 0 0;
	color: var(--wb-gold);
	font-weight: 600;
}
.wb-about-pillars {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.wb-pillar {
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.15);
	border-radius: var(--wb-radius);
	padding: 22px 22px 20px;
	transition: all .3s ease;
}
.wb-pillar:hover {
	border-color: rgba(200,169,107,0.4);
	transform: translateY(-2px);
	box-shadow: var(--wb-shadow-gold);
}
.wb-pillar-icon {
	display: inline-block;
	font-size: 28px;
	margin-bottom: 10px;
	filter: drop-shadow(0 2px 8px rgba(200,169,107,0.3));
}
.wb-pillar h3 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	color: var(--wb-gold);
	letter-spacing: 0.02em;
}
.wb-pillar p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--wb-text-muted);
}

/* Mission */
.wb-about-mission {
	padding: clamp(56px, 10vw, 110px) 0;
	background:
		linear-gradient(180deg, transparent 0%, rgba(200,169,107,0.04) 50%, transparent 100%),
		var(--wb-bg);
	border-top: 1px solid rgba(200,169,107,0.08);
	border-bottom: 1px solid rgba(200,169,107,0.08);
	text-align: center;
}
.wb-about-mission-inner {
	max-width: 780px;
}
.wb-about-mission-text {
	font-family: var(--wb-font-serif);
	font-size: clamp(20px, 3vw, 28px);
	font-style: italic;
	line-height: 1.5;
	color: var(--wb-text);
	margin: 18px 0 0;
	position: relative;
	padding: 0 clamp(20px, 5vw, 60px);
}
.wb-about-mission-text::before,
.wb-about-mission-text::after {
	content: '"';
	font-family: var(--wb-font-serif);
	font-size: 1.6em;
	color: var(--wb-gold);
	opacity: 0.6;
	font-style: normal;
	position: absolute;
	line-height: 1;
}
.wb-about-mission-text::before { top: -8px; left: 0; }
.wb-about-mission-text::after  { bottom: -28px; right: 0; }

/* Team */
.wb-about-team {
	padding: clamp(56px, 10vw, 110px) 0;
}
.wb-about-team-head {
	text-align: center;
	margin-bottom: clamp(32px, 5vw, 56px);
}
.wb-about-team-intro {
	color: var(--wb-text-muted);
	font-size: 15px;
	margin-top: 8px;
}
.wb-about-team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(20px, 3vw, 32px);
	max-width: 1100px;
	margin: 0 auto;
}
.wb-team-card {
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.15);
	border-radius: var(--wb-radius);
	padding: 28px 22px 26px;
	text-align: center;
	transition: all .3s ease;
}
.wb-team-card:hover {
	border-color: rgba(200,169,107,0.45);
	transform: translateY(-4px);
	box-shadow: var(--wb-shadow-gold);
}
.wb-team-avatar {
	width: 96px;
	height: 96px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--wb-gold-grad);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 24px rgba(200,169,107,0.25);
	overflow: hidden;
	position: relative;
}
.wb-team-avatar.has-image {
	background: var(--wb-bg-elevated);
	padding: 3px;
}
.wb-team-avatar.has-image::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid transparent;
	background: var(--wb-gold-grad) border-box;
	-webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
	mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}
.wb-team-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}
.wb-team-badge {
	font-size: 36px;
	line-height: 1;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}
.wb-team-name {
	margin: 0 0 4px;
	font-family: var(--wb-font-serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--wb-text);
	letter-spacing: 0.01em;
}
.wb-team-role {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wb-gold);
}
.wb-team-bio {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--wb-text-muted);
}

/* Closing */
.wb-about-closing {
	padding: clamp(40px, 7vw, 80px) 0;
	text-align: center;
}
.wb-about-closing-text {
	max-width: 780px;
	margin: 0 auto;
	font-size: clamp(15px, 1.9vw, 18px);
	line-height: 1.7;
	color: var(--wb-text-mid);
}

/* CTA finale */
.wb-about-cta {
	padding: clamp(56px, 9vw, 110px) 0;
	background:
		radial-gradient(ellipse at 50% 50%, rgba(200,169,107,0.08), transparent 70%),
		var(--wb-bg-card);
	border-top: 1px solid rgba(200,169,107,0.12);
	text-align: center;
}
.wb-about-cta-inner h2 {
	font-family: var(--wb-font-serif);
	font-size: clamp(28px, 4.5vw, 44px);
	margin: 0 0 12px;
	color: var(--wb-text);
	line-height: 1.15;
}
.wb-about-cta-inner p {
	color: var(--wb-text-muted);
	margin: 0 0 28px;
	font-size: 16px;
}

/* Mobile */
@media (max-width: 768px) {
	.wb-about-story-grid {
		grid-template-columns: 1fr;
	}
	.wb-about-mission-text::before,
	.wb-about-mission-text::after {
		display: none;
	}
	.wb-about-mission-text {
		padding: 0;
	}
	.wb-about-edit-btn {
		top: 8px;
		right: 8px;
		font-size: 11px;
		padding: 6px 10px;
	}
}

/* ===========================================================================
   PAGINA RESI & CAMBI — [warbor_returns]
   =========================================================================== */

.wb-returns-hero {
	position: relative;
	padding: clamp(60px, 12vw, 110px) 0 clamp(36px, 7vw, 70px);
	background:
		radial-gradient(ellipse at 50% 0%, rgba(200,169,107,0.08), transparent 60%),
		var(--wb-bg);
	border-bottom: 1px solid rgba(200,169,107,0.12);
}
.wb-returns-intro-box {
	max-width: 600px;
	margin: 28px auto 0;
	padding: 16px 22px;
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.25);
	border-left: 3px solid var(--wb-gold);
	border-radius: var(--wb-radius);
	color: var(--wb-text-mid);
	font-size: 14px;
	line-height: 1.55;
}
.wb-returns-sections {
	padding: clamp(48px, 8vw, 90px) 0;
}
.wb-returns-list {
	max-width: 880px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	counter-reset: returns-counter;
}
.wb-returns-item {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: clamp(18px, 3vw, 28px);
	padding: clamp(22px, 3vw, 32px) 0;
	border-bottom: 1px solid rgba(200,169,107,0.1);
}
.wb-returns-item:last-child { border-bottom: 0; }
.wb-returns-num {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wb-gold-grad);
	color: #0B0B0D;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wb-font-serif);
	font-size: 22px;
	font-weight: 700;
	box-shadow: 0 4px 16px rgba(200,169,107,0.25);
	flex-shrink: 0;
}
.wb-returns-body h3 {
	margin: 6px 0 12px;
	font-family: var(--wb-font-serif);
	font-size: clamp(20px, 2.6vw, 26px);
	color: var(--wb-text);
	font-weight: 600;
}
.wb-returns-body p {
	margin: 0 0 12px;
	font-size: clamp(14px, 1.7vw, 16px);
	line-height: 1.7;
	color: var(--wb-text-mid);
}
.wb-returns-body p:last-child { margin-bottom: 0; }

.wb-returns-contact {
	padding: clamp(48px, 9vw, 100px) 0;
	background:
		linear-gradient(180deg, transparent 0%, rgba(200,169,107,0.04) 50%, transparent 100%),
		var(--wb-bg);
	border-top: 1px solid rgba(200,169,107,0.1);
}
.wb-returns-contact-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(28px, 5vw, 56px);
	align-items: start;
}
.wb-returns-contact-grid h2 {
	font-family: var(--wb-font-serif);
	font-size: clamp(24px, 3.2vw, 32px);
	color: var(--wb-text);
	margin: 0 0 12px;
	font-weight: 600;
}
.wb-returns-contact-grid p {
	color: var(--wb-text-mid);
	line-height: 1.65;
	font-size: 15px;
	margin: 0 0 20px;
}
.wb-returns-contacts {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
.wb-returns-contacts li {
	padding: 10px 0;
	border-bottom: 1px solid rgba(200,169,107,0.08);
	font-size: 15px;
	color: var(--wb-text-mid);
}
.wb-returns-contacts li:last-child { border-bottom: 0; }
.wb-returns-contacts a {
	color: var(--wb-gold);
	text-decoration: none;
	transition: color .2s ease;
}
.wb-returns-contacts a:hover { color: var(--wb-gold-light); }
.wb-returns-contacts strong { color: var(--wb-text); margin-right: 4px; }

.wb-returns-address {
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.18);
	border-radius: var(--wb-radius);
	padding: clamp(24px, 3vw, 36px);
}
.wb-returns-address-intro {
	margin: 0 0 18px;
}
.wb-returns-address-block {
	font-style: normal;
	font-size: clamp(15px, 1.9vw, 17px);
	line-height: 1.7;
	color: var(--wb-text);
	background: var(--wb-bg-elevated);
	padding: 18px 20px;
	border-radius: 8px;
	border-left: 3px solid var(--wb-gold);
}
.wb-returns-address-block strong {
	color: var(--wb-gold);
	font-family: var(--wb-font-serif);
	font-size: 1.1em;
}

@media (max-width: 768px) {
	.wb-returns-contact-grid {
		grid-template-columns: 1fr;
	}
	.wb-returns-item {
		grid-template-columns: 48px 1fr;
		gap: 14px;
	}
	.wb-returns-num {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}
}

/* ===========================================================================
   PAGINA TERMINI E CONDIZIONI
   =========================================================================== */
.wb-terms-hero {
	position: relative;
	padding: clamp(60px, 12vw, 110px) 0 clamp(36px, 7vw, 70px);
	background:
		radial-gradient(ellipse at 50% 0%, rgba(200,169,107,0.08), transparent 60%),
		var(--wb-bg);
	border-bottom: 1px solid rgba(200,169,107,0.12);
}
.wb-terms-hero-inner {
	text-align: center;
	max-width: 820px;
}
.wb-terms-h1 {
	font-family: var(--wb-font-serif);
	font-size: clamp(34px, 5vw, 54px);
	margin: 14px 0 10px;
	color: var(--wb-text);
	font-weight: 600;
	line-height: 1.15;
}
.wb-terms-h1 em {
	color: var(--wb-gold);
	font-style: italic;
}
.wb-terms-meta {
	color: var(--wb-text-muted);
	font-size: 14px;
	margin: 12px 0 0;
}
.wb-terms-meta strong { color: var(--wb-text); }

.wb-terms-body {
	padding: clamp(36px, 6vw, 72px) 0 clamp(60px, 10vw, 110px);
}
.wb-terms-container {
	max-width: 1100px;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}
.wb-terms-toc {
	position: sticky;
	top: 92px;
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.15);
	border-radius: var(--wb-radius);
	padding: 22px 22px 22px 18px;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	font-size: 13px;
}
.wb-terms-toc h2 {
	font-family: var(--wb-font-serif);
	font-size: 16px;
	margin: 0 0 10px;
	color: var(--wb-gold);
	letter-spacing: 0.3px;
}
.wb-terms-toc ol {
	margin: 0;
	padding-left: 22px;
	color: var(--wb-text-mid);
	line-height: 1.7;
}
.wb-terms-toc a {
	color: var(--wb-text-mid);
	text-decoration: none;
	transition: color .15s ease;
}
.wb-terms-toc a:hover { color: var(--wb-gold); }

.wb-terms-doc article {
	scroll-margin-top: 92px;
	padding: 0 0 32px;
	border-bottom: 1px solid rgba(200,169,107,0.08);
	margin-bottom: 32px;
}
.wb-terms-doc article:last-of-type { border-bottom: 0; }
.wb-terms-doc h2 {
	font-family: var(--wb-font-serif);
	font-size: clamp(22px, 2.6vw, 28px);
	color: var(--wb-text);
	font-weight: 600;
	margin: 0 0 14px;
}
.wb-terms-doc p,
.wb-terms-doc li {
	color: var(--wb-text-mid);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 12px;
}
.wb-terms-doc strong { color: var(--wb-text); }
.wb-terms-doc ul,
.wb-terms-doc ol {
	margin: 0 0 14px;
	padding-left: 24px;
}
.wb-terms-doc ul li,
.wb-terms-doc ol li { margin-bottom: 6px; }
.wb-terms-doc a {
	color: var(--wb-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wb-terms-doc a:hover { color: var(--wb-gold-light, #E6CF9A); }

.wb-terms-id {
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.18);
	border-radius: var(--wb-radius);
	padding: 18px 22px;
	list-style: none;
	margin: 0 0 18px;
}
.wb-terms-id li {
	padding: 6px 0;
	border-bottom: 1px dashed rgba(255,255,255,0.05);
	font-size: 14px;
}
.wb-terms-id li:last-child { border-bottom: 0; }

.wb-cookie-table {
	width: 100%;
	border-collapse: collapse;
	margin: 14px 0 18px;
	font-size: 13px;
	background: var(--wb-bg-card);
	border: 1px solid rgba(200,169,107,0.15);
	border-radius: 10px;
	overflow: hidden;
}
.wb-cookie-table th {
	background: rgba(200,169,107,0.06);
	color: var(--wb-gold);
	font-weight: 700;
	text-align: left;
	padding: 12px 14px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-bottom: 1px solid rgba(200,169,107,0.18);
}
.wb-cookie-table td {
	padding: 10px 14px;
	color: var(--wb-text-mid);
	border-bottom: 1px solid rgba(255,255,255,0.04);
	vertical-align: top;
}
.wb-cookie-table tr:last-child td { border-bottom: 0; }
.wb-cookie-table code {
	background: var(--wb-bg);
	color: var(--wb-gold);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 12px;
	word-break: break-all;
}
@media (max-width: 600px) {
	.wb-cookie-table { font-size: 12px; }
	.wb-cookie-table th, .wb-cookie-table td { padding: 8px 10px; }
}

.wb-terms-allegato {
	background: linear-gradient(180deg, rgba(200,169,107,0.04), transparent);
	padding: 28px 28px 32px !important;
	border: 1px dashed rgba(200,169,107,0.22) !important;
	border-radius: var(--wb-radius);
	margin-top: 28px;
}
.wb-terms-modulo {
	background: var(--wb-bg);
	padding: 20px 22px;
	border-radius: var(--wb-radius);
	margin-top: 14px;
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--wb-text-mid);
}
.wb-terms-modulo p { margin: 0 0 10px; color: var(--wb-text-mid); font-family: inherit; font-size: inherit; line-height: inherit; }

.wb-terms-accept-note {
	margin-top: 36px;
	padding: 22px 24px;
	background: linear-gradient(135deg, rgba(200,169,107,0.08), rgba(200,169,107,0.02));
	border: 1px solid rgba(200,169,107,0.22);
	border-left: 3px solid var(--wb-gold);
	border-radius: var(--wb-radius);
	color: var(--wb-text-mid);
	font-size: 14px;
	line-height: 1.65;
}
.wb-terms-accept-note p { margin: 0; color: var(--wb-text-mid); }

@media (max-width: 980px) {
	.wb-terms-container {
		grid-template-columns: 1fr;
	}
	.wb-terms-toc {
		position: static;
		max-height: none;
		order: -1;
	}
	.wb-terms-toc ol {
		columns: 2;
		column-gap: 24px;
	}
}
@media (max-width: 600px) {
	.wb-terms-toc ol { columns: 1; }
	.wb-terms-doc h2 { font-size: 20px; }
	.wb-terms-doc p, .wb-terms-doc li { font-size: 14.5px; }
}

/* ===========================================================================
   UPSELL CHECKOUT — widget nativo prima del bottone di pagamento
   =========================================================================== */

.wb-upsell-card {
	margin: 22px 0 18px;
	padding: 18px 20px;
	background: linear-gradient(135deg, rgba(200,169,107,0.06) 0%, rgba(11,11,13,0.85) 60%);
	border: 1px solid rgba(200,169,107,0.32);
	border-radius: var(--wb-radius);
	box-shadow: 0 6px 30px rgba(0,0,0,0.3);
	position: relative;
	overflow: hidden;
}
.wb-upsell-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 0% 0%, rgba(200,169,107,0.18), transparent 50%);
	pointer-events: none;
}
.wb-upsell-head {
	position: relative;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px dashed rgba(200,169,107,0.2);
}
.wb-upsell-tag {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wb-gold);
	font-weight: 700;
	background: rgba(200,169,107,0.12);
	padding: 4px 10px;
	border-radius: 999px;
	margin-bottom: 6px;
}
.wb-upsell-sub {
	margin: 4px 0 0;
	color: var(--wb-text-muted);
	font-size: 12.5px;
	line-height: 1.5;
}
.wb-upsell-body {
	position: relative;
	display: grid;
	grid-template-columns: 80px 1fr auto;
	gap: 16px;
	align-items: center;
}
.wb-upsell-thumb {
	width: 80px;
	height: 80px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--wb-bg-elevated);
	border: 1px solid rgba(200,169,107,0.18);
}
.wb-upsell-thumb img,
.wb-upsell-thumb .wb-upsell-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wb-upsell-info h4 {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 700;
	color: var(--wb-text);
	line-height: 1.25;
}
.wb-upsell-desc {
	margin: 0 0 8px;
	color: var(--wb-text-muted);
	font-size: 12.5px;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.wb-upsell-price {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.wb-upsell-now {
	font-size: 18px;
	font-weight: 700;
	color: var(--wb-gold);
	font-family: var(--wb-font-serif);
}
.wb-upsell-now .woocommerce-Price-amount,
.wb-upsell-now bdi { color: var(--wb-gold) !important; }
.wb-upsell-was {
	font-size: 13px;
	color: var(--wb-text-muted);
	text-decoration: line-through;
}
.wb-upsell-was .woocommerce-Price-amount,
.wb-upsell-was bdi { color: var(--wb-text-muted) !important; }
.wb-upsell-save {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #0B0B0D;
	background: var(--wb-gold-grad);
	padding: 3px 8px;
	border-radius: 6px;
}
.wb-upsell-action .wb-upsell-add,
.wb-upsell-action .wb-upsell-remove {
	white-space: nowrap;
	padding: 12px 18px;
	font-size: 13px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.wb-upsell-action .wb-upsell-add:disabled,
.wb-upsell-action .wb-upsell-remove:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}
.wb-upsell-action .wb-upsell-remove {
	background: transparent;
	border: 1px solid rgba(217,83,79,0.4);
	color: #E5807C;
	transition: all .25s ease;
}
.wb-upsell-action .wb-upsell-remove:hover {
	background: rgba(217,83,79,0.1);
	border-color: var(--wb-red);
	color: #FFB3B0;
}
.wb-upsell-remove-x {
	font-size: 16px;
	line-height: 1;
	font-weight: 800;
}

/* Stato "upsell già aggiunto" — bordo verde + glow leggero */
.wb-upsell-card.is-added {
	border-color: rgba(34,197,94,0.45);
	background: linear-gradient(135deg, rgba(34,197,94,0.06) 0%, rgba(11,11,13,0.85) 60%);
}
.wb-upsell-card.is-added::before {
	background: radial-gradient(ellipse at 0% 0%, rgba(34,197,94,0.15), transparent 50%);
}
.wb-upsell-card.is-added .wb-upsell-tag {
	color: var(--wb-green);
	background: rgba(34,197,94,0.12);
}
.wb-upsell-card.is-added .wb-upsell-head {
	border-bottom-color: rgba(34,197,94,0.2);
}

@media (max-width: 600px) {
	.wb-upsell-body {
		grid-template-columns: 64px 1fr;
		gap: 12px;
	}
	.wb-upsell-thumb {
		width: 64px;
		height: 64px;
	}
	.wb-upsell-action {
		grid-column: 1 / -1;
	}
	.wb-upsell-action .wb-upsell-add {
		width: 100%;
	}
}

/* ================================================================
   Method Section — "Il Nostro Metodo"
   ================================================================ */
.wb-method {
	position: relative;
	overflow: hidden;
	scroll-margin-top: 90px;
}

.wb-method-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 20% 0%, rgba(200, 169, 107, 0.10), transparent 55%),
		radial-gradient(ellipse at 80% 100%, rgba(200, 169, 107, 0.08), transparent 60%),
		linear-gradient(180deg, #0B0B0D 0%, #111116 50%, #0B0B0D 100%);
}

.wb-method .wb-container {
	position: relative;
	z-index: 1;
}

.wb-method-track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(12px, 1.5vw, 18px);
	margin-top: clamp(28px, 4vw, 48px);
}

.wb-method-line {
	display: none;
}

.wb-method-step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 22px 16px 20px;
	background: linear-gradient(180deg, rgba(26, 26, 32, 0.85) 0%, rgba(17, 17, 22, 0.95) 100%);
	border: 1px solid rgba(200, 169, 107, 0.18);
	border-radius: var(--wb-radius, 12px);
	color: var(--wb-text, #F5F1E8);
	font-family: inherit;
	cursor: pointer;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
	overflow: hidden;
}

.wb-method-step::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(135deg, transparent 0%, rgba(200, 169, 107, 0.55) 50%, transparent 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
			mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
			mask-composite: exclude;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

.wb-method-step:hover,
.wb-method-step:focus-visible {
	transform: translateY(-6px);
	border-color: rgba(200, 169, 107, 0.5);
	background: linear-gradient(180deg, rgba(34, 34, 40, 0.95) 0%, rgba(22, 22, 28, 1) 100%);
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.4), 0 0 24px rgba(200, 169, 107, 0.15);
	outline: none;
}

.wb-method-step:hover::before,
.wb-method-step:focus-visible::before {
	opacity: 1;
}

.wb-method-step-num {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 14px;
	letter-spacing: 2px;
	color: var(--wb-gold, #C8A96B);
	opacity: 0.7;
}

.wb-method-step-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(200, 169, 107, 0.22), rgba(200, 169, 107, 0.04) 70%);
	border: 1px solid rgba(200, 169, 107, 0.35);
	font-size: 26px;
	margin: 4px 0 6px;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.wb-method-step:hover .wb-method-step-icon {
	transform: scale(1.08) rotate(-3deg);
}

.wb-method-step-title {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 17px;
	font-weight: 700;
	color: var(--wb-text, #F5F1E8);
	line-height: 1.2;
}

.wb-method-step-tagline {
	font-size: 13px;
	color: var(--wb-text-muted, #A8A29A);
	line-height: 1.4;
}

.wb-method-step-cta {
	margin-top: 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wb-gold, #C8A96B);
	opacity: 0.8;
	transition: opacity 0.25s ease, letter-spacing 0.25s ease;
}

.wb-method-step:hover .wb-method-step-cta {
	opacity: 1;
	letter-spacing: 1.5px;
}

/* Modal */
.wb-method-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.wb-method-modal.wb-visible {
	opacity: 1;
	pointer-events: auto;
}

.wb-method-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 5, 8, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.wb-method-modal-card {
	position: relative;
	width: min(640px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 36px 36px 30px;
	background: linear-gradient(180deg, #1F1F26 0%, #14141A 100%);
	border: 1px solid rgba(200, 169, 107, 0.4);
	border-radius: 16px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6), 0 0 60px rgba(200, 169, 107, 0.08);
	color: var(--wb-text, #F5F1E8);
	transform: translateY(20px) scale(0.96);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.wb-method-modal.wb-visible .wb-method-modal-card {
	transform: translateY(0) scale(1);
}

.wb-method-modal-card.wb-method-flip {
	animation: wb-method-flip-in 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes wb-method-flip-in {
	0%   { opacity: 0; transform: translateY(0) scale(1) rotateY(8deg); }
	100% { opacity: 1; transform: translateY(0) scale(1) rotateY(0); }
}

.wb-method-modal-close {
	position: absolute;
	top: 14px;
	right: 16px;
	width: 32px;
	height: 32px;
	border: 0;
	background: transparent;
	color: #FFFFFF;
	font-size: 24px;
	line-height: 1;
	border-radius: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: color 0.2s ease, transform 0.2s ease;
}

.wb-method-modal-close:hover {
	color: var(--wb-gold, #C8A96B);
	transform: rotate(90deg);
}

.wb-method-modal-header {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 14px;
}

.wb-method-modal-num {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 56px;
	font-weight: 700;
	line-height: 1;
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A);
	-webkit-background-clip: text;
			background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	letter-spacing: -1px;
}

.wb-method-modal-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	font-size: 32px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(200, 169, 107, 0.28), rgba(200, 169, 107, 0.06) 70%);
	border: 1px solid rgba(200, 169, 107, 0.45);
}

.wb-method-modal-title {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: clamp(24px, 3vw, 30px);
	color: var(--wb-gold, #C8A96B);
	margin: 0 0 6px;
	line-height: 1.2;
}

.wb-method-modal-tagline {
	font-size: 14px;
	letter-spacing: 0.5px;
	color: var(--wb-text-muted, #A8A29A);
	font-style: italic;
	margin: 0 0 18px;
}

.wb-method-modal-long {
	font-size: 15px;
	line-height: 1.65;
	color: var(--wb-text-mid, #DDD7CD);
	margin: 0 0 20px;
}

.wb-method-modal-bullets {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wb-method-modal-bullets li {
	position: relative;
	padding: 10px 14px 10px 38px;
	background: rgba(200, 169, 107, 0.06);
	border: 1px solid rgba(200, 169, 107, 0.18);
	border-radius: 8px;
	font-size: 14px;
	color: var(--wb-text, #F5F1E8);
	line-height: 1.45;
}

.wb-method-modal-bullets li::before {
	content: '';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 7px;
	height: 12px;
	border-right: 2px solid var(--wb-gold, #C8A96B);
	border-bottom: 2px solid var(--wb-gold, #C8A96B);
}

.wb-method-modal-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.wb-method-modal-prev,
.wb-method-modal-next {
	background: transparent;
	border: 1px solid rgba(200, 169, 107, 0.3);
	color: var(--wb-text-mid, #DDD7CD);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	padding: 9px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.wb-method-modal-prev:hover,
.wb-method-modal-next:hover {
	background: rgba(200, 169, 107, 0.1);
	border-color: rgba(200, 169, 107, 0.55);
	color: var(--wb-text, #F5F1E8);
}

.wb-method-modal-counter {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 14px;
	color: var(--wb-gold, #C8A96B);
	letter-spacing: 1px;
}

body.wb-no-scroll {
	overflow: hidden;
}

/* Tablet: 3 + 2 */
@media (max-width: 960px) {
	.wb-method-track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.wb-method-line {
		display: none;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.wb-method-track {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.wb-method-step {
		flex-direction: row;
		align-items: center;
		text-align: left;
		padding: 16px 18px;
		gap: 14px;
	}
	.wb-method-step-num {
		flex: 0 0 auto;
		font-size: 13px;
		opacity: 0.6;
	}
	.wb-method-step-icon {
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		font-size: 22px;
		margin: 0;
	}
	.wb-method-step-title {
		flex: 1 1 auto;
		font-size: 16px;
	}
	.wb-method-step-tagline,
	.wb-method-step-cta {
		display: none;
	}
	.wb-method-modal-card {
		padding: 28px 22px 24px;
	}
	.wb-method-modal-num {
		font-size: 42px;
	}
	.wb-method-modal-icon {
		width: 52px;
		height: 52px;
		font-size: 26px;
	}
	.wb-method-modal-nav {
		flex-wrap: wrap;
		justify-content: center;
	}
	.wb-method-modal-counter {
		order: -1;
		width: 100%;
		text-align: center;
	}
}

/* ================================================================
   Add-to-Cart Popup — appare in basso dopo aggiunta da home/menu/archivio
   ================================================================ */
#wb-atc-popup {
	position: fixed;
	left: 50%;
	bottom: 20px;
	transform: translate(-50%, 140%);
	z-index: 100000;
	display: flex;
	align-items: center;
	gap: 14px;
	width: min(680px, calc(100vw - 24px));
	padding: 14px 44px 14px 18px;
	background: linear-gradient(180deg, #1F1F26 0%, #16161C 100%);
	border: 1px solid rgba(200, 169, 107, 0.35);
	border-radius: var(--wb-radius, 12px);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(0, 0, 0, 0.4);
	color: var(--wb-text, #F5F1E8);
	font-family: var(--wb-font, 'Inter', sans-serif);
	opacity: 0;
	pointer-events: none;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.25s ease;
}

#wb-atc-popup.wb-visible {
	transform: translate(-50%, 0);
	opacity: 1;
	pointer-events: auto;
}

.wb-atc-popup-icon {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #8E6A35, #C8A96B);
	color: #16161C;
}

.wb-atc-popup-body {
	flex: 1 1 auto;
	min-width: 0;
}

.wb-atc-popup-title {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 15px;
	font-weight: 700;
	color: var(--wb-gold, #C8A96B);
	letter-spacing: 0.3px;
	line-height: 1.2;
}

.wb-atc-popup-text {
	font-size: 13px;
	color: var(--wb-text-muted, #A8A29A);
	margin-top: 2px;
	line-height: 1.3;
}

.wb-atc-popup-actions {
	flex: 0 0 auto;
	display: flex;
	gap: 8px;
	align-items: center;
}

.wb-atc-popup-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	padding: 0 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.2px;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: transform 0.15s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	border: 1px solid transparent;
	font-family: inherit;
}

.wb-atc-popup-btn--primary {
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A);
	color: #0B0B0D;
	box-shadow: 0 4px 14px rgba(200, 169, 107, 0.28);
}

.wb-atc-popup-btn--primary:hover {
	transform: translateY(-1px);
	color: #0B0B0D;
}

.wb-atc-popup-btn--ghost {
	background: transparent;
	color: var(--wb-text-mid, #DDD7CD);
	border-color: rgba(255, 255, 255, 0.18);
}

.wb-atc-popup-btn--ghost:hover {
	background: rgba(200, 169, 107, 0.08);
	color: var(--wb-text, #F5F1E8);
	border-color: rgba(200, 169, 107, 0.4);
}

.wb-atc-popup-close {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	border: 0;
	background: transparent;
	color: var(--wb-text-muted, #A8A29A);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: color 0.2s ease, background 0.2s ease;
}

.wb-atc-popup-close:hover {
	color: var(--wb-text, #F5F1E8);
	background: rgba(200, 169, 107, 0.12);
}

/* Mobile: stack verticale, full-width in basso */
@media (max-width: 600px) {
	#wb-atc-popup {
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
		transform: translateY(140%);
		flex-wrap: wrap;
		padding: 30px 16px 16px;
	}
	#wb-atc-popup.wb-visible {
		transform: translateY(0);
	}
	.wb-atc-popup-actions {
		width: 100%;
		margin-top: 4px;
	}
	.wb-atc-popup-btn {
		flex: 1 1 0;
		height: 42px;
	}
	.wb-atc-popup-close {
		top: 8px;
		right: 8px;
		transform: none;
	}
}

/* ================================================================
   Shop archive — selettore "Ordinamento predefinito" dark luxury.
   Era il classico <select> bianco di sistema, qui rivestito gold/black.
   ================================================================ */
.woocommerce .woocommerce-ordering {
	margin: 0 0 24px;
}

.woocommerce .woocommerce-ordering select.orderby {
	width: auto;
	min-width: 240px;
	max-width: 100%;
	min-height: 44px;
	padding: 10px 38px 10px 14px;
	background: var(--wb-bg-input, #16161C);
	color: var(--wb-text, #F5F1E8);
	border: 1px solid rgba(200, 169, 107, 0.3);
	border-radius: 10px;
	font-family: var(--wb-font, 'Inter', sans-serif);
	font-size: 14px;
	font-weight: 600;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #C8A96B 50%), linear-gradient(135deg, #C8A96B 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	cursor: pointer;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce .woocommerce-ordering select.orderby:hover {
	border-color: var(--wb-gold, #C8A96B);
}

.woocommerce .woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: var(--wb-gold, #C8A96B);
	box-shadow: 0 0 0 3px rgba(200, 169, 107, 0.18);
}

.woocommerce .woocommerce-ordering select.orderby option {
	background: #16161C;
	color: #F5F1E8;
}

/* "X risultati" mostrato accanto all'ordinamento (se attivo) */
.woocommerce .woocommerce-result-count {
	color: var(--wb-text-mid, #DDD7CD);
	font-size: 14px;
	margin: 0 0 24px;
}

/* ================================================================
   Tabella "Informazioni aggiuntive" (attributi prodotto) — dark luxury
   I label (Taglia, Colore) erano renderizzati in nero su nero.
   ================================================================ */
.woocommerce div.product .woocommerce-product-attributes,
.woocommerce div.product table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
	border: 1px solid rgba(200, 169, 107, 0.18);
	border-radius: 10px;
	overflow: hidden;
}

.woocommerce div.product .woocommerce-product-attributes tr,
.woocommerce div.product table.shop_attributes tr {
	background: transparent !important;
}

.woocommerce div.product .woocommerce-product-attributes tr:nth-child(even),
.woocommerce div.product table.shop_attributes tr:nth-child(even) {
	background: rgba(200, 169, 107, 0.04) !important;
}

.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td,
.woocommerce div.product table.shop_attributes th,
.woocommerce div.product table.shop_attributes td {
	padding: 14px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	background: transparent !important;
	font-style: normal !important;
}

.woocommerce div.product .woocommerce-product-attributes tr:last-child th,
.woocommerce div.product .woocommerce-product-attributes tr:last-child td,
.woocommerce div.product table.shop_attributes tr:last-child th,
.woocommerce div.product table.shop_attributes tr:last-child td {
	border-bottom: 0 !important;
}

/* Label (es. "Taglia", "Colore") */
.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes-label,
.woocommerce div.product table.shop_attributes th {
	color: var(--wb-gold, #C8A96B) !important;
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	width: 35% !important;
	text-align: left !important;
	vertical-align: middle !important;
}

/* Valore (es. "M", "Nero") */
.woocommerce div.product .woocommerce-product-attributes td,
.woocommerce div.product .woocommerce-product-attributes-value,
.woocommerce div.product table.shop_attributes td {
	color: var(--wb-text, #F5F1E8) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	vertical-align: middle !important;
}

.woocommerce div.product .woocommerce-product-attributes td p,
.woocommerce div.product table.shop_attributes td p {
	color: inherit !important;
	margin: 0 !important;
}

/* Link a termini di tassonomia (es. nel testo del valore) */
.woocommerce div.product .woocommerce-product-attributes td a,
.woocommerce div.product table.shop_attributes td a {
	color: var(--wb-gold, #C8A96B) !important;
	text-decoration: none !important;
}
.woocommerce div.product .woocommerce-product-attributes td a:hover,
.woocommerce div.product table.shop_attributes td a:hover {
	text-decoration: underline !important;
}

/* ================================================================
   Variations table — Dark luxury fallback per la <select> WooCommerce
   (visibile finché i pill JS non subentrano, e su browser senza JS).
   ================================================================ */
.woocommerce div.product form.cart table.variations {
	width: 100%;
	max-width: 100%;
	border: 0;
	background: transparent;
	margin: 0 0 18px;
}

.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
	display: block;
	width: 100%;
	max-width: 100%;
	background: transparent;
	border: 0;
	padding: 0;
	box-sizing: border-box;
}

.woocommerce div.product form.cart table.variations th.label {
	margin: 0 0 8px;
}

.woocommerce div.product form.cart table.variations th.label label {
	display: block;
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wb-gold, #C8A96B);
	font-weight: 600;
	margin: 0;
}

.woocommerce div.product form.cart table.variations td.value {
	margin: 0 0 14px;
	position: relative;
}

/* Stile della <select> WC: rimane visibile come fallback se i pill
   non subentrano. Quando subentrano viene nascosta da inline JS. */
.woocommerce div.product form.cart table.variations select {
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	padding: 10px 38px 10px 14px;
	background: var(--wb-bg-input, #16161C);
	color: var(--wb-text, #F5F1E8);
	border: 1px solid rgba(200, 169, 107, 0.3);
	border-radius: 10px;
	font-family: var(--wb-font, 'Inter', sans-serif);
	font-size: 14px;
	font-weight: 600;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #C8A96B 50%), linear-gradient(135deg, #C8A96B 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	cursor: pointer;
	box-sizing: border-box;
}

.woocommerce div.product form.cart table.variations select:focus {
	outline: none;
	border-color: var(--wb-gold, #C8A96B);
	box-shadow: 0 0 0 3px rgba(200, 169, 107, 0.18);
}

/* Le option dentro la select native usano stile sistema; provo a forzare
   colore di sfondo per browser che lo permettono. */
.woocommerce div.product form.cart table.variations select option {
	background: #16161C;
	color: #F5F1E8;
}

/* ================================================================
   Variation Pills (taglie + colori) — Dark luxury sostituisce le
   dropdown standard WooCommerce sui prodotti variable abbigliamento.
   ================================================================ */
.woocommerce div.product form.cart .wb-var-label {
	display: block;
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wb-gold, #C8A96B);
	margin: 0 0 10px;
	font-weight: 600;
}

.wb-var-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	max-width: 100%;
	box-sizing: border-box;
	transition: opacity 0.25s ease;
}

/* Step gating: gruppo non ancora attivo (es. colori prima di scegliere taglia) */
.wb-var-pills[data-step-active="false"] {
	opacity: 0.45;
	pointer-events: none;
	filter: grayscale(0.4);
}

/* Numero step (1, 2, …) prima del label TAGLIA / COLORE */
.wb-var-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A);
	color: #0B0B0D;
	border-radius: 50%;
	font-family: var(--wb-font, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 700;
	margin-right: 8px;
	vertical-align: middle;
	letter-spacing: 0;
}

/* Hint testuale "Scegli prima la taglia →" */
.wb-var-hint {
	font-family: var(--wb-font, 'Inter', sans-serif);
	font-size: 12px;
	color: var(--wb-text-muted, #A8A29A);
	font-style: italic;
	margin: -8px 0 10px;
	padding: 6px 10px;
	background: rgba(200, 169, 107, 0.06);
	border-left: 2px solid var(--wb-gold, #C8A96B);
	border-radius: 0 6px 6px 0;
	display: inline-block;
}

/* ================================================================
   Banner "Come acquistare" — guida step esplicita sopra le pill
   ================================================================ */
.wb-var-guide {
	margin: 0 0 18px;
	padding: 14px 16px;
	background: linear-gradient(135deg, rgba(200, 169, 107, 0.08), rgba(200, 169, 107, 0.02));
	border: 1px solid rgba(200, 169, 107, 0.25);
	border-radius: 10px;
}

.wb-var-guide-title {
	font-family: var(--wb-font-serif, 'Playfair Display', Georgia, serif);
	font-size: 13px;
	font-weight: 700;
	color: var(--wb-gold, #C8A96B);
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.wb-var-guide-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.wb-var-guide-steps li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wb-text-mid, #DDD7CD);
	font-size: 14px;
	transition: color 0.25s ease, opacity 0.25s ease;
}

.wb-var-guide-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(200, 169, 107, 0.25);
	color: var(--wb-text-mid, #DDD7CD);
	font-family: var(--wb-font, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 700;
	transition: all 0.25s ease;
}

/* Step attivo (quello che l'utente deve cliccare ora) */
.wb-var-guide-step-active {
	color: var(--wb-text, #F5F1E8) !important;
	font-weight: 700;
}
.wb-var-guide-step-active .wb-var-guide-num {
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A);
	color: #0B0B0D;
	border-color: var(--wb-gold, #C8A96B);
	box-shadow: 0 0 0 4px rgba(200, 169, 107, 0.18);
	animation: wb-var-step-pulse 1.6s ease-in-out infinite;
}

/* Step completato (taglia o colore già scelti) */
.wb-var-guide-step-done {
	opacity: 0.55;
}
.wb-var-guide-step-done .wb-var-guide-num {
	background: rgba(34, 197, 94, 0.18);
	border-color: rgba(34, 197, 94, 0.5);
	color: #22C55E;
	font-size: 0;
}
.wb-var-guide-step-done .wb-var-guide-num::after {
	content: '✓';
	font-size: 16px;
	font-weight: 700;
	color: #22C55E;
}

@keyframes wb-var-step-pulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(200, 169, 107, 0.18); transform: scale(1); }
	50%      { box-shadow: 0 0 0 10px rgba(200, 169, 107, 0); transform: scale(1.06); }
}

/* Pulse animation sul gruppo pill in attesa di selezione */
.wb-var-pills.wb-var-pulse .wb-var-pill:not([aria-pressed="true"]):not([disabled]):first-child {
	animation: wb-var-pill-pulse 1.8s ease-in-out infinite;
}

@keyframes wb-var-pill-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(200, 169, 107, 0.5); }
	50%      { box-shadow: 0 0 0 8px rgba(200, 169, 107, 0); }
}

/* Mobile: stack verticale degli step */
@media (max-width: 600px) {
	.wb-var-guide-steps {
		flex-direction: column;
		gap: 8px;
	}
	.wb-var-guide-steps li {
		font-size: 13px;
	}
}

.wb-var-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 44px;
	padding: 0 16px;
	background: var(--wb-bg-input, #16161C);
	border: 1px solid rgba(200, 169, 107, 0.25);
	border-radius: 10px;
	color: var(--wb-text, #F5F1E8);
	font-family: var(--wb-font, 'Inter', sans-serif);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.3px;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}

.wb-var-pill:hover:not(.wb-var-pill--disabled) {
	background: rgba(200, 169, 107, 0.12);
	border-color: var(--wb-gold, #C8A96B);
	color: var(--wb-text, #F5F1E8);
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(200, 169, 107, 0.18);
}

.wb-var-pill[aria-pressed="true"] {
	background: linear-gradient(135deg, #8E6A35, #C8A96B, #E6CF9A);
	border-color: var(--wb-gold, #C8A96B);
	color: #0B0B0D;
	font-weight: 700;
	box-shadow: 0 4px 18px rgba(200, 169, 107, 0.35);
}

.wb-var-pill[aria-pressed="true"]:hover {
	transform: translateY(-1px);
	color: #0B0B0D;
}

/* Disabilitato (taglia/colore non disponibile per la combinazione corrente) */
.wb-var-pill--disabled,
.wb-var-pill[disabled] {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
	color: var(--wb-text-muted, #A8A29A);
	border-style: dashed;
	border-color: rgba(255, 255, 255, 0.1);
	background: transparent;
}

.wb-var-pill--disabled::after,
.wb-var-pill[disabled]::after {
	content: '';
	position: absolute;
	left: 8px;
	right: 8px;
	top: 50%;
	height: 1px;
	background: var(--wb-text-muted, #A8A29A);
	transform: rotate(-12deg);
}

/* Pill colore: cerchietto swatch + label compatta */
.wb-var-pill--color {
	gap: 8px;
	padding: 0 14px 0 10px;
}

.wb-var-swatch {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
	flex-shrink: 0;
}

.wb-var-pill[aria-pressed="true"] .wb-var-swatch {
	border-color: rgba(11, 11, 13, 0.4);
}

.wb-var-pill-label {
	font-size: 13px;
	white-space: nowrap;
}

/* "Reset" link WooCommerce sotto le variazioni — stile coerente */
.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	margin-top: 4px;
	color: var(--wb-text-muted, #A8A29A);
	font-size: 12px;
	text-decoration: none;
	border-bottom: 1px dashed rgba(168, 162, 154, 0.4);
}
.woocommerce div.product form.cart .reset_variations:hover {
	color: var(--wb-gold, #C8A96B);
	border-bottom-color: var(--wb-gold, #C8A96B);
}

/* Mobile: pill leggermente più larghe per tap target */
@media (max-width: 600px) {
	.wb-var-pill {
		min-width: 52px;
		height: 46px;
		font-size: 14px;
	}
}
