﻿/* Spartan BioLabs Rebrand - #ceab59 Gold */

:root {
    --spartan-gold: #ceab59;
    --spartan-gold-dark: #b99a4b;
    --spartan-gold-light: #d4b96a;
    --spartan-black: #1a1a1a;
    --spartan-dark: #0d0d0d;
    --spartan-white: #ffffff;
}

/* === HEADER: overlap offset without breaking WoodMart sticky (.whb-sticked) === */
/* WoodMart applies fixed positioning when .whb-sticked is on .whb-header; a blanket
   position:relative !important prevents the header from sticking (see headerBuilder.js). */
body.wd-header-overlap .whb-header:not(.whb-sticked),
body.wd-header-overlap .whb-main-header:not(.whb-sticked),
.wd-header-overlap .whb-header:not(.whb-sticked) {
    position: relative !important;
    background-color: #fff !important;
}

body.wd-header-overlap .whb-general-header,
.wd-header-overlap .whb-general-header {
    background-color: #fff !important;
}

body.wd-header-overlap .main-page-wrapper,
.wd-header-overlap .main-page-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.wd-header-overlap .wd-content-layout {
    margin-top: 0 !important;
}

/* Default (non-stuck): keep header in flow */
.whb-header:not(.whb-sticked) {
    position: relative !important;
    background-color: #fff !important;
}

.whb-general-header {
    background-color: #fff !important;
}

/*
 * WHB "flex equal sides" uses three equal-width columns; the main nav only occupies the middle
 * third, so links look bunched right of the logo. Let the center column flex to fill space and
 * center the menu in the gap between logo and utilities.
 */
