
/*
NV Launch Hotfix 2026-03-23

*/

/*
 * NV Launch Hotfix (2026-03-22)
 * Purpose: force legacy Elementor dark snippets into Nordic Precision light mode
 * while you keep existing template functionality.
 */

:root {
  --nv-hotfix-bg: #f8f7f3;
  --nv-hotfix-surface: #ffffff;
  --nv-hotfix-surface-soft: #f1f4ef;
  --nv-hotfix-text: #111318;
  --nv-hotfix-muted: #5f6874;
  --nv-hotfix-line: #e3e7eb;
  --nv-hotfix-primary: #0f766e;
  --nv-hotfix-primary-hover: #0b5e58;
  --nv-hotfix-accent: #c2410c;
}

/* Permanent token bridge so Elementor/ShopLentor global styles inherit theme values. */
html:root body,
html:root body.elementor-default,
html:root body[class*="elementor-page-"] {
  --e-global-color-primary: var(--nv-hotfix-primary) !important;
  --e-global-color-secondary: var(--nv-hotfix-text) !important;
  --e-global-color-text: var(--nv-hotfix-text) !important;
  --e-global-color-accent: var(--nv-hotfix-accent) !important;
  --e-global-typography-primary-font-family: "Sora", sans-serif !important;
  --e-global-typography-secondary-font-family: "Manrope", sans-serif !important;
  --e-global-typography-text-font-family: "Manrope", sans-serif !important;
  --e-global-typography-accent-font-family: "Manrope", sans-serif !important;
}

