/**
 * VinVic — spójny „harmonogram” UI: zaokrąglenia i kolory z presetów Koszyk/Checkout (vvscp).
 * Dotyczy modułów VinVic (cookies, szybka wyszukiwarka, czat AI) + wybranych przycisków Woo.
 * Zmienne --vv-harmony-* wstrzykuje PHP (checkout_genius).
 */

/* --- Woo: przyciski (łagodnie, tylko typowe klasy) --- */
body.woocommerce .woocommerce a.button,
body.woocommerce .woocommerce button.button,
body.woocommerce .woocommerce input.button,
body.woocommerce .woocommerce #respond input#submit,
body.woocommerce .woocommerce .wc-forward:not(.checkout) {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce .woocommerce a.button.alt,
body.woocommerce .woocommerce button.button.alt,
body.woocommerce .woocommerce #place_order,
body.woocommerce .woocommerce .checkout-button {
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #ffffff) !important;
    border-color: transparent !important;
}

/*
 * Koszyk: motywy często mają tylko body.woocommerce — bez zagnieżdżonego .woocommerce,
 * więc selektory „body.woocommerce .woocommerce …” nie łapią przycisków w formularzu koszyka.
 */
body.woocommerce-cart .woocommerce-cart-form button.button,
body.woocommerce-cart .woocommerce-cart-form a.button,
body.woocommerce-cart .woocommerce-cart-form input.button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .cart-collaterals a.button,
body.woocommerce-cart .cart-collaterals button.button,
body.woocommerce-cart .cart-collaterals .woocommerce-Button,
body.woocommerce-cart .cross-sells a.button,
body.woocommerce-cart .cross-sells button.button,
body.woocommerce-page.woocommerce-cart .woocommerce .button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-checkout-genius-hub a.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-checkout-genius-hub button.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-checkout-genius-hub input.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-vinvic-cart-shortcode-inner .button {
    border-radius: var(--vv-harmony-radius, 12px) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button {
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #ffffff) !important;
    border-color: transparent !important;
}

/*
 * Koszyk / checkout: przyciski akcji Woo (bez .alt) — tylko formularz koszyka / kolumna podsumowania
 * itd. NIE obejmuj .woocommerce-notices-wrapper (np. Flexible Shipping „Kontynuuj zakupy”),
 * bo pełne tło z harmonii rozwala układ i styl komunikatów.
 */
body.woocommerce-cart .woocommerce-cart-form a.button,
body.woocommerce-cart .woocommerce-cart-form button.button,
body.woocommerce-cart .woocommerce-cart-form input.button,
body.woocommerce-cart .wc-proceed-to-checkout a.button,
body.woocommerce-cart .wc-proceed-to-checkout button.button,
body.woocommerce-cart .cart-collaterals a.button,
body.woocommerce-cart .cart-collaterals button.button,
body.woocommerce-cart .cart-collaterals input.button,
body.woocommerce-cart .cross-sells a.button,
body.woocommerce-cart .cross-sells button.button,
body.woocommerce-page.woocommerce-cart .woocommerce-cart-form .button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-checkout-genius-hub .woocommerce-cart-form a.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-checkout-genius-hub .woocommerce-cart-form button.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-checkout-genius-hub .woocommerce-cart-form input.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-vinvic-cart-shortcode-inner .woocommerce-cart-form a.button,
body.vv-vinvic-commerce-takeover.woocommerce-cart .vv-vinvic-cart-shortcode-inner .woocommerce-cart-form button.button,
body.woocommerce-checkout .woocommerce form.woocommerce-checkout button.button,
body.woocommerce-checkout .woocommerce form.woocommerce-checkout input.button,
body.woocommerce-checkout .woocommerce .woocommerce-form-login .woocommerce-button,
body.woocommerce-checkout.woocommerce-order-received .woocommerce a.button,
body.woocommerce-checkout.woocommerce-order-received .woocommerce button.button {
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #ffffff) !important;
    border-color: transparent !important;
}

body.woocommerce-cart .woocommerce-cart-form a.button:hover,
body.woocommerce-cart .woocommerce-cart-form button.button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.button:hover,
body.woocommerce-cart .cart-collaterals a.button:hover,
body.woocommerce-checkout .woocommerce form.woocommerce-checkout button.button:hover,
body.woocommerce-checkout .woocommerce .woocommerce-form-login .woocommerce-button:hover {
    background: var(--vv-harmony-accent, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-primary-text, #ffffff) !important;
}

/*
 * Komunikaty Woo (.woocommerce-notices-wrapper, kupon) — osobne od formularza koszyka;
 * wąski zakres, żeby CTA w info (np. Flexible Shipping) miały tła z szablonu, a nie tylko motywu.
 */
body.woocommerce-cart .woocommerce-notices-wrapper a.button,
body.woocommerce-cart .woocommerce-notices-wrapper button.button,
body.woocommerce-checkout .woocommerce-notices-wrapper a.button,
body.woocommerce-checkout .woocommerce-notices-wrapper button.button,
body.woocommerce-checkout .vv-checkout-notices a.button,
body.woocommerce-page.woocommerce-cart .woocommerce-notices-wrapper a.button {
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
    border-color: transparent !important;
    text-decoration: none !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper a.button:hover,
body.woocommerce-checkout .woocommerce-notices-wrapper a.button:hover,
body.woocommerce-checkout .vv-checkout-notices a.button:hover {
    background: var(--vv-harmony-accent, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

/* link „Kliknij tutaj…” kuponu — tylko kolor, nie pełne tło button */
body.woocommerce-checkout .vv-checkout-notices a.showcoupon,
body.woocommerce-checkout .woocommerce-notices-wrapper a.showcoupon,
body.woocommerce-cart .woocommerce-notices-wrapper a.showcoupon {
    background: none !important;
    color: var(--vv-harmony-primary-bg, #111827) !important;
    text-decoration: underline !important;
    padding: 0 !important;
    border: none !important;
    display: inline !important;
    width: auto !important;
    font-weight: 600 !important;
}

/* --- VinVic: baner cookies (nadpisania wobec inline z modułu) --- */
#vvc-cookie-trigger {
    border-radius: var(--vv-harmony-radius-pill, 999px) !important;
    background: var(--vv-cookie-trigger-bg, #1c1917) !important;
    border: 2px solid var(--vv-cookie-accent, var(--vv-harmony-accent, #ea580c)) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25);
}

#vvc-cookie-trigger svg,
#vvc-cookie-trigger svg path {
    stroke: var(--vv-cookie-icon, #ffffff) !important;
}

#vvc-cookie-trigger svg circle {
    fill: var(--vv-cookie-icon, #ffffff) !important;
}

#vvc-cookie-modal {
    background: var(--vvc-modal-bg, #ffffff) !important;
    color: var(--vvc-modal-text, #1e293b) !important;
    border-radius: var(--vv-harmony-radius, 12px) !important;
    border-top: 6px solid var(--vvc-accent, var(--vv-cookie-accent, var(--vv-harmony-accent, #ea580c))) !important;
}

#vvc-cookie-modal .vvc-modal-header {
    background: var(--vvc-header-bg, var(--vv-cookie-header-bg, var(--vv-cookie-accent, var(--vv-harmony-primary-bg, #111827)))) !important;
    color: var(--vvc-header-text, #ffffff) !important;
}

#vvc-cookie-modal .vvc-modal-body,
#vvc-cookie-modal .vvc-modal-body p,
#vvc-cookie-modal .vvc-cat-t,
#vvc-cookie-modal .vvc-cat-main label {
    color: var(--vvc-modal-text, #1e293b) !important;
}

#vvc-cookie-modal .vvc-cat-item {
    background: var(--vvc-cat-bg, rgba(0, 0, 0, 0.03)) !important;
    border-color: var(--vvc-cat-border, rgba(0, 0, 0, 0.08)) !important;
    color: var(--vvc-modal-text, #1e293b) !important;
}

#vvc-cookie-modal .vvc-cat-item small {
    color: var(--vvc-muted, #64748b) !important;
    opacity: 1 !important;
}

#vvc-cookie-modal .vvc-badge {
    background: var(--vvc-accent, var(--vv-cookie-accent, #10b981)) !important;
    color: var(--vvc-badge-text, #ffffff) !important;
}

#vvc-cookie-modal .vvc-legal-links {
    border-top-color: var(--vvc-cat-border, rgba(0, 0, 0, 0.08)) !important;
    color: var(--vvc-muted, #64748b) !important;
}

#vvc-cookie-modal .vvc-legal-links a {
    color: var(--vvc-link, var(--vvc-accent, var(--vv-cookie-accent, #10b981))) !important;
}

#vvc-cookie-modal .vvc-modal-footer {
    background: var(--vvc-footer-bg, rgba(0, 0, 0, 0.02)) !important;
    border-top: 1px solid var(--vvc-cat-border, rgba(0, 0, 0, 0.08)) !important;
}

#vvc-cookie-modal .vvc-btn-pri,
#vvc-cookie-modal .vvc-btn-sec,
#vvc-cookie-modal button.vvc-btn-pri,
#vvc-cookie-modal button.vvc-btn-sec,
#vvc-save-all,
#vvc-save-selected {
    border-radius: var(--vv-harmony-radius, 12px) !important;
}

#vvc-save-selected,
#vvc-cookie-modal .vvc-btn-pri {
    background: var(--vvc-btn-outline-bg, transparent) !important;
    color: var(--vvc-btn-save-text, var(--vvc-modal-text, #1e293b)) !important;
    border: 2px solid var(--vvc-btn-outline-bd, rgba(0, 0, 0, 0.2)) !important;
}

#vvc-save-all,
#vvc-cookie-modal .vvc-btn-sec {
    background: var(--vvc-accent, var(--vv-cookie-accent, var(--vv-harmony-primary-bg, #111827))) !important;
    color: var(--vvc-badge-text, #ffffff) !important;
    border: 2px solid var(--vvc-accent, var(--vv-cookie-accent, #10b981)) !important;
}

#vvc-cookie-modal input[type="checkbox"].vvc-choice {
    accent-color: var(--vvc-accent, var(--vv-cookie-accent, #10b981)) !important;
}

/* Ulubione: modale stock / share (jak cookies + przyciski checkout) */
.vv-wl-modal__panel {
    border-radius: var(--vv-harmony-radius, var(--vv-wl-modal-radius, 16px)) !important;
}

.vv-wl-modal__accent {
    background: var(--vv-harmony-accent, var(--vv-wl-modal-accent, var(--vvfs-accent, #df0000))) !important;
}

.vv-wl-modal__btn--primary {
    background: var(--vv-harmony-primary-bg, var(--vv-wl-modal-primary-bg, var(--vvfs-accent, #111827))) !important;
    border-color: var(--vv-harmony-primary-bg, var(--vv-wl-modal-primary-bg, var(--vvfs-accent, #111827))) !important;
    color: var(--vv-harmony-primary-text, var(--vv-wl-modal-primary-text, #fff)) !important;
}

.vv-wl-share-modal__copy {
    color: var(--vv-harmony-accent, var(--vv-wl-modal-accent, var(--vvfs-accent, #df0000))) !important;
}

.vv-wl-share-modal__social:hover,
.vv-wl-modal__close:hover {
    color: var(--vv-harmony-accent, var(--vv-wl-modal-accent, var(--vvfs-accent, #df0000))) !important;
}

.vv-wl-modal__panel {
    background: var(--vv-wl-modal-bg, var(--vv-listing-page-bg, var(--vvfs-bg, #fff))) !important;
    color: var(--vv-wl-modal-text, var(--vv-listing-page-text, var(--vvfs-text, #0f172a))) !important;
}

.vv-wl-modal__title,
.vv-wl-modal__panel :is(h3, .vv-wl-modal__title) {
    color: var(--vv-wl-modal-text, var(--vv-listing-page-text, var(--vvfs-text, #0f172a))) !important;
    -webkit-text-fill-color: var(--vv-wl-modal-text, var(--vv-listing-page-text, var(--vvfs-text, #0f172a))) !important;
}

.vv-wl-modal__lead {
    color: var(--vv-wl-modal-muted, var(--vv-listing-page-muted, var(--vvfs-text-dim, #64748b))) !important;
    -webkit-text-fill-color: var(--vv-wl-modal-muted, var(--vv-listing-page-muted, var(--vvfs-text-dim, #64748b))) !important;
}

.vv-wl-page {
    background: var(--vv-wl-page-bg, var(--vv-listing-page-bg, var(--vvfs-bg, #fff))) !important;
    border-color: var(--vv-wl-page-border, var(--vv-listing-page-border, var(--vvfs-border, #e2e8f0))) !important;
    color: var(--vv-wl-page-text, var(--vv-listing-page-text, var(--vvfs-text, inherit))) !important;
}

.vv-wl-page__title,
.vv-fav-card.vv-listing-card {
    color: var(--vv-wl-page-text, var(--vv-listing-page-text, var(--vvfs-text, inherit))) !important;
}

.vv-fav-card__price .price,
.vv-fav-card__price .woocommerce-Price-amount {
    color: var(--vv-listing-price, var(--vv-listing-page-accent, var(--vvfs-accent, inherit))) !important;
    -webkit-text-fill-color: var(--vv-listing-price, var(--vv-listing-page-accent, var(--vvfs-accent, inherit))) !important;
}

/* --- Plakietka opinii (boczny panel + trigger) --- */
.vv-floating-badge .vv-badge-inner {
    background: var(--vv-rc-badge-panel-bg, #ffffff) !important;
    border: none !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14) !important;
    color: var(--vv-rc-badge-text, #1e293b) !important;
}

.vv-floating-badge:hover {
    box-shadow: none !important;
    transform: none !important;
}

.vv-floating-badge:hover .vv-badge-inner {
    transform: scale(1.05) translateY(-2px);
}

.vv-floating-badge .vv-badge-inner.vv-style-circular {
    border-radius: 50% !important;
    overflow: hidden !important;
    isolation: isolate;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.12) !important;
}

.vv-floating-badge .vv-badge-avg {
    color: var(--vv-rc-badge-stars, var(--vv-rc-badge-accent, var(--vv-harmony-accent, #ea580c))) !important;
}

.vv-floating-badge .vv-badge-stars,
.vv-floating-badge [style*="★"] {
    color: var(--vv-rc-badge-stars, var(--vv-rc-badge-accent, #ea580c)) !important;
}

.vv-floating-badge .vv-badge-label {
    color: var(--vv-rc-badge-text, #1e293b) !important;
}

/* Wspólna linia pływających kontrolek (lupa wyszukiwarki + plakietka opinii). */
:root {
    --vv-float-top: 30px;
    --vv-float-edge: 30px;
    --vv-float-btn: 60px;
    --vv-float-badge-gutter: 168px;
    --vv-top-bar-stack: 54px;
    --vv-header-inline-end: calc(var(--vv-float-edge, 30px) + var(--vv-float-btn, 60px) + 14px);
}

body.vinvic-pro-paired:has(.vv-floating-badge.vv-float-top.vv-float-left .vv-style-circular) {
    --vv-float-badge-gutter: var(--vv-float-btn, 60px);
}

body.vinvic-pro-paired:has(.vv-floating-badge.vv-float-top.vv-float-left .vv-style-compact) {
    --vv-float-badge-gutter: 96px;
}

body.vinvic-pro-paired:has(.vv-floating-badge.vv-float-top.vv-float-left) {
    --vv-header-inline-start: calc(var(--vv-float-edge, 30px) + var(--vv-float-badge-gutter, 168px) + 14px);
}

@media (min-width: 769px) {
    body.vinvic-pro-paired {
        --vv-float-top: calc(var(--vv-top-bar-stack, 54px) + 10px);
    }

    body.vinvic-pro-paired #vvfs-trigger:not(.vvfs-trigger--sr-only) {
        top: var(--vv-float-top) !important;
        right: var(--vv-float-edge, 30px) !important;
    }

    body.vinvic-pro-paired .vv-floating-badge.vv-float-top {
        top: var(--vv-float-top) !important;
    }

    body.vinvic-pro-paired .vv-floating-badge.vv-float-left {
        left: var(--vv-float-edge, 30px) !important;
    }

    body.vinvic-pro-paired:has(#vvfs-trigger:not(.vvfs-trigger--sr-only)) .navigation-inner-container {
        padding-right: max(20px, var(--vv-header-inline-end, 20px));
    }
}

@media (max-width: 768px) {
    :root {
        --vv-float-top: max(16px, calc(env(safe-area-inset-top, 0px) + 12px));
        --vv-float-edge: 16px;
        --vv-float-btn: 52px;
    }

    #vvfs-trigger {
        top: var(--vv-float-top) !important;
        right: var(--vv-float-edge) !important;
        width: var(--vv-float-btn) !important;
        height: var(--vv-float-btn) !important;
    }

    .vv-floating-badge.vv-float-top {
        top: var(--vv-float-top) !important;
        bottom: auto !important;
    }

    .vv-floating-badge.vv-float-bottom {
        bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 12px)) !important;
        top: auto !important;
    }

    .vv-floating-badge.vv-float-left {
        left: var(--vv-float-edge) !important;
        right: auto !important;
    }

    .vv-floating-badge.vv-float-right {
        right: var(--vv-float-edge) !important;
        left: auto !important;
    }

    .vv-floating-badge.vv-float-top .vv-badge-inner.vv-style-circular {
        width: var(--vv-float-btn);
        height: var(--vv-float-btn);
    }
}

/* Mega-boks produktu: kontrast na ciemnych kartach sekcji */
.vv-mega-product-landing .vv-arch-wrap {
    color: var(--vvfs-text, inherit);
}

.vv-mega-product-landing .vv-mega-reviews .vv-rev-toggle-details {
    background: color-mix(in srgb, var(--vvfs-text, #1a1d20) 7%, transparent) !important;
    color: var(--vvfs-text, inherit) !important;
    border: 1px solid color-mix(in srgb, var(--vvfs-text, #1a1d20) 14%, transparent) !important;
}

.vv-mega-product-landing .vv-mega-reviews [id$="-form"] {
    background: color-mix(in srgb, var(--vvfs-text, #1a1d20) 5%, var(--vvfs-bg, #fff)) !important;
    color: var(--vvfs-text, inherit) !important;
}

.vv-mega-product-landing .vv-delivery-box,
.vv-mega-product-landing .vv-gpsr-box {
    color: var(--vvfs-text, inherit);
}

/* Flat HUB (image / desc / badges): nadpisanie jasnych inline z PHP na ciemnych kartach */
.vv-mega-product-landing .vv-arch-wrap .vv-mega-gallery .vv-gallery-main {
    border-color: var(--vvfs-bc, color-mix(in srgb, var(--vvfs-text, #94a3b8) 18%, transparent)) !important;
    box-shadow: 0 10px 30px color-mix(in srgb, var(--vvfs-bc, #0f172a) 28%, transparent) !important;
}

.vv-mega-product-landing .vv-arch-wrap .vv-mega-gallery .vv-thumb:not(.is-active) {
    border-color: color-mix(in srgb, var(--vvfs-text, #64748b) 14%, transparent) !important;
}

.vv-mega-product-landing .vv-arch-wrap.vv-flat-hub-desc,
.vv-mega-product-landing .vv-arch-wrap[class*="hub-desc"] {
    color: var(--vvfs-text, inherit) !important;
}

.vv-mega-product-landing .vv-arch-wrap.vv-flat-hub-desc :is(p, b, strong, em, span, a, li),
.vv-mega-product-landing .vv-arch-wrap[class*="hub-desc"] :is(p, b, strong, em, span, a, li) {
    color: inherit;
}

/* Wszystkie nagłówki H1–H6 w treści produktu (opis Woo, sekcje mega-landing) */
.vv-mega-product-landing :is(.vv-mega-full-desc, .vv-hub-desc-content, .vv-arch-wrap.vv-flat-hub-desc, .vv-arch-wrap[class*="hub-desc"]) :is(h1, h2, h3, h4, h5, h6),
.vv-mega-product-landing .vv-product-title,
.vv-mega-product-landing .vv-smart-slider-title,
.vv-mega-product-landing .vv-mega-reviews :is(h1, h2, h3, h4, h5, h6),
.vv-mega-product-landing .woocommerce-Reviews-title {
    color: var(--vvfs-text, inherit) !important;
    -webkit-text-fill-color: var(--vvfs-text, inherit) !important;
}

.vv-mega-product-landing .vv-slider-item-price,
.vv-mega-product-landing .vv-slider-item-price .woocommerce-Price-amount,
.vv-mega-product-landing .vv-slider-item-price .woocommerce-Price-amount bdi,
.vv-mega-product-landing .vv-slider-item-price .woocommerce-Price-currencySymbol,
.vv-mega-product-landing .vv-smart-slider-wrap .vv-slider-item-price .woocommerce-Price-amount bdi {
    color: var(--vvfs-accent, var(--vv-accent, #df0000)) !important;
    -webkit-text-fill-color: var(--vvfs-accent, var(--vv-accent, #df0000)) !important;
}

.vv-checkout-genius-hub :is(h1, h2, h3, h4, h5, h6),
.vv-checkout-wrapper :is(h1, h2, h3, h4, h5, h6) {
    color: var(--vv-co-text, var(--vvfs-text, #111827)) !important;
    -webkit-text-fill-color: var(--vv-co-text, var(--vvfs-text, #111827)) !important;
}

/* Kwoty Woo (bdi, zł) — motyw często wkleja ciemny kolor na jasnym tekście szablonu */
.vv-checkout-genius-hub .woocommerce-Price-amount,
.vv-checkout-genius-hub .woocommerce-Price-amount bdi,
.vv-checkout-genius-hub .woocommerce-Price-currencySymbol,
.vv-checkout-genius-hub .amount bdi {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}
.vv-checkout-genius-hub #order_review tr.cart_item td.product-total .woocommerce-Price-amount,
.vv-checkout-genius-hub #order_review tr.cart_item td.product-total .woocommerce-Price-amount bdi {
    color: var(--vv-co-accent, var(--vvscp-price, var(--vv-co-text, #111827))) !important;
    -webkit-text-fill-color: var(--vv-co-accent, var(--vvscp-price, var(--vv-co-text, #111827))) !important;
}
.vv-checkout-genius-hub #order_review .woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount,
.vv-checkout-genius-hub #order_review .woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount bdi {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

.vv-mega-product-landing .vv-arch-wrap .vv-trust-badge-grid .vv-trust-item {
    background: color-mix(in srgb, var(--vvfs-text, #1a1d20) 7%, transparent) !important;
    color: var(--vvfs-text, inherit) !important;
}

.vv-mega-product-landing .vv-arch-wrap .vv-trust-badge-grid .vv-trust-item-text {
    color: var(--vvfs-text, inherit) !important;
}

.vv-mega-product-landing .vv-arch-wrap .vv-trust-badge-grid .vv-trust-badge-ico,
.vv-mega-product-landing .vv-arch-wrap .vv-trust-badge-grid .vv-trust-item .dashicons {
    color: var(--vvfs-accent, var(--vvfs-text, inherit)) !important;
}

.vv-side-panel .vv-panel-head {
    background: var(--vv-rc-badge-accent, var(--vv-harmony-primary-bg, #111827)) !important;
    color: #fff !important;
}

.vv-side-panel {
    color: var(--vv-panel-text, var(--vv-rc-badge-text, #1e293b));
}

.vv-side-panel .vv-panel-trust-heading,
.vv-side-panel .vv-panel-stat-mini__label,
.vv-side-panel .vv-panel-source-meta,
.vv-side-panel .vv-panel-breakdown-row {
    color: var(--vv-panel-muted, var(--vv-rc-badge-text, #64748b)) !important;
}

.vv-side-panel .vv-panel-stat-mini,
.vv-side-panel .vv-panel-source-card {
    background: var(--vv-panel-card-bg, color-mix(in srgb, var(--vv-panel-text, #1e293b) 7%, var(--vv-panel-bg, #fff))) !important;
    border-color: var(--vv-panel-border, #e2e8f0) !important;
}

.vv-side-panel .vv-panel-source-name,
.vv-side-panel .vv-panel-stat-mini__value,
.vv-side-panel .vv-panel-breakdown-row strong {
    color: var(--vv-panel-text, var(--vv-rc-badge-text, #1e293b)) !important;
}

.vv-side-panel .vv-panel-body {
    scrollbar-width: thin;
    scrollbar-color: var(--vv-panel-scrollbar-thumb, rgba(15, 23, 42, 0.22))
        var(--vv-panel-scrollbar-track, rgba(15, 23, 42, 0.06));
}

.vv-side-panel .vv-panel-body::-webkit-scrollbar {
    width: 8px;
}

.vv-side-panel .vv-panel-body::-webkit-scrollbar-track {
    background: var(--vv-panel-scrollbar-track, rgba(15, 23, 42, 0.06));
    border-radius: 8px;
}

.vv-side-panel .vv-panel-body::-webkit-scrollbar-thumb {
    background: var(--vv-panel-scrollbar-thumb, rgba(15, 23, 42, 0.22));
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

.vv-side-panel .vv-panel-stars {
    color: var(--vv-panel-star, var(--vv-panel-accent, #eab308)) !important;
}

/* --- VinVic: Fast Search (zmienne --vvfs-* mapuje PHP modułu Fast Search; tu layout + spójność z presetem sklepu).
   Reguła: NAJPIERW token --vvfs-* (per-FS ustawienie użytkownika z vv-fast_search),
   POTEM --vv-harmony-* (preset sklepu z vv-admin_theme&vv_appearance_tab=store),
   POTEM hardkodowany fallback. Dzięki temu zmiany w tabce wyszukiwarki nie są
   tłumione przez harmony, a brak ustawień FS = przejęcie tokenów z presetu sklepu. */
#vvfs-trigger.vvfs-floating-btn {
    color: var(--vvfs-on-accent, var(--vv-harmony-primary-text, #fff)) !important;
    border-radius: var(--vv-harmony-radius-pill, 999px) !important;
    background: var(--vvfs-accent, var(--vv-harmony-primary-bg, #111827)) !important;
    box-shadow: 0 10px 25px color-mix(in srgb, var(--vvfs-accent, var(--vv-harmony-primary-bg, #111827)) 35%, rgba(0, 0, 0, 0.25)) !important;
}

.vinvic-fs-shortcode {
    border-radius: var(--vv-harmony-radius, 12px) !important;
}

#vvfs-modal {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    overflow: hidden;
    background: var(--vvfs-bg, #fff) !important;
    color: var(--vvfs-text, inherit) !important;
}

#vvfs-modal .vvfs-header,
#vvfs-modal .vvfs-input-wrapper,
#vvfs-modal #vvfs-footer {
    border-color: var(--vvfs-border, rgba(0, 0, 0, 0.06)) !important;
}

#vvfs-modal .vvfs-input-wrapper,
#vvfs-modal #vvfs-footer {
    background: var(--vvfs-wrapper-bg, rgba(15, 23, 42, 0.04)) !important;
}

#vvfs-modal #vvfs-input,
#vvfs-input {
    border-radius: var(--vv-harmony-radius-sm, 10px) !important;
    border: 2px solid transparent;
}

#vvfs-input:focus {
    border-color: var(--vvfs-hover-border, var(--vvfs-accent, var(--vv-harmony-accent, #111827))) !important;
    box-shadow: 0 0 0 4px
        color-mix(in srgb, var(--vvfs-hover-border, var(--vvfs-accent, var(--vv-harmony-accent, #111827))) 22%, transparent) !important;
}

#vvfs-loader {
    border-top-color: var(--vvfs-accent, var(--vv-harmony-primary-bg, #111827)) !important;
}

.vvfs-card {
    border-radius: var(--vvfs-card-radius, var(--vvfs-radius, var(--vv-harmony-radius-sm, 10px))) !important;
}

.vvfs-card:hover {
    border-color: var(--vvfs-hover-border, var(--vvfs-accent, var(--vv-harmony-accent, #111827))) !important;
}

.vvfs-card-price {
    color: var(--vvfs-accent, var(--vv-harmony-primary-bg, #111827)) !important;
}

.vvfs-highlight {
    color: var(--vvfs-highlight-color, var(--vvfs-accent, var(--vv-harmony-accent, #111827))) !important;
    background: color-mix(
        in srgb,
        var(--vvfs-highlight-color, var(--vvfs-accent, var(--vv-harmony-accent, #111827))) 20%,
        transparent
    ) !important;
}

#vvfs-modal #vvfs-load-more,
#vvfs-footer a#vvfs-load-more,
#vvfs-load-more {
    border-radius: var(--vv-harmony-radius-sm, 10px) !important;
    color: var(--vvfs-load-more-color, var(--vvfs-accent, var(--vv-harmony-primary-bg, #111827))) !important;
}

/* --- VinVic: czat AI — zmienne ustawia inline z ai_chatbot (vvscp + opcje czatu) --- */
#haumru-ai-chat-widget {
    --vv-chat-accent: var(--vv-harmony-primary-bg, #111827);
    --vv-chat-on-accent: var(--vv-harmony-primary-text, #ffffff);
    border-radius: var(--vv-harmony-radius, 12px);
}

#haumru-ai-trigger {
    border-radius: var(--vv-harmony-radius-pill, 999px) !important;
    background: var(--vv-chat-trigger-bg, #ffffff) !important;
    border: 1px solid var(--vv-chat-trigger-border, rgba(15, 23, 42, 0.08)) !important;
}

.haumru-ai-trigger-text {
    color: var(--vv-chat-trigger-text, var(--vv-harmony-primary-bg, #111827)) !important;
}

#haumru-ai-chat-window {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-chat-window-bg, #ffffff) !important;
    border-color: var(--vv-chat-border, rgba(15, 23, 42, 0.08)) !important;
}

#haumru-ai-messages {
    background: var(--vv-chat-messages-bg, #f8fafc) !important;
    scrollbar-width: thin;
    scrollbar-color: var(--vv-chat-scrollbar-thumb, rgba(15, 23, 42, 0.22))
        var(--vv-chat-scrollbar-track, rgba(15, 23, 42, 0.06));
}

#haumru-ai-messages::-webkit-scrollbar {
    width: 8px;
}

#haumru-ai-messages::-webkit-scrollbar-track {
    background: var(--vv-chat-scrollbar-track, rgba(15, 23, 42, 0.06));
    border-radius: 8px;
}

#haumru-ai-messages::-webkit-scrollbar-thumb {
    background: var(--vv-chat-scrollbar-thumb, var(--vv-chat-scrollbar, rgba(15, 23, 42, 0.22)));
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

.haumru-ai-msg.bot {
    background: var(--vv-chat-bot-bg, #ffffff) !important;
    color: var(--vv-chat-bot-text, #333333) !important;
    border-color: var(--vv-chat-border, #eef2f1) !important;
}

.haumru-ai-msg.user {
    background: var(--vv-chat-user-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-chat-user-text, var(--vv-harmony-primary-text, #fff)) !important;
}

.haumru-ai-msg a {
    color: var(--vv-chat-link, var(--vv-harmony-accent, #111827)) !important;
}

.haumru-ai-msg.bot a {
    color: var(--vv-chat-link-bot, var(--vv-chat-link)) !important;
}

.haumru-ai-input-area {
    background: var(--vv-chat-window-bg, #fff) !important;
    border-top-color: var(--vv-chat-border, #eef2f1) !important;
}

#haumru-ai-input {
    background: var(--vv-chat-input-bg, #f1f5f9) !important;
    color: var(--vv-chat-input-text, #0f172a) !important;
    border: 1px solid var(--vv-chat-input-border, #e2e8f0) !important;
}

#haumru-ai-name-screen {
    background: var(--vv-chat-name-bg, var(--vv-chat-window-bg, #f8fafc)) !important;
}

#haumru-ai-name-input {
    background: var(--vv-chat-input-bg, #f8fafc) !important;
    color: var(--vv-chat-input-text, #0f172a) !important;
    border-color: var(--vv-chat-input-border, #e2e8f0) !important;
}

#haumru-ai-name-submit {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

#haumru-ai-send {
    border-radius: 50% !important;
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

#haumru-ai-send:hover {
    background: var(--vv-harmony-accent, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

.haumru-ai-header {
    background: linear-gradient(
            135deg,
            var(--vv-chat-accent, var(--vv-harmony-primary-bg, #111827)),
            var(--vv-chat-grad-2, var(--vv-harmony-accent, var(--vv-harmony-primary-bg, #111827)))
        )
        !important;
    color: var(--vv-chat-on-accent, var(--vv-harmony-primary-text, #fff)) !important;
}

.haumru-ai-avatar {
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

.haumru-ai-msg.user {
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

.haumru-ai-msg a {
    color: var(--vv-harmony-accent, #111827) !important;
}

body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--allegro,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--allegro,
.vv-unified-atc-wrapper .vv-hub-atc-mp-btn--allegro,
body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--erli,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--erli,
.vv-unified-atc-wrapper .vv-hub-atc-mp-btn--erli {
    text-decoration: none !important;
}

body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--allegro,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--allegro,
.vv-unified-atc-wrapper .vv-hub-atc-mp-btn--allegro {
    background-color: #ff5a00 !important;
    background: var(--vv-hub-atc-mp-allegro-bg, #ff5a00) !important;
    color: var(--vv-hub-atc-mp-allegro-txt, #fff) !important;
    border-color: color-mix(in srgb, var(--vv-hub-atc-mp-allegro-bg, #ff5a00) 88%, #000) !important;
}

body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--erli,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-mp-btn--erli,
.vv-unified-atc-wrapper .vv-hub-atc-mp-btn--erli {
    background-color: #6366f1 !important;
    background: var(--vv-hub-atc-mp-erli-bg, #6366f1) !important;
    color: var(--vv-hub-atc-mp-erli-txt, #fff) !important;
    border-color: color-mix(in srgb, var(--vv-hub-atc-mp-erli-bg, #6366f1) 88%, #000) !important;
}

body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-mp-btn:hover,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-mp-btn:hover,
.vv-unified-atc-wrapper .vv-hub-atc-mp-btn:hover,
body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-mp-btn:focus-visible,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-mp-btn:focus-visible,
.vv-unified-atc-wrapper .vv-hub-atc-mp-btn:focus-visible {
    filter: brightness(1.04);
    opacity: 0.98;
}

/* --- VinVic: listing / kategoria (karty, Woo .button) — wymuszenie wobec motywu --- */
body.woocommerce .vv-archive-card .vv-listing-add-btn.button,
body.woocommerce .vv-archive-card button.vv-listing-add-btn,
body.woocommerce .vv-archive-card a.vv-listing-add-btn {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-listing-arch-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-listing-arch-add-text, var(--vv-harmony-primary-text, #fff)) !important;
    border: 1px solid var(--vv-harmony-listing-arch-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
}

body.woocommerce .vv-archive-card .vv-listing-buy-btn.button,
body.woocommerce .vv-archive-card button.vv-listing-buy-btn {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-listing-arch-buy-bg, #fff) !important;
    color: var(--vv-harmony-listing-arch-buy-text, #ff6f00) !important;
    border: 2px solid var(--vv-harmony-listing-arch-buy-text, #ff6f00) !important;
}

body.woocommerce .vv-category-card .vv-listing-add-btn.button,
body.woocommerce .vv-category-card button.vv-listing-add-btn,
body.woocommerce .vv-category-card a.vv-listing-add-btn {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-listing-cat-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-listing-cat-add-text, var(--vv-harmony-primary-text, #fff)) !important;
    border: 1px solid var(--vv-harmony-listing-cat-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
}

body.woocommerce .vv-category-card .vv-listing-buy-btn.button,
body.woocommerce .vv-category-card button.vv-listing-buy-btn {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-listing-cat-buy-bg, #fff) !important;
    color: var(--vv-harmony-listing-cat-buy-text, #ff6f00) !important;
    border: 2px solid var(--vv-harmony-listing-cat-buy-text, #ff6f00) !important;
}

body.woocommerce .vv-listing-link-btn,
body.woocommerce a.vv-listing-link-btn.button,
body.woocommerce-page .vv-listing-link-btn,
body.woocommerce-page a.vv-listing-link-btn.button {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-listing-link-bg, var(--vv-listing-qty-wrap-bg, transparent)) !important;
    color: var(--vv-listing-link-txt, var(--vv-listing-page-accent, var(--vv-harmony-accent, #111827))) !important;
    -webkit-text-fill-color: var(--vv-listing-link-txt, var(--vv-listing-page-accent, var(--vv-harmony-accent, #111827))) !important;
    border: 2px solid var(--vv-listing-link-bd, var(--vv-listing-page-border, rgba(15, 23, 42, 0.2))) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce .vv-listing-link-btn:hover,
body.woocommerce a.vv-listing-link-btn.button:hover,
body.woocommerce-page .vv-listing-link-btn:hover,
body.woocommerce-page a.vv-listing-link-btn.button:hover {
    background: var(--vv-listing-link-bg, var(--vv-listing-qty-wrap-bg, transparent)) !important;
    color: var(--vv-listing-link-txt, var(--vv-listing-page-accent, var(--vv-harmony-accent, #111827))) !important;
    -webkit-text-fill-color: var(--vv-listing-link-txt, var(--vv-listing-page-accent, var(--vv-harmony-accent, #111827))) !important;
    filter: brightness(1.08);
}

body.woocommerce .vv-listing-card .vv-listing-qty-btn,
body.woocommerce .vv-listing-qty:not(.vv-hub-atc-qty--subtle) .vv-listing-qty-btn {
    border-radius: 50% !important;
    background: var(--vv-listing-qty-btn-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-listing-qty-btn-txt, var(--vv-harmony-primary-text, #fff)) !important;
    border: none !important;
}

body.woocommerce .vv-listing-card .product.compare-button a.button,
body.woocommerce .vv-template-grid-item .compare.button {
    border-radius: var(--vv-harmony-radius, 12px) !important;
}

/* Podwójny ATC HUB: vb_atc_rad (--vv-hub-atc-btn-radius), nie globalny pill motywu ani box_radius */
body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button {
    border-radius: var(--vv-hub-atc-btn-radius, 14px) !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.01em !important;
}

body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty-btn,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty-btn,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty-btn {
    border-radius: 50% !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Side cart: zgodne zaokrąglenia / akcent */
#vvscp-coupon-field {
    border-radius: var(--vv-harmony-radius-sm, 10px) !important;
}

#vvscp-coupon-btn {
    border-radius: var(--vv-harmony-radius-sm, 10px) !important;
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
    border: none !important;
}

#vvscp-order-btn {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-primary-bg, #111827) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

#vvscp-keep-shopping {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    border: 1px solid rgba(15, 23, 42, 0.15) !important;
    color: var(--vv-harmony-primary-bg, #111827) !important;
    background: transparent !important;
}

/* --- VinVic: jednolity pasek +/− (pill) – archiwum, kategoria, koszyk, checkout, boczny (nie HUB --subtle) --- */
body.woocommerce .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle),
body.woocommerce-page .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle),
#vvscp-cart-dynamic-content .vv-vinvic-qty {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid var(--vv-listing-qty-wrap-bd, rgba(15, 23, 42, 0.12)) !important;
    border-radius: 999px !important;
    padding: 4px 8px !important;
    background: var(--vv-listing-qty-wrap-bg, #fff) !important;
    width: max-content !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* HUB produkt: kompaktowy --subtle (nie rozpychać jak listing/koszyk) */
body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle,
.vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle {
    gap: 6px !important;
    padding: 2px 6px !important;
    width: auto !important;
    max-width: none !important;
}

body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-btn,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-btn,
.vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-hub-atc-qty-btn {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    padding: 0 !important;
    font-size: 12px !important;
}

body.woocommerce .vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
body.woocommerce-page .vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
.vv-unified-atc-wrapper .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input {
    width: max(22px, 2.75ch) !important;
    min-width: 22px !important;
    max-width: 3rem !important;
    min-height: auto !important;
    padding: 0 !important;
    font-size: 12px !important;
}

/* Koszyk boczny: własna paleta --vvscp-qty-* (derive_side_cart_css_palette) */
.vvscp-cart-box .vv-vinvic-qty,
#vvscp-cart-dynamic-content .vv-vinvic-qty,
body.woocommerce .vvscp-qty-ctrl.vv-vinvic-qty,
body.woocommerce-page .vvscp-qty-ctrl.vv-vinvic-qty {
    background: var(--vvscp-qty-wrap-bg, var(--vv-listing-qty-wrap-bg, #fff)) !important;
    border-color: var(--vvscp-qty-wrap-bd, var(--vv-listing-qty-wrap-bd, rgba(15, 23, 42, 0.12))) !important;
}

body.woocommerce .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle) .vvscp-funnel-qty-btn,
body.woocommerce .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle) .vvscp-qty-act,
body.woocommerce .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle) .vv-listing-qty-btn,
#vvscp-cart-dynamic-content .vv-vinvic-qty .vvscp-qty-act,
#vvscp-cart-dynamic-content .vv-vinvic-qty .vvscp-funnel-qty-btn {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    border-radius: 50% !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    background: var(--vv-listing-qty-btn-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-listing-qty-btn-txt, var(--vv-harmony-primary-text, #fff)) !important;
    border: none !important;
    box-shadow: none !important;
}

.vvscp-cart-box .vv-vinvic-qty .vvscp-qty-act,
.vvscp-cart-box .vv-vinvic-qty .vvscp-funnel-qty-btn,
#vvscp-cart-dynamic-content .vv-vinvic-qty .vvscp-qty-act,
#vvscp-cart-dynamic-content .vv-vinvic-qty .vvscp-funnel-qty-btn {
    background: var(--vvscp-qty-btn-bg, var(--vv-listing-qty-btn-bg, #111827)) !important;
    color: var(--vvscp-qty-btn-txt, var(--vv-listing-qty-btn-txt, #fff)) !important;
}

body.woocommerce .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle) .vv-listing-qty-input,
body.woocommerce .vv-vinvic-qty:not(.vv-hub-atc-qty--subtle) input,
#vvscp-cart-dynamic-content .vv-vinvic-qty input {
    min-width: 2.25rem !important;
    max-width: 3.5rem !important;
    width: 2.5rem !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--vv-listing-qty-num-txt, inherit) !important;
    -webkit-text-fill-color: var(--vv-listing-qty-num-txt, inherit) !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.vvscp-funnel-qty.vv-vinvic-qty .vvscp-funnel-qty-input,
.vv-checkout-genius-hub .vvscp-funnel-qty.vv-vinvic-qty input[type="text"] {
    min-width: 2.25rem !important;
    max-width: 3.5rem !important;
    width: 2.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-align: center !important;
    font-weight: 700 !important;
}

.vvscp-funnel-qty.vv-vinvic-qty .vvscp-funnel-qty-btn {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.vvscp-cart-box .vv-vinvic-qty .vvscp-qty-input,
.vvscp-cart-box .vv-vinvic-qty input,
#vvscp-cart-dynamic-content .vv-vinvic-qty .vvscp-qty-input,
#vvscp-cart-dynamic-content .vv-vinvic-qty input {
    color: var(--vvscp-qty-num-txt, var(--vv-listing-qty-num-txt, inherit)) !important;
    -webkit-text-fill-color: var(--vvscp-qty-num-txt, var(--vv-listing-qty-num-txt, inherit)) !important;
}

/* Wariant „subtle” (HUB) — zmienne z ustawień sklepu */
body.woocommerce .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-btn,
body.woocommerce .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-hub-atc-qty-btn {
    background: var(--vv-hub-atc-qty-btn-bg, var(--vv-listing-qty-btn-bg, #e2e8f0)) !important;
    color: var(--vv-hub-atc-qty-btn-txt, var(--vv-listing-qty-btn-txt, #334155)) !important;
}

body.woocommerce .vv-vinvic-qty.vv-hub-atc-qty--subtle {
    background: var(--vv-hub-atc-qty-wrap-bg, var(--vv-listing-qty-wrap-bg, #f8fafc)) !important;
    border-color: var(--vv-hub-atc-qty-wrap-bd, var(--vv-listing-qty-wrap-bd, rgba(148, 163, 184, 0.45))) !important;
    gap: 6px !important;
    padding: 2px 6px !important;
}

body.woocommerce .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input {
    color: var(--vv-hub-atc-qty-num-txt, var(--vv-listing-qty-num-txt, inherit)) !important;
    -webkit-text-fill-color: var(--vv-hub-atc-qty-num-txt, var(--vv-listing-qty-num-txt, inherit)) !important;
}

body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input {
    width: max(22px, 2.75ch) !important;
    min-width: 22px !important;
    max-width: 3rem !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Zgodnie z vv-frontend: jeden rząd [Dodaj][−+][Kup] */
@media (max-width: 782px) {
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
    .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-input {
        width: max(1.9rem, 2.75ch) !important;
        min-width: 1.9rem !important;
        max-width: 3rem !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-btn,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-btn,
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-hub-atc-qty-btn,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-hub-atc-qty-btn {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
        font-size: 15px !important;
    }

    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-vinvic-qty.vv-hub-atc-qty--subtle {
        gap: 6px !important;
        padding: 3px 8px !important;
    }

    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
    .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button,
    .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button {
        min-height: 44px !important;
        font-size: clamp(10px, 2.85vw, 12px) !important;
    }
}

@media (max-width: 360px) {
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-input,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-input,
    .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-input {
        width: max(1.75rem, 2.75ch) !important;
        min-width: 1.75rem !important;
        max-width: 3rem !important;
        font-size: 12px !important;
    }

    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-btn,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-listing-qty-btn,
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-hub-atc-qty-btn,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty .vv-hub-atc-qty-btn {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        font-size: 14px !important;
    }

    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
    .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-add.button,
    body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button,
    body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button,
    .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-buy.button {
        min-height: 44px !important;
        font-size: 10px !important;
    }
}

body.woocommerce .vv-trust-grid .vv-trust-item .vv-trust-item-text,
body.woocommerce-page .vv-trust-grid .vv-trust-item .vv-trust-item-text,
.vv-trust-grid .vv-trust-item .vv-trust-item-text {
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Mega/HUB trust: wąski ekran — 2×2, bez obcinania ikon przez overflow fragmentu „badges”; ten arkusz jest po vinvic-frontend (deps). */
@media (max-width: 599px) {
    body.woocommerce .vv-hub-fragment.vv-inner-badges,
    body.woocommerce-page .vv-hub-fragment.vv-inner-badges {
        overflow: visible !important;
    }

    body.woocommerce .vv-trust-badge-grid,
    body.woocommerce-page .vv-trust-badge-grid,
    body.woocommerce .vv-mega-product-landing .vv-trust-grid,
    body.woocommerce-page .vv-mega-product-landing .vv-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.woocommerce .vv-trust-badge-grid .vv-trust-item,
    body.woocommerce-page .vv-trust-badge-grid .vv-trust-item,
    body.woocommerce .vv-mega-product-landing .vv-trust-grid .vv-trust-item,
    body.woocommerce-page .vv-mega-product-landing .vv-trust-grid .vv-trust-item {
        padding: 5px 7px !important;
        gap: 5px !important;
        border-radius: 8px !important;
        align-items: flex-start !important;
        font-size: 10px !important;
    }

    body.woocommerce .vv-trust-badge-grid .vv-trust-item .dashicons,
    body.woocommerce-page .vv-trust-badge-grid .vv-trust-item .dashicons,
    body.woocommerce .vv-mega-product-landing .vv-trust-grid .vv-trust-item .dashicons,
    body.woocommerce-page .vv-mega-product-landing .vv-trust-grid .vv-trust-item .dashicons {
        font-size: 14px !important;
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
        line-height: 1 !important;
    }

    body.woocommerce .vv-trust-grid .vv-trust-item .vv-trust-item-text,
    body.woocommerce-page .vv-trust-grid .vv-trust-item .vv-trust-item-text {
        font-size: 10px !important;
        line-height: 1.15 !important;
        -webkit-line-clamp: 3 !important;
    }
}

/*
 * Ikona kosza przy „usuń linię”: tylko <span> w HTML, bo filtr `woocommerce_cart_item_name`
 * przechodzi przez `wp_kses` i usuwa <svg> — ikona tylko w CSS (maska).
 */
.vv-vinvic-trash-ico {
    display: block;
    width: 1.15em;
    height: 1.15em;
    min-width: 18px;
    min-height: 18px;
    flex-shrink: 0;
    background-color: currentColor;
    pointer-events: none;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4zM10 10h1v5h-1v-5zm3 0h1v5h-1v-5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4zM10 10h1v5h-1v-5zm3 0h1v5h-1v-5z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Lokalne ładowanie (wiersz koszyka, karta, szuflada) — bez pełnoekranowej zasłony */
@keyframes vvCommerceLineSpinner {
    to {
        transform: rotate(360deg);
    }
}

.vv-commerce-line-loading {
    position: relative;
    z-index: 0;
    pointer-events: none;
}

.vv-commerce-line-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    background: rgba(248, 250, 252, 0.58);
    border-radius: 12px;
    pointer-events: none;
}

.vv-commerce-line-loading::before {
    content: "";
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    border: 2px solid rgba(15, 23, 42, 0.12);
    border-top-color: var(--vv-harmony-primary-bg, #111827);
    border-radius: 50%;
    animation: vvCommerceLineSpinner 0.65s linear infinite;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .vv-commerce-line-loading::before {
        animation: none;
        border-color: var(--vv-harmony-primary-bg, #111827);
    }
}

/*
 * OceanWP (i podobne): .site-breadcrumbs.woocommerce-breadcrumbs.clr dostaje często wysokie z-index + sticky —
 * siatka produktów/karty VinVic (position:relative + cienie) „wjeżdża” wizualnie pod pasek okruszków przy przewijaniu.
 * Utrzymujemy okruszki w zwykłym przepływie dokumentu bez nakładania warstwy nad #content.
 */
body.woocommerce.archive .site-breadcrumbs,
body.post-type-archive-product .site-breadcrumbs,
body.woocommerce-shop .site-breadcrumbs,
body.tax-product_cat .site-breadcrumbs,
body.tax-product_tag .site-breadcrumbs,
body.tax-brand .site-breadcrumbs,
body.woocommerce-page.archive .site-breadcrumbs,
body.woocommerce-page.tax-product_cat .site-breadcrumbs,
body.woocommerce-page.tax-product_tag .site-breadcrumbs {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    transform: none !important;
}

body.woocommerce.archive .site-breadcrumbs .woocommerce-breadcrumb,
body.post-type-archive-product .site-breadcrumbs .woocommerce-breadcrumb,
body.tax-product_cat .site-breadcrumbs .woocommerce-breadcrumb,
body.tax-product_tag .site-breadcrumbs .woocommerce-breadcrumb,
body.woocommerce-page.tax-product_cat .site-breadcrumbs .woocommerce-breadcrumb {
    position: static !important;
    z-index: auto !important;
}

/* Zwroty i reklamacje (Moje konto) — preset sklepu vv-admin_theme → store */
body.vv-customer-account .vv-rma,
body.woocommerce-account .vv-rma,
body.vv-rma-guest-page.vv-customer-account .vv-rma-guest-wrap .vv-rma {
    font-family: var(--vvfs-font, inherit);
}

body.vv-customer-account .vv-rma .vv-rma-accordion,
body.woocommerce-account .vv-rma .vv-rma-item,
body.vv-rma-guest-page.vv-customer-account .vv-rma-guest-wrap .vv-rma .vv-rma-item,
body.vv-customer-account .vv-rma .vv-rma-path-card {
    border-radius: var(--vv-harmony-radius, var(--vv-rma-radius, 16px)) !important;
}

body.vv-customer-account .vv-rma a.button,
body.vv-customer-account .vv-rma button.button,
body.woocommerce-account .vv-rma a.button,
body.woocommerce-account .vv-rma button.button {
    border-radius: var(--vv-harmony-radius, 12px) !important;
    background: var(--vv-harmony-primary-bg, var(--vv-rma-primary-bg, #111827)) !important;
    color: var(--vv-harmony-primary-text, #fff) !important;
}

body.vv-customer-account .vv-rma a.button:hover,
body.vv-customer-account .vv-rma button.button:hover,
body.woocommerce-account .vv-rma a.button:hover,
body.woocommerce-account .vv-rma button.button:hover {
    background: var(--vv-harmony-accent, var(--vv-harmony-primary-bg, #111827)) !important;
}

/* Moje konto → lista zamówień — kolory przycisków akcji (preset sklepu) */
body.vv-customer-account .woocommerce-orders-table__cell-order-actions .button.view,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button.view {
    border-radius: var(--vv-harmony-radius-sm, 10px) !important;
}

body.vv-customer-account .woocommerce-orders-table__cell-order-actions .button.vv_rma,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button.vv_rma {
    border-radius: var(--vv-harmony-radius-sm, 10px) !important;
}

body.vv-customer-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-orders-table.account-orders-table {
    border-radius: var(--vv-harmony-radius, 12px) !important;
}

/*
 * HUB qty --subtle (ostateczne): wyższa specyficzność niż pasek listingu/koszyka.
 * Motyw partnerski nie powinien dotykać .vinvic-pro-paired — to zabezpieczenie w wtyczce.
 */
body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-listing-qty.vv-vinvic-qty.vv-hub-atc-qty.vv-hub-atc-qty--subtle,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-listing-qty.vv-vinvic-qty.vv-hub-atc-qty.vv-hub-atc-qty--subtle,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-listing-qty.vv-vinvic-qty.vv-hub-atc-qty.vv-hub-atc-qty--subtle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
    background: var(--vv-hub-atc-qty-wrap-bg, var(--vv-listing-qty-wrap-bg, #f8fafc)) !important;
    border: 1px solid var(--vv-hub-atc-qty-wrap-bd, var(--vv-listing-qty-wrap-bd, #cbd5e1)) !important;
}

body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-btn,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-btn,
body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-hub-atc-qty-btn,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-hub-atc-qty-btn,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-btn,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-hub-atc-qty-btn {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    background: var(--vv-hub-atc-qty-btn-bg, #e2e8f0) !important;
    color: var(--vv-hub-atc-qty-btn-txt, #334155) !important;
}

body.woocommerce .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
body.woocommerce-page .vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input,
.vv-unified-atc-wrapper.vv-unified-atc-dual .vv-hub-atc-qty.vv-hub-atc-qty--subtle .vv-listing-qty-input {
    width: max(22px, 2.75ch) !important;
    min-width: 22px !important;
    max-width: 3rem !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--vv-hub-atc-qty-num-txt, #0f172a) !important;
    -webkit-text-fill-color: var(--vv-hub-atc-qty-num-txt, #0f172a) !important;
}

/* --- Ostateczny layout kart listingu (archiwum / kategoria) — bez body.woocommerce --- */
.vv-listing-card-actions {
    display: grid !important;
    gap: 10px !important;
    margin-top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.vv-listing-card-actions > * {
    margin: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.vv-listing-buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-content: start !important;
}

.vv-listing-card .vv-listing-add-btn,
.vv-listing-card .vv-listing-buy-btn,
.vv-listing-card .vv-listing-link-btn,
.vv-archive-card .vv-listing-add-btn,
.vv-archive-card .vv-listing-buy-btn,
.vv-archive-card .vv-listing-link-btn,
.vv-category-card .vv-listing-add-btn,
.vv-category-card .vv-listing-buy-btn,
.vv-category-card .vv-listing-link-btn,
.vv-listing-buttons .button.vv-listing-add-btn,
.vv-listing-buttons .button.vv-listing-buy-btn,
.vv-listing-buttons button.vv-listing-add-btn,
.vv-listing-buttons button.vv-listing-buy-btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    height: auto !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    box-shadow: none !important;
    transform: none !important;
    float: none !important;
}

.vv-listing-qty.vv-vinvic-qty:not(.vv-hub-atc-qty--subtle) {
    width: max-content !important;
    max-width: 100% !important;
    justify-self: start !important;
}

.vv-archive-card .vv-listing-add-btn.button,
.vv-archive-card button.vv-listing-add-btn,
.vv-archive-card a.vv-listing-add-btn {
    border-radius: var(--vv-harmony-radius, 10px) !important;
    background: var(--vv-harmony-listing-arch-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-listing-arch-add-text, var(--vv-harmony-primary-text, #fff)) !important;
    border: 1px solid var(--vv-harmony-listing-arch-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
}

.vv-archive-card .vv-listing-buy-btn.button,
.vv-archive-card button.vv-listing-buy-btn {
    border-radius: var(--vv-harmony-radius, 10px) !important;
    background: var(--vv-harmony-listing-arch-buy-bg, #fff) !important;
    color: var(--vv-harmony-listing-arch-buy-text, #ff6f00) !important;
    border: 2px solid var(--vv-harmony-listing-arch-buy-text, #ff6f00) !important;
}

.vv-category-card .vv-listing-add-btn.button,
.vv-category-card button.vv-listing-add-btn,
.vv-category-card a.vv-listing-add-btn {
    border-radius: var(--vv-harmony-radius, 10px) !important;
    background: var(--vv-harmony-listing-cat-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
    color: var(--vv-harmony-listing-cat-add-text, var(--vv-harmony-primary-text, #fff)) !important;
    border: 1px solid var(--vv-harmony-listing-cat-add-bg, var(--vv-harmony-primary-bg, #111827)) !important;
}

.vv-category-card .vv-listing-buy-btn.button,
.vv-category-card button.vv-listing-buy-btn {
    border-radius: var(--vv-harmony-radius, 10px) !important;
    background: var(--vv-harmony-listing-cat-buy-bg, #fff) !important;
    color: var(--vv-harmony-listing-cat-buy-text, #ff6f00) !important;
    border: 2px solid var(--vv-harmony-listing-cat-buy-text, #ff6f00) !important;
}

