/* ==========================================================================
   Nuvé 2.0 — design tokens, Modern style layer, Header/Footer builder,
   reveal animations, back-to-top. Loaded after theme.css.
   Tokens are printed from Theme Options (inc/options/output.php).
   ========================================================================== */

:root {
	--nv-radius: 0px;
	--nv-radius-sm: 0px;
	--nv-btn-radius: 0px;
	--nv-container: 1408px;
	--nv-base-size: 16px;
	--nv-h-scale: 1;
	--nv-bg: #ffffff;
	--nv-shadow-sm: 0 2px 10px rgba(17, 17, 17, .05);
	--nv-shadow: 0 14px 40px rgba(17, 17, 17, .08);
	--nv-shadow-lg: 0 30px 70px rgba(17, 17, 17, .12);
}

/* ---------- Global tokens (both styles) ---------- */
body { font-size: var(--nv-base-size); background: var(--nv-bg); }
.container-xxl { max-width: var(--nv-container); }
.nv-h1 { font-size: calc(clamp(44px, 6vw, 88px) * var(--nv-h-scale)); }
.nv-h2 { font-size: calc(clamp(34px, 4vw, 54px) * var(--nv-h-scale)); }
.nv-h3 { font-size: calc(clamp(26px, 2.6vw, 34px) * var(--nv-h-scale)); }
.nv-card-title { font-size: calc(24px * var(--nv-h-scale)); }
.entry-title, .page-title, .product_title { font-size: calc(clamp(34px, 4vw, 54px) * var(--nv-h-scale)); }

/* Buttons always follow the chosen shape */
.nv-btn, .btn.nv-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wp-block-button__link, .comment-form .submit { border-radius: var(--nv-btn-radius); }

/* ==========================================================================
   MODERN STYLE
   ========================================================================== */
body.nv-style-modern {
	--bs-border-radius: var(--nv-radius-sm);
	--bs-border-radius-sm: var(--nv-radius-sm);
	--bs-border-radius-lg: var(--nv-radius);
}

/* Buttons: softer weight, lift on hover */
.nv-style-modern .nv-btn, .nv-style-modern .btn.nv-btn,
.nv-style-modern.woocommerce a.button, .nv-style-modern .woocommerce a.button, .nv-style-modern .woocommerce button.button,
.nv-style-modern .woocommerce button.button.alt, .nv-style-modern .woocommerce a.button.alt {
	letter-spacing: .1em;
	transition: background .25s, color .25s, border-color .25s, transform .25s var(--nv-ease), box-shadow .25s;
}
.nv-style-modern .nv-btn:hover, .nv-style-modern .btn.nv-btn:hover,
.nv-style-modern .woocommerce a.button:hover, .nv-style-modern .woocommerce button.button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(122, 75, 62, .22);
}
.nv-style-modern .nv-btn:active, .nv-style-modern .woocommerce button.button:active { transform: none; box-shadow: none; }

/* Forms */
.nv-style-modern .form-control, .nv-style-modern .form-select,
.nv-style-modern input[type=text], .nv-style-modern input[type=email], .nv-style-modern input[type=tel],
.nv-style-modern input[type=password], .nv-style-modern input[type=search], .nv-style-modern input[type=number],
.nv-style-modern input[type=url], .nv-style-modern textarea, .nv-style-modern select,
.nv-style-modern .select2-container--default .select2-selection--single {
	border-radius: var(--nv-radius-sm);
	border-color: #e3d9d4;
	transition: border-color .2s, box-shadow .2s;
}
.nv-style-modern .form-control:focus, .nv-style-modern input:focus, .nv-style-modern textarea:focus, .nv-style-modern select:focus {
	border-color: var(--nv-accent);
	box-shadow: 0 0 0 4px rgba(122, 75, 62, .12);
}
.nv-style-modern .nv-news-form input { border-radius: var(--nv-btn-radius); }

/* Product cards */
.nv-style-modern .nv-card-media { border-radius: var(--nv-radius); isolation: isolate; transition: box-shadow .4s var(--nv-ease), transform .4s var(--nv-ease); }
.nv-style-modern .nv-card:hover .nv-card-media { box-shadow: var(--nv-shadow); transform: translateY(-4px); }
.nv-style-modern.nv-no-card-hover .nv-card:hover .nv-card-media { box-shadow: none; transform: none; }
.nv-style-modern.nv-no-card-hover .nv-card:hover .nv-card-img img { transform: none; }
.nv-style-modern .nv-badge, .nv-style-modern.woocommerce span.onsale, .nv-style-modern .woocommerce span.onsale { border-radius: 999px; padding: 6px 12px; }
.nv-style-modern .nv-card-action .button, .nv-style-modern .woocommerce .nv-card-action a.button { border-radius: var(--nv-btn-radius); }
.nv-style-modern .nv-card-action .added_to_cart { border-radius: var(--nv-btn-radius); }
.nv-style-modern .nv-wish-btn { border-radius: 50%; box-shadow: var(--nv-shadow-sm); }

/* Images, media and boxes */
.nv-style-modern .nv-post-thumb,
.nv-style-modern .nv-blog .nv-post-thumb,
.nv-style-modern .nv-insta-item,
.nv-style-modern .nv-it-media,
.nv-style-modern .nv-promo,
.nv-style-modern .nv-film,
.nv-style-modern .nv-mega-img,
.nv-style-modern .nv-mega-banner,
.nv-style-modern .nv-dash-card,
.nv-style-modern .nv-features-cards .nv-feature,
.nv-style-modern .nv-single-thumb,
.nv-style-modern .woocommerce-product-gallery__image,
.nv-style-modern .woocommerce-product-gallery .flex-viewport,
.nv-style-modern .nv-contact-form-wrap,
.nv-style-modern .nv-cd-box,
.nv-style-modern .nv-video-modal-inner { border-radius: var(--nv-radius); overflow: hidden; }
.nv-style-modern .nv-hero-img { border-radius: calc(var(--nv-radius) * 1.4); }
.nv-style-modern .nv-features-cards .nv-feature { box-shadow: var(--nv-shadow-sm); transition: box-shadow .35s, transform .35s var(--nv-ease); }
.nv-style-modern .nv-features-cards .nv-feature:hover { box-shadow: var(--nv-shadow); transform: translateY(-4px); }
.nv-style-modern .nv-news { border-radius: 0; }
.nv-style-modern .nv-post-card .nv-post-thumb img,
.nv-style-modern .nv-blog .nv-post-thumb img { transition: transform .9s var(--nv-ease); }
.nv-style-modern .nv-post-card:hover .nv-post-thumb img,
.nv-style-modern .nv-blog article:hover .nv-post-thumb img { transform: scale(1.04); }

