/* Premium dark catalogue and WooCommerce category archives. */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    background: #030507 !important;
}

.woocommerce-shell,
.page-shell:has(.woocommerce) {
    position: relative;
    overflow: hidden;
    color: #f5f8fb !important;
    background:
        radial-gradient(circle at 16% 4%, rgba(0, 153, 255, .19), transparent 28rem),
        radial-gradient(circle at 88% 18%, rgba(222, 31, 57, .12), transparent 26rem),
        linear-gradient(145deg, #080b0f 0%, #030507 55%, #080b10 100%) !important;
}

.woocommerce-shell::before,
.page-shell:has(.woocommerce)::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.woocommerce-shell > *,
.page-shell:has(.woocommerce) > * {
    position: relative;
    z-index: 1;
}

.woocommerce-shell > h1,
.woocommerce-shell .woocommerce-products-header__title,
.page-shell:has(.woocommerce) > h1,
.page-shell:has(.woocommerce) > h2 {
    color: #fff !important;
    text-shadow: 0 0 32px rgba(0, 153, 255, .22);
}

.woocommerce-shell .woocommerce-products-header p,
.woocommerce-shell .term-description,
.page-shell:has(.woocommerce) > p {
    color: #aab6c2 !important;
}

.woocommerce-shell .woocommerce-result-count,
.page-shell .woocommerce .woocommerce-result-count {
    color: #8e9ba8 !important;
}

.woocommerce-shell .woocommerce-ordering select,
.page-shell .woocommerce .woocommerce-ordering select {
    border: 1px solid #33404c !important;
    background: #0b1015 !important;
    color: #eef7ff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 0 22px rgba(0,130,255,.08);
}

.woocommerce-shell ul.products li.product,
.page-shell .woocommerce ul.products li.product {
    border: 1px solid #222f3a !important;
    background:
        linear-gradient(145deg, rgba(19, 26, 33, .98), rgba(5, 8, 11, .99)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.055),
        0 18px 44px rgba(0,0,0,.5),
        0 0 24px rgba(0,133,255,.055) !important;
}

.woocommerce-shell ul.products li.product::after,
.page-shell .woocommerce ul.products li.product::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.055) 45%, transparent 62%);
    transform: translateX(-110%);
    transition: transform .65s ease;
}

.woocommerce-shell ul.products li.product:hover,
.page-shell .woocommerce ul.products li.product:hover {
    border-color: #087fd0 !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 24px 60px rgba(0,0,0,.62),
        0 0 34px rgba(0,142,255,.22) !important;
}

.woocommerce-shell ul.products li.product:hover::after,
.page-shell .woocommerce ul.products li.product:hover::after {
    transform: translateX(110%);
}

.woocommerce-shell ul.products li.product img,
.page-shell .woocommerce ul.products li.product img {
    border: 1px solid rgba(255,255,255,.07) !important;
    background: linear-gradient(145deg, #f7f8f9, #dce2e7) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.4);
}

.woocommerce-shell ul.products li.product .woocommerce-loop-product__title,
.page-shell .woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-shell ul.products li.product a,
.page-shell .woocommerce ul.products li.product a {
    color: #f7fafc !important;
}

.woocommerce-shell ul.products li.product .price,
.page-shell .woocommerce ul.products li.product .price {
    color: #5dc2ff !important;
}

.woocommerce-shell ul.products li.product .price del,
.page-shell .woocommerce ul.products li.product .price del {
    color: #778491 !important;
}

.woocommerce-shell ul.products li.product .price ins,
.page-shell .woocommerce ul.products li.product .price ins {
    color: #ff4f5e !important;
}

.woocommerce-shell ul.products li.product .button,
.page-shell .woocommerce ul.products li.product .button {
    border: 1px solid rgba(91,194,255,.32) !important;
    background: linear-gradient(135deg, #0878bd, #00518e) !important;
    box-shadow: 0 10px 25px rgba(0,119,190,.23), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.woocommerce-shell ul.products li.product .button:hover,
.page-shell .woocommerce ul.products li.product .button:hover {
    background: linear-gradient(135deg, #13a0f5, #076bb2) !important;
    box-shadow: 0 12px 30px rgba(0,155,255,.38), 0 0 18px rgba(0,155,255,.2) !important;
}

.woocommerce-shell span.onsale,
.page-shell .woocommerce span.onsale {
    background: linear-gradient(135deg, #ff3b4d, #b90921) !important;
    box-shadow: 0 0 20px rgba(255,38,65,.38) !important;
}

.woocommerce-shell nav.woocommerce-pagination ul,
.page-shell .woocommerce nav.woocommerce-pagination ul {
    border-color: #293540 !important;
}

.woocommerce-shell nav.woocommerce-pagination a,
.woocommerce-shell nav.woocommerce-pagination span,
.page-shell .woocommerce nav.woocommerce-pagination a,
.page-shell .woocommerce nav.woocommerce-pagination span {
    border-color: #293540 !important;
    background: #0b1015 !important;
    color: #dce8f2 !important;
}

.woocommerce-shell nav.woocommerce-pagination span.current,
.page-shell .woocommerce nav.woocommerce-pagination span.current {
    background: #087fc7 !important;
    color: #fff !important;
}