@media (min-width: 1025px) {
    .whb-general-header.whb-flex-equal-sides .whb-general-header-inner {
        justify-content: space-between !important;
        align-items: center !important;
        column-gap: 1rem;
    }

    .whb-general-header.whb-flex-equal-sides .whb-col-left,
    .whb-general-header.whb-flex-equal-sides .whb-col-center,
    .whb-general-header.whb-flex-equal-sides .whb-col-right {
        align-self: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .whb-general-header.whb-flex-equal-sides .whb-col-left {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
    }

    .whb-general-header.whb-flex-equal-sides .whb-col-center {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
    }

    .whb-general-header.whb-flex-equal-sides .whb-col-center .wd-header-nav {
        width: auto !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .whb-general-header.whb-flex-equal-sides .whb-col-center .wd-nav.wd-nav-main {
        align-items: center !important;
    }

    .whb-general-header.whb-flex-equal-sides .whb-col-right {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    /* Elementor / custom CSS often adds asymmetric logo margins - breaks vertical rhythm with nav. */
    .whb-general-header .site-logo,
    .whb-general-header .wd-logo {
        display: flex !important;
        align-items: center !important;
        line-height: 0 !important;
    }

    .whb-general-header .wd-logo img {
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        vertical-align: middle !important;
    }
}

/* Top bar + theme header banner: black bar, explicit white copy (WoodMart "light" text scheme + headings) */
.whb-top-bar,
.whb-top-bar .wd-header-text,
.whb-top-bar .whb-text,
.whb-top-bar a,
.header-banner,
.header-banner.wd-entry-content,
.header-banner .wd-entry-content,
.header-banner .wd-entry-content h1,
.header-banner .wd-entry-content h2,
.header-banner .wd-entry-content h3,
.header-banner .wd-entry-content h4,
.header-banner .wd-entry-content h5,
.header-banner .wd-entry-content h6,
.header-banner .wd-entry-content p {
    color: #ffffff !important;
    /* WoodMart body / Elementor stack uses Barlow Condensed on this install */
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif !important;
}

/*
 * WHB "top bar" is often an empty placeholder row while the real promo is WoodMart's
 * `.header-banner` (absolute, top of viewport). Painting the top bar black covers the
 * banner copy - keep it transparent when the theme banner is on.
 */
body:not(.header-banner-enabled) .whb-top-bar {
    background-color: #000 !important;
}

body.header-banner-enabled .whb-top-bar {
    background: transparent !important;
    background-color: transparent !important;
}

.header-banner {
    background-color: #000 !important;
}

/*
 * WoodMart: .header-banner stays opacity:0 until JS adds .header-banner-display; a stale
 * cookie or script order can leave an empty black bar. Respect only an explicit dismiss
 * (.header-banner-hide). Raise z-index so copy is not painted under .wd-page-wrapper.
 */
/*
 * Promo strip is `.header-banner` (margin on .wd-page-wrapper). Collapse WHB top row height
 * when the banner is on so we do not stack a second empty band (gap above the white header).
 */
body.header-banner-enabled:not(.header-banner-hide) {
    /* Promo strip height (+30% vs previous 30px) */
    --wd-header-banner-h: 39px !important;
    --wd-header-banner-mt: var(--wd-header-banner-h) !important;
    --wd-top-bar-h: 0.00001px !important;
    --wd-top-bar-sm-h: 0.00001px !important;
    --wd-top-bar-sticky-h: 0.00001px !important;
}

body.header-banner-enabled:not(.header-banner-hide) .header-banner {
    opacity: 1 !important;
    z-index: 120 !important;
}

/* Ensure promo line is readable (some stacks zero out nested heading size). */
.header-banner h5 {
    font-size: calc(12px * 1.3) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    letter-spacing: 0.02em !important;
}

/* Theme promo banner is injected inside the WHB row; opt-header-banner.css loads in-body and can win the cascade. */
body.header-banner-enabled .whb-top-bar .header-banner,
body.header-banner-enabled .whb-top-bar .header-banner.header-banner-container,
body.header-banner-enabled .whb-top-bar .header-banner .header-banner-container,
body.header-banner-enabled .whb-top-bar .header-banner .wd-entry-content,
body.header-banner-enabled .whb-top-bar .header-banner h5 {
    color: #ffffff !important;
    font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif !important;
}

/*
 * Hero / homepage width: WoodMart uses .wd-page-wrapper > .container wrapping header + main.
 * Nested <main> also has .container - both must be de-boxed on the homepage or stretch leaves a gutter.
 */
body.home .wd-page-wrapper.website-wrapper > .container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home #main-content.wd-content-layout.container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Elementor root on the homepage can still impose horizontal inset. */
body.home .wd-content-layout .elementor {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Kill leftover horizontal ΓÇ£hairlineΓÇ¥ gutters (scrollbar / boxed ancestors). */
html {
    overflow-x: clip;
}

/*
 * Full-bleed hero: production home uses b25b6db; staging clone uses 35dee12 ΓÇö target both.
 */
body.home .elementor .elementor-element.elementor-element-b25b6db.wd-section-stretch,
body.home .elementor .elementor-element.elementor-element-35dee12.wd-section-stretch {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative;
    left: 0;
    right: 0;
}

/*
 * Inner Elementor pages (About, FAQ): same full-bleed pattern as the homepage video hero
 * (outer .container + main + .main-page-wrapper de-boxed, then 100vw stretch on hero IDs).
 * Without .main-page-wrapper padding reset, wrapper-custom can leave a left “sliver” even
 * when #main-content is full width.
 */
body.page.elementor-page:not(.home) .wd-page-wrapper.website-wrapper > .container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page.elementor-page:not(.home) #main-content.wd-content-layout.container,
body.page.elementor-page:not(.home) #main-content.content-layout-wrapper {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page.elementor-page:not(.home) .wd-page-content.main-page-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page.elementor-page:not(.home) .wd-content-layout .elementor {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Staging: About c03ea33; FAQ af9db45; Contact f3d03d8 — same full-bleed as homepage hero */
body.page.elementor-page:not(.home) .elementor .elementor-element.elementor-element-c03ea33.wd-section-stretch,
body.page.elementor-page:not(.home) .elementor .elementor-element.elementor-element-af9db45.wd-section-stretch,
body.page.elementor-page:not(.home) .elementor .elementor-element.elementor-element-f3d03d8.wd-section-stretch {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative;
    left: 0;
    right: 0;
}

/* FAQ: extra full-bleed bands (same IDs as footer template rows when reused on page) */
body.page.elementor-page:not(.home) .elementor .elementor-element.elementor-element-f426342.wd-section-stretch.e-parent,
body.page.elementor-page:not(.home) .elementor .elementor-element.elementor-element-5de50d1.wd-section-stretch.e-parent {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative;
    left: 0;
    right: 0;
}

/*
 * Homepage "Premium Research..." band (Elementor post 27: eb68881).
 * Moderate vertical margin between feature cards, this band, and the Facts block (not the
 * large % gutters Elementor defaults to). Inner padding keeps content spaced inside #F5F5F5.
 */
body.home .elementor-27 .elementor-element.elementor-element-d10bf4a {
    --margin-bottom: clamp(20px, 2.5vw, 40px) !important;
}

body.home .elementor-27 .elementor-element.elementor-element-eb68881 {
    --margin-top: 0 !important;
    --margin-bottom: clamp(20px, 2.5vw, 40px) !important;
    --padding-top: clamp(32px, 4.5vw, 72px) !important;
    --padding-bottom: clamp(32px, 4.5vw, 72px) !important;
}

/* Facts split (48e3ec8): top padding after the banner margin gap */
body.home .elementor-27 .elementor-element.elementor-element-48e3ec8 {
    --padding-top: clamp(20px, 2.5vw, 40px) !important;
}

@media (max-width: 1024px) {
    /* Feature cards row: keep cards off the viewport edges on phones/tablets */
    body.home .elementor-27 .elementor-element.elementor-element-d10bf4a {
        --padding-left: clamp(16px, 4vw, 24px) !important;
        --padding-right: clamp(16px, 4vw, 24px) !important;
        --margin-bottom: clamp(16px, 3vw, 28px) !important;
    }

    body.home .elementor-27 .elementor-element.elementor-element-eb68881 {
        --padding-top: clamp(24px, 5vw, 44px) !important;
        --padding-bottom: clamp(24px, 5vw, 44px) !important;
        --margin-bottom: clamp(16px, 3vw, 28px) !important;
    }

    body.home .elementor-27 .elementor-element.elementor-element-48e3ec8 {
        --padding-top: clamp(16px, 3vw, 32px) !important;
    }
}

/* === NAVIGATION === */
/* ALL CAPS */
.wd-nav > li > a,
.main-nav .menu-item > a,
.woodmart-navigation .menu > li > a,
.wd-nav-main > li > a,
nav.main-nav ul > li > a {
    text-transform: uppercase !important;
    letter-spacing: 1px;
}

/* Nav hover - gold */
.wd-nav > li > a:hover,
.main-nav .menu-item > a:hover,
.wd-nav-main > li > a:hover {
    color: var(--spartan-gold) !important;
}

/* === BUTTONS === */
.btn-color-primary,
.button.alt,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.wd-btn-color-primary,
a.btn-color-primary {
    background-color: var(--spartan-gold) !important;
    border-color: var(--spartan-gold) !important;
    color: var(--spartan-white) !important;
}

.btn-color-primary:hover,
.button.alt:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover {
    background-color: var(--spartan-gold-dark) !important;
    border-color: var(--spartan-gold-dark) !important;
}

/* === ACCENT COLORS === */
a:hover,
.color-primary,
.wd-entities-title a:hover {
    color: var(--spartan-gold) !important;
}

/* Sale badge */
.onsale,
.product-label.onsale {
    background-color: #c62828 !important;
}

/* === ELEMENTOR PROMO POPUP (library 29417) === */
/* Elementor sets .dialog-message to 360px wide on mobile — nearly edge-to-edge; cap for side breathing room */
@media (max-width: 768px) {
    #elementor-popup-modal-29417 .dialog-message {
        width: auto !important;
        max-width: min(300px, calc(100vw - 40px)) !important;
    }
}

/* === FOOTER === */
/* Solid black: strip WoodMart dark-scheme texture/pattern (gradients, data-URI noise, pseudo-layers). */
.wd-footer.footer-container,
.wd-footer.footer-container.color-scheme-dark,
.footer-container,
.woodmart-footer,
footer.footer-container {
    background-color: #000000 !important;
    background-image: none !important;
    --wd-brd-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--spartan-white) !important;
}

.wd-footer.footer-container::before,
.wd-footer.footer-container::after,
.footer-container::before,
.footer-container::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
}

.footer-container a,
.woodmart-footer a,
.wd-footer a {
    color: rgba(255, 255, 255, 0.7) !important;
}

.footer-container a:hover,
.woodmart-footer a:hover,
.wd-footer a:hover {
    color: var(--spartan-gold) !important;
}

.copyrights-wrapper,
.woodmart-copyrights,
.wd-copyrights {
    background-color: #000000 !important;
    background-image: none !important;
    color: rgba(255, 255, 255, 0.5) !important;
}

/*
 * Footer CMS block is Elementor template .elementor-308 (HTML block post 308).
 * Pattern comes from ::before overlays + pattern-02-new.avif in uploads/elementor/css/post-308.css — not the WoodMart footer wrapper alone.
 */
.elementor-308 .elementor-element.elementor-element-f426342:not(.elementor-motion-effects-element-type-background),
.elementor-308 .elementor-element.elementor-element-f426342 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #000000 !important;
    background-image: none !important;
}