/* Dropdowns, mega menu, offcanvas, modals, toasts */
.nv-style-modern .nv-dropdown { border-radius: var(--nv-radius-sm); padding: 10px; box-shadow: var(--nv-shadow-lg); }
.nv-style-modern .nv-dropdown .dropdown-item { border-radius: calc(var(--nv-radius-sm) * .7); }
.nv-style-modern .nv-dropdown .dropdown-item:hover { background: var(--nv-cream); }
@media (min-width: 992px) {
	.nv-style-modern .nv-mega-panel { border-radius: 0 0 var(--nv-radius) var(--nv-radius); }
}
.nv-style-modern .modal-content { border-radius: var(--nv-radius); border: 0; overflow: hidden; }
.nv-style-modern .nv-toast { border-radius: var(--nv-radius-sm); box-shadow: var(--nv-shadow-lg); }
.nv-style-modern .nv-chip, .nv-style-modern .nv-filter-links a { border-radius: 999px; }
.nv-style-modern .nv-pagination a, .nv-style-modern .nv-pagination span,
.nv-style-modern .woocommerce nav.woocommerce-pagination ul li a,
.nv-style-modern .woocommerce nav.woocommerce-pagination ul li span { border-radius: 50%; }
.nv-style-modern .nv-sticky-atc { border-radius: var(--nv-radius) var(--nv-radius) 0 0; box-shadow: 0 -10px 40px rgba(17,17,17,.08); }
.nv-style-modern .nv-sticky-atc-img { border-radius: var(--nv-radius-sm); }
.nv-style-modern .nv-bottom-nav { box-shadow: 0 -8px 30px rgba(17,17,17,.06); }

/* WooCommerce surfaces */
.nv-style-modern .woocommerce-message, .nv-style-modern .woocommerce-info, .nv-style-modern .woocommerce-error,
.nv-style-modern .woocommerce-notices-wrapper > * { border-radius: var(--nv-radius-sm); }
.nv-style-modern .woocommerce table.shop_table { border-radius: var(--nv-radius-sm); overflow: hidden; }
.nv-style-modern .cart_totals, .nv-style-modern #order_review, .nv-style-modern .woocommerce-checkout-review-order,
.nv-style-modern .nv-order-row, .nv-style-modern .nv-ship-bar, .nv-style-modern .nv-shop-sidebar .nv-widget { border-radius: var(--nv-radius-sm); }
.nv-style-modern .nv-ship-progress, .nv-style-modern .nv-ship-progress > * { border-radius: 999px; }
.nv-style-modern .nv-account-nav a { border-radius: var(--nv-radius-sm); }
.nv-style-modern .nv-account-nav, .nv-style-modern .nv-dash-empty { border-radius: var(--nv-radius); }
.nv-style-modern .nv-order-thumb, .nv-style-modern .nv-order-thumb img { border-radius: var(--nv-radius-sm); }
.nv-style-modern .quantity .qty { border-radius: var(--nv-btn-radius); }

/* WooCommerce forms & boxes (higher specificity than WooCommerce core) */
.nv-style-modern .woocommerce form .form-row .input-text, .nv-style-modern .woocommerce form .form-row select,
.nv-style-modern .woocommerce .select2-container .select2-selection--single,
.nv-style-modern .woocommerce table.cart td.actions .coupon .input-text { border-radius: var(--nv-radius-sm); }
.nv-style-modern .woocommerce form.login, .nv-style-modern .woocommerce form.register,
.nv-style-modern .woocommerce form.checkout_coupon, .nv-style-modern .woocommerce form.lost_reset_password,
.nv-style-modern.woocommerce-account .woocommerce-Address, .nv-style-modern .woocommerce-order-details,
.nv-style-modern .woocommerce-customer-details address { border-radius: var(--nv-radius); }
.nv-style-modern .woocommerce form .form-row .input-text:focus { border-color: var(--nv-accent); box-shadow: 0 0 0 4px rgba(122, 75, 62, .12); }

