/* Classic: permanent dark gloss, matching the approved Buy button. */
:root {
    --cw-button-black: #09090b;
    --cw-button-gloss: radial-gradient(ellipse at 28% 0%, rgba(255,255,255,.24), transparent 58%),
        linear-gradient(110deg, #070708 0%, #161618 24%, #48484b 55%, #252527 78%, #101012 100%);
    --cw-button-edge: #555558;
    --cw-button-shadow: inset 0 1px 1px rgba(255,255,255,.48),
        inset 0 -1px 1px rgba(0,0,0,.85), 0 7px 16px rgba(0,0,0,.17);
}

/* Text action buttons; icon controls (heart, close, menu) keep their own shapes. */
html body :is(.button, .btn, .cs-button, .product-wrapper a.compare-overlay, .cw-k-btn, .cw-gift-buy, .cw-gp-ok,
    .cw-gp-otkaz, .cw-gp-kutiya button, .cw-lenta-kupi, a.cw-tbi-pill,
    .cw-black-month-20261103 > div > a[style], .cky-btn, .cw-signup-primary, .cw-signup-secondary, .cw-signup-guest, input[type="submit"], input[type="button"], button[type="submit"], #submitButton):not(.header .search button) {
    background-color: var(--cw-button-black) !important;
    background-image: var(--cw-button-gloss) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    border: 1px solid var(--cw-button-edge) !important;
    border-radius: 999px !important;
    box-shadow: var(--cw-button-shadow) !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.4);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: filter .16s ease, box-shadow .16s ease !important;
    touch-action: manipulation;
}

html body :is(.button, .btn, .cs-button, .product-wrapper a.compare-overlay, .cw-k-btn, .cw-gift-buy, .cw-gp-ok,
    .cw-gp-otkaz, .cw-gp-kutiya button, .cw-lenta-kupi, a.cw-tbi-pill,
    .cw-black-month-20261103 > div > a[style], .cky-btn, .cw-signup-primary, .cw-signup-secondary, .cw-signup-guest, input[type="submit"], input[type="button"], button[type="submit"], #submitButton):not(.header .search button):focus-visible {
    outline: 2px solid #333 !important;
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    html body :is(.button, .btn, .cs-button, .product-wrapper a.compare-overlay, .cw-k-btn, .cw-gift-buy, .cw-gp-ok,
        .cw-gp-otkaz, .cw-gp-kutiya button, .cw-lenta-kupi, a.cw-tbi-pill,
        .cw-black-month-20261103 > div > a[style], .cky-btn, .cw-signup-primary, .cw-signup-secondary, .cw-signup-guest, input[type="submit"], input[type="button"], button[type="submit"], #submitButton):not(.header .search button):hover {
        filter: brightness(1.12);
    }
}

html body :is(.button, .btn, .cs-button, .product-wrapper a.compare-overlay, .cw-k-btn, .cw-gift-buy, .cw-gp-ok,
    .cw-gp-otkaz, .cw-gp-kutiya button, .cw-lenta-kupi, a.cw-tbi-pill,
    .cw-black-month-20261103 > div > a[style], .cky-btn, .cw-signup-primary, .cw-signup-secondary, .cw-signup-guest, input[type="submit"], input[type="button"], button[type="submit"], #submitButton):not(.header .search button):active {
    box-shadow: inset 0 2px 5px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

html body :is(.button, .btn, .cs-button, .product-wrapper a.compare-overlay, .cw-k-btn, .cw-gift-buy, .cw-gp-ok,
    .cw-gp-otkaz, .cw-gp-kutiya button, .cw-lenta-kupi, a.cw-tbi-pill,
    .cw-black-month-20261103 > div > a[style], .cky-btn, .cw-signup-primary, .cw-signup-secondary, .cw-signup-guest, input[type="submit"], input[type="button"], button[type="submit"], #submitButton):not(.header .search button):is(:disabled, [aria-disabled="true"], .disabled) {
    opacity: .5 !important;
    filter: none !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

/* Keep selected gift choices distinguishable from the other dark buttons. */
html body .cw-gp-kutiya button[aria-pressed="true"] {
    outline: 2px solid #333;
    outline-offset: 3px;
}

html body a.cw-tbi-pill :is(.cw-tbi-text, .cw-tbi-kupi, .cw-tbi-badge) {
    color: #fff !important;
}
html body a.cw-tbi-pill img {
    background: #fff;
    border-radius: 3px;
}

/* Buy and heart occupy stable, separate targets on desktop and touch screens. */
:root body .product-item > .product-wrapper > .product-hover-wrapper-dpstyle {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100%;
    margin: 16px 0 4px;
}
:root body .product-item > .product-wrapper > .product-hover-wrapper-dpstyle .button.add-to-cart {
    order: 1;
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
:root body .product-item > .product-wrapper > .product-hover-wrapper-dpstyle i.wishlist_product {
    order: 2;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 0;
    opacity: 1 !important;
    visibility: visible !important;
    touch-action: manipulation;
}
:root body .product-item > .product-wrapper i.wishlist_product::before {
    width: 30px;
    height: 30px;
}

/* The shine is in the background, so it never hides text or adds hover-only content. */
html body .product-hover-wrapper-dpstyle .button.add-to-cart::before,
html body .product-hover-wrapper-dpstyle .button.add-to-cart::after,
html body a.button.cw-buy::before,
html body a.button.cw-buy::after {
    display: none !important;
    animation: none !important;
}
@media (max-width: 640px) {
    :root body .product-item > .product-wrapper > .product-hover-wrapper-dpstyle {
        gap: 6px !important;
        margin-top: 12px;
    }
}
@media (hover: none), (any-pointer: coarse) {
    html body .product-hover-wrapper-dpstyle .button.add-to-cart .cw-drop,
    html body a.button.cw-buy .cw-drop { display: none !important; }
    html body .product-hover-wrapper-dpstyle .button.add-to-cart,
    html body a.button.cw-buy { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    html body :is(.button, .btn, .cs-button, .product-wrapper a.compare-overlay, .cw-k-btn, .cw-gift-buy, .cw-gp-ok,
        .cw-gp-otkaz, .cw-gp-kutiya button, .cw-lenta-kupi, a.cw-tbi-pill,
        .cw-black-month-20261103 > div > a[style], .cky-btn, .cw-signup-primary, .cw-signup-secondary, .cw-signup-guest, input[type="submit"], input[type="button"], button[type="submit"], #submitButton):not(.header .search button) {
        transition: none !important;
    }
}

/* The mobile sort control keeps its existing white label and native options. */
html body.products #filtersContainer #cw-sortbtn select.sort-list-by {
    background-color: var(--cw-button-black) !important;
    background-image: var(--cw-button-gloss) !important;
    border: 1px solid var(--cw-button-edge) !important;
    border-radius: 999px !important;
    box-shadow: var(--cw-button-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body .product-wrapper a.compare-overlay i.fa-exchange { filter: invert(1) !important; }