.elementor-308 .elementor-element.elementor-element-f426342::before,
.elementor-308 .elementor-element.elementor-element-f426342 > .elementor-background-video-container::before,
.elementor-308 .elementor-element.elementor-element-f426342 > .e-con-inner > .elementor-background-video-container::before,
.elementor-308 .elementor-element.elementor-element-f426342 > .elementor-background-slideshow::before,
.elementor-308 .elementor-element.elementor-element-f426342 > .e-con-inner > .elementor-background-slideshow::before,
.elementor-308 .elementor-element.elementor-element-f426342 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
    background-color: transparent !important;
    opacity: 0 !important;
}

.elementor-308 .elementor-element.elementor-element-5de50d1:not(.elementor-motion-effects-element-type-background),
.elementor-308 .elementor-element.elementor-element-5de50d1 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #000000 !important;
    background-image: none !important;
}

.elementor-308 .elementor-element.elementor-element-5de50d1::before,
.elementor-308 .elementor-element.elementor-element-5de50d1 > .elementor-background-video-container::before,
.elementor-308 .elementor-element.elementor-element-5de50d1 > .e-con-inner > .elementor-background-video-container::before,
.elementor-308 .elementor-element.elementor-element-5de50d1 > .elementor-background-slideshow::before,
.elementor-308 .elementor-element.elementor-element-5de50d1 > .e-con-inner > .elementor-background-slideshow::before,
.elementor-308 .elementor-element.elementor-element-5de50d1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
    display: none !important;
    content: none !important;
    background-image: none !important;
    background-color: transparent !important;
    opacity: 0 !important;
}