/* Glass header (sticky + scrolled) */
.nv-glass-header .nv-header { transition: background-color .35s, box-shadow .35s, border-color .35s, backdrop-filter .35s; }
.nv-glass-header .nv-header.is-scrolled {
	background: rgba(255, 255, 255, .78);
	-webkit-backdrop-filter: saturate(160%) blur(16px);
	backdrop-filter: saturate(160%) blur(16px);
	border-bottom-color: rgba(236, 228, 223, .6);
	box-shadow: 0 8px 30px rgba(17, 17, 17, .06);
}
.nv-glass-header .nv-header.is-scrolled .elementor-section,
.nv-glass-header .nv-header.is-scrolled .e-con { background-color: transparent; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.nv-glass-header .nv-header.is-scrolled { background: #fff; }
}

/* ==========================================================================
   HEADER / FOOTER BUILDER (Elementor layouts)
   ========================================================================== */
.nv-header--builder { padding: 0; }
.nv-builder-header.nv-sticky-header .nv-header--builder { position: sticky; top: 0; }
.nv-header--builder .elementor-widget-wrap { align-items: center; }
.nv-header--builder .elementor-widget:not(:last-child) { margin-bottom: 0; }
.nv-footer--builder { padding: 0; }
.nv-footer--builder .elementor-widget:not(:last-child) { margin-bottom: 16px; }

/* Matches Elementor's default tablet breakpoint (1024px) so the editor preview is truthful. */
.nv-show-tablet-down { display: none !important; }
@media (max-width: 1024px) {
	.nv-hide-tablet-down { display: none !important; }
	.nv-show-tablet-down { display: inline-flex !important; }
}
.nv-header--builder { position: relative; }
@media (min-width: 1025px) {
	/* Let the mega menu span the full header width. */
	.nv-header--builder .elementor-section, .nv-header--builder .elementor-container, .nv-header--builder .elementor-column,
	.nv-header--builder .elementor-widget-wrap, .nv-header--builder .elementor-widget-nuve-nav-menu,
	.nv-header--builder .elementor-widget-nuve-nav-menu .elementor-widget-container, .nv-header--builder .nv-builder-nav,
	.nv-header--builder .e-con, .nv-header--builder .e-con-inner { position: static; }
	.nv-header--builder .nv-mega-panel { position: absolute; top: 100%; }
}
@media (min-width: 768px) and (max-width: 1024px) { .nv-header--builder .elementor-hidden-tablet, .nv-footer--builder .elementor-hidden-tablet { display: none !important; } }
@media (max-width: 767px) { .nv-header--builder .elementor-hidden-mobile, .nv-footer--builder .elementor-hidden-mobile { display: none !important; } }
.nv-header--builder .elementor-container { flex-wrap: nowrap; }

/* Site logo */
.nv-site-logo { display: flex; align-items: center; }
.nv-site-logo .nv-logo { line-height: 1; }
.nv-site-logo img { display: block; width: auto; max-height: 64px; }
.nv-footer .nv-site-logo .nv-logo { color: var(--nv-blush); }

/* Builder nav */
.nv-builder-nav { justify-content: center; }
.nv-builder-nav .nv-nav { flex-direction: row; flex-wrap: wrap; justify-content: inherit; }
.elementor-widget-nuve-nav-menu .elementor-widget-container { display: flex; }
.nv-underline-no .nv-nav .nav-link:after { display: none; }

/* Header icons */
.nv-hicons { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.nv-hicons .nv-cart-total { font-size: 14px; margin-left: 2px; }

/* Footer menu + info list + copyright */
.nv-menu-list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.nv-menu-list--inline { flex-direction: row; flex-wrap: wrap; gap: 8px 22px; }
.nv-menu-list a { transition: color .2s, padding .2s; }
.nv-style-modern .nv-menu-list--vertical a:hover { padding-left: 4px; }
.nv-info-list { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.nv-info-list li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.nv-info-list .nv-icon { margin-top: 2px; color: var(--nv-clay); }
.nv-copyright { font-size: 13px; color: #a89d98; }
.nv-footer:not(.nv-footer--builder) .nv-copyright { color: inherit; }
.nv-notice { font-size: 13px; padding: 10px 14px; background: var(--nv-cream); border: 1px dashed var(--nv-clay); margin: 0; }

/* Light footer variant for builder widgets */
.nv-footer--light .nv-info-list .nv-icon, .nv-footer--light .nv-footer-title { color: var(--nv-accent); }

/* Modern footer touches */
.nv-style-modern .nv-social-link { transition: background .25s, border-color .25s, color .25s, transform .25s var(--nv-ease); }
.nv-style-modern .nv-social-link:hover { transform: translateY(-3px); background: var(--nv-clay); border-color: var(--nv-clay); color: var(--nv-ink); }

/* Layout preview canvas (editing Header/Footer in Elementor) */
body.nv-layout-canvas { background: #f4f1ef; min-height: 100vh; }
.nv-layout-canvas-inner { min-height: 100vh; display: flex; flex-direction: column; }
.nv-layout-canvas-inner.nv-layout-footer { justify-content: flex-end; }
.nv-layout-canvas-hint {
	flex: 1; display: flex; align-items: center; justify-content: center; min-height: 240px;
	color: var(--nv-muted); font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
	background-image: repeating-linear-gradient(45deg, transparent 0 14px, rgba(17,17,17,.025) 14px 28px);
}
.nv-layout-canvas .nv-header--builder { position: relative; background: #fff; }

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */
.nv-reveal-on .nv-reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--nv-ease), transform .9s var(--nv-ease); transition-delay: var(--nv-reveal-delay, 0ms); will-change: opacity, transform; }
.nv-reveal-on .nv-reveal.is-visible { opacity: 1; transform: none; will-change: auto; }
.elementor-editor-active .nv-reveal, .elementor-editor-preview .nv-reveal { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
	.nv-respect-motion .nv-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   BACK TO TOP
   ========================================================================== */
.nv-totop {
	position: fixed; right: 20px; bottom: 20px; z-index: 1040;
	width: 48px; height: 48px; border-radius: 50%; border: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--nv-ink); color: #fff; box-shadow: var(--nv-shadow);
	cursor: pointer; opacity: 0; transform: translateY(16px) scale(.9); pointer-events: none;
	transition: opacity .3s, transform .3s var(--nv-ease), background .25s;
}
.nv-totop[hidden] { display: none; }
.nv-totop.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.nv-totop:hover { background: var(--nv-accent); }
.nv-has-bottom-nav .nv-totop { bottom: calc(76px + env(safe-area-inset-bottom)); }
@media (min-width: 992px) { .nv-has-bottom-nav .nv-totop { bottom: 24px; } }
.nv-sticky-atc-on .nv-totop { bottom: 96px; }

/* Compact main menu on small desktops / landscape tablets */
@media (min-width: 992px) and (max-width: 1279.98px) {
	.nv-nav .nav-link { padding: 10px 8px !important; font-size: 12px; letter-spacing: .08em; }
	.nv-nav .nav-link:after { left: 8px; right: 8px; }
	.nv-header .navbar-collapse { min-width: 0; }
	.nv-header-actions .nv-icon-btn { width: 38px; }
}

/* ---------- v2.0.1 fixes ---------- */
/* Shop sidebar: the mobile off-canvas width must not leak into the desktop column */
@media (min-width: 992px) {
	.nv-shop-sidebar { min-width: 0; }
	.nv-shop-sidebar .offcanvas-lg, .nv-shop-sidebar .nv-offcanvas { width: auto !important; max-width: 100%; }
}
.nv-filters, .nv-filter-group { min-width: 0; }
.nv-price-inputs { display: flex; align-items: center; gap: 10px; }
.nv-price-inputs > * { min-width: 0; flex: 1 1 0; }

/* Logo: size from Theme Options, long names stay on one tidy line */
.nv-header .nv-logo, .nv-layout-canvas .nv-header .nv-logo { font-size: var(--nv-logo-size, 34px); }
.nv-logo { white-space: nowrap; display: inline-block; max-width: 100%; }
.nv-header .nv-logo--long { font-size: calc(var(--nv-logo-size, 34px) * .76); letter-spacing: 0; }
.nv-footer .nv-logo--long { font-size: 30px; white-space: normal; }
.custom-logo, .nv-header .custom-logo { max-height: var(--nv-logo-img-h, 48px); width: auto; }
@media (max-width: 991.98px) {
	.nv-header .nv-logo { font-size: calc(var(--nv-logo-size, 34px) * .85); }
	.nv-header .nv-logo--long { font-size: calc(var(--nv-logo-size, 34px) * .62); }
	.nv-header .nv-logo { overflow: hidden; text-overflow: ellipsis; max-width: 58vw; }
	.custom-logo, .nv-header .custom-logo { max-height: calc(var(--nv-logo-img-h, 48px) * .8); }
}
.nv-header--builder .nv-site-logo { min-width: 0; }

/* ==========================================================================
   v2.1 — Reviews, product sections, trust, category header, shoppable
   Instagram, dark scheme, blur-up
   ========================================================================== */
:root { --nv-star: #c2915e; --nv-star-off: #e7ddd6; --nv-ok: #3d7a57; }

/* ---------- Stars ---------- */
.nv-stars { position: relative; display: inline-flex; vertical-align: middle; line-height: 0; }
.nv-stars svg { fill: currentColor; stroke: none; flex-shrink: 0; }
.nv-stars-bg { display: inline-flex; gap: 1px; color: var(--nv-star-off); }
.nv-stars-fill { position: absolute; inset: 0 auto 0 0; display: inline-flex; gap: 1px; color: var(--nv-star); width: var(--nv-rating, 0%); overflow: hidden; white-space: nowrap; }
.nv-card-rating { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--nv-muted); margin: 2px 0 0; }
.nv-single-rating { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--nv-ink); margin: 2px 0 14px; text-decoration: none; }
.nv-single-rating:hover .nv-single-rating-count { color: var(--nv-accent); }
.nv-single-rating-count { color: var(--nv-muted); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--nv-line); }

/* ---------- Reviews section ---------- */
.nv-reviews-section { padding: 88px 0 24px; margin-top: 72px; border-top: 1px solid var(--nv-line); clear: both; }
.nv-reviews-head { margin-bottom: 40px; display: flex; flex-direction: column; gap: 10px; }
.nv-reviews .nv-h2 { margin: 0; }
@media (min-width: 992px) { .nv-rv-sticky { position: sticky; top: 120px; } }
.nv-rv-summary { background: var(--nv-cream); border-radius: var(--nv-radius); padding: 28px; display: flex; flex-direction: column; gap: 22px; }
.nv-rv-score { display: flex; align-items: center; gap: 18px; }
.nv-rv-avg { font-family: var(--nv-serif); font-size: 64px; line-height: .9; color: var(--nv-ink); }
.nv-rv-based { margin: 6px 0 0; font-size: 13px; color: var(--nv-muted); }
.nv-rv-bars { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.nv-rv-bar { width: 100%; display: grid; grid-template-columns: 34px 1fr 28px; align-items: center; gap: 10px; background: none; border: 0; padding: 4px 0; font-size: 13px; color: var(--nv-ink); cursor: pointer; border-radius: 6px; text-align: left; }
.nv-rv-bar:disabled { cursor: default; opacity: .55; }
.nv-rv-bar-label { display: inline-flex; align-items: center; gap: 3px; }
.nv-rv-bar-label svg { fill: var(--nv-star); stroke: none; }
.nv-rv-bar-track { height: 8px; border-radius: 99px; background: var(--nv-star-off); overflow: hidden; }
.nv-rv-bar-fill { display: block; height: 100%; border-radius: inherit; background: var(--nv-star); transition: width .8s var(--nv-ease); }
.nv-rv-bar-num { text-align: right; color: var(--nv-muted); }
.nv-rv-bar:not(:disabled):hover .nv-rv-bar-fill, .nv-rv-bar.is-active .nv-rv-bar-fill { background: var(--nv-accent); }
.nv-rv-bar.is-active { font-weight: 600; }
.nv-rv-actions { display: flex; flex-direction: column; gap: 10px; }
.nv-rv-actions .nv-btn { min-height: 50px; }
.nv-rv-actions .nv-btn.is-active { background: var(--nv-ink); color: #fff; }
.nv-rv-clear { background: none; border: 0; padding: 4px; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; color: var(--nv-ink); cursor: pointer; }
.nv-rv-list { margin: 0; padding: 0; display: flex; flex-direction: column; }
.nv-rv { border-bottom: 1px solid var(--nv-line); padding: 26px 0; }
.nv-rv:first-child { padding-top: 0; }
.nv-rv-inner { display: flex; flex-direction: column; gap: 10px; }
.nv-rv-head { display: flex; align-items: center; gap: 14px; }
.nv-rv-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--nv-blush); color: var(--nv-accent); display: inline-flex; align-items: center; justify-content: center; font-family: var(--nv-serif); font-size: 22px; flex-shrink: 0; }
.nv-rv-who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nv-rv-name { font-weight: 500; font-size: 15px; }
.nv-rv-verified { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--nv-ok); }
.nv-rv-verified svg { stroke: var(--nv-ok); }
.nv-rv-date { margin-left: auto; font-size: 12px; color: var(--nv-muted); white-space: nowrap; }
.nv-rv-text { color: var(--nv-body); line-height: 1.7; }
.nv-rv-text p { margin: 0 0 8px; }
.nv-rv-pending { font-size: 13px; color: var(--nv-accent); margin: 0; }
.nv-rv-photos { display: flex; flex-wrap: wrap; gap: 8px; }
.nv-rv-photo { display: block; width: 84px; height: 84px; border-radius: var(--nv-radius-sm); overflow: hidden; background: var(--nv-blush); }
.nv-rv-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--nv-ease); }
.nv-rv-photo:hover img { transform: scale(1.06); }
.nv-rv-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 48px 24px; border: 1px dashed var(--nv-line); border-radius: var(--nv-radius); color: var(--nv-muted); }
.nv-rv-empty svg { color: var(--nv-clay); }
.nv-rv-empty p { margin: 0; max-width: 360px; }
.nv-rv-empty-filter { color: var(--nv-muted); padding: 24px 0; }
.nv-rv-form { background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-radius); padding: 28px; margin-bottom: 32px; box-shadow: var(--nv-shadow-sm); }
.nv-rv-form .comment-reply-title { display: block; font-family: var(--nv-serif); font-size: 30px; margin-bottom: 14px; }
.nv-rv-form .comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.nv-rv-form .comment-form > * { grid-column: 1 / -1; }
.nv-rv-form .comment-form-author, .nv-rv-form .comment-form-email { grid-column: auto; }
@media (max-width: 575.98px) { .nv-rv-form .comment-form-author, .nv-rv-form .comment-form-email { grid-column: 1 / -1; } }
.nv-rv-form label { display: block; font-weight: 500; color: var(--nv-ink); }
.nv-rv-form input[type=text], .nv-rv-form input[type=email], .nv-rv-form textarea { width: 100%; }
.nv-rv-form p.stars a { color: var(--nv-star); }
.nv-rv-form p.stars a::before { font-size: 26px; }
.nv-rv-upload { margin: 6px 0 16px; }
.nv-rv-upload label { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border: 1px dashed var(--nv-clay); border-radius: var(--nv-radius-sm); padding: 14px 16px; cursor: pointer; background: var(--nv-cream); transition: border-color .2s; }
.nv-rv-upload label:hover { border-color: var(--nv-accent); }
.nv-rv-upload label small { flex-basis: 100%; font-weight: 400; color: var(--nv-muted); font-size: 12px; }
.nv-rv-upload input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.nv-rv-upload input[type=file]:focus-visible + .nv-rv-previews, .nv-rv-upload label:focus-within { outline: 2px solid var(--nv-accent); }
.nv-rv-previews { display: flex; gap: 8px; margin-top: 10px; }
.nv-rv-previews img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.nv-rv-form .form-submit { margin: 4px 0 0; }
.nv-rv-note { padding: 18px; background: var(--nv-cream); border-radius: var(--nv-radius-sm); }
.nv-lightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(17, 13, 12, .88); display: flex; align-items: center; justify-content: center; padding: 24px; }
.nv-lightbox[hidden] { display: none; }
.nv-lightbox img { max-width: min(900px, 100%); max-height: 86vh; border-radius: var(--nv-radius); box-shadow: var(--nv-shadow-lg); }
.nv-lightbox-close { position: absolute; top: 16px; right: 16px; color: #fff; }
.nv-lb-open { overflow: hidden; }

/* ---------- Product sections (accordion) ---------- */
.nv-accordion { margin-top: 28px; border-top: 1px solid var(--nv-line); }
.nv-acc-item { border-bottom: 1px solid var(--nv-line); }
.nv-acc-title { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 2px; cursor: pointer; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-ink); }
.nv-acc-title::-webkit-details-marker { display: none; }
.nv-acc-title:hover { color: var(--nv-accent); }
.nv-acc-icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.nv-acc-icon::before, .nv-acc-icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: currentColor; border-radius: 2px; transition: transform .3s var(--nv-ease); }
.nv-acc-icon::after { transform: rotate(90deg); }
.nv-acc-item[open] .nv-acc-icon::after { transform: rotate(0deg); }
.nv-acc-body { padding: 0 2px 22px; color: var(--nv-body); line-height: 1.75; font-size: 15px; }
.nv-acc-item[open] .nv-acc-body { animation: nvAccIn .35s var(--nv-ease); }
@keyframes nvAccIn { from { opacity: 0; transform: translateY(-4px); } }
.nv-acc-body > :last-child { margin-bottom: 0; }
.nv-acc-body table.woocommerce-product-attributes { margin: 0; }
.nv-steps { counter-reset: nvstep; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.nv-steps li { counter-increment: nvstep; display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; }
.nv-steps li::before { content: counter(nvstep); width: 28px; height: 28px; border-radius: 50%; background: var(--nv-blush); color: var(--nv-accent); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; }
.nv-faq-list { margin: 0; }
.nv-faq-list dt { font-weight: 500; color: var(--nv-ink); margin-top: 14px; }
.nv-faq-list dt:first-child { margin-top: 0; }
.nv-faq-list dd { margin: 4px 0 0; }
/* Old tabs hidden if a plugin re-adds them */
.single-product .nv-accordion + .woocommerce-tabs.wc-tabs-wrapper { display: none; }

/* ---------- Sticky add-to-cart (v2.1) ---------- */
.nv-sticky-atc-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nv-sticky-atc-rating { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--nv-muted); }
.nv-sticky-atc-btn { gap: 8px; white-space: nowrap; }
.nv-sticky-atc-btn svg { flex-shrink: 0; }
.nv-qty { display: inline-flex; align-items: center; border: 1px solid var(--nv-line); border-radius: var(--nv-btn-radius); height: 48px; overflow: hidden; flex-shrink: 0; }
.nv-qty-btn { width: 36px; height: 100%; border: 0; background: none; color: var(--nv-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.nv-qty-btn:hover { color: var(--nv-accent); }
.nv-qty-input { width: 38px; min-height: 0 !important; height: 100%; border: 0 !important; padding: 0 !important; text-align: center; -moz-appearance: textfield; appearance: textfield; background: transparent !important; box-shadow: none !important; font-size: 15px; }
.nv-qty-input::-webkit-inner-spin-button, .nv-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
@media (max-width: 575.98px) {
	.nv-sticky-atc .container-xxl { gap: 10px !important; }
	.nv-sticky-atc-qty { height: 44px; }
	.nv-sticky-atc-qty .nv-qty-btn { width: 30px; }
	.nv-sticky-atc-qty .nv-qty-input { width: 26px; }
	.nv-sticky-atc-btn { padding: 0 14px !important; }
	.nv-sticky-atc-btn span { display: none; }
	.nv-sticky-atc-rating { display: none; }
}
@media (min-width: 576px) and (max-width: 767.98px) { .nv-sticky-atc-btn svg { display: none; } }

/* ---------- Trust strip & payment chips ---------- */
.nv-pay { margin-top: 18px; display: flex; flex-direction: column; gap: 10px; }
.nv-pay-secure { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--nv-ok); }
.nv-pay-secure svg { stroke: var(--nv-ok); }
.nv-pay-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.nv-pay-chip { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border: 1px solid var(--nv-line); border-radius: 6px; background: #fff; font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--nv-char); white-space: nowrap; }
.nv-trust-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 48px 0 0; padding: 0; clear: both; }
@media (min-width: 992px) { .nv-trust-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.nv-trust-strip li { display: flex; align-items: center; gap: 14px; padding: 18px; background: var(--nv-cream); border-radius: var(--nv-radius); font-size: 14px; line-height: 1.4; color: var(--nv-ink); }
.nv-trust-strip-icon { width: 46px; height: 46px; border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--nv-accent); flex-shrink: 0; }
@media (max-width: 575.98px) { .nv-trust-strip li { flex-direction: column; text-align: center; gap: 8px; padding: 16px 10px; font-size: 13px; } }

/* ---------- Category header ---------- */
.nv-cat-header { position: relative; background: var(--nv-blush); overflow: hidden; isolation: isolate; }
.nv-cat-header .nv-breadcrumb { justify-content: flex-start; }
.nv-cat-header-grid { display: grid; gap: 32px; align-items: center; padding: 48px 0; }
.nv-cat-header-copy { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.nv-cat-header .nv-page-title { margin: 0; font-size: calc(clamp(44px, 5.6vw, 84px) * var(--nv-h-scale)); line-height: 1; }
.nv-cat-header .nv-page-subtitle { margin: 4px 0 0; max-width: 520px; text-align: left; color: var(--nv-body); }
.nv-cat-header .nv-page-subtitle p { margin: 0; }
.nv-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.nv-cat-chips .nv-chip { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1px solid rgba(17,17,17,.15); background: rgba(255,255,255,.6); font-size: 13px; color: var(--nv-ink); border-radius: 999px; transition: background .2s, border-color .2s; }
.nv-cat-chips .nv-chip:hover { background: #fff; border-color: var(--nv-ink); }
.nv-cat-header-media { position: relative; }
.nv-cat-header-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--nv-radius) * 1.4); display: block; box-shadow: var(--nv-shadow); }
@media (min-width: 992px) {
	.nv-cat-header--split .nv-cat-header-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; padding: 56px 0; }
	.nv-cat-header--split .nv-cat-header-media img { aspect-ratio: 5 / 4; max-height: 400px; }
}
@media (max-width: 991.98px) {
	.nv-cat-header--split .nv-cat-header-media { order: -1; }
	.nv-cat-header--split .nv-cat-header-media img { aspect-ratio: 16 / 9; }
	.nv-cat-header-grid { padding: 28px 0 36px; gap: 22px; }
}
.nv-cat-header--cover { min-height: clamp(320px, 42vw, 520px); display: flex; align-items: flex-end; background: var(--nv-ink); }
.nv-cat-header--cover .nv-cat-header-bg { position: absolute; inset: 0; z-index: -1; }
.nv-cat-header--cover .nv-cat-header-bg img { width: 100%; height: 100%; object-fit: cover; }
.nv-cat-header--cover .nv-cat-header-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,13,12,0) 20%, rgba(17,13,12,.72) 100%); }
.nv-cat-header--cover .container-xxl { width: 100%; }
.nv-cat-header--cover .nv-page-title, .nv-cat-header--cover .nv-page-subtitle, .nv-cat-header--cover .nv-breadcrumb, .nv-cat-header--cover .nv-breadcrumb a { color: #fff; }
.nv-cat-header--cover .nv-kicker { color: var(--nv-blush); }
.nv-cat-header--cover .nv-chip { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.35); color: #fff; }
.nv-cat-header--plain { text-align: center; }
.nv-cat-header--plain .nv-cat-header-copy { align-items: center; }
.nv-cat-header--plain .nv-breadcrumb { justify-content: center; }
.nv-cat-header--plain .nv-page-subtitle { text-align: center; margin-left: auto; margin-right: auto; }

/* ---------- Shoppable Instagram ---------- */
.nv-shop-post { cursor: pointer; overflow: visible !important; isolation: isolate; }
.nv-shop-post > img { border-radius: inherit; }
.nv-insta--shop .nv-insta-item { overflow: visible; }
.nv-insta--shop .nv-insta-item > img { position: relative; z-index: 0; }
.nv-insta--shop .nv-insta-item { border-radius: var(--nv-radius); }
.nv-insta--shop .nv-insta-item > img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--nv-radius); transition: filter .35s; }
.nv-shop-post.is-open > img { filter: brightness(.82); }
.nv-hotspot { position: absolute; z-index: 2; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.95); box-shadow: 0 4px 14px rgba(17,17,17,.2); cursor: pointer; }
.nv-hotspot::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--nv-ink); transition: transform .25s; }
.nv-hotspot::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(255,255,255,.85); animation: nvPulse 2.2s ease-out infinite; }
.nv-hotspot[aria-expanded="true"]::before { transform: scale(.6); background: var(--nv-accent); }
@keyframes nvPulse { 0% { transform: scale(.7); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
.nv-shop-post-badge { position: absolute; top: 10px; right: 10px; z-index: 1; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.92); display: inline-flex; align-items: center; justify-content: center; color: var(--nv-ink); pointer-events: none; }
.nv-shop-post-ig { position: absolute; top: 10px; left: 10px; z-index: 1; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.92); display: inline-flex; align-items: center; justify-content: center; color: var(--nv-ink); }
.nv-hot-card { position: absolute; z-index: 5; left: var(--x); top: var(--y); transform: translate(-50%, 22px); width: 230px; max-width: 92vw; background: #fff; border-radius: var(--nv-radius-sm); box-shadow: var(--nv-shadow-lg); padding: 10px; display: grid; grid-template-columns: 60px 1fr; gap: 10px; align-items: center; animation: nvHotIn .25s var(--nv-ease); cursor: default; color: var(--nv-ink); }
.nv-hot-card[hidden] { display: none; }
.nv-hot-card.is-above { transform: translate(-50%, calc(-100% - 22px)); }
.nv-hot-card.is-left { transform: translate(calc(-100% + 40px), 22px); }
.nv-hot-card.is-left.is-above { transform: translate(calc(-100% + 40px), calc(-100% - 22px)); }
.nv-hot-card.is-right { transform: translate(-40px, 22px); }
.nv-hot-card.is-right.is-above { transform: translate(-40px, calc(-100% - 22px)); }
@keyframes nvHotIn { from { opacity: 0; } }
.nv-hot-card-img { display: block; width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--nv-blush); }
.nv-hot-card-img img { width: 100%; height: 100%; object-fit: cover; }
.nv-hot-card-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nv-hot-card-name { font-family: var(--nv-serif); font-size: 17px; line-height: 1.15; color: var(--nv-ink); }
.nv-hot-card-price { font-size: 13px; }
.nv-hot-card-price del { color: var(--nv-muted); margin-right: 4px; }
.nv-hot-card-price ins { text-decoration: none; color: var(--nv-accent); }
.nv-hot-card .nv-hot-card-btn, .woocommerce .nv-hot-card a.button.nv-hot-card-btn { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 12px; margin: 4px 0 0; font-size: 13px; letter-spacing: .03em; text-transform: none; border-radius: var(--nv-btn-radius); }
.nv-hot-card .added_to_cart { grid-column: 1 / -1; text-align: center; font-size: 12px; text-decoration: underline; }
@media (max-width: 767.98px) {
	/* Phones: the tagged product opens as a bottom sheet */
	.nv-hot-card, .nv-hot-card.is-above, .nv-hot-card.is-left, .nv-hot-card.is-right, .nv-hot-card.is-left.is-above, .nv-hot-card.is-right.is-above {
		position: fixed; left: 12px; right: 12px; top: auto; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 1060; width: auto; transform: none;
		grid-template-columns: 56px minmax(0, 1fr) auto; padding: 10px; animation: nvSheetIn .3s var(--nv-ease);
	}
	.nv-has-bottom-nav .nv-hot-card { bottom: calc(76px + env(safe-area-inset-bottom)); }
	.nv-hot-card-img { width: 56px; height: 56px; }
	.nv-hot-card .nv-hot-card-btn, .woocommerce .nv-hot-card a.button.nv-hot-card-btn { grid-column: auto; margin: 0; white-space: nowrap; }
	.nv-hot-card .added_to_cart { grid-column: 1 / -1; }
	.nv-hotspot { width: 24px; height: 24px; margin: -12px 0 0 -12px; }
	.nv-hotspot::before { inset: 7px; }
}
@keyframes nvSheetIn { from { opacity: 0; transform: translateY(16px); } }