/* Permanent shop typography lock (page-id independent). */
html:root body.post-type-archive-product .woolentor-product-title,
html:root body.post-type-archive-product .woolentor-product-title a,
html:root body.post-type-archive-product .woolentor-product-item .woolentor-product-title,
html:root body.post-type-archive-product .woolentor-product-item .woolentor-product-title a {
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(18px, 1.05vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: var(--nv-hotfix-text) !important;
}

html:root body.post-type-archive-product .woolentor-product-price,
html:root body.post-type-archive-product .woolentor-product-price .amount,
html:root body.post-type-archive-product .woolentor-product-price ins,
html:root body.post-type-archive-product .woolentor-product-price ins .amount {
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(20px, 1.1vw, 22px) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #1f2f42 !important;
}

html:root body.post-type-archive-product .woolentor-product-price del,
html:root body.post-type-archive-product .woolentor-product-price del .amount {
  font-size: 16px !important;
  color: #8794a3 !important;
}

html:root body.post-type-archive-product .woolentor-product-actions .woolentor-cart-btn,
html:root body.post-type-archive-product .woolentor-product-actions .button {
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

/* Global background cleanup (removes teal side gutters) */
html:root {
  background: var(--nv-hotfix-bg) !important;
}

html:root body {
  background: var(--nv-hotfix-bg) !important;
  color: var(--nv-hotfix-text) !important;
}

html:root body .site,
html:root body .site-main,
html:root body .content-area,
html:root body .entry-content {
  background: transparent !important;
}

/* Header (legacy Elementor HTML widget) */
html:root body .nv-header-wrapper {
  --nv-lime: var(--nv-hotfix-primary) !important;
  --nv-black: var(--nv-hotfix-bg) !important;
  --nv-white: var(--nv-hotfix-text) !important;
  --nv-gray: var(--nv-hotfix-muted) !important;
  --nv-dark-gray: var(--nv-hotfix-surface) !important;
  font-family: "Manrope", sans-serif !important;
  background: var(--nv-hotfix-bg) !important;
}

html:root body .nv-header-wrapper .nv-announcement-bar {
  background: #e8f3ef !important;
  border-bottom: 1px solid #d2e7e0 !important;
}

html:root body .nv-header-wrapper .nv-announcement-item {
  color: #15584f !important;
}

html:root body .nv-header-wrapper .nv-announcement-item .nv-star,
html:root body .nv-header-wrapper .nv-announcement-item span.nv-highlight {
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-header-wrapper .nv-main-header {
  background: rgba(248, 247, 243, 0.95) !important;
  border-bottom: 1px solid rgba(17, 19, 24, 0.08) !important;
  backdrop-filter: blur(8px) !important;
}

html:root body .nv-header-wrapper .nv-nav-link {
  color: #273443 !important;
}

html:root body .nv-header-wrapper .nv-nav-link:hover {
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-header-wrapper .nv-nav-link::after {
  background: var(--nv-hotfix-primary) !important;
}

html:root body .nv-header-wrapper .nv-cart-btn {
  background: #ffffff !important;
  color: #233142 !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

html:root body .nv-header-wrapper .nv-cart-btn:hover {
  background: var(--nv-hotfix-surface-soft) !important;
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-header-wrapper .nv-cart-count {
  background: var(--nv-hotfix-primary) !important;
  color: #ffffff !important;
}

/* Homepage legacy block (.nv-homepage) */
html:root body .nv-homepage {
  --nv-lime: var(--nv-hotfix-primary) !important;
  --nv-black: var(--nv-hotfix-bg) !important;
  --nv-white: var(--nv-hotfix-text) !important;
  --nv-gray: var(--nv-hotfix-muted) !important;
  --nv-light-gray: #6d7680 !important;
  --nv-card-bg: var(--nv-hotfix-surface) !important;
  --nv-glass: rgba(17, 19, 24, 0.04) !important;
  --nv-glass-soft: rgba(17, 19, 24, 0.02) !important;
  --nv-glass-border: rgba(17, 19, 24, 0.1) !important;
  color: var(--nv-hotfix-text) !important;
  background: var(--nv-hotfix-bg) !important;
}

html:root body .nv-homepage .nv-hero {
  background:
    radial-gradient(circle at 82% 8%, rgba(15, 118, 110, 0.11) 0%, rgba(15, 118, 110, 0.03) 32%, transparent 58%),
    radial-gradient(circle at 8% 88%, rgba(30, 142, 90, 0.08) 0%, transparent 45%),
    var(--nv-hotfix-bg) !important;
}

html:root body .nv-homepage .nv-hero::before {
  opacity: 0.08 !important;
}

html:root body .nv-homepage .nv-hero-badge,
html:root body .nv-homepage .nv-section-badge {
  background: rgba(15, 118, 110, 0.09) !important;
  border-color: rgba(15, 118, 110, 0.24) !important;
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-homepage .nv-hero-media-shell {
  background: #ffffff !important;
  border-color: rgba(17, 19, 24, 0.12) !important;
  box-shadow: 0 24px 54px rgba(17, 19, 24, 0.1) !important;
}

html:root body .nv-homepage .nv-hero-media-shell::before,
html:root body .nv-homepage .nv-hero-media-shell::after,
html:root body .nv-homepage .nv-liquid-orb {
  opacity: 0.6 !important;
}

html:root body .nv-homepage .nv-btn-primary {
  background: var(--nv-hotfix-primary) !important;
  color: #ffffff !important;
}

html:root body .nv-homepage .nv-btn-primary:hover {
  background: var(--nv-hotfix-primary-hover) !important;
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.24) !important;
}

html:root body .nv-homepage .nv-btn-secondary {
  background: #ffffff !important;
  color: var(--nv-hotfix-text) !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

html:root body .nv-homepage .nv-btn-secondary:hover {
  background: var(--nv-hotfix-surface-soft) !important;
  border-color: #d7dee5 !important;
}

html:root body .nv-homepage .nv-section-title,
html:root body .nv-homepage .nv-product-name {
  color: var(--nv-hotfix-text) !important;
}

html:root body .nv-homepage .nv-section-title .nv-accent,
html:root body .nv-homepage .nv-product-category {
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-homepage .nv-section-subtitle,
html:root body .nv-homepage .nv-hero-subtitle,
html:root body .nv-homepage .nv-trust-text {
  color: var(--nv-hotfix-muted) !important;
}

html:root body .nv-homepage .nv-trust-item,
html:root body .nv-homepage .nv-product-card,
html:root body .nv-homepage .nv-category-card,
html:root body .nv-homepage .nv-view-all-btn {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  box-shadow: 0 10px 24px rgba(17, 19, 24, 0.06) !important;
}

html:root body .nv-homepage .nv-product-price {
  color: #1f2f42 !important;
}

/* Shop archive (your inline style targets wrong page id 6333) */
html:root body.post-type-archive-product .woolentor-product-grid-modern.woolentor-layout-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.6vw, 22px) !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-card {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(17, 19, 24, 0.06) !important;
  overflow: hidden !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-content {
  background: #ffffff !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-title,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-title a {
  color: var(--nv-hotfix-text) !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-price,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-price .amount,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-price ins {
  color: #1f2f42 !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-price del,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-price del .amount {
  color: #8794a3 !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-actions .woolentor-cart-btn,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-actions .button {
  background: var(--nv-hotfix-primary) !important;
  border: 1px solid var(--nv-hotfix-primary) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-actions .woolentor-cart-btn:hover,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-actions .button:hover {
  background: var(--nv-hotfix-primary-hover) !important;
  border-color: var(--nv-hotfix-primary-hover) !important;
}

@media (max-width: 1200px) {
  html:root body.post-type-archive-product .woolentor-product-grid-modern.woolentor-layout-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  html:root body.post-type-archive-product .woolentor-product-grid-modern.woolentor-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  html:root body.post-type-archive-product .woolentor-product-grid-modern.woolentor-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Policy pages (high specificity to beat per-page inline !important) */
html:root body .nv-policy,
html:root body .nordiska-policy-clean,
html:root body .nordisk-faq {
  --nv-bg: var(--nv-hotfix-bg) !important;
  --nv-panel: var(--nv-hotfix-surface) !important;
  --nv-panel-alt: var(--nv-hotfix-surface-soft) !important;
  --nv-text: var(--nv-hotfix-muted) !important;
  --nv-muted: #6d7680 !important;
  --nv-heading: var(--nv-hotfix-text) !important;
  --nv-accent: var(--nv-hotfix-primary) !important;
  --nv-accent-hover: var(--nv-hotfix-primary-hover) !important;
  --nv-line: var(--nv-hotfix-line) !important;
  --nv-panel-line: var(--nv-hotfix-line) !important;
  background: var(--nv-hotfix-bg) !important;
  color: var(--nv-hotfix-muted) !important;
}

html:root body .nv-policy .nv-card,
html:root body .nv-policy .nv-topic,
html:root body .nv-policy .nv-contact,
html:root body .nordiska-policy-clean .policy-card,
html:root body .nordiska-policy-clean .policy-hero,
html:root body .nordisk-faq .faq-section,
html:root body .nordisk-faq .faq-hero,
html:root body .nordisk-faq .faq-footer,
html:root body .nordisk-faq .faq-item,
html:root body .nv-policy .nv-tracking-box {
  background: #ffffff !important;
  border-color: var(--nv-hotfix-line) !important;
  box-shadow: 0 10px 26px rgba(17, 19, 24, 0.05) !important;
}

html:root body .nv-policy h1,
html:root body .nv-policy h2,
html:root body .nv-policy h3,
html:root body .nv-policy h4,
html:root body .nordiska-policy-clean h1,
html:root body .nordiska-policy-clean h2,
html:root body .nordiska-policy-clean h3,
html:root body .nordiska-policy-clean h4,
html:root body .nordisk-faq h1,
html:root body .nordisk-faq h2,
html:root body .nordisk-faq h3,
html:root body .nordisk-faq h4,
html:root body .nv-title,
html:root body .nv-h2 {
  color: var(--nv-hotfix-text) !important;
  font-family: "Sora", sans-serif !important;
}

html:root body .nv-policy a,
html:root body .nordiska-policy-clean a,
html:root body .nordisk-faq a {
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-policy a:hover,
html:root body .nordiska-policy-clean a:hover,
html:root body .nordisk-faq a:hover {
  color: var(--nv-hotfix-primary-hover) !important;
}

html:root body .nv-policy input,
html:root body .nv-policy textarea,
html:root body .nordiska-policy-clean input,
html:root body .nordiska-policy-clean textarea,
html:root body .nordisk-faq input,
html:root body .nordisk-faq textarea {
  background: #ffffff !important;
  color: var(--nv-hotfix-text) !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

/* Footer */
html:root body .nv-footer-wrapper {
  --nv-bg: var(--nv-hotfix-bg) !important;
  --nv-surface: #ffffff !important;
  --nv-surface-alt: var(--nv-hotfix-surface-soft) !important;
  --nv-text: var(--nv-hotfix-text) !important;
  --nv-text-secondary: var(--nv-hotfix-muted) !important;
  --nv-text-muted: #6d7680 !important;
  --nv-accent: var(--nv-hotfix-primary) !important;
  --nv-accent-hover: var(--nv-hotfix-primary-hover) !important;
  --nv-border: var(--nv-hotfix-line) !important;
  --nv-shadow: 0 12px 30px rgba(17, 19, 24, 0.06) !important;
  background: var(--nv-hotfix-bg) !important;
  color: var(--nv-hotfix-muted) !important;
}

html:root body .nv-footer-wrapper .nv-main-footer {
  background: var(--nv-hotfix-bg) !important;
  border-top: 1px solid var(--nv-hotfix-line) !important;
}

html:root body .nv-footer-wrapper .nv-footer-links a,
html:root body .nv-footer-wrapper .nv-footer-description,
html:root body .nv-footer-wrapper .nv-copyright {
  color: var(--nv-hotfix-muted) !important;
}

html:root body .nv-footer-wrapper .nv-footer-links a:hover,
html:root body .nv-footer-wrapper .nv-social-link:hover {
  color: var(--nv-hotfix-primary) !important;
}

html:root body .nv-footer-wrapper .nv-footer-column h4,
html:root body .nv-footer-wrapper .nv-footer-discount h4 {
  color: var(--nv-hotfix-text) !important;
}

html:root body .nv-footer-wrapper .nv-footer-discount {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

html:root body .nv-footer-wrapper .nv-footer-discount input,
html:root body .nv-footer-wrapper .nv-footer-discount input[type="email"],
html:root body .nv-footer-wrapper .nv-footer-discount input[type="text"] {
  background: #ffffff !important;
  color: var(--nv-hotfix-text) !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

html:root body .nv-footer-wrapper .nv-footer-discount button[type="submit"] {
  background: var(--nv-hotfix-primary) !important;
  color: #ffffff !important;
}

/* Popup */
html:root body #nv-pop-overlay {
  background: rgba(15, 22, 34, 0.45) !important;
}

html:root body #nv-pop-box {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  box-shadow: 0 20px 44px rgba(17, 19, 24, 0.14) !important;
}

html:root body #nv-pop-box::before {
  background: var(--nv-hotfix-primary) !important;
}

html:root body #nv-pop-box .nv-pop-heading,
html:root body #nv-pop-box .nv-pop-success h2 {
  color: var(--nv-hotfix-text) !important;
}

html:root body #nv-pop-box .nv-pop-heading .nv-pop-accent {
  color: var(--nv-hotfix-primary) !important;
}

html:root body #nv-pop-box .nv-pop-sub,
html:root body #nv-pop-box .nv-pop-condition,
html:root body #nv-pop-box .nv-pop-success p,
html:root body #nv-pop-box .nv-pop-trust-item {
  color: var(--nv-hotfix-muted) !important;
}

html:root body #nv-pop-box .nv-pop-form input.nv-pop-input,
html:root body #nv-pop-box .nv-pop-form input.nv-pop-input[type="text"],
html:root body #nv-pop-box .nv-pop-form input.nv-pop-input[type="email"] {
  background: #ffffff !important;
  color: var(--nv-hotfix-text) !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

html:root body #nv-pop-box .nv-pop-form button.nv-pop-cta,
html:root body #nv-pop-box .nv-pop-form button.nv-pop-cta[type="submit"],
html:root body #nv-pop-box .nv-pop-success-cta,
html:root body #nv-pop-box a.nv-pop-success-cta {
  background: var(--nv-hotfix-primary) !important;
  color: #ffffff !important;
}

/* Checkout label-size protection */
body.elementor-kit-3049 label,
body.elementor-kit-3049 .woocommerce-checkout label,
body.elementor-kit-3049 .woocommerce-checkout #shipping_method li label,
body.elementor-kit-3049 .woocommerce-checkout .woocommerce-shipping-methods li label,
body.elementor-kit-3049 .woocommerce-checkout #payment .wc_payment_method > label,
body.elementor-kit-3049 .woocommerce-checkout #payment ul.payment_methods li > label {
  font-family: var(--e-global-typography-text-font-family, "Manrope"), sans-serif !important;
  font-size: var(--e-global-typography-text-font-size, 16px) !important;
  font-weight: var(--e-global-typography-text-font-weight, 400) !important;
  line-height: var(--e-global-typography-text-line-height, 1.6) !important;
  letter-spacing: var(--e-global-typography-text-letter-spacing, 0) !important;
  word-spacing: var(--e-global-typography-text-word-spacing, 0) !important;
  text-transform: none !important;
  color: var(--nv-hotfix-text) !important;
}

/* Generic Woo buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--nv-hotfix-primary) !important;
  color: #ffffff !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--nv-hotfix-primary-hover) !important;
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   2026-03-23 Live Audit Patch (Screenshot bugfix batch)
   -------------------------------------------------------------------------- */

/* 1) Neutralize legacy dark/teal Elementor wrapper containers */
html:root body .elementor-element.elementor-element-15b2824.e-con.e-parent,
html:root body.page-id-29 .elementor-element.elementor-element-1b1b0606.e-con.e-parent,
html:root body.page-id-29 .elementor-element.elementor-element-e09d683,
html:root body.page-id-8386 .elementor-element.elementor-element-6cb2a4e.e-con.e-parent,
html:root body.page-id-8883 .elementor-element.elementor-element-7d40d5e.e-con.e-parent,
html:root body.page-id-8883 .elementor-element.elementor-element-9350e60,
html:root body.page-id-8518 .elementor-element.elementor-element-fc4897b.e-con.e-parent,
html:root body.page-id-12120 .elementor-element.elementor-element-d092500.e-con.e-parent,
html:root body.page-id-8484 .elementor-element.elementor-element-0d35740.e-con.e-parent,
html:root body.page-id-8467 .elementor-element.elementor-element-139c3e3.e-con.e-parent {
  background: var(--nv-hotfix-bg) !important;
}

/* Keep page-canvas wrappers transparent to avoid side gutters */
html:root body .elementor-location-header + .elementor,
html:root body .elementor-location-footer,
html:root body .elementor-widget-container {
  background: transparent !important;
}

/* 2) Shop archive section consistency */
html:root body.post-type-archive-product .elementor-location-single,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid,
html:root body.post-type-archive-product .woolentor-product-grid {
  background: var(--nv-hotfix-bg) !important;
}

html:root body.post-type-archive-product .woolentor-product-grid .product,
html:root body.post-type-archive-product .woolentor-product-grid .woolentor-product-card {
  border-color: var(--nv-hotfix-line) !important;
  background: #ffffff !important;
}

/* 3) Cart + sidecart upsell typography/layout hard reset */
html:root body .nv-smart-upsell .nv-upsell-title,
html:root body .nv-cart-upsell-area .nv-upsell-title,
html:root body #nv-smart-upsell-checkout .nv-upsell-title,
html:root body #nv-smart-upsell-sidecart .nv-upsell-title {
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(15px, 1.05vw, 18px) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  margin: 0 0 8px !important;
  height: auto !important;
  max-width: 100% !important;
  text-wrap: balance !important;
}

html:root body .nv-smart-upsell .nv-upsell-name,
html:root body #nv-smart-upsell-checkout .nv-upsell-name,
html:root body #nv-smart-upsell-sidecart .nv-upsell-name {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  max-height: 2.6em !important;
  overflow: hidden !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

html:root body .nv-smart-upsell .nv-upsell-price,
html:root body .nv-smart-upsell .nv-upsell-price .amount,
html:root body .nv-smart-upsell .nv-upsell-price .woocommerce-Price-amount {
  font-size: 13px !important;
  line-height: 1.2 !important;
}

html:root body .nv-smart-upsell .nv-upsell-add,
html:root body .nv-smart-upsell .nv-upsell-add--view,
html:root body .nv-smart-upsell .nv-upsell-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  height: auto !important;
  padding: 8px 12px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}

html:root body .nv-smart-upsell .nv-upsell-variation-select {
  min-height: 30px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* Side cart container and buttons on mobile */
html:root body .nv-side-cart {
  width: min(420px, 100vw) !important;
  max-width: min(420px, 100vw) !important;
}

html:root body .nv-side-cart .nv-mini-cart-name {
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  word-break: break-word !important;
}

html:root body .nv-side-cart .woocommerce-mini-cart__buttons.buttons,
html:root body .nv-side-cart-footer .woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html:root body .nv-side-cart .woocommerce-mini-cart__buttons.buttons .button,
html:root body .nv-side-cart-footer .button,
html:root body .nv-side-cart-footer .nv-btn {
  width: 100% !important;
  min-width: 0 !important;
}

/* 4) Product templates with hardcoded dark/teal blocks (NordicGlow/EverCandle/AuraDock family) */
html:root body.postid-8552 .elementor-element.elementor-element-e09cf55,
html:root body.postid-8553 .elementor-element.elementor-element-e09cf55,
html:root body.postid-9336 .elementor-element.elementor-element-e09cf55,
html:root body.postid-8565 .elementor-element.elementor-element-eff1608,
html:root body.postid-8565 .elementor-element.elementor-element-c1aa863 {
  background: var(--nv-hotfix-bg) !important;
}

html:root body.postid-8552 .elementor-element.elementor-element-69cd718,
html:root body.postid-8553 .elementor-element.elementor-element-69cd718,
html:root body.postid-9336 .elementor-element.elementor-element-69cd718,
html:root body.postid-8552 .elementor-element.elementor-element-105531a,
html:root body.postid-8553 .elementor-element.elementor-element-105531a,
html:root body.postid-9336 .elementor-element.elementor-element-105531a {
  background: #ffffff !important;
}

html:root body.postid-8552 .nvcc-bundle,
html:root body.postid-8553 .nvcc-bundle,
html:root body.postid-9336 .nvcc-bundle {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  color: var(--nv-hotfix-text) !important;
}

html:root body.postid-8552 .nvcc-deal,
html:root body.postid-8552 .nvcc-deal.is-selected,
html:root body.postid-8553 .nvcc-deal,
html:root body.postid-8553 .nvcc-deal.is-selected,
html:root body.postid-9336 .nvcc-deal,
html:root body.postid-9336 .nvcc-deal.is-selected {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  box-shadow: 0 8px 18px rgba(17, 19, 24, 0.06) !important;
}

html:root body.postid-8552 .nvcc-deal *:not(.nvcc-deal__price-current):not(.nvcc-deal__badge),
html:root body.postid-8553 .nvcc-deal *:not(.nvcc-deal__price-current):not(.nvcc-deal__badge),
html:root body.postid-9336 .nvcc-deal *:not(.nvcc-deal__price-current):not(.nvcc-deal__badge) {
  color: var(--nv-hotfix-text) !important;
}

html:root body.postid-8552 .nvcc-deal__price-current,
html:root body.postid-8553 .nvcc-deal__price-current,
html:root body.postid-9336 .nvcc-deal__price-current {
  color: var(--nv-hotfix-primary) !important;
}

html:root body.postid-8552 .nvcc-deal__price-regular,
html:root body.postid-8553 .nvcc-deal__price-regular,
html:root body.postid-9336 .nvcc-deal__price-regular {
  color: #7b8796 !important;
}

html:root body.postid-8552 .nvcc-deal__select,
html:root body.postid-8553 .nvcc-deal__select,
html:root body.postid-9336 .nvcc-deal__select {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  color: var(--nv-hotfix-text) !important;
}

html:root body.postid-8552 .wl-customer-testimonal,
html:root body.postid-8553 .wl-customer-testimonal,
html:root body.postid-9336 .wl-customer-testimonal {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  color: var(--nv-hotfix-text) !important;
}

html:root body.postid-8552 .wl-customer-testimonal p,
html:root body.postid-8553 .wl-customer-testimonal p,
html:root body.postid-9336 .wl-customer-testimonal p {
  color: #3f4b59 !important;
}

html:root body.postid-9336 .htwoolentor-faq-head {
  background: #ffffff !important;
  color: var(--nv-hotfix-text) !important;
  border: 1px solid var(--nv-hotfix-line) !important;
}

/* 5) Checkout shell readability fallback for alternate gateway flows */
html:root body.page-id-29 .nv-checkout-shell,
html:root body.page-id-29 .woocommerce-checkout,
html:root body.page-id-29 .elementor-widget-woocommerce-checkout-page {
  background: var(--nv-hotfix-bg) !important;
  color: var(--nv-hotfix-text) !important;
}

html:root body.page-id-29 .woocommerce-checkout .form-row input,
html:root body.page-id-29 .woocommerce-checkout .form-row select,
html:root body.page-id-29 .woocommerce-checkout .form-row textarea {
  background: #ffffff !important;
  border: 1px solid var(--nv-hotfix-line) !important;
  color: var(--nv-hotfix-text) !important;
}

@media (max-width: 767px) {
  html:root body .nv-side-cart {
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
  }

  html:root body .nv-side-cart-body {
    padding: 14px 12px 18px !important;
    overflow-x: hidden !important;
  }

  html:root body .nv-side-cart .woocommerce-mini-cart__buttons.buttons,
  html:root body .nv-side-cart-footer .woocommerce-mini-cart__buttons.buttons {
    gap: 8px !important;
  }

  html:root body .nv-smart-upsell .nv-upsell-title,
  html:root body #nv-smart-upsell-sidecart .nv-upsell-title {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  html:root body .nv-smart-upsell .nv-upsell-card,
  html:root body #nv-smart-upsell-sidecart .nv-upsell-card {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    min-height: 84px !important;
    gap: 6px !important;
    padding: 6px !important;
  }
}


/* --------------------------------------------------------------------------
   2026-03-23 V2 Shop Hover Lock (prevents teal container flash on hover)
   -------------------------------------------------------------------------- */
html:root body.post-type-archive-product .elementor-widget-wl-product-grid,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid:hover,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid:focus,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid:focus-within,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern:hover,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern:focus,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern:focus-within,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid > .elementor-widget-container,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid > .elementor-widget-container:hover,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern > .elementor-widget-container,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern > .elementor-widget-container:hover,
html:root body.post-type-archive-product .woolentor-product-grid,
html:root body.post-type-archive-product .woolentor-product-grid:hover,
html:root body.post-type-archive-product .woolentor-product-grid-modern.woolentor-layout-grid,
html:root body.post-type-archive-product .woolentor-product-grid-modern.woolentor-layout-grid:hover {
  background: var(--nv-hotfix-bg) !important;
  background-color: var(--nv-hotfix-bg) !important;
  background-image: none !important;
}

html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-card,
html:root body.post-type-archive-product .product.woolentor-product-item:hover .woolentor-product-card,
html:root body.post-type-archive-product .product.woolentor-product-item:focus-within .woolentor-product-card,
html:root body.post-type-archive-product .product.woolentor-product-item .woolentor-product-content,
html:root body.post-type-archive-product .product.woolentor-product-item:hover .woolentor-product-content {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Defensive reset for Elementor hover background controls on the widget */
html:root body.post-type-archive-product .elementor-widget-wl-product-grid,
html:root body.post-type-archive-product .elementor-widget-wl-product-grid .elementor-widget-container,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern,
html:root body.post-type-archive-product .elementor-widget-woolentor-product-grid-modern .elementor-widget-container {
  transition-property: none !important;
}