/* Footer logo column: prevent top clip (overflow / tight row) + sensible sizing */
.elementor-308 .elementor-element.elementor-element-92c7ea2 {
    overflow: visible !important;
    padding-top: clamp(8px, 1.5vw, 20px) !important;
}

.elementor-308 .elementor-element.elementor-element-f1c5b4a {
    overflow: visible !important;
}

.elementor-308 .elementor-element.elementor-element-f1c5b4a .elementor-widget-container {
    overflow: visible !important;
}

.elementor-308 .elementor-element.elementor-element-f1c5b4a img {
    width: min(240px, 90%) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin-top: 0 !important;
}

/* === HEADER PROMO BANNER (WoodMart) === */
/* Close control is non-functional on staging; hide it and reclaim link inset */
.close-header-banner,
.close-header-banner.wd-style-icon {
    display: none !important;
}

.close-header-banner + .header-banner-link {
    inset-inline-end: 0 !important;
}

/* Mobile: cap header logo (desktop caps are only in functions.php @ 1025px+). */
@media (max-width: 1024px) {
    header.whb-header .whb-general-header .wd-logo img,
    header.whb-header .whb-general-header .site-logo img,
    .whb-clone.whb-main-header .whb-general-header .wd-logo img,
    .whb-mobile-header .wd-logo img,
    .whb-mobile-header .site-logo img {
        max-height: calc(42px * 1.3) !important;
        max-width: min(260px, 78vw) !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        margin: 0 !important;
    }
}