/* ---------- Dark (editorial) page scheme ---------- */
.nv-scheme-dark { --nv-bg: #141110; background: #141110; }
.nv-scheme-dark .nv-main {
	--nv-ink: #f4ece6; --nv-char: #e9ded7; --nv-body: #c9bbb3; --nv-muted: #a3958d;
	--nv-line: #352d2a; --nv-blush: #221c1a; --nv-rose: #2b2421; --nv-stone: #1c1816; --nv-sand: #241e1b; --nv-cream: #1c1816;
	--nv-accent: #dcae98; --nv-star-off: #3a312d;
	color: var(--nv-ink); background: #141110;
}
.nv-scheme-dark .nv-main .nv-btn, .nv-scheme-dark .nv-main .btn.nv-btn,
.nv-scheme-dark .nv-main .woocommerce a.button, .nv-scheme-dark .nv-main a.button { background: #f4ece6; border-color: #f4ece6; color: #141110; }
.nv-scheme-dark .nv-main .nv-btn:hover, .nv-scheme-dark .nv-main a.button:hover { background: #dcae98; border-color: #dcae98; color: #141110; }
.nv-scheme-dark .nv-main .nv-btn-outline, .nv-scheme-dark .nv-main .nv-card-action .button,
.woocommerce .nv-scheme-dark .nv-main .nv-card-action a.button, .nv-scheme-dark .nv-main .nv-card-action a.button { background: transparent; color: #f4ece6; border-color: rgba(244,236,230,.5); }
.nv-scheme-dark .nv-main .nv-card-action .button:hover { background: #f4ece6; color: #141110; }
.nv-scheme-dark .nv-main .nv-badge-dark { background: #f4ece6; color: #141110; }
.nv-scheme-dark .nv-main .nv-badge-light { background: #141110; color: #f4ece6; }
.nv-scheme-dark .nv-main .nv-features-cards .nv-feature { background: #221c1a; }
.nv-scheme-dark .nv-main .nv-tab { color: var(--nv-muted); }
.nv-scheme-dark .nv-main .nv-tab.is-active, .nv-scheme-dark .nv-main .nv-tab[aria-selected="true"] { color: var(--nv-ink); }
.nv-scheme-dark .nv-main input[type=email], .nv-scheme-dark .nv-main input[type=text] { background: #1c1816; border-color: #3a312d; color: #f4ece6; }
.nv-scheme-dark .nv-main input::placeholder { color: #8f827b; }
.nv-scheme-dark .nv-main .nv-round-btn { border-color: rgba(244,236,230,.4); color: #f4ece6; }
.nv-scheme-dark .nv-main .nv-wish-btn { background: rgba(20,17,16,.7); color: #f4ece6; }
.nv-scheme-dark .nv-main .nv-hot-card { --nv-ink: #111; --nv-blush: #f6e7de; --nv-accent: #7a4b3e; --nv-muted: #6b6461; background: #fff; }
.nv-scheme-dark .nv-main .nv-hot-card .nv-hot-card-btn { background: #111; color: #fff; border-color: #111; }
/* Header on dark pages */
.nv-scheme-dark .nv-header { background: #141110; border-bottom-color: #2a2320; }
.nv-scheme-dark .nv-header .nv-logo, .nv-scheme-dark .nv-header .nv-nav > li > .nav-link, .nv-scheme-dark .nv-header .nv-icon-btn { color: #f4ece6; }
.nv-scheme-dark .nv-header .nv-nav > li > .nav-link:hover, .nv-scheme-dark .nv-header .nv-icon-btn:hover { color: #dcae98; }
.nv-scheme-dark .nv-header .nv-cart-count, .nv-scheme-dark .nv-header .nv-wish-count { background: #dcae98; color: #141110; }
.nv-scheme-dark.nv-glass-header .nv-header.is-scrolled { background: rgba(20, 17, 16, .78); border-bottom-color: rgba(53, 45, 42, .7); }
.nv-scheme-dark .nv-bottom-nav { background: #141110; border-top-color: #2a2320; }
.nv-scheme-dark .nv-bottom-nav a { color: #c9bbb3; }

/* ---------- Blur-up images ---------- */
.nv-blurup-on img.nv-blur { filter: blur(16px); transform: scale(1.04); }
.nv-blurup-on img.nv-unblur { transition: filter .7s var(--nv-ease), transform .9s var(--nv-ease), opacity .5s; }
@media (prefers-reduced-motion: reduce) { .nv-respect-motion img.nv-blur { filter: none; transform: none; } }

/* ---------- Product form: qty stepper + one-line row ---------- */
.woocommerce div.product form.cart:not(.variations_form), .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { flex-wrap: nowrap; align-items: stretch; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 10px; width: 100%; }
.woocommerce div.product form.cart .button { flex: 1 1 0; min-width: 0; }
.woocommerce div.product form.cart div.quantity.nv-qty-on { display: inline-flex; align-items: center; border: 1px solid var(--nv-ink); border-radius: var(--nv-btn-radius); overflow: hidden; height: 56px; flex: 0 0 auto; }
.woocommerce div.product form.cart div.quantity.nv-qty-on .qty { width: 40px; min-height: 0; height: 100%; border: 0; padding: 0; background: transparent; -moz-appearance: textfield; appearance: textfield; box-shadow: none; }
.woocommerce div.product form.cart div.quantity.nv-qty-on .qty::-webkit-inner-spin-button, .woocommerce div.product form.cart div.quantity.nv-qty-on .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.nv-qty-on .nv-qty-btn { width: 40px; height: 100%; }
.nv-style-modern .nv-wish-btn--single { border-radius: 50%; }
@media (max-width: 575.98px) {
	.woocommerce div.product form.cart div.quantity.nv-qty-on .nv-qty-btn { width: 32px; }
	.woocommerce div.product form.cart div.quantity.nv-qty-on .qty { width: 30px; }
}
/* Back-to-top never covers the sticky bar */
@media (max-width: 991.98px) { .nv-has-bottom-nav.nv-sticky-atc-on .nv-totop { bottom: calc(150px + env(safe-area-inset-bottom)); } }
.nv-shop-post.is-open { z-index: 4; }
.nv-hot-card .nv-hot-card-btn, .woocommerce .nv-hot-card a.button.nv-hot-card-btn { background: var(--nv-ink); color: #fff; border: 1px solid var(--nv-ink); font-family: var(--nv-sans); font-weight: 500; line-height: 1.2; text-decoration: none; transition: background .2s, border-color .2s; }
.nv-hot-card .nv-hot-card-btn:hover { background: var(--nv-accent); border-color: var(--nv-accent); color: #fff; }
.nv-hot-card .nv-hot-card-btn.loading { opacity: .7; }
.nv-hot-card .nv-hot-card-btn.added::after { content: " ✓"; }
.nv-scheme-dark .nv-main .nv-promo-light, .nv-scheme-dark .nv-main .nv-promo-light:hover { color: #f6e7de; }
.nv-scheme-dark .nv-main .nv-promo:not(.nv-promo-light), .nv-scheme-dark .nv-main .nv-promo:not(.nv-promo-light):hover { color: #141110; --nvw-accent: #7a4b3e; }
.nv-scheme-dark .nv-main .nv-promo:not(.nv-promo-light) .nv-kicker { color: #7a4b3e; }
.nv-hotspot::before { background: #111; }
.nv-shop-post-badge, .nv-shop-post-ig { color: #111; }
.nv-scheme-dark .nv-bottom-nav a, .nv-scheme-dark .nv-bottom-nav button { color: #c9bbb3; background: transparent; }
.nv-scheme-dark .nv-bottom-nav .is-active, .nv-scheme-dark .nv-bottom-nav a[aria-current] { color: #dcae98; }
.nv-scheme-dark .nv-bottom-nav .nv-bn-count, .nv-scheme-dark .nv-bottom-nav .nv-cart-count { background: #dcae98; color: #141110; }

/* ---------- Footer logo (separate from header) ---------- */
.nv-footer .nv-logo { font-size: var(--nv-flogo-size, 42px); }
.nv-footer .nv-logo--long { font-size: calc(var(--nv-flogo-size, 42px) * .72); }
.nv-footer-logo-link { display: inline-block; line-height: 0; }
.nv-footer-logo-img { display: block; width: auto; max-width: 100%; max-height: var(--nv-flogo-h, 56px); height: auto; }
.nv-footer .custom-logo { max-height: var(--nv-flogo-h, 56px); }