/* Mobile: hero copy section (Elementor eb68881) - restore inset where full-bleed rules zero padding. */
@media (max-width: 1024px) {
    body.home .elementor-element.elementor-element-eb68881 > .e-con-inner {
        padding-left: clamp(16px, 4vw, 24px) !important;
        padding-right: clamp(16px, 4vw, 24px) !important;
        box-sizing: border-box !important;
    }
}

/* Footer payment cards row (cms_block / Elementor post 308) — Variant A from spartan-cards-mockup */
.elementor-308 .footer-cards-row {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 22px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.elementor-308 .footer-cards-row .label {
    color: #9ca3af;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-right: 4px;
}

.elementor-308 .footer-cards-row .card-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    width: 44px;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.elementor-308 .footer-cards-row .card-logo svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* === Checkout: SECURE PAYMENT WITH (MU-plugin spartan-checkout-cards) — jsdelivr flat SVGs === */
.woocommerce-checkout .footer-cards-row {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    clear: both;
}

.woocommerce-checkout .footer-cards-row .label {
    color: #6b7280;
}

.woocommerce-checkout .footer-cards-row img {
    display: block;
    width: 50px;
    height: 30px;
    object-fit: contain;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

/*
 * === Checkout: MX Merchant (mxmerchant_gateway) ===
 * Title-row badge overlaps "Credit Card". Primary: `woocommerce_gateway_icon` + late `wp_head` CSS
 * in functions.php. File rules mirror: only hide images outside `.payment_box`.
 */
body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) > img,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) > img,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant_gateway > img,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant > img,
body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) > *:not(.payment_box) img,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) > *:not(.payment_box) img,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant_gateway > *:not(.payment_box) img,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant > *:not(.payment_box) img {
    display: none !important;
}

body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) > *:not(.payment_box) svg,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) > *:not(.payment_box) svg,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant_gateway > *:not(.payment_box) svg,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant > *:not(.payment_box) svg {
    display: none !important;
}

body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) label,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) label,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant_gateway label,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant label {
    background-image: none !important;
}

body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) label::before,
body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) label::after,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) label::before,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) label::after {
    content: none !important;
    background: none !important;
}

body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) .payment_box img,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) .payment_box img,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant_gateway .payment_box img,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant .payment_box img {
    display: revert !important;
}

body.woocommerce-checkout .payment_methods li:has(input[id*="mxmerchant"]) .payment_box svg,
body.woocommerce-checkout .payment_methods li:has(input[name="payment_method"][value*="mxmerchant"]) .payment_box svg,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant_gateway .payment_box svg,
body.woocommerce-checkout .payment_methods li.payment_method_mxmerchant .payment_box svg {
    display: revert !important;
}

/* WooCommerce Blocks checkout (if enabled) */
.wc-block-checkout label:has(input[value*="mxmerchant"]) img,
.wc-block-checkout .wc-block-components-payment-method-label img[src*="mxmerchant"],
.wc-block-checkout .wc-block-components-payment-method-label img[src*="MXMerchant"],
.wc-block-checkout .wc-block-components-payment-method-label img[src*="mx-merchant"] {
    display: none !important;
}

/* === Phase 8: Shop archive sidebar (Nox-aligned hooks around WoodMart filters) === */
.spartan-wc-product-filters.wc-product-filters {
    width: 100%;
}

.spartan-wc-product-filters .woodmart-woocommerce-layered-nav,
.spartan-wc-product-filters .wd-product-filters,
.spartan-wc-product-filters .widget {
    margin-bottom: 1.25rem;
}

.spartan-wc-product-filters .wc-product-categories-checklist,
.spartan-wc-product-filters .wd-scroll-content {
    list-style: none;
    padding: 0;
    margin: 0;
}

.spartan-wc-product-filters .filter-group-search input[type="search"],
.spartan-wc-product-filters .wd-search-form input {
    width: 100%;
    border-radius: 8px;
}

.spartan-wc-product-filters .price_slider_wrapper,
.spartan-wc-product-filters .wd-price-slider {
    margin-top: 0.5rem;
}

.post-type-archive-product .wd-loop-header .woocommerce-ordering,
.post-type-archive-product .woocommerce-ordering.orderby {
    max-width: 100%;
}
