﻿/*
Theme Name: Wineshop
Theme URI: https://arquisoftware.com.pe/
Author: CARLOS AIRTON CURO SILUPU
Author URI: https://arquisoftware.com.pe/
Description: Tienda virtual administrable de licores para WordPress, sin WooCommerce, con flujo de catalogo, carrito, pedidos y tickets.
Version: 4.0.2
License: GNU General Public License v2
Text Domain: winedirect
*/

:root {
    --ws-wine: #050505;
    --ws-wine-dark: #000;
    --ws-gold: #e32b12;
    --ws-ink: #090909;
    --ws-muted: #6d6d6d;
    --ws-line: #e7e7e7;
    --ws-bg: #f6f6f6;
    --ws-card: #fff;
    --ws-green: #168452;
    --ws-red: #e32b12;
}

* {
    box-sizing: border-box;
}

body.ws-body {
    margin: 0;
    background: var(--ws-bg);
    color: var(--ws-ink);
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    line-height: 1.55;
}

[class^="ri-"],
[class*=" ri-"] {
    display: inline-flex;
    width: 1.1em;
    min-width: 1.1em;
    align-items: center;
    justify-content: center;
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal;
    line-height: 1;
}

.ri-shield-check-line:before { content: "âœ“"; }
.ri-user-line:before { content: "ðŸ‘¤"; }
.ri-price-tag-3-line:before { content: "ðŸ·"; }
.ri-shopping-cart-line:before { content: "ðŸ›’"; }
.ri-search-line:before { content: "âŒ•"; }
.ri-shopping-bag-3-line:before { content: "ðŸ›"; }
.ri-filter-3-line:before { content: "â˜°"; }
.ri-refresh-line:before { content: "â†»"; }
.ri-secure-payment-line:before { content: "ðŸ”’"; }
.ri-printer-line:before { content: "âŽ™"; }
.ri-whatsapp-line:before { content: "â˜Ž"; }
.ri-goblet-line:before { content: "â™œ"; }

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

.ws-topbar {
    background: var(--ws-wine-dark);
    color: #fff;
    font-size: 13px;
}

.ws-topbar-grid,
.ws-head-grid,
.ws-footer-grid,
.ws-subfooter,
.ws-hero-grid,
.ws-info-grid,
.ws-contact-grid,
.ws-account-grid,
.ws-cart-grid {
    display: grid;
    gap: 24px;
}

.ws-topbar-grid {
    min-height: 38px;
    grid-template-columns: 1fr auto;
    align-items: center;
}

.ws-topbar a {
    margin-left: 18px;
    color: rgba(255, 255, 255, .86);
}

.ws-main-head {
    background: #fff;
    border-bottom: 1px solid var(--ws-line);
}

.ws-head-grid {
    grid-template-columns: 260px minmax(260px, 1fr) auto;
    align-items: center;
    padding: 18px 0;
}

.ws-brand {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    column-gap: 12px;
}

.ws-brand span {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 8px;
    background: var(--ws-wine);
    color: #fff;
    font-weight: 800;
}

.ws-brand strong {
    display: block;
    font-size: 25px;
    line-height: 1;
}

.ws-brand small {
    color: var(--ws-muted);
    font-size: 12px;
}

.ws-search {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-height: 48px;
    border: 1px solid var(--ws-line);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.ws-search i {
    padding-left: 16px;
    color: var(--ws-muted);
}

.ws-search input {
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0 12px;
}

.ws-search button,
.ws-coupon button {
    align-self: stretch;
    border: 0;
    background: var(--ws-wine);
    color: #fff;
    padding: 0 18px;
    font-weight: 700;
}

.ws-quick-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ws-quick-actions a,
.ws-icon-btn {
    position: relative;
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ws-line);
    border-radius: 6px;
    background: #fff;
    color: var(--ws-ink);
}

.ws-cart-link span {
    position: absolute;
    top: -8px;
    right: -8px;
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 999px;
    background: var(--ws-gold);
    color: #111;
    font-size: 12px;
    font-weight: 800;
}

.ws-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--ws-wine);
    color: #fff;
}

.ws-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ws-menu a {
    display: block;
    padding: 15px 18px;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
}

.ws-menu a:hover {
    background: rgba(255, 255, 255, .12);
}

.ws-hero {
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 22%, rgba(200, 155, 60, .24), transparent 28%),
        linear-gradient(110deg, rgba(38, 5, 12, .98), rgba(123, 16, 36, .90));
    color: #fff;
}

.ws-hero-grid {
    grid-template-columns: minmax(0, 1fr) 420px;
    align-items: center;
    min-height: 560px;
    padding: 56px 0;
}

.ws-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--ws-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ws-hero h1,
.ws-section-head h2,
.ws-info-grid h2,
.ws-contact-grid h2,
.ws-account-grid h2 {
    margin: 0;
    line-height: 1.05;
    letter-spacing: 0;
}

.ws-hero h1 {
    max-width: 780px;
    font-size: clamp(42px, 6vw, 76px);
}

.ws-hero p {
    max-width: 680px;
    margin: 18px 0 28px;
    color: rgba(255, 255, 255, .88);
    font-size: 18px;
}

.ws-hero-actions,
.ws-product-actions,
.ws-ticket-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.ws-btn {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 6px;
    padding: 0 18px;
    cursor: pointer;
    font-weight: 800;
}

.ws-btn-primary {
    background: var(--ws-wine);
    color: #fff;
}

.ws-btn-dark {
    background: var(--ws-ink);
    color: #fff;
}

.ws-btn-ghost {
    border: 1px solid rgba(255, 255, 255, .42);
    color: #fff;
}

.ws-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, auto 1fr);
    gap: 6px 10px;
    max-width: 560px;
    margin-top: 28px;
}

.ws-hero-metrics strong {
    color: var(--ws-gold);
    font-size: 28px;
}

.ws-hero-panel {
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(180deg, #fff, #f7efe4);
    color: var(--ws-ink);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .24);
}

.ws-hero-panel img {
    width: 100%;
    height: 360px;
    object-fit: contain;
    padding: 22px;
}

.ws-hero-panel div {
    padding: 22px;
}

.ws-hero-panel strong {
    display: block;
    color: var(--ws-wine);
    font-size: 34px;
}

.ws-section {
    padding: 86px 0;
}

.ws-muted,
.ws-filter-band {
    background: #fff;
}

.ws-section-head {
    max-width: 760px;
    margin-bottom: 28px;
}

.ws-section-head h2 {
    font-size: clamp(30px, 4vw, 48px);
}

.ws-section-head p,
.ws-info-grid p,
.ws-contact-grid p,
.ws-account-grid p {
    color: var(--ws-muted);
}

.ws-category-grid,
.ws-brand-grid,
.ws-product-grid,
.ws-promo-grid,
.ws-faq-grid {
    display: grid;
    gap: 18px;
}

.ws-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ws-category-grid a,
.ws-brand-grid a,
.ws-empty,
.ws-payment-note,
.ws-orders-box,
.ws-ticket,
.ws-contact-form,
.ws-cart-summary,
.ws-cart-table,
.ws-account-grid > div,
.ws-info-grid > div {
    border: 1px solid var(--ws-line);
    border-radius: 8px;
    background: var(--ws-card);
}

.ws-category-grid a {
    padding: 26px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ws-category-grid i {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    background: rgba(123, 16, 36, .08);
    color: var(--ws-wine);
    font-size: 30px;
    margin-bottom: 14px;
}

.ws-category-grid a:hover,
.ws-product-card:hover,
.ws-brand-grid a:hover {
    transform: translateY(-3px);
    border-color: rgba(123, 16, 36, .28);
    box-shadow: 0 18px 42px rgba(49, 8, 17, .10);
}

.ws-category-grid strong,
.ws-category-grid span {
    display: block;
}

.ws-category-grid span {
    color: var(--ws-muted);
    font-size: 13px;
}

.ws-filters,
.ws-checkout {
    display: grid;
    grid-template-columns: 1.1fr 1.2fr 1.2fr .7fr auto auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 28px;
    padding: 20px;
    border: 1px solid var(--ws-line);
    border-radius: 8px;
    background: var(--ws-bg);
}

.ws-filters label,
.ws-checkout label {
    display: grid;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
}

.ws-filters input,
.ws-filters select,
.ws-checkout input,
.ws-checkout select,
.ws-checkout textarea,
.ws-contact-form input,
.ws-contact-form textarea,
.ws-coupon input {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--ws-line);
    border-radius: 6px;
    padding: 10px 12px;
    background: #fff;
}

.ws-checkbox {
    display: flex !important;
    min-height: 44px;
    align-items: center;
    gap: 8px;
}

.ws-checkbox input {
    width: auto;
    min-height: auto;
}

.ws-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ws-product-card {
    overflow: hidden;
    border: 1px solid var(--ws-line);
    border-radius: 8px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ws-product-image {
    position: relative;
    display: block;
    background:
        radial-gradient(circle at 50% 42%, rgba(200, 155, 60, .18), transparent 34%),
        #f3ecdf;
}

.ws-product-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    padding: 24px;
}

.ws-product-image span {
    position: absolute;
    top: 12px;
    left: 12px;
    border-radius: 999px;
    background: var(--ws-gold);
    padding: 5px 10px;
    color: #151515;
    font-size: 12px;
    font-weight: 800;
}

.ws-product-info {
    padding: 18px;
}

.ws-product-info small {
    color: var(--ws-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.ws-product-info h3 {
    min-height: 46px;
    margin: 8px 0;
    font-size: 18px;
    line-height: 1.3;
}

.ws-product-info p {
    min-height: 44px;
    margin: 0 0 12px;
    color: var(--ws-muted);
    font-size: 13px;
}

.ws-price-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.ws-price-row strong {
    color: var(--ws-wine);
    font-size: 21px;
}

.ws-price-row del {
    color: var(--ws-muted);
}

.ws-product-actions {
    justify-content: space-between;
}

.ws-product-actions span {
    font-size: 12px;
    font-weight: 700;
}

.is-stock {
    color: var(--ws-green);
}

.is-empty {
    color: var(--ws-red);
}

.ws-icon-btn {
    gap: 6px;
    min-width: 120px;
    background: var(--ws-wine);
    color: #fff;
    border-color: var(--ws-wine);
    font-size: 13px;
    font-weight: 800;
}

.ws-icon-btn:disabled,
.ws-btn:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.ws-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ws-brand-grid a {
    padding: 18px;
    text-align: center;
    font-weight: 800;
}

.ws-promo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ws-promo-grid article {
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(49, 8, 17, .08);
    border: 1px solid var(--ws-line);
}

.ws-promo-grid img {
    width: 100%;
    height: 150px;
    object-fit: contain;
    padding: 14px;
    background: #f3ecdf;
}

.ws-promo-grid div {
    padding: 16px;
}

.ws-promo-grid h3 {
    min-height: 46px;
    margin: 5px 0;
    font-size: 17px;
}

.ws-promo-grid p {
    min-height: 64px;
    color: var(--ws-muted);
    font-size: 13px;
}

.ws-cart-grid {
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: start;
}

.ws-cart-table,
.ws-cart-summary,
.ws-account-grid > div,
.ws-info-grid > div,
.ws-contact-form,
.ws-ticket {
    padding: 22px;
}

.ws-cart-row {
    display: grid;
    grid-template-columns: 74px 1fr 92px 110px;
    gap: 14px;
    align-items: center;
    border-bottom: 1px solid var(--ws-line);
    padding: 14px 0;
}

.ws-cart-row img {
    width: 74px;
    height: 74px;
    border-radius: 6px;
    object-fit: cover;
}

.ws-cart-row span {
    display: block;
    color: var(--ws-muted);
    font-size: 12px;
}

.ws-cart-row input {
    min-height: 42px;
    border: 1px solid var(--ws-line);
    border-radius: 6px;
    padding: 0 10px;
}

.ws-cart-summary p {
    display: flex;
    justify-content: space-between;
    margin: 10px 0;
}

.ws-total {
    border-top: 1px solid var(--ws-line);
    padding-top: 14px;
    font-size: 20px;
}

.ws-coupon {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    margin: 18px 0;
}

.ws-checkout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.ws-field-wide,
.ws-payment-note {
    grid-column: 1 / -1;
}

.ws-payment-note {
    padding: 16px;
    background: #fff8e7;
}

.ws-ticket-head {
    justify-content: space-between;
    border-bottom: 1px solid var(--ws-line);
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.ws-ticket table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
}

.ws-ticket th,
.ws-ticket td {
    border-bottom: 1px solid var(--ws-line);
    padding: 12px;
    text-align: left;
}

.ws-account-grid,
.ws-info-grid,
.ws-contact-grid {
    grid-template-columns: 1fr 1fr;
}

.ws-orders-box p {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    border-bottom: 1px solid var(--ws-line);
    padding-bottom: 10px;
}

.ws-check-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ws-check-list li {
    position: relative;
    margin: 12px 0;
    padding-left: 28px;
}

.ws-check-list li:before {
    position: absolute;
    left: 0;
    color: var(--ws-green);
    content: "âœ“";
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;
}

.ws-contact-form {
    display: grid;
    gap: 12px;
}

.ws-login-register {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ws-login-register form,
.ws-detail-add {
    display: grid;
    gap: 12px;
}

.ws-login-register input,
.ws-detail-add input {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--ws-line);
    border-radius: 6px;
    padding: 10px 12px;
}

.ws-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ws-faq-grid details {
    border: 1px solid var(--ws-line);
    border-radius: 8px;
    background: #fff;
    padding: 18px;
}

.ws-faq-grid summary {
    cursor: pointer;
    font-weight: 800;
}

.ws-final-band {
    background: var(--ws-wine-dark);
    color: #fff;
}

.ws-final-band p {
    color: rgba(255, 255, 255, .78);
}

.ws-footer {
    background: #151515;
    color: #fff;
    padding: 56px 0 22px;
}

.ws-footer-grid {
    grid-template-columns: 1.4fr .7fr .7fr 1.1fr;
}

.ws-footer a {
    display: block;
    margin: 8px 0;
    color: rgba(255, 255, 255, .78);
}

.ws-footer p,
.ws-footer span {
    color: rgba(255, 255, 255, .7);
}

.ws-brand-footer span {
    background: var(--ws-gold);
    color: #111;
}

.ws-subfooter {
    grid-template-columns: 1fr auto;
    border-top: 1px solid rgba(255, 255, 255, .12);
    margin-top: 28px;
    padding-top: 18px;
    font-size: 12px;
}

.ws-notice {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9999;
    max-width: 360px;
    border-radius: 8px;
    padding: 14px 18px;
    background: var(--ws-green);
    color: #fff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}

.ws-notice-error {
    background: var(--ws-red);
}

.ws-empty {
    grid-column: 1 / -1;
    padding: 22px;
    color: var(--ws-muted);
}

.ws-product-detail {
    padding: 70px 0;
}

.ws-product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 34px;
}

.ws-product-detail-media img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.ws-product-detail-info {
    border-radius: 8px;
    background: #fff;
    padding: 28px;
}

.ws-product-detail-info h1 {
    margin: 0 0 12px;
    font-size: clamp(32px, 5vw, 54px);
    line-height: 1.05;
}

@media (max-width: 1100px) {
    .ws-head-grid,
    .ws-hero-grid,
    .ws-cart-grid,
    .ws-footer-grid,
    .ws-product-detail-grid {
        grid-template-columns: 1fr;
    }

    .ws-product-grid,
    .ws-category-grid,
    .ws-brand-grid,
    .ws-promo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ws-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ws-topbar-grid,
    .ws-account-grid,
    .ws-info-grid,
    .ws-contact-grid,
    .ws-faq-grid,
    .ws-checkout,
    .ws-subfooter {
        grid-template-columns: 1fr;
    }

    .ws-topbar a {
        margin: 0 12px 0 0;
    }

    .ws-hero-grid {
        min-height: auto;
        padding: 44px 0;
    }

    .ws-hero h1 {
        font-size: 42px;
    }

    .ws-hero-metrics {
        grid-template-columns: repeat(3, 1fr);
    }

    .ws-product-grid,
    .ws-category-grid,
    .ws-brand-grid,
    .ws-promo-grid,
    .ws-filters,
    .ws-login-register {
        grid-template-columns: 1fr;
    }

    .ws-cart-row {
        grid-template-columns: 64px 1fr;
    }

    .ws-cart-row input,
    .ws-cart-row b {
        grid-column: 2;
    }
}

@media print {
    .ws-header,
    .ws-footer,
    .ws-section:not(.ws-ticket-section),
    .ws-print-ticket {
        display: none !important;
    }

    .ws-ticket {
        border: 0;
        box-shadow: none;
    }
}

/* Shop product cards: match home product presentation */
.ws-shop-template .ws-shop-results .ws-product-grid {
    align-items: stretch !important;
}

.ws-shop-template .ws-shop-results .ws-template-product {
    overflow: hidden !important;
    border: 1px solid #dedede !important;
    background: #fff !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .06) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.ws-shop-template .ws-shop-results .ws-template-product:hover {
    border-color: #000 !important;
    box-shadow: 0 34px 70px rgba(0, 0, 0, .14) !important;
    transform: translateY(-8px) !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper {
    min-height: 282px !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    background:
        radial-gradient(circle at 50% 52%, rgba(227, 43, 18, .12), transparent 34%),
        #fbfaf7 !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper .front,
.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper .front > a {
    width: 100% !important;
    height: 100% !important;
    min-height: 282px !important;
    display: grid !important;
    place-items: center !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper img {
    display: block !important;
    width: min(78%, 210px) !important;
    height: 210px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .12)) !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info {
    left: 50% !important;
    right: auto !important;
    bottom: 18px !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    transform: translateX(-50%) !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info form {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info button,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info a {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #000 !important;
    color: #fff !important;
    line-height: 1 !important;
    aspect-ratio: 1 / 1 !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18) !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info button:hover,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info a:hover {
    background: #e32b12 !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info i,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info i::before,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info button:hover i,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info a:hover i,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info button:hover i::before,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info a:hover i::before {
    color: #fff !important;
    opacity: 1 !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .product-detail {
    padding: 24px 24px 26px !important;
    text-align: left !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .rating {
    text-align: center !important;
}

/* Template alignment: Multikart structure + Wineshop identity */
body.ws-body {
    background: #f8f6f1;
}

[class^="ri-"]:before,
[class*=" ri-"]:before {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700;
}

.ri-phone-fill:before { content: "\260E"; }
.ri-user-fill:before,
.ri-user-line:before { content: "\25CF"; }
.ri-price-tag-3-line:before { content: "\25C6"; }
.ri-shopping-cart-line:before { content: "\25A3"; }
.ri-search-line:before { content: "\2315"; }
.ri-equalizer-2-line:before { content: "\2630"; }
.ri-bar-chart-horizontal-line:before { content: "\2630"; }
.ri-eye-line:before { content: "\25CE"; }
.ri-star-fill:before,
.ri-star-half-fill:before { content: "\2605"; }
.ri-bank-card-line:before { content: "\25A4"; }
.ri-file-list-3-line:before { content: "\2637"; }
.ri-shield-check-line:before { content: "\2713"; }
.ri-facebook-fill:before { content: "f"; }
.ri-instagram-line:before { content: "ig"; font-size: 10px; }
.ri-whatsapp-line:before { content: "wa"; font-size: 10px; }

.custom-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 28px;
}

.ws-template-header {
    background: #fff;
    box-shadow: 0 6px 24px rgba(49, 8, 17, .06);
}

.ws-template-header .top-header {
    background: var(--ws-wine-dark);
    color: rgba(255, 255, 255, .9);
}

.ws-template-header .top-header a,
.ws-template-header .top-header li {
    color: rgba(255, 255, 255, .9);
}

.ws-template-header .main-menu {
    padding: 22px 0 14px;
}

.ws-logo-mark {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
}

.ws-logo-mark span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 4px;
    background: var(--ws-wine);
    color: #fff;
    font-weight: 900;
    letter-spacing: .02em;
}

.ws-logo-mark strong {
    color: var(--ws-ink);
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.ws-template-menu {
    margin: 0;
}

.ws-template-menu > li > a {
    color: #222;
    font-size: 14px;
    font-weight: 700;
    padding: 18px 14px;
    text-transform: uppercase;
}

.ws-template-menu > li > a:hover {
    color: var(--ws-wine);
}

.icon-nav ul {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
}

.icon-nav a {
    position: relative;
    color: #222;
    font-size: 21px;
}

.ws-cart-icon span {
    position: absolute;
    top: -12px;
    right: -13px;
    display: grid;
    min-width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: var(--ws-gold);
    color: #111;
    font-size: 11px;
    font-weight: 800;
}

.ws-template-search {
    display: grid;
    grid-template-columns: 1fr auto;
    max-width: 760px;
    margin: 0 auto 18px;
    border: 1px solid #e9e0d4;
    background: #fff;
}

.ws-template-search input,
.ws-template-search button {
    border: 0;
    min-height: 46px;
}

.ws-template-search input {
    padding: 0 18px;
}

.ws-template-search button {
    padding: 0 24px;
    background: var(--ws-wine);
    color: #fff;
    font-weight: 800;
}

.ws-home-wrap .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.ws-home-slide {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background:
        linear-gradient(100deg, rgba(49, 8, 17, .94) 0%, rgba(123, 16, 36, .88) 50%, rgba(248, 246, 241, .95) 50.1%, rgba(248, 246, 241, .95) 100%),
        url("template/assets/images/parallax/3.jpg") center/cover;
}

.ws-home-slide-2 {
    background:
        linear-gradient(100deg, rgba(49, 8, 17, .94) 0%, rgba(123, 16, 36, .82) 50%, rgba(245, 231, 210, .95) 50.1%, rgba(245, 231, 210, .95) 100%),
        url("template/assets/images/parallax/4.jpg") center/cover;
}

.ws-home-slide .slider-contain {
    min-height: 610px;
    justify-content: flex-start;
    text-align: left;
}

.ws-home-slide .slider-contain h4 {
    color: var(--ws-gold);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .06em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.ws-home-slide .slider-contain h1 {
    max-width: 650px;
    color: #fff;
    font-size: clamp(38px, 5vw, 72px);
    font-weight: 900;
    line-height: .98;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.ws-home-slide .slider-contain p {
    max-width: 590px;
    color: rgba(255, 255, 255, .84);
    font-size: 17px;
    margin-bottom: 26px;
}

.btn.btn-solid,
.ws-btn.ws-btn-primary {
    border-color: var(--ws-wine);
    background: var(--ws-wine);
    color: #fff;
}

.btn.btn-outline {
    margin-left: 10px;
    border: 1px solid rgba(255, 255, 255, .75);
    color: #fff;
    background: transparent;
}

.ws-hero-bottle {
    position: absolute;
    right: 12%;
    bottom: 48px;
    width: min(28vw, 390px);
    max-height: 500px;
    object-fit: contain;
    filter: drop-shadow(0 26px 44px rgba(49, 8, 17, .28));
}

.ws-hero-bottle-alt {
    width: min(30vw, 430px);
}

.ws-hero-slider .slick-dots {
    bottom: 28px;
}

.ws-hero-slider .slick-dots li button:before {
    color: #fff;
    opacity: .6;
    font-size: 12px;
}

.ws-hero-slider .slick-dots li.slick-active button:before {
    color: var(--ws-gold);
    opacity: 1;
}

.ws-template-banners {
    background: #fff;
}

.ws-collection-banner {
    position: relative;
    display: block;
    min-height: 190px;
    overflow: hidden;
    background: #f5efe5;
}

.ws-collection-banner img {
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 45%;
    max-height: 160px;
    object-fit: contain;
}

.ws-collection-banner .contain-banner {
    position: relative;
    min-height: 190px;
    padding: 30px;
    display: flex;
    align-items: center;
}

.ws-collection-banner h4 {
    color: var(--ws-gold);
    font-weight: 800;
}

.ws-collection-banner h2 {
    color: var(--ws-wine-dark);
    font-weight: 900;
}

.ws-section {
    padding: 70px 0;
}

.ws-section-head,
.title1 {
    margin-bottom: 32px;
    text-align: center;
}

.ws-section-head h2 {
    color: var(--ws-ink);
    font-size: 34px;
    font-weight: 900;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.ws-section-head p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--ws-muted);
}

.ws-kicker {
    display: block;
    color: var(--ws-gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    margin-bottom: 7px;
    text-transform: uppercase;
}

.ws-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ws-category-grid a {
    min-height: 114px;
    background: #fff;
    border: 1px solid #eee5da;
    border-radius: 0;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ws-category-grid a:hover {
    border-color: var(--ws-gold);
    box-shadow: 0 14px 30px rgba(49, 8, 17, .08);
    transform: translateY(-3px);
}

.ws-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.ws-product-grid .slick-list {
    margin: 0 -14px;
}

.ws-product-grid .slick-slide {
    padding: 0 14px;
}

.ws-template-product {
    width: 100%;
    padding: 0;
    background: #fff;
}

.ws-template-product .img-wrapper {
    position: relative;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f3ec;
}

.ws-template-product .img-wrapper .front,
.ws-template-product .img-wrapper a {
    width: 100%;
}

.ws-template-product .img-wrapper img {
    width: 100%;
    height: 280px;
    object-fit: contain;
    padding: 22px;
}

.ws-template-product .cart-info {
    right: 12px;
    bottom: 14px;
}

.ws-template-product .cart-info form {
    display: inline-block;
}

.ws-template-product .cart-info button,
.ws-template-product .cart-info a {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--ws-wine);
    box-shadow: 0 8px 20px rgba(49, 8, 17, .14);
}

.ws-template-product .product-detail {
    padding: 18px 14px 20px;
    text-align: left;
}

.ws-template-product .rating {
    color: var(--ws-gold);
    font-size: 12px;
    margin-bottom: 8px;
}

.ws-template-product .product-detail h6 {
    min-height: 38px;
    color: #222;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 8px;
    text-transform: none;
}

.ws-template-product .product-detail p {
    color: var(--ws-muted);
    font-size: 12px;
    margin-bottom: 10px;
}

.ws-template-product .product-detail h4 {
    color: var(--ws-wine);
    font-size: 18px;
    font-weight: 900;
}

.ws-template-product .product-detail del {
    color: #888;
    font-size: 13px;
    margin-left: 8px;
}

.ws-stock-ok,
.ws-stock-out {
    display: inline-block;
    margin-top: 6px;
    color: var(--ws-green);
    font-size: 12px;
    font-weight: 800;
}

.ws-stock-out {
    color: var(--ws-red);
}

.ws-brand-grid {
    display: block;
}

.ws-brand-grid a {
    display: flex !important;
    min-height: 66px;
    align-items: center;
    justify-content: center;
    margin: 0 8px;
    border: 1px solid #eadfce;
    background: #fff;
    color: var(--ws-wine-dark);
    font-weight: 900;
    text-transform: uppercase;
}

.ws-template-footer .footer-logo {
    margin-bottom: 22px;
}

.ws-template-footer .footer-content p,
.ws-template-footer .footer-content li,
.ws-template-footer .sub-footer p,
.ws-template-footer .payment-card-bottom {
    color: #555;
}

.ws-template-footer .footer-title h4 {
    color: #222;
    font-weight: 900;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .custom-container {
        padding: 0 16px;
    }

    .ws-template-menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .ws-home-slide,
    .ws-home-slide .slider-contain {
        min-height: 540px;
    }

    .ws-hero-bottle {
        right: 4%;
        opacity: .32;
        width: 42vw;
    }

    .ws-product-grid,
    .ws-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Public page templates based on Multikart layouts */
.ws-breadcrumb-section {
    background: #f7f7f7;
    padding: 42px 0;
}

.ws-breadcrumb-section .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ws-breadcrumb-section h2 {
    margin: 0;
    color: #000;
    font-size: 30px;
    font-weight: 900;
}

.ws-breadcrumb-section .breadcrumb {
    margin: 0;
    justify-content: flex-end;
}

.ws-breadcrumb-section a {
    color: #000;
    font-weight: 800;
}

.ws-shop-template .collection-filter-block,
.ws-blog-template .blog-sidebar,
.ws-policy-nav,
.ws-track-card,
.ws-checkout-template .checkout-details,
.ws-checkout-template .checkout-box,
.ws-contact-template .contact-form,
.ws-contact-template .contact-right li {
    border: 1px solid #ececec;
    background: #fff;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .05);
}

.ws-shop-template .collection-filter-block {
    padding: 0;
}

.ws-shop-template .accordion-item {
    border: 0;
    border-bottom: 1px solid #ededed;
}

.ws-shop-template .accordion-button {
    background: #fff;
    color: #000;
    font-weight: 900;
    text-transform: uppercase;
}

.ws-shop-template .accordion-body input,
.ws-shop-template .accordion-body select,
.ws-checkout-template input,
.ws-checkout-template textarea,
.ws-contact-template input,
.ws-contact-template textarea,
.ws-tracking-template input {
    width: 100%;
    border: 1px solid #e6e6e6;
    background: #fff;
    padding: 13px 14px;
}

.ws-shop-template .top-banner-wrapper {
    margin-bottom: 24px;
    border: 1px solid #ececec;
    background: linear-gradient(135deg, #000, #191919);
}

.ws-shop-template .top-banner-content h4,
.ws-shop-template .top-banner-content h5 {
    color: #fff;
}

.ws-shop-template .product-filter-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid #ececec;
    background: #fff;
    margin-bottom: 24px;
}

.ws-shop-template .product-filter-content h5 {
    margin: 0;
    color: #000;
    font-weight: 800;
}

.ws-cart-template .cart-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.ws-cart-template .cart-title h3 {
    margin: 0;
    color: #000;
    font-weight: 900;
}

.ws-checkout-template .checkout-detail-box ul,
.ws-checkout-template .order-box ul {
    padding: 0;
}

.ws-checkout-template .checkout-detail-box li,
.ws-checkout-template .order-box li {
    display: block;
}

.ws-checkout-template .checkout-box {
    padding: 22px;
    margin-bottom: 18px;
}

.ws-checkout-template .checkout-title {
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}

.ws-checkout-template .checkout-title h4,
.ws-checkout-template .title-box h4 {
    margin: 0;
    color: #000;
    font-weight: 900;
}

.ws-checkout-template label {
    display: block;
    color: #000;
    font-weight: 800;
}

.ws-checkout-template .delivery-address-box {
    min-height: 58px;
    padding: 16px;
    border: 1px solid #e6e6e6;
    background: #fafafa;
}

.ws-checkout-template .order-box {
    padding: 24px;
}

.ws-checkout-template .qty li {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}

.ws-checkout-template .cart-image img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    background: #f5f5f5;
}

.ws-checkout-template .cart-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.ws-checkout-template .sub-total li,
.ws-checkout-template .total li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}

.ws-checkout-template .total {
    border-top: 1px solid #ddd;
    margin-top: 10px;
    font-size: 20px;
    font-weight: 900;
}

.ws-about-template .banner-section {
    display: grid;
    min-height: 360px;
    place-items: center;
    background: #000;
}

.ws-about-template .banner-section img {
    max-width: 340px;
}

.ws-about-template h2 {
    color: #000;
    font-weight: 900;
}

.ws-about-template .service-block i {
    color: #000;
    font-size: 38px;
}

.ws-contact-template .contact-right li {
    display: flex;
    gap: 16px;
    padding: 20px;
    margin-bottom: 16px;
}

.ws-contact-template .contact-icon i {
    color: #000;
    font-size: 28px;
}

.ws-contact-template .contact-form {
    padding: 26px;
}

.ws-contact-template .form-box {
    margin-bottom: 16px;
}

.ws-map-placeholder {
    display: grid;
    min-height: 280px;
    place-items: center;
    border: 1px solid #ececec;
    background: repeating-linear-gradient(45deg, #f7f7f7 0 12px, #fff 12px 24px);
    color: #777;
    font-weight: 900;
}

.ws-faq-template .accordion-item {
    margin-bottom: 12px;
    border: 1px solid #ececec;
}

.ws-faq-template .accordion-button {
    color: #000;
    font-weight: 900;
}

.ws-blog-template .blog-box {
    height: 100%;
    border: 1px solid #ececec;
    background: #fff;
}

.ws-blog-template .blog-image {
    display: grid;
    min-height: 220px;
    place-items: center;
    background: #f7f7f7;
}

.ws-blog-template .blog-image img {
    max-height: 180px;
    object-fit: contain;
}

.ws-blog-template .blog-contain {
    padding: 20px;
}

.ws-blog-template .blog-contain h4,
.ws-policy-article h2,
.ws-track-card h2 {
    color: #000;
    font-weight: 900;
}

.ws-policy-nav,
.ws-policy-article,
.ws-track-card {
    padding: 28px;
}

.ws-policy-nav {
    position: sticky;
    top: 110px;
    display: grid;
    gap: 12px;
}

.ws-policy-nav h4 {
    color: #000;
    font-weight: 900;
}

.ws-policy-nav a {
    color: #000;
    font-weight: 800;
}

.ws-policy-article {
    border: 1px solid #ececec;
    background: #fff;
}

.ws-policy-box {
    height: 100%;
    padding: 20px;
    border: 1px solid #ededed;
    background: #fafafa;
}

.ws-tracking-template .ws-contact-form {
    display: grid;
    gap: 14px;
}

@media (max-width: 767px) {
    .ws-breadcrumb-section .container,
    .ws-cart-template .cart-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .ws-policy-nav {
        position: static;
    }
}

/* Cart page premium layout */
.ws-cart-template {
    position: relative;
    overflow: hidden;
    padding-top: 56px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        radial-gradient(circle at 78% 12%, rgba(233, 40, 18, .10), transparent 24%),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto, auto !important;
}

.ws-cart-hero {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.ws-cart-hero h2 {
    margin: 14px 0 12px !important;
    color: #000 !important;
    font-size: clamp(40px, 5vw, 70px) !important;
    font-weight: 950 !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
}

.ws-cart-hero p {
    max-width: 650px;
    margin: 0 auto !important;
    color: #555 !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.55 !important;
}

.ws-cart-template .cart-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.ws-cart-template .cart-title h3 {
    margin: 0 !important;
    color: #000 !important;
    font-size: 24px !important;
    font-weight: 950 !important;
}

.ws-cart-template .cart-title .cart_checkout {
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 24px !important;
    border: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    text-transform: none !important;
}

.ws-cart-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
    gap: 28px !important;
    align-items: start !important;
}

.ws-cart-template .ws-cart-table {
    padding: 22px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .08) !important;
}

.ws-cart-update-form {
    display: grid;
    gap: 16px;
}

.ws-cart-row {
    position: relative;
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) 126px 128px 44px !important;
    align-items: center !important;
    gap: 18px !important;
    min-height: 132px !important;
    padding: 18px !important;
    border: 1px solid #e5e0dc !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .045) !important;
}

.ws-cart-product-media {
    width: 104px;
    height: 104px;
    display: grid;
    place-items: center;
    background: #fbf4e8;
}

.ws-cart-row .ws-cart-product-media img {
    width: 82px !important;
    height: 82px !important;
    object-fit: contain !important;
    margin: 0 !important;
}

.ws-cart-product-info {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.ws-cart-product-kicker {
    color: var(--ws-red) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.ws-cart-product-info a {
    color: #000 !important;
    text-decoration: none !important;
}

.ws-cart-product-info strong {
    display: block;
    color: #000 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
}

.ws-cart-product-info span:not(.ws-cart-product-kicker),
.ws-cart-product-info small {
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.ws-cart-qty-box,
.ws-cart-line-total {
    display: grid !important;
    gap: 8px !important;
}

.ws-cart-qty-box span,
.ws-cart-line-total span {
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

.ws-cart-row .ws-cart-qty {
    width: 100% !important;
    height: 52px !important;
    border: 1px solid #ded8d3 !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.ws-cart-line-total b {
    color: #000 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
}

.ws-cart-row .ws-remove-cart {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    background: #f1f1f1 !important;
    color: #000 !important;
    transition: background .2s ease, color .2s ease !important;
}

.ws-cart-row .ws-remove-cart:hover {
    background: var(--ws-red) !important;
    color: #fff !important;
}

.ws-cart-row .ws-remove-cart:hover i,
.ws-cart-row .ws-remove-cart:hover i::before {
    color: #fff !important;
}

.ws-cart-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 4px;
}

.ws-cart-table-actions .ws-btn {
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 0 !important;
}

.ws-btn-light {
    background: #fff !important;
    color: #000 !important;
    box-shadow: inset 0 0 0 1px #d9d1cc !important;
}

.ws-cart-template .ws-cart-summary {
    position: sticky !important;
    top: 142px !important;
    padding: 28px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 30px 74px rgba(0, 0, 0, .12) !important;
}

.ws-cart-summary-head {
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e5e0dc;
}

.ws-cart-summary-head span {
    color: var(--ws-red);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ws-cart-summary-head h3 {
    margin: 5px 0 0 !important;
    color: #000 !important;
    font-size: 30px !important;
    font-weight: 950 !important;
}

.ws-cart-template .ws-cart-summary p {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 14px !important;
    color: #666 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.ws-cart-template .ws-cart-summary p strong {
    color: #000 !important;
    font-weight: 950 !important;
}

.ws-cart-template .ws-cart-summary .ws-total {
    padding-top: 18px !important;
    margin-top: 18px !important;
    border-top: 1px solid #e5e0dc !important;
    color: #000 !important;
    font-size: 22px !important;
}

.ws-cart-template .ws-cart-summary .ws-total strong {
    color: var(--ws-red) !important;
    font-size: 26px !important;
}

.ws-cart-template .ws-coupon {
    display: grid !important;
    grid-template-columns: 1fr 104px !important;
    gap: 8px !important;
    margin: 22px 0 18px !important;
}

.ws-cart-template .ws-coupon input {
    height: 52px !important;
    border: 1px solid #ded8d3 !important;
    padding: 0 14px !important;
    color: #000 !important;
    font-weight: 800 !important;
}

.ws-cart-template .ws-coupon button,
.ws-cart-template .ws-cart-summary > .ws-btn {
    height: 52px !important;
    border: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font-weight: 950 !important;
}

.ws-cart-template .ws-cart-summary > .ws-btn {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--ws-red) !important;
}

@media (max-width: 1199px) {
    .ws-cart-grid {
        grid-template-columns: 1fr !important;
    }

    .ws-cart-template .ws-cart-summary {
        position: static !important;
    }
}

@media (max-width: 767px) {
    .ws-cart-template .cart-title {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .ws-cart-row {
        grid-template-columns: 86px 1fr 42px !important;
        gap: 14px !important;
    }

    .ws-cart-product-media {
        width: 86px;
        height: 86px;
    }

    .ws-cart-row .ws-cart-product-media img {
        width: 68px !important;
        height: 68px !important;
    }

    .ws-cart-qty-box,
    .ws-cart-line-total {
        grid-column: 1 / -1;
    }

    .ws-cart-row .ws-remove-cart {
        align-self: start;
        grid-column: 3;
        grid-row: 1;
    }

    .ws-cart-template .ws-coupon {
        grid-template-columns: 1fr !important;
    }
}

.ws-page-hero {
    padding: 110px 0 88px;
    background:
        radial-gradient(circle at 82% 20%, rgba(144,247,255,.18), transparent 300px),
        linear-gradient(135deg, #030303, #151515);
    color: #fff;
    text-align: center;
}

.ws-page-hero h1 {
    max-width: 920px;
    margin: 0 auto 16px;
    color: #fff;
    font-size: clamp(38px, 5vw, 72px);
    font-weight: 900;
    line-height: .95;
}

.ws-page-hero p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255,255,255,.76);
    font-size: 17px;
    line-height: 1.6;
}

.ws-page-hero .ws-kicker {
    color: #e32b12;
}

@media (max-width: 575px) {
    .ws-template-header .main-menu {
        padding: 14px 0;
    }

    .ws-logo-mark strong {
        font-size: 20px;
    }

    .ws-template-search {
        grid-template-columns: 1fr;
    }

    .ws-home-slide,
    .ws-home-slide .slider-contain {
        min-height: 520px;
    }

    .ws-home-slide {
        background: linear-gradient(135deg, rgba(49, 8, 17, .96), rgba(123, 16, 36, .92));
    }

    .ws-home-slide .slider-contain h1 {
        font-size: 38px;
    }

    .btn.btn-outline {
        margin: 10px 0 0;
    }

    .ws-hero-bottle {
        right: -18%;
        bottom: 10px;
        width: 72vw;
        opacity: .22;
    }

    .ws-product-grid,
    .ws-category-grid {
        grid-template-columns: 1fr;
    }
}

/* Final visual cleanup */
body.theme-color-1 {
    --theme-color: #000 !important;
}

.top-header,
.ws-template-header .top-header,
header .top-header {
    background: #000 !important;
    color: #fff !important;
}

.ws-template-header .top-header a,
.ws-template-header .top-header li,
.header-contact li,
.header-dropdown li,
.header-dropdown a {
    color: #fff !important;
}

.ws-template-header .main-menu {
    min-height: 96px;
    padding: 18px 0 10px !important;
}

.ws-template-header .navbar {
    display: none;
}

.ws-logo-image img {
    width: 260px;
    max-height: 86px;
    background: transparent;
    padding: 0;
}

.ws-template-header .brand-logo {
    min-width: 270px;
}

.ws-template-menu > li > a {
    font-size: 13px;
    letter-spacing: .08em;
}

.ws-template-search {
    max-width: 720px;
    margin-bottom: 18px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .05);
}

.ws-template-search input,
.ws-template-search button {
    min-height: 54px;
}

.ws-home-slide,
.ws-home-slide-2 {
    min-height: 680px;
    background:
        radial-gradient(circle at 76% 52%, rgba(227, 43, 18, .22) 0 180px, transparent 360px),
        linear-gradient(115deg, #050505 0%, #141414 50%, #090909 100%) !important;
}

.ws-home-slide:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, #000, transparent 75%);
    opacity: .55;
}

.ws-home-slide .slider-contain {
    min-height: 680px;
}

.ws-home-slide .slider-contain h4 {
    color: #e32b12 !important;
    font-size: 16px;
}

.ws-home-slide .slider-contain h1 {
    max-width: 720px;
    color: #fff;
    font-size: clamp(46px, 5.5vw, 86px);
    line-height: .92;
}

.ws-home-slide .slider-contain p {
    max-width: 560px;
    color: rgba(255,255,255,.78);
    font-size: 18px;
    line-height: 1.55;
}

.ws-hero-bottle {
    right: 10%;
    bottom: 70px;
    width: min(28vw, 390px);
    padding: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    box-shadow: 0 34px 80px rgba(0, 0, 0, .42);
}

.ws-template-banners {
    padding-top: 42px;
}

.ws-collection-banner {
    box-shadow: 0 18px 40px rgba(0,0,0,.06);
}

.ws-section-head h2 {
    letter-spacing: .01em;
}

@media (max-width: 991px) {
    .ws-template-header .brand-logo {
        min-width: 0;
    }

    .ws-logo-image img {
        width: 210px;
    }

    .ws-home-slide,
    .ws-home-slide .slider-contain {
        min-height: 590px;
    }
}

html,
body.ws-body {
    overflow-x: hidden;
}

.custom-container {
    max-width: 1200px;
}

.ws-template-header .top-header .row {
    align-items: center;
}

.ws-template-header .header-dropdown {
    display: flex;
    justify-content: flex-end;
    gap: 24px;
    margin: 0;
}

.ws-template-header .main-menu {
    align-items: center;
    gap: 28px;
}

.ws-template-header .menu-right {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-end;
}

.ws-template-header nav {
    max-width: none;
    overflow: hidden;
}

.ws-template-menu {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
}

.ws-template-menu > li > a {
    padding-inline: 8px;
    white-space: nowrap;
    font-size: 12px;
}

.ws-template-search {
    max-width: 620px;
}

.ws-hero-slider,
.ws-hero-slider .slick-list,
.ws-hero-slider .slick-track {
    overflow: hidden;
}

.ws-hero-slider .slick-slide {
    overflow: hidden;
}

.ws-home-slide .container {
    position: relative;
    z-index: 2;
}

.ws-home-slide .slider-contain h1 {
    max-width: 560px;
    font-size: clamp(36px, 4.4vw, 64px);
    word-break: normal;
}

.ws-home-slide .slider-contain p {
    max-width: 540px;
}

.ws-product-slider {
    display: block;
}

.ws-product-slider .slick-track {
    display: flex;
    align-items: stretch;
}

.ws-product-slider .slick-slide {
    height: auto;
}

.ws-product-slider .slick-slide > div,
.ws-product-slider .slick-slide .ws-template-product {
    height: 100%;
}

/* La alcoholeria visual identity + AJAX cart */
.ri-close-line:before { content: "\00D7"; }

body.ws-body {
    background: #f5f5f5;
    color: #080808;
}

.ws-template-header .top-header {
    background: #000;
}

.ws-template-header {
    border-bottom: 1px solid #e8e8e8;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .05);
}

.ws-logo-image span,
.ws-logo-image strong {
    display: none;
}

.ws-logo-image img {
    width: 260px;
    max-height: 86px;
    object-fit: contain;
    background: #000;
    padding: 0;
}

.ws-template-footer .ws-logo-image img {
    width: 220px;
}

.ws-template-menu > li > a:hover,
.icon-nav a:hover,
.ws-template-product .cart-info button,
.ws-template-product .cart-info a,
.ws-template-product .product-detail h4,
.ws-brand-grid a {
    color: #000;
}

.ws-template-search button,
.btn.btn-solid,
.ws-btn.ws-btn-primary,
.ws-search button,
.ws-coupon button {
    background: #000;
    border-color: #000;
    color: #fff;
}

.btn.btn-outline {
    border-color: #fff;
    color: #fff;
}

.ws-cart-icon span,
.ws-cart-link span {
    background: #e32b12;
    color: #000;
}

.ws-home-slide {
    background:
        linear-gradient(100deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .88) 51%, rgba(255, 255, 255, .94) 51.1%, rgba(255, 255, 255, .94) 100%),
        url("template/assets/images/parallax/3.jpg") center/cover;
}

.ws-home-slide-2 {
    background:
        linear-gradient(100deg, rgba(0, 0, 0, .96) 0%, rgba(23, 23, 23, .86) 51%, rgba(240, 252, 253, .96) 51.1%, rgba(240, 252, 253, .96) 100%),
        url("template/assets/images/parallax/4.jpg") center/cover;
}

.ws-home-slide .slider-contain h4,
.ws-kicker,
.ws-collection-banner h4,
.ws-template-product .rating,
.ws-hero-slider .slick-dots li.slick-active button:before {
    color: #e32b12;
}

.ws-collection-banner {
    background: #fff;
    border: 1px solid #e9e9e9;
}

.ws-collection-banner h2,
.ws-brand-grid a {
    color: #000;
}

.ws-template-product .img-wrapper {
    background: #fff;
    border: 1px solid #ededed;
}

.ws-template-product {
    border: 1px solid #ececec;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .05);
}

.ws-category-grid a:hover {
    border-color: #000;
}

.ws-filter-band,
.ws-muted,
.light-layout,
.footer-light,
.sub-footer {
    background: #fff;
}

.ws-final-band {
    background: #000;
    color: #fff;
}

.ws-final-band h2,
.ws-final-band p {
    color: #fff;
}

.is-loading {
    position: relative;
    opacity: .68;
    pointer-events: none;
}

.is-loading:after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(0, 0, 0, .08);
    background: rgba(255, 255, 255, .35);
}

.ws-cart-row {
    position: relative;
}

.ws-remove-cart {
    border: 0;
    background: transparent;
    color: #000;
    font-weight: 900;
    cursor: pointer;
}

.ws-cart-overlay {
    position: fixed;
    inset: 0;
    z-index: 99990 !important;
    background: rgba(0, 0, 0, .58);
    opacity: 0;
    transition: opacity .24s ease;
}

body.ws-cart-open .ws-cart-overlay {
    opacity: 1;
}

.ws-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99991 !important;
    width: min(440px, 92vw);
    height: 100vh;
    background: #fff;
    box-shadow: -20px 0 50px rgba(0, 0, 0, .22);
    transform: translateX(105%) !important;
    transition: transform .26s ease;
}

body.ws-cart-open .ws-cart-drawer {
    transform: translateX(0) !important;
}

.ws-cart-drawer-content {
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.ws-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid #ececec;
    background: #000;
    color: #fff;
}

.ws-drawer-head span {
    display: block;
    color: #e32b12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ws-drawer-head h3 {
    margin: 4px 0 0;
    color: #fff;
    font-weight: 900;
}

.ws-cart-close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

.ws-drawer-items {
    overflow: auto;
    padding: 18px;
}

.ws-drawer-item {
    display: grid;
    grid-template-columns: 76px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}

.ws-drawer-item img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    background: #f7f7f7;
}

.ws-drawer-item a {
    display: block;
    color: #000;
    font-weight: 900;
    line-height: 1.25;
}

.ws-drawer-item span {
    display: block;
    color: #777;
    font-size: 12px;
    margin: 4px 0 8px;
}

.ws-drawer-item b {
    color: #000;
    font-size: 14px;
}

.ws-drawer-qty {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ws-drawer-qty-btn {
    width: 28px;
    height: 28px;
    border: 1px solid #ddd;
    background: #fff;
    color: #000;
    font-weight: 900;
}

.ws-drawer-qty .ws-remove-cart {
    margin-left: 4px;
    color: #777;
    font-size: 12px;
}

.ws-drawer-summary {
    padding: 22px 24px 26px;
    border-top: 1px solid #ececec;
    background: #fafafa;
}

.ws-drawer-summary p {
    display: flex;
    justify-content: space-between;
    margin: 0 0 9px;
}

.ws-drawer-summary .ws-total {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #ddd;
    font-size: 20px;
    font-weight: 900;
}

.ws-drawer-summary .ws-btn {
    width: 100%;
    justify-content: center;
    margin-top: 12px;
}

.ws-toast-area {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 10000;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 40px));
}

.ws-toast {
    transform: translateY(12px);
    opacity: 0;
    padding: 14px 16px;
    background: #000;
    color: #fff;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
    transition: opacity .22s ease, transform .22s ease;
    font-weight: 800;
}

.ws-toast.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.ws-toast-error {
    background: #e32b12;
}

@media (max-width: 575px) {
    .ws-logo-image img {
        width: 165px;
        max-height: 62px;
    }

    .ws-drawer-item {
        grid-template-columns: 64px 1fr;
    }

    .ws-drawer-item b {
        grid-column: 2;
    }
}

/* Visual polish pass: brand typography, real icons and page-level layouts */
:root {
    --ws-black: #050505;
    --ws-soft-black: #121212;
    --ws-cream: #fbfaf7;
    --ws-paper: #ffffff;
    --ws-cyan: #e32b12;
    --ws-text: #111111;
    --ws-soft-text: #6f6f6f;
    --ws-border: #e8e4dc;
    --ws-shadow: 0 24px 70px rgba(0, 0, 0, .08);
}

body.ws-body {
    background: radial-gradient(circle at 15% 0%, rgba(227, 43, 18, .15), transparent 28%), linear-gradient(180deg, #fff 0%, #f8f6f1 55%, #fff 100%) !important;
    color: var(--ws-text);
    font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
    font-size: 15px;
    letter-spacing: 0;
}

body.ws-body h1,
body.ws-body h2,
body.ws-body h3,
body.ws-body h4,
body.ws-body h5,
body.ws-body h6,
.ws-template-menu > li > a,
.btn,
.ws-btn,
button {
    letter-spacing: 0 !important;
}

body.ws-body h1,
body.ws-body h2,
.ws-breadcrumb-section h2,
.ws-section-head h2,
.ws-checkout-template .checkout-title h4,
.ws-checkout-template .title-box h4 {
    font-family: "Arial Black", "Montserrat", "Segoe UI", sans-serif;
    text-transform: none !important;
}

[class^="ri-"],
[class*=" ri-"],
[class^="ri-"]:before,
[class*=" ri-"]:before {
    font-family: "remixicon" !important;
    font-style: normal;
    font-weight: 400 !important;
    font-size: 1em;
    line-height: 1;
    width: auto;
    min-width: 0;
}

.ri-phone-fill:before { content: "\efe9" !important; }
.ri-user-fill:before { content: "\f25d" !important; }
.ri-user-line:before { content: "\f264" !important; }
.ri-price-tag-3-line:before { content: "\f023" !important; }
.ri-shopping-cart-line:before { content: "\f120" !important; }
.ri-search-line:before { content: "\f0d1" !important; }
.ri-equalizer-2-line:before { content: "\ec9a" !important; }
.ri-bar-chart-horizontal-line:before { content: "\ea9d" !important; }
.ri-eye-line:before { content: "\ecb5" !important; }
.ri-star-fill:before { content: "\f18b" !important; }
.ri-star-half-fill:before { content: "\f18d" !important; }
.ri-bank-card-line:before { content: "\ea92" !important; }
.ri-file-list-3-line:before { content: "\ecef" !important; }
.ri-shield-check-line:before { content: "\f100" !important; }
.ri-facebook-fill:before { content: "\ecbc" !important; }
.ri-instagram-line:before { content: "\ee66" !important; }
.ri-whatsapp-line:before { content: "\f2bc" !important; }
.ri-close-line:before { content: "\eb99" !important; }
.ri-shopping-bag-3-line:before { content: "\f116" !important; }
.ri-filter-3-line:before { content: "\ed25" !important; }
.ri-refresh-line:before { content: "\f064" !important; }
.ri-secure-payment-line:before { content: "\f0d3" !important; }
.ri-printer-line:before { content: "\f029" !important; }
.ri-goblet-line:before { content: "\edd3" !important; }

.blur-up,
.blur-up.lazyloaded {
    filter: none !important;
    -webkit-filter: none !important;
}

.custom-container,
.container {
    max-width: 1320px;
}

.ws-template-header {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    box-shadow: 0 16px 50px rgba(0, 0, 0, .06);
}

.ws-template-header .main-menu {
    min-height: 86px;
    padding: 16px 0 10px !important;
    gap: 24px;
}

.ws-logo-image img {
    width: 210px !important;
    height: 56px !important;
    padding: 6px 18px !important;
    border-radius: 0;
    object-fit: contain;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .10);
}

.ws-template-menu {
    gap: 18px;
}

.ws-template-menu > li > a {
    padding: 10px 0 !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    text-transform: uppercase;
}

.icon-nav ul {
    display: flex;
    align-items: center;
    gap: 18px;
}

.icon-nav a,
.bar-style,
.toggle-nav {
    color: #111 !important;
    font-size: 25px;
}

.ws-template-search {
    max-width: 680px !important;
    margin: 16px auto 22px !important;
    border: 1px solid var(--ws-border);
    background: #fff;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .07);
}

.ws-template-search input {
    height: 56px;
    padding: 0 22px !important;
    font-size: 15px;
}

.ws-template-search button,
.btn.btn-solid,
.ws-btn.ws-btn-primary,
.ws-coupon button {
    background: var(--ws-black) !important;
    border: 1px solid var(--ws-black) !important;
    color: #fff !important;
    min-height: 48px;
    padding: 0 24px !important;
    font-weight: 900;
}

.ws-breadcrumb-section {
    background: linear-gradient(135deg, rgba(0, 0, 0, .04), rgba(227, 43, 18, .12)), #f7f4ef !important;
    padding: 44px 0;
    margin-bottom: 42px;
}

.ws-breadcrumb-section .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ws-breadcrumb-section h2 {
    margin: 0;
    color: #050505;
    font-size: clamp(28px, 3.2vw, 46px);
    line-height: 1.05;
}

.ws-breadcrumb-section .breadcrumb {
    background: transparent;
    padding: 0;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 850;
}

.ws-shop-template .collection-filter-block,
.ws-checkout-template .checkout-details,
.ws-checkout-template .checkout-box,
.ws-cart-template .ws-cart-table,
.ws-cart-template .ws-cart-summary,
.ws-contact-template .contact-form,
.ws-contact-template .contact-right li,
.ws-policy-nav,
.ws-track-card {
    border: 1px solid var(--ws-border) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: var(--ws-shadow) !important;
}

.ws-shop-template .collection-filter-block {
    padding: 22px !important;
    position: sticky;
    top: 18px;
}

.ws-shop-template .accordion-item {
    border: 0 !important;
    margin-bottom: 18px;
}

.ws-shop-template .accordion-button {
    padding: 0 0 10px !important;
    background: transparent !important;
    color: #111 !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 950;
}

.ws-shop-template .accordion-button:after {
    content: "\ea4e";
    font-family: "remixicon";
    background: none !important;
    width: auto;
    height: auto;
    font-size: 18px;
}

.ws-shop-template .accordion-body {
    padding: 0 !important;
}

.ws-shop-template .accordion-body input,
.ws-shop-template .accordion-body select,
.ws-checkout-template input,
.ws-checkout-template textarea,
.ws-contact-template input,
.ws-contact-template textarea,
.ws-tracking-template input,
.select2-container .select2-selection--multiple {
    min-height: 48px;
    border: 1px solid #ded8cf !important;
    background: #fff !important;
    padding: 11px 14px !important;
    color: #111;
    box-shadow: none !important;
}

.ws-shop-template .top-banner-wrapper {
    border: 0 !important;
    background: linear-gradient(110deg, rgba(0, 0, 0, .94), rgba(20, 20, 20, .86)), url("template/assets/images/parallax/3.jpg") center/cover !important;
    min-height: 168px;
    display: flex;
    align-items: center;
    margin-bottom: 26px !important;
    box-shadow: var(--ws-shadow);
}

.ws-shop-template .top-banner-content {
    padding: 34px 42px !important;
}

.ws-shop-template .top-banner-content h4 {
    font-size: 26px;
    font-weight: 950;
    color: #fff !important;
    margin-bottom: 12px;
}

.ws-shop-template .top-banner-content h5 {
    color: rgba(255, 255, 255, .82) !important;
    font-size: 16px;
    line-height: 1.6;
}

.ws-shop-template .product-filter-content {
    background: #fff !important;
    border: 1px solid var(--ws-border) !important;
    padding: 18px 22px !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .05);
}

.ws-shop-template .product-filter-content h5 {
    font-size: 20px;
    font-weight: 950;
}

.ws-product-grid {
    gap: 28px !important;
}

.ws-template-product {
    overflow: hidden;
    border: 1px solid var(--ws-border) !important;
    background: #fff;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .08) !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

.ws-template-product:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 75px rgba(0, 0, 0, .12) !important;
}

.ws-template-product .img-wrapper {
    min-height: 260px;
    background: linear-gradient(180deg, #fbfaf6, #fff) !important;
    border: 0 !important;
    display: grid;
    place-items: center;
}

.ws-template-product .img-wrapper img {
    width: 82%;
    height: 230px;
    object-fit: contain;
}

.ws-template-product .lable-block .lable3 {
    background: #050505;
    color: #fff;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 11px;
    font-weight: 950;
}

.ws-template-product .product-detail {
    padding: 20px;
}

.ws-template-product .product-detail h6 {
    min-height: auto;
    color: #101010;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.35;
}

.ws-template-product .product-detail p {
    color: var(--ws-soft-text);
    line-height: 1.45;
}

.ws-template-product .product-detail h4 {
    color: #050505 !important;
    font-size: 19px;
    font-weight: 950;
}

.ws-template-product .cart-info button,
.ws-template-product .cart-info a {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #050505 !important;
    color: #fff !important;
    border: 0;
}

.ws-checkout-template {
    background: transparent;
}

.ws-checkout-template .checkout-detail-box {
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.ws-checkout-template .checkout-detail-box > ul {
    display: block !important;
}

.ws-checkout-template .checkout-box {
    padding: 30px !important;
    margin-bottom: 22px !important;
}

.ws-checkout-template .checkout-title {
    border-bottom: 1px solid var(--ws-border);
    padding-bottom: 16px;
}

.ws-checkout-template .checkout-title h4,
.ws-checkout-template .title-box h4 {
    font-size: 24px;
    color: #050505 !important;
}

.ws-checkout-template label {
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.ws-checkout-template .delivery-address-box {
    min-height: 96px !important;
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 18px !important;
    border: 1px solid var(--ws-border) !important;
    background: #fff !important;
    font-size: 15px !important;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.ws-checkout-template .delivery-address-box:hover,
.ws-checkout-template .delivery-address-box:has(input:checked) {
    border-color: #050505 !important;
    background: linear-gradient(135deg, #fff, rgba(227, 43, 18, .18)) !important;
    transform: translateY(-2px);
}

.ws-checkout-template .form-check-input {
    width: 18px !important;
    height: 18px !important;
    margin: 0 10px 0 0 !important;
}

.ws-checkout-template .order-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: auto !important;
    width: 100%;
    min-height: 58px;
    margin-top: 4px;
    font-size: 17px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .20);
}

.ws-checkout-template .checkout-right-box {
    position: sticky;
    top: 24px;
}

.ws-checkout-template .checkout-details {
    padding: 0 !important;
}

.ws-checkout-template .order-box {
    padding: 34px !important;
}

.ws-checkout-template .title-box {
    border-bottom: 1px solid var(--ws-border);
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.ws-checkout-template .qty li {
    display: grid !important;
    grid-template-columns: 74px 1fr;
    gap: 16px !important;
    align-items: center;
    padding: 16px 0 !important;
}

.ws-checkout-template .cart-image img {
    width: 74px !important;
    height: 74px !important;
    background: #f6f0e5 !important;
}

.ws-checkout-template .cart-content h4 {
    font-size: 16px;
    color: #111;
    font-weight: 850;
}

.ws-checkout-template .sub-total li,
.ws-checkout-template .total li {
    font-size: 16px;
    color: #666;
}

.ws-checkout-template .total {
    padding-top: 18px !important;
}

.ws-checkout-template .total li {
    color: #050505;
    font-size: 23px;
    font-weight: 950;
}

.ws-payment-note {
    border: 1px solid rgba(227, 43, 18, .7);
    background: linear-gradient(135deg, rgba(227, 43, 18, .16), #fff);
    padding: 18px;
}

.ws-about-template .banner-section {
    background: linear-gradient(135deg, #050505, #1b1b1b) !important;
    box-shadow: var(--ws-shadow);
}

.ws-final-band {
    background: linear-gradient(135deg, #050505, #161616) !important;
}

@media (max-width: 991px) {
    .ws-template-search {
        width: calc(100% - 28px);
    }

    .ws-shop-template .collection-filter-block,
    .ws-checkout-template .checkout-right-box {
        position: static;
    }
}

@media (max-width: 767px) {
    .ws-breadcrumb-section .container {
        display: block;
    }

    .ws-logo-image img {
        width: 160px !important;
        height: 50px !important;
    }

    .ws-template-product .img-wrapper {
        min-height: 220px;
    }

    .ws-checkout-template .checkout-box,
    .ws-checkout-template .order-box {
        padding: 22px !important;
    }
}

/* Modern ecommerce restructuring */
.ws-site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(5, 5, 5, .08);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .08);
    backdrop-filter: blur(18px);
}

.ws-header-top {
    background: #050505;
    color: #fff;
}

.ws-header-top-inner,
.ws-header-main,
.ws-header-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.ws-header-top-inner {
    min-height: 38px;
    font-size: 12px;
    font-weight: 800;
}

.ws-header-top p,
.ws-header-top a {
    margin: 0;
    color: rgba(255, 255, 255, .86);
}

.ws-header-top-inner > div {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ws-header-main {
    min-height: 92px;
}

.ws-header-logo img {
    width: 220px !important;
    height: 58px !important;
    background: #050505;
    object-fit: contain;
    padding: 6px 22px !important;
    box-shadow: 0 16px 35px rgba(0, 0, 0, .16);
}

.ws-header-search {
    flex: 1;
    max-width: 620px;
    height: 58px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 0 6px 0 20px;
    background: #fff;
    border: 1px solid var(--ws-border);
    box-shadow: 0 16px 45px rgba(0, 0, 0, .07);
}

.ws-header-search input {
    width: 100%;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 15px;
}

.ws-header-search button,
.ws-footer-form button,
.ws-filter-submit,
.ws-checkout-submit {
    border: 0;
    background: #050505;
    color: #fff;
    min-height: 46px;
    padding: 0 22px;
    font-weight: 950;
}

.ws-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ws-header-actions a,
.ws-nav-trigger {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid var(--ws-border);
    color: #050505;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.ws-header-actions .ws-cart-icon {
    position: relative;
    background: #050505;
    color: #fff;
}

.ws-header-actions .ws-cart-count {
    position: absolute;
    top: -9px;
    right: -9px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ws-cyan);
    color: #050505;
    font-size: 12px;
    font-weight: 950;
}

.ws-header-nav {
    min-height: 58px;
    border-top: 1px solid rgba(0, 0, 0, .06);
}

.ws-nav-trigger {
    width: auto;
    padding: 0 18px;
    grid-auto-flow: column;
    gap: 8px;
    font-weight: 950;
}

.ws-header-nav nav {
    flex: 1;
}

.ws-header-nav .ws-template-menu {
    justify-content: flex-end;
}

.ws-site-footer {
    margin-top: 70px;
    padding: 58px 0 28px;
    background: radial-gradient(circle at 20% 0%, rgba(227, 43, 18, .16), transparent 24%), linear-gradient(135deg, #050505, #141414);
    color: #fff;
}

.ws-footer-newsletter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 28px;
    align-items: center;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .06);
}

.ws-footer-newsletter span,
.ws-footer-grid h3 {
    color: var(--ws-cyan);
    font-weight: 950;
    text-transform: uppercase;
    font-size: 12px;
}

.ws-footer-newsletter h2 {
    max-width: 680px;
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(26px, 3vw, 42px);
}

.ws-footer-form {
    display: grid;
    grid-template-columns: 1fr auto;
    background: #fff;
    padding: 6px;
}

.ws-footer-form input {
    border: 0;
    padding: 0 16px;
}

.ws-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 34px;
    padding: 48px 0;
}

.ws-footer-grid a,
.ws-footer-grid p,
.ws-footer-bottom p {
    display: block;
    color: rgba(255, 255, 255, .72);
}

.ws-footer-brand img {
    width: 220px !important;
    height: 62px !important;
    background: #000;
    object-fit: contain;
    margin-bottom: 18px;
}

.ws-footer-social,
.ws-footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.ws-footer-social a,
.ws-footer-badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .06);
    color: #fff;
}

.ws-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.ws-modern-shop {
    padding-top: 10px;
}

.ws-shop-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: end;
    min-height: 220px;
    padding: 38px;
    margin-bottom: 30px;
    color: #fff;
    background: linear-gradient(110deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .72)), url("template/assets/images/parallax/3.jpg") center/cover;
    box-shadow: var(--ws-shadow);
}

.ws-shop-hero h2,
.ws-checkout-intro h2 {
    margin: 8px 0 12px;
    color: inherit;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1;
}

.ws-shop-hero p,
.ws-checkout-intro p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
}

.ws-shop-hero-stats {
    display: grid;
    place-items: center;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .08);
}

.ws-shop-hero-stats span {
    color: var(--ws-cyan);
    font-size: 46px;
    font-weight: 950;
    line-height: 1;
}

.ws-shop-layout {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 30px;
}

.ws-shop-filters,
.ws-results-bar,
.ws-checkout-card,
.ws-order-summary {
    border: 1px solid var(--ws-border);
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--ws-shadow);
}

.ws-shop-filters {
    align-self: start;
    position: sticky;
    top: 154px;
    padding: 24px;
}

.ws-filter-heading {
    margin-bottom: 22px;
}

.ws-filter-heading span,
.ws-results-bar span,
.ws-summary-head span {
    color: #666;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.ws-filter-heading strong {
    display: block;
    margin-top: 4px;
    color: #050505;
    font-size: 22px;
    font-weight: 950;
}

.ws-field {
    display: block;
    margin-bottom: 18px;
}

.ws-field > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #111;
    font-size: 13px;
    font-weight: 950;
}

.ws-field input,
.ws-field textarea,
.ws-field select,
.select2-container .select2-selection--multiple {
    width: 100%;
    min-height: 52px;
    border: 1px solid #ded8cf !important;
    background: #fff !important;
    padding: 13px 14px !important;
    color: #111;
}

.ws-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 18px;
    color: #111;
    font-weight: 850;
}

.ws-switch input {
    position: absolute;
    opacity: 0;
}

.ws-switch span {
    width: 46px;
    height: 26px;
    border-radius: 999px;
    background: #dfd8cf;
    position: relative;
}

.ws-switch span:before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform .2s ease;
}

.ws-switch input:checked + span {
    background: #050505;
}

.ws-switch input:checked + span:before {
    transform: translateX(20px);
}

.ws-filter-submit,
.ws-checkout-submit {
    width: 100%;
    min-height: 56px;
}

.ws-checkout-submit {
    height: 56px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.ws-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px;
    margin-bottom: 28px;
}

.ws-results-bar h3 {
    margin: 4px 0 0;
    color: #050505;
    font-size: 24px;
    font-weight: 950;
}

.ws-results-actions {
    display: flex;
    gap: 10px;
}

.ws-results-actions a,
.ws-summary-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--ws-border);
    background: #fff;
    color: #050505;
    font-weight: 900;
}

.ws-modern-checkout {
    padding-top: 8px;
}

.ws-checkout-intro {
    padding: 38px;
    margin-bottom: 30px;
    color: #fff;
    background: radial-gradient(circle at 90% 20%, rgba(227, 43, 18, .18), transparent 28%), linear-gradient(135deg, #050505, #171717);
    box-shadow: var(--ws-shadow);
}

.ws-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    gap: 30px;
}

.ws-checkout-panel {
    display: flex !important;
    flex-direction: column;
    gap: 22px;
}

.ws-checkout-card {
    padding: 28px;
}

.ws-card-title {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--ws-border);
}

.ws-card-title > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    background: #050505;
    color: #fffFFF;
    font-weight: 950;
}

.ws-card-title h3,
.ws-summary-head h3 {
    margin: 0;
    color: #050505;
    font-size: 25px;
    font-weight: 950;
}

.ws-card-title p {
    margin: 5px 0 0;
    color: #747474;
}

.ws-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ws-field-wide {
    grid-column: 1 / -1;
}

.ws-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ws-payment-option {
    display: grid !important;
    grid-template-columns: auto 42px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 84px;
    padding: 16px;
    border: 1px solid var(--ws-border);
    background: #fff;
    cursor: pointer;
}

.ws-payment-option > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    background: #f6f0e5;
    color: #050505;
}

.ws-payment-option:has(input:checked) {
    border-color: #050505;
    background: linear-gradient(135deg, #fff, rgba(227, 43, 18, .18));
}

.ws-order-summary {
    align-self: start;
    position: sticky;
    top: 154px;
    padding: 28px;
}

.ws-summary-head {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--ws-border);
}

.ws-summary-items article {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid var(--ws-border);
}

.ws-summary-items img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    background: #f6f0e5;
}

.ws-summary-items h4 {
    margin: 0;
    color: #111;
    font-size: 15px;
    font-weight: 950;
}

.ws-summary-items p {
    margin: 4px 0 0;
    color: #747474;
}

.ws-summary-totals {
    padding: 18px 0;
}

.ws-summary-totals p {
    display: flex;
    justify-content: space-between;
    margin: 0 0 12px;
    color: #656565;
    font-weight: 850;
}

.ws-summary-totals .ws-total {
    padding-top: 16px;
    border-top: 1px solid var(--ws-border);
    color: #050505;
    font-size: 24px;
    font-weight: 950;
}

@media (max-width: 1100px) {
    .ws-header-main,
    .ws-header-nav {
        flex-wrap: wrap;
    }

    .ws-header-search {
        order: 3;
        flex-basis: 100%;
        max-width: none;
    }

    .ws-shop-layout,
    .ws-checkout-layout,
    .ws-footer-grid,
    .ws-footer-newsletter {
        grid-template-columns: 1fr;
    }

    .ws-shop-filters,
    .ws-order-summary {
        position: static;
    }
}

@media (max-width: 640px) {
    .ws-header-top-inner,
    .ws-footer-bottom,
    .ws-results-bar,
    .ws-shop-hero {
        display: block;
    }

    .ws-header-top-inner > div,
    .ws-results-actions {
        margin-top: 10px;
        flex-wrap: wrap;
    }

    .ws-form-grid,
    .ws-payment-grid,
    .ws-summary-items article {
        grid-template-columns: 1fr;
    }

    .ws-shop-hero,
    .ws-checkout-intro,
    .ws-checkout-card,
    .ws-order-summary,
    .ws-footer-newsletter {
        padding: 22px;
    }
}

/* Font Awesome icon system + typography finish */
:root {
    --ws-display-font: "Segoe UI Black", "Arial Black", "Montserrat", sans-serif;
    --ws-body-font: "Segoe UI", "Montserrat", Arial, sans-serif;
}

body.ws-body {
    font-family: var(--ws-body-font) !important;
    font-weight: 500;
}

body.ws-body h1,
body.ws-body h2,
body.ws-body h3,
.ws-shop-hero h2,
.ws-checkout-intro h2,
.ws-breadcrumb-section h2,
.ws-filter-heading strong,
.ws-results-bar h3,
.ws-card-title h3,
.ws-summary-head h3 {
    font-family: var(--ws-display-font) !important;
    letter-spacing: -.01em !important;
}

[class^="ri-"],
[class*=" ri-"] {
    display: inline-block !important;
    font-family: FontAwesome !important;
    font-style: normal !important;
    font-weight: normal !important;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[class^="ri-"]:before,
[class*=" ri-"]:before {
    font-family: FontAwesome !important;
    font-weight: normal !important;
    font-style: normal !important;
}

.ri-search-line:before { content: "\f002" !important; }
.ri-shield-check-line:before { content: "\f132" !important; }
.ri-price-tag-3-line:before { content: "\f02c" !important; }
.ri-route-line:before,
.ri-map-pin-line:before { content: "\f041" !important; }
.ri-whatsapp-line:before { content: "\f232" !important; }
.ri-equalizer-2-line:before,
.ri-filter-3-line:before { content: "\f1de" !important; }
.ri-customer-service-2-line:before { content: "\f095" !important; }
.ri-shopping-cart-line:before { content: "\f07a" !important; }
.ri-menu-2-line:before,
.ri-bar-chart-horizontal-line:before { content: "\f0c9" !important; }
.ri-mail-send-line:before,
.ri-mail-line:before { content: "\f0e0" !important; }
.ri-facebook-fill:before { content: "\f09a" !important; }
.ri-instagram-line:before { content: "\f16d" !important; }
.ri-bank-card-line:before { content: "\f09d" !important; }
.ri-file-list-3-line:before { content: "\f022" !important; }
.ri-goblet-line:before { content: "\f000" !important; }
.ri-close-line:before { content: "\f00d" !important; }
.ri-refresh-line:before { content: "\f021" !important; }
.ri-printer-line:before { content: "\f02f" !important; }
.ri-secure-payment-line:before { content: "\f023" !important; }
.ri-truck-line:before { content: "\f0d1" !important; }
.ri-phone-line:before,
.ri-phone-fill:before { content: "\f095" !important; }
.ri-eye-line:before { content: "\f06e" !important; }
.ri-star-fill:before { content: "\f005" !important; }
.ri-star-half-fill:before { content: "\f123" !important; }
.ri-shopping-bag-3-line:before { content: "\f290" !important; }
.ri-heart-line:before { content: "\f08a" !important; }
.ri-arrow-left-s-line:before { content: "\f104" !important; }
.ri-grid-line:before { content: "\f00a" !important; }
.ri-list-check-line:before,
.ri-list-check:before { content: "\f00b" !important; }

.ws-kicker,
.ws-filter-heading span,
.ws-results-bar span,
.ws-summary-head span,
.ws-footer-newsletter span,
.ws-footer-grid h3 {
    letter-spacing: .08em !important;
}

.ws-site-header i,
.ws-shop-template i,
.ws-modern-checkout i,
.ws-site-footer i,
.ws-template-product i {
    line-height: 1;
}

.ws-header-top i,
.ws-header-search i,
.ws-field > span i,
.ws-results-actions i,
.ws-payment-option i,
.ws-summary-link i,
.ws-footer-badges i {
    color: var(--ws-cyan);
}

.ws-header-search i {
    font-size: 16px;
}

.ws-header-actions a i,
.ws-nav-trigger i {
    font-size: 17px;
}

.ws-template-product .rating i {
    color: #d6a13b;
    font-size: 13px;
    margin-right: 3px;
}

.ws-template-product .cart-info i {
    color: #fff;
    font-size: 16px;
}

.ws-shop-filters .ws-filters {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.ws-shop-filters .ws-field {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

.ws-shop-filters .ws-field input,
.ws-shop-filters .ws-field select,
.ws-shop-filters .select2-container {
    width: 100% !important;
}

.ws-shop-filters .select2-container .select2-selection--multiple {
    min-height: 52px !important;
    padding: 8px 10px !important;
    overflow: hidden;
}

.ws-shop-filters .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
}

.ws-shop-filters .select2-search__field {
    width: 100% !important;
    margin: 0 !important;
}

.ws-filter-heading strong,
.ws-results-bar h3 {
    font-size: clamp(22px, 2vw, 30px);
}

.ws-field > span {
    font-size: 12px;
    text-transform: uppercase;
}

.ws-field input,
.ws-field textarea,
.ws-field select {
    font-weight: 700;
}

.ws-shop-hero h2,
.ws-checkout-intro h2 {
    font-size: clamp(42px, 5vw, 74px);
    max-width: 900px;
}

.ws-header-top-inner {
    font-family: var(--ws-body-font);
}

.ws-template-menu > li > a,
.ws-nav-trigger,
.ws-header-search button,
.ws-filter-submit,
.ws-checkout-submit {
    font-family: var(--ws-display-font) !important;
}

@media (max-width: 640px) {
    .ws-shop-hero h2,
    .ws-checkout-intro h2 {
        font-size: 38px;
    }

    .ws-header-actions a,
    .ws-nav-trigger {
        width: 42px;
        height: 42px;
    }

    .ws-nav-trigger {
        width: auto;
    }
}

/* Journal-style header + strict black/white/red palette */
:root {
    --ws-wine: #000;
    --ws-wine-dark: #000;
    --ws-gold: #e32b12;
    --ws-cyan: #e32b12;
    --ws-red: #e32b12;
    --ws-ink: #080808;
    --ws-muted: #606060;
    --ws-line: #dedede;
    --ws-bg: #f7f7f7;
    --ws-card: #fff;
    --ws-border: #dedede;
    --ws-body-font: "Roboto", Arial, Helvetica, sans-serif;
    --ws-display-font: "Roboto", Arial, Helvetica, sans-serif;
}

body.ws-body,
body.ws-body button,
body.ws-body input,
body.ws-body select,
body.ws-body textarea {
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

body.ws-body {
    background: #f7f7f7 !important;
    color: #080808 !important;
}

.ws-site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff !important;
    border-bottom: 0;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .06);
    backdrop-filter: none;
}

.ws-header-top {
    background: #fff !important;
    color: #565656 !important;
    border-bottom: 1px solid #dedede;
}

.ws-header-top-inner {
    min-height: 36px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
}

.ws-header-top p {
    display: none;
}

.ws-header-top-inner,
.ws-top-left,
.ws-top-right {
    display: flex;
    align-items: center;
}

.ws-top-left,
.ws-top-right,
.ws-header-top-inner > div {
    gap: 18px;
}

.ws-header-top a,
.ws-header-top span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
    color: #565656 !important;
    line-height: 1;
}

.ws-header-top a:hover,
.ws-header-top span:hover {
    color: #e32b12 !important;
}

.ws-header-top i {
    color: #565656 !important;
    font-size: 13px;
}

.ws-header-main {
    min-height: 100px;
    display: grid;
    grid-template-columns: minmax(280px, 420px) 1fr minmax(260px, 420px);
    align-items: center;
    gap: 34px;
    padding: 18px 0;
}

.ws-header-logo {
    justify-self: center;
}

.ws-header-logo img {
    width: 220px !important;
    height: 58px !important;
    object-fit: contain;
    background: #000 !important;
    padding: 7px 28px !important;
    box-shadow: none !important;
}

.ws-header-search {
    justify-self: start;
    width: 100%;
    max-width: 430px;
    height: 46px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 0 5px 0 16px;
    background: #fff !important;
    border: 1px solid #080808 !important;
    border-radius: 999px;
    box-shadow: none !important;
}

.ws-search-scope {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-right: 8px;
    border-right: 1px solid #dedede;
    color: #080808;
    font-size: 13px;
    font-weight: 500;
}

.ws-search-scope:after {
    content: "\f107";
    font-family: FontAwesome;
    color: #606060;
    font-size: 11px;
}

.ws-header-search input {
    min-width: 0;
    height: 40px;
    border: 0 !important;
    background: transparent !important;
    color: #080808 !important;
    font-size: 13px;
    font-weight: 400;
    outline: 0;
}

.ws-header-search input::placeholder {
    color: #747474;
}

.ws-header-search button {
    position: relative;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #000 !important;
    color: #fff !important;
    padding: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .01em;
}

.ws-header-search button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ws-header-search button i {
    color: #fff !important;
    font-size: 14px;
}

.ws-header-search button:hover {
    background: #e32b12 !important;
}

.ws-header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.ws-header-actions a {
    position: relative;
    width: auto !important;
    height: auto !important;
    min-width: 44px;
    display: inline-grid;
    place-items: center;
    gap: 4px;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #080808 !important;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.1;
}

.ws-header-actions a i {
    color: #080808 !important;
    font-size: 25px !important;
}

.ws-header-actions a span {
    display: block;
}

.ws-header-actions a:hover,
.ws-header-actions a:hover i {
    color: #e32b12 !important;
}

.ws-header-actions .ws-cart-icon {
    min-width: 156px;
    min-height: 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 12px;
    justify-content: stretch;
    padding: 0 18px !important;
    border: 1px solid #080808 !important;
    border-radius: 999px;
    color: #080808 !important;
}

.ws-header-actions .ws-cart-icon i {
    grid-column: 2;
    grid-row: 1;
    font-size: 23px !important;
}

.ws-header-actions .ws-cart-icon .ws-cart-label {
    grid-column: 1;
    position: static !important;
    top: auto !important;
    right: auto !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #080808;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.ws-header-actions .ws-cart-count {
    position: absolute !important;
    top: -7px;
    right: 8px;
    display: grid !important;
    width: 22px;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 !important;
    border-radius: 50%;
    background: #e32b12 !important;
    color: #fff !important;
    border: 2px solid #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.ws-header-nav-wrap {
    background: #e32b12;
}

.ws-header-nav {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 0 !important;
    gap: 28px;
}

.ws-nav-trigger {
    height: 46px !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 0 22px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
    text-transform: none;
}

.ws-nav-trigger i {
    color: #fff !important;
    font-size: 15px !important;
}

.ws-header-nav nav {
    flex: initial;
}

.ws-header-nav .ws-template-menu {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    gap: 0;
    margin: 0;
}

.ws-header-nav .ws-template-menu > li {
    display: block;
}

.ws-template-menu > li > a,
.ws-header-nav .ws-template-menu > li > a {
    display: inline-flex !important;
    align-items: center;
    min-height: 46px;
    padding: 0 20px !important;
    color: #fff !important;
    background: transparent !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ws-template-menu > li > a:hover,
.ws-header-nav .ws-template-menu > li.current-menu-item > a {
    background: #000 !important;
    color: #fff !important;
}

.ws-breadcrumb-section {
    background: #fff !important;
    border-top: 1px solid #dedede;
}

.ws-kicker,
.ws-filter-heading span,
.ws-results-bar span,
.ws-summary-head span,
.ws-footer-newsletter span,
.ws-footer-grid h3 {
    color: #e32b12 !important;
}

.ws-btn-primary,
.ws-filter-submit,
.ws-checkout-submit,
.ws-template-product .add-button,
.ws-header-search button,
.ws-footer-form button {
    background: #000 !important;
    color: #fff !important;
}

.ws-btn-primary:hover,
.ws-filter-submit:hover,
.ws-checkout-submit:hover,
.ws-template-product .add-button:hover,
.ws-footer-form button:hover {
    background: #e32b12 !important;
    color: #fff !important;
}

@media (max-width: 1199px) {
    .ws-header-main {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 18px 0 20px;
    }

    .ws-header-search,
    .ws-header-logo,
    .ws-header-actions {
        justify-self: center;
    }

    .ws-header-search {
        max-width: 640px;
        order: 2;
    }

    .ws-header-logo {
        order: 1;
    }

    .ws-header-actions {
        order: 3;
    }
}

@media (max-width: 767px) {
    .ws-header-top-inner {
        justify-content: center;
    }

    .ws-top-left {
        display: none;
    }

    .ws-top-right {
        gap: 12px;
        font-size: 12px;
    }

    .ws-header-logo img {
        width: 190px !important;
        height: 52px !important;
    }

    .ws-header-search {
        grid-template-columns: auto 1fr auto;
        max-width: 100%;
        border-radius: 20px;
    }

    .ws-search-scope {
        display: none;
    }

    .ws-header-actions {
        width: 100%;
        gap: 14px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .ws-header-actions .ws-cart-icon {
        min-width: 142px;
    }

    .ws-header-nav {
        overflow-x: auto;
        justify-content: flex-start;
        gap: 6px;
        scrollbar-width: none;
    }

    .ws-header-nav::-webkit-scrollbar {
        display: none;
    }

    .ws-template-menu > li > a,
    .ws-header-nav .ws-template-menu > li > a,
    .ws-nav-trigger {
        white-space: nowrap;
        padding: 0 14px !important;
        font-size: 13px !important;
    }
}

/* Administrable premium home slider */
.ws-premium-slider,
.ws-premium-slider .slick-list,
.ws-premium-slider .slick-track {
    min-height: clamp(560px, 74vh, 760px);
}

.ws-premium-slider {
    position: relative;
    overflow: hidden;
    background: #000;
}

.ws-premium-slide {
    position: relative;
    min-height: clamp(560px, 74vh, 760px);
    display: flex !important;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .9) 48%, rgba(227, 43, 18, .34) 72%, rgba(0, 0, 0, .96) 100%),
        #000 !important;
}

.ws-premium-slide:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 72px 72px;
}

.ws-premium-slide:after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: 15%;
    top: 22%;
    border: 1px solid rgba(227, 43, 18, .55);
    transform: rotate(12deg);
}

.ws-slide-white_black {
    background:
        linear-gradient(90deg, #fff 0%, #fff 48%, rgba(227, 43, 18, .16) 70%, #000 100%),
        #fff !important;
}

.ws-slide-white_black .ws-premium-copy h1,
.ws-slide-white_black .ws-premium-copy p,
.ws-slide-white_black .ws-slide-metrics span {
    color: #000 !important;
}

.ws-slide-red_focus {
    background:
        linear-gradient(110deg, #000 0%, #180000 44%, #e32b12 100%),
        #000 !important;
}

.ws-premium-slide .container {
    position: relative;
    z-index: 2;
}

.ws-premium-slide-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    align-items: center;
    gap: clamp(34px, 7vw, 110px);
}

.ws-premium-copy {
    max-width: 760px;
}

.ws-slide-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    padding: 9px 14px;
    background: #e32b12;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ws-slide-badge:before {
    content: "\f02c";
    font-family: FontAwesome;
}

.ws-premium-copy h4 {
    margin: 0 0 10px;
    color: #e32b12 !important;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ws-premium-copy h1 {
    max-width: 720px;
    margin: 0;
    color: #fff !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: clamp(52px, 6vw, 98px) !important;
    font-weight: 900 !important;
    line-height: .92 !important;
    letter-spacing: 0 !important;
}

.ws-premium-copy p {
    max-width: 620px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .76) !important;
    font-size: clamp(16px, 1.4vw, 21px);
    font-weight: 500;
    line-height: 1.55;
}

.ws-slide-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.ws-slide-actions .btn {
    min-width: 168px;
    min-height: 52px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 900;
    text-transform: none;
    letter-spacing: 0;
}

.ws-slide-actions .btn-solid {
    background: #e32b12 !important;
    border-color: #e32b12 !important;
    color: #fff !important;
}

.ws-slide-actions .btn-solid:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

.ws-slide-actions .btn-outline {
    background: transparent !important;
    border: 1px solid #fff !important;
    color: #fff !important;
}

.ws-slide-actions .btn-outline:hover {
    background: #fff !important;
    color: #000 !important;
}

.ws-slide-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 28px;
}

.ws-slide-metrics span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 800;
}

.ws-slide-metrics i {
    color: #e32b12 !important;
}

.ws-premium-art {
    position: relative;
    justify-self: end;
    width: min(100%, 520px);
}

.ws-slide-image-frame {
    position: relative;
    min-height: 390px;
    display: grid;
    place-items: center;
    padding: clamp(26px, 4vw, 48px);
    background: #fff;
    border: 18px solid rgba(255, 255, 255, .12);
    outline: 1px solid rgba(255, 255, 255, .22);
    box-shadow: 0 34px 80px rgba(0, 0, 0, .42);
}

.ws-slide-image-frame:before {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(0, 0, 0, .12);
}

.ws-slide-image-frame img {
    position: relative;
    z-index: 2;
    width: min(100%, 360px);
    max-height: 390px;
    object-fit: contain;
    filter: drop-shadow(0 22px 22px rgba(0, 0, 0, .22));
}

.ws-slide-discount {
    position: absolute;
    z-index: 4;
    top: -24px;
    right: -22px;
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e32b12;
    color: #fff;
    border: 8px solid #000;
    font-size: 22px;
    font-weight: 900;
    box-shadow: 0 20px 46px rgba(0, 0, 0, .38);
}

.ws-slider-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 58px;
    height: 58px;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #000;
    transform: translateY(-50%);
    transition: .2s ease;
}

.ws-slider-arrow:hover {
    background: #e32b12;
    color: #fff;
    border-color: #e32b12;
}

.ws-slider-arrow:before {
    display: none !important;
}

.ws-slider-arrow i {
    color: currentColor !important;
    font-size: 25px;
}

.ws-premium-slider .slick-prev {
    left: 34px;
}

.ws-premium-slider .slick-next {
    right: 34px;
}

.ws-premium-slider .slick-next i {
    transform: rotate(180deg);
}

.ws-premium-slider .slick-dots {
    bottom: 28px;
}

.ws-premium-slider .slick-dots li {
    width: auto;
    height: auto;
    margin: 0 5px;
}

.ws-premium-slider .slick-dots li button {
    width: 34px;
    height: 4px;
    padding: 0;
    background: rgba(255, 255, 255, .35);
}

.ws-premium-slider .slick-dots li button:before {
    display: none;
}

.ws-premium-slider .slick-dots li.slick-active button {
    background: #e32b12;
}

@media (max-width: 1199px) {
    .ws-premium-slide-grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 70px 0 86px;
    }

    .ws-premium-art {
        justify-self: start;
        width: min(100%, 420px);
    }

    .ws-slide-image-frame {
        min-height: 310px;
    }
}

@media (max-width: 767px) {
    .ws-premium-slider,
    .ws-premium-slider .slick-list,
    .ws-premium-slider .slick-track,
    .ws-premium-slide {
        min-height: auto;
    }

    .ws-premium-slide-grid {
        padding: 54px 0 82px;
    }

    .ws-premium-copy h1 {
        font-size: 44px !important;
    }

    .ws-slide-actions .btn {
        width: 100%;
    }

    .ws-slider-arrow {
        width: 44px;
        height: 44px;
        top: auto;
        bottom: 22px;
        transform: none;
    }

    .ws-premium-slider .slick-prev {
        left: 20px;
    }

    .ws-premium-slider .slick-next {
        right: 20px;
    }

    .ws-slide-discount {
        right: 8px;
    }
}

/* Premium promo cards below hero */
.ws-promo-strip {
    position: relative;
    z-index: 2;
    padding: 42px 0 54px !important;
    background: #f7f7f7 !important;
}

.ws-promo-strip .container {
    max-width: 1440px;
}

.ws-promo-strip .row {
    row-gap: 22px;
}

.ws-promo-card {
    position: relative;
    min-height: 238px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 45%;
    align-items: stretch;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(135deg, #000 0%, #141414 58%, #e32b12 58.2%, #e32b12 100%) !important;
    border: 1px solid rgba(0, 0, 0, .16);
    box-shadow: 0 24px 48px rgba(0, 0, 0, .12);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ws-promo-card:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
    background-size: 36px 36px;
    opacity: .65;
}

.ws-promo-card:after {
    content: "";
    position: absolute;
    right: 26%;
    top: -40px;
    width: 120px;
    height: 120px;
    border: 1px solid rgba(255, 255, 255, .18);
    transform: rotate(18deg);
}

.ws-promo-card:hover {
    transform: translateY(-8px);
    border-color: #e32b12;
    box-shadow: 0 34px 64px rgba(0, 0, 0, .2);
}

.ws-promo-number {
    position: absolute;
    top: 16px;
    right: 18px;
    z-index: 4;
    color: rgba(255, 255, 255, .5);
    font-size: 13px;
    font-weight: 900;
}

.ws-promo-card .ws-promo-content {
    min-height: 238px !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center;
    padding: 28px 12px 28px 26px !important;
}

.ws-promo-eyebrow {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 7px 10px;
    background: #e32b12;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ws-promo-card h2 {
    margin: 0 !important;
    color: #fff !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: clamp(28px, 2.2vw, 38px) !important;
    font-weight: 900 !important;
    line-height: .95 !important;
    text-transform: uppercase;
}

.ws-promo-card h6 {
    margin: 10px 0 0 !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

.ws-promo-card p {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
    font-weight: 600;
}

.ws-promo-card strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ws-promo-card strong i {
    color: #fff !important;
    transform: rotate(180deg);
    transition: transform .22s ease;
}

.ws-promo-card:hover strong i {
    transform: rotate(180deg) translateX(-5px);
}

.ws-promo-figure {
    position: relative;
    min-height: 238px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 12px;
}

.ws-promo-figure:before {
    content: "";
    position: absolute;
    width: 158px;
    height: 158px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .82);
}

.ws-promo-figure img,
.ws-collection-banner .ws-promo-figure img {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: min(100%, 168px) !important;
    max-height: 176px !important;
    object-fit: contain;
    filter: drop-shadow(0 16px 16px rgba(0, 0, 0, .25));
    transition: transform .22s ease;
}

.ws-promo-card:hover .ws-promo-figure img {
    transform: scale(1.07) rotate(-2deg);
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card {
    background:
        linear-gradient(135deg, #fff 0%, #fff 58%, #000 58.2%, #000 100%) !important;
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card:before {
    background-image:
        linear-gradient(rgba(0, 0, 0, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .055) 1px, transparent 1px);
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card h2 {
    color: #000 !important;
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card h6,
.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card p {
    color: #606060 !important;
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card strong {
    color: #000;
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-card strong i {
    color: #000 !important;
}

.ws-promo-strip .col-lg-3:nth-child(even) .ws-promo-figure:before {
    background: rgba(227, 43, 18, .12);
}

@media (max-width: 1199px) {
    .ws-promo-card {
        grid-template-columns: 1fr 38%;
    }
}

@media (max-width: 575px) {
    .ws-promo-card {
        grid-template-columns: 1fr;
    }

    .ws-promo-figure {
        min-height: 180px;
        padding-top: 0;
    }
}

/* Header logo must render the uploaded PNG without an artificial box */
.ws-logo-image img {
    width: 260px;
    max-height: 105px;
    object-fit: contain;
    background: #000;
    padding: 0;
}

/* Catalog filters: cleaner premium control bar */
.ws-filter-band .ws-catalog-filters {
    position: relative;
    grid-template-columns: minmax(210px, 1.25fr) minmax(220px, 1.2fr) minmax(220px, 1.2fr) minmax(145px, .72fr) minmax(150px, .68fr) minmax(150px, .68fr) !important;
    gap: 16px 18px !important;
    align-items: end !important;
    max-width: 1260px;
    margin: 0 auto 42px !important;
    padding: 18px 20px 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .78)),
        linear-gradient(135deg, rgba(227, 43, 18, .10), transparent 34%),
        #fff !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .08) !important;
}

.ws-filter-band .ws-catalog-filters::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #e92812;
}

.ws-filter-band .ws-catalog-filters label {
    min-width: 0;
    color: #000;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .04em;
}

.ws-filter-band .ws-catalog-filters .ws-filter-search,
.ws-filter-band .ws-catalog-filters .ws-filter-cats,
.ws-filter-band .ws-catalog-filters .ws-filter-brands,
.ws-filter-band .ws-catalog-filters .ws-filter-price,
.ws-filter-band .ws-catalog-filters .ws-filter-offer,
.ws-filter-band .ws-catalog-filters .ws-filter-action {
    grid-column: auto !important;
}

.ws-filter-band .ws-catalog-filters input:not([type="checkbox"]),
.ws-filter-band .ws-catalog-filters select,
.ws-filter-band .ws-catalog-filters .select2-container .select2-selection--multiple,
.ws-filter-band .ws-catalog-filters .select2-container .select2-selection--single,
.ws-filter-band .ws-catalog-filters .select2-container-multi .select2-choices {
    min-height: 50px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f7f7f7 !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .10) !important;
    transition: box-shadow .2s ease, background .2s ease, transform .2s ease;
}

.ws-filter-band .ws-catalog-filters input:not([type="checkbox"]):focus,
.ws-filter-band .ws-catalog-filters .select2-container-active .select2-choices,
.ws-filter-band .ws-catalog-filters .select2-container--focus .select2-selection,
.ws-filter-band .ws-catalog-filters .select2-container--open .select2-selection {
    background: #fff !important;
    box-shadow: inset 0 0 0 2px #000, 0 10px 22px rgba(0, 0, 0, .08) !important;
}

.ws-filter-band .ws-catalog-filters .ws-filter-offer {
    min-height: 50px;
    justify-content: flex-start;
    gap: 11px !important;
    padding: 14px 12px 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left;
    white-space: nowrap;
}

.ws-filter-band .ws-catalog-filters .ws-filter-offer input {
    position: relative;
    width: 42px !important;
    min-width: 42px !important;
    height: 24px !important;
    min-height: 24px !important;
    appearance: none;
    -webkit-appearance: none;
    border: 0 !important;
    border-radius: 999px;
    background: #dedede;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
    transition: background .2s ease;
}

.ws-filter-band .ws-catalog-filters .ws-filter-offer input::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .20);
    transition: transform .2s ease;
}

.ws-filter-band .ws-catalog-filters .ws-filter-offer input:checked {
    background: #e92812;
}

.ws-filter-band .ws-catalog-filters .ws-filter-offer input:checked::after {
    transform: translateX(18px);
}

.ws-filter-band .ws-catalog-filters .ws-filter-action {
    min-height: 50px;
    margin: 0 !important;
    border: 0 !important;
    background: #000 !important;
    box-shadow: 0 16px 28px rgba(0, 0, 0, .16);
}

.ws-filter-band .ws-catalog-filters .ws-filter-action:hover {
    background: #e92812 !important;
    box-shadow: 0 18px 32px rgba(233, 40, 18, .26);
    transform: translateY(-2px);
}

.ws-header-logo img,
.ws-logo-image img {
    width: auto !important;
    max-width: 259px !important;
    height: 105px !important;
    object-fit: contain !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .ws-header-logo img,
    .ws-logo-image img {
        max-width: 259px !important;
        height: 105px !important;
    }
}

/* Home catalog: symmetric filters and stronger product cards */
.ws-filter-band {
    position: relative;
    overflow: hidden;
    padding: 74px 0 82px !important;
    background:
        linear-gradient(180deg, #fff 0%, #f4f4f4 100%) !important;
}

.ws-filter-band:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(0, 0, 0, .03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .03) 1px, transparent 1px);
    background-size: 72px 72px;
}

.ws-filter-band .container {
    position: relative;
    z-index: 1;
    max-width: 1320px;
}

.ws-filter-band .ws-section-head {
    max-width: 760px;
    margin: 0 auto 28px !important;
    text-align: center;
}

.ws-filter-band .ws-section-head .ws-kicker {
    display: inline-flex;
    padding: 8px 12px;
    background: #e32b12;
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em !important;
}

.ws-filter-band .ws-section-head h2 {
    margin: 14px 0 0 !important;
    color: #000 !important;
    font-size: clamp(38px, 4vw, 66px) !important;
    font-weight: 900 !important;
    line-height: .95 !important;
    text-transform: uppercase;
}

.ws-filter-band .ws-section-head p {
    max-width: 620px;
    margin: 12px auto 0 !important;
    color: #5d5d5d !important;
    font-size: 16px;
    font-weight: 500;
}

.ws-catalog-filters {
    display: grid !important;
    grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: end !important;
    margin: 0 auto 34px !important;
    padding: 18px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(135deg, rgba(227, 43, 18, .035), transparent 38%),
        #fff !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .07);
}

.ws-catalog-filters label {
    gap: 9px !important;
    color: #000;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1;
    text-transform: uppercase;
}

.ws-catalog-filters .ws-filter-search,
.ws-catalog-filters .ws-filter-cats,
.ws-catalog-filters .ws-filter-brands {
    grid-column: span 3;
}

.ws-catalog-filters .ws-filter-price {
    grid-column: span 2;
}

.ws-catalog-filters .ws-filter-offer {
    grid-column: span 1;
}

.ws-catalog-filters .ws-filter-action {
    grid-column: span 2;
}

.ws-catalog-filters input:not([type="checkbox"]),
.ws-catalog-filters select,
.ws-catalog-filters .select2-container .select2-selection--multiple,
.ws-catalog-filters .select2-container .select2-selection--single {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #000 !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.ws-catalog-filters input:focus,
.ws-catalog-filters .select2-container--focus .select2-selection,
.ws-catalog-filters .select2-container--open .select2-selection {
    border-color: #000 !important;
    outline: 0 !important;
}

.ws-catalog-filters .select2-container {
    width: 100% !important;
}

.ws-catalog-filters .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 5px;
    padding: 0 !important;
    overflow: hidden;
}

.ws-catalog-filters .select2-container--default .select2-search--inline .select2-search__field {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    font-weight: 700;
    box-shadow: none !important;
    outline: 0 !important;
}

.ws-catalog-filters .select2-container-multi .select2-choices {
    min-height: 48px !important;
    display: flex !important;
    align-items: center;
    gap: 5px;
    overflow: hidden;
    border: 1px solid #d8d8d8 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 0 14px !important;
    box-shadow: none !important;
}

.ws-catalog-filters .select2-container-active .select2-choices {
    border-color: #000 !important;
    box-shadow: inset 0 -2px 0 #e32b12 !important;
}

.ws-catalog-filters .select2-container-multi .select2-choices .select2-search-field {
    flex: 1 1 auto;
    min-width: 0;
}

.ws-catalog-filters .select2-container-multi .select2-choices .select2-search-field input,
.ws-catalog-filters .select2-input {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    color: #000 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.select2-drop {
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 0 22px 45px rgba(0, 0, 0, .18) !important;
}

.select2-results {
    margin: 0 !important;
    padding: 6px !important;
}

.select2-results .select2-result-label {
    padding: 10px 12px !important;
    color: #000;
    font-weight: 700;
}

.select2-results .select2-highlighted {
    background: #e32b12 !important;
    color: #fff !important;
}

.ws-catalog-filters .select2-selection__choice {
    border: 0 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: #fff !important;
    padding: 5px 8px !important;
    font-size: 12px;
}

.ws-catalog-filters .ws-filter-offer {
    min-height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px !important;
    padding: 0 10px;
    border: 1px solid #d8d8d8;
    background: #fff;
    text-align: center;
}

.ws-catalog-filters .ws-filter-offer input {
    width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    accent-color: #e32b12;
}

.ws-catalog-filters .ws-filter-action {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-radius: 0 !important;
    background: #000 !important;
    border: 1px solid #000 !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 900;
    align-self: end;
    margin: 0 0 8px !important;
}

.ws-catalog-filters .ws-filter-action:hover {
    background: #e32b12 !important;
    border-color: #e32b12 !important;
}

.ws-filter-band > .container > .ws-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}

.ws-filter-band .ws-template-product {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dedede !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .06) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ws-filter-band .ws-template-product:hover {
    transform: translateY(-8px);
    border-color: #000 !important;
    box-shadow: 0 34px 70px rgba(0, 0, 0, .14) !important;
}

.ws-filter-band .ws-template-product .img-wrapper {
    min-height: 282px;
    display: grid;
    place-items: center;
    border: 0 !important;
    background:
        radial-gradient(circle at 50% 52%, rgba(227, 43, 18, .12), transparent 34%),
        #fbfaf7 !important;
}

.ws-filter-band .ws-template-product .img-wrapper .front,
.ws-filter-band .ws-template-product .img-wrapper .front > a {
    width: 100%;
    height: 100%;
    min-height: 282px;
    display: grid !important;
    place-items: center !important;
}

.ws-filter-band .ws-template-product .img-wrapper img {
    display: block !important;
    width: min(78%, 210px) !important;
    height: 210px !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .12));
}

.ws-filter-band .ws-template-product .lable-block .lable3 {
    top: 14px !important;
    left: 14px !important;
    min-width: 64px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #000 !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ws-filter-band .ws-template-product .cart-info {
    right: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    display: flex !important;
    gap: 8px;
    transform: translateX(-50%) !important;
    justify-content: center;
    align-items: center;
    z-index: 4;
}

.ws-filter-band .ws-template-product .cart-info form {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
}

.ws-filter-band .ws-template-product .cart-info button,
.ws-filter-band .ws-template-product .cart-info a {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #000 !important;
    color: #fff !important;
    line-height: 1 !important;
    aspect-ratio: 1 / 1 !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
}

.ws-filter-band .ws-template-product .cart-info button:nth-child(1),
.ws-filter-band .ws-template-product .cart-info form button {
    background: #e32b12 !important;
}

.ws-filter-band .ws-template-product .cart-info button:hover,
.ws-filter-band .ws-template-product .cart-info a:hover {
    background: #e32b12 !important;
}

.ws-filter-band .ws-template-product .cart-info button i,
.ws-filter-band .ws-template-product .cart-info a i,
.ws-filter-band .ws-template-product .cart-info button:hover i,
.ws-filter-band .ws-template-product .cart-info a:hover i {
    color: #fff !important;
}

.ws-filter-band .ws-template-product .product-detail {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 24px 24px 26px !important;
    text-align: left !important;
}

.ws-filter-band .ws-template-product .rating {
    min-height: 18px;
    margin-bottom: 12px !important;
    color: #e32b12 !important;
}

.ws-filter-band .ws-template-product .product-detail h6 {
    min-height: 44px;
    margin: 0 0 10px !important;
    color: #000 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.ws-filter-band .ws-template-product .product-detail p {
    min-height: 38px;
    margin: 0 0 14px !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.ws-filter-band .ws-template-product .product-detail h4 {
    margin: auto 0 6px !important;
    color: #000 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

.ws-filter-band .ws-template-product .product-detail del {
    margin-left: 9px;
    color: #888 !important;
    font-size: 13px !important;
    font-weight: 600;
}

.ws-filter-band .ws-stock-ok {
    color: #008a47 !important;
    font-size: 13px;
    font-weight: 900;
}

@media (max-width: 1199px) {
    .ws-catalog-filters {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    .ws-catalog-filters .ws-filter-search,
    .ws-catalog-filters .ws-filter-cats,
    .ws-catalog-filters .ws-filter-brands,
    .ws-catalog-filters .ws-filter-price {
        grid-column: span 3;
    }

    .ws-catalog-filters .ws-filter-offer,
    .ws-catalog-filters .ws-filter-action {
        grid-column: span 3;
    }

    .ws-filter-band > .container > .ws-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ws-catalog-filters {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
    }

    .ws-catalog-filters .ws-filter-search,
    .ws-catalog-filters .ws-filter-cats,
    .ws-catalog-filters .ws-filter-brands,
    .ws-catalog-filters .ws-filter-price,
    .ws-catalog-filters .ws-filter-offer,
    .ws-catalog-filters .ws-filter-action {
        grid-column: 1 / -1;
    }

    .ws-filter-band > .container > .ws-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .ws-filter-band > .container > .ws-product-grid {
        grid-template-columns: 1fr;
    }
}

/* Category showcase */
.ws-category-showcase {
    position: relative;
    overflow: hidden;
    padding: 86px 0 92px !important;
    background:
        linear-gradient(180deg, #fff 0%, #f5f5f5 100%) !important;
}

.ws-category-showcase:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px);
    background-size: 68px 68px;
    mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}

.ws-category-showcase .container {
    position: relative;
    z-index: 1;
    max-width: 1320px;
}

.ws-category-showcase .ws-section-head {
    max-width: 820px;
    margin: 0 auto 42px !important;
    text-align: center;
}

.ws-category-showcase .ws-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #e32b12;
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.ws-category-showcase .ws-kicker:before,
.ws-category-showcase .ws-kicker:after {
    content: "";
    width: 18px;
    height: 1px;
    background: currentColor;
}

.ws-category-showcase .ws-section-head h2 {
    margin-top: 18px !important;
    color: #000 !important;
    font-size: clamp(42px, 4.6vw, 74px) !important;
    font-weight: 900 !important;
    line-height: .95 !important;
    text-transform: uppercase;
}

.ws-category-showcase .ws-section-head p {
    max-width: 610px;
    margin: 16px auto 0 !important;
    color: #5d5d5d !important;
    font-size: 16px;
    font-weight: 500;
}

.ws-category-showcase .ws-category-grid {
    max-width: 1140px;
    margin: 0 auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ws-category-showcase .ws-category-grid a {
    position: relative;
    min-height: 235px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: 28px !important;
    border: 1px solid #dedede !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 22px 45px rgba(0, 0, 0, .06);
    isolation: isolate;
}

.ws-category-showcase .ws-category-grid a:before {
    content: "";
    position: absolute;
    inset: auto -48px -74px auto;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(227, 43, 18, .1);
    transition: transform .25s ease, background .25s ease;
    z-index: -1;
}

.ws-category-showcase .ws-category-grid a:after {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid transparent;
    transition: border-color .25s ease;
}

.ws-category-showcase .ws-category-grid em {
    position: absolute;
    top: 20px;
    right: 22px;
    color: rgba(0, 0, 0, .12);
    font-style: normal;
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
}

.ws-category-showcase .ws-category-grid i,
.ws-category-showcase .ws-category-icon {
    width: 66px !important;
    height: 66px !important;
    margin: 0 0 26px !important;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff !important;
    border: 2px solid #000;
    color: #fff !important;
    font-size: 34px !important;
    box-shadow: 0 16px 28px rgba(0, 0, 0, .12);
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.ws-category-showcase .ws-category-icon img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .14));
    transition: transform .25s ease;
}

.ws-category-showcase .ws-category-grid strong {
    color: #000;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.05;
}

.ws-category-showcase .ws-category-grid span {
    margin-top: 8px;
    color: #666;
    font-size: 14px;
    font-weight: 600;
}

.ws-category-showcase .ws-category-grid p {
    max-width: 220px;
    margin: 13px 0 0;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.42;
}

.ws-category-showcase .ws-category-grid small {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    color: #e32b12;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.ws-category-showcase .ws-category-grid small b {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e32b12;
    color: #fff;
}

.ws-category-showcase .ws-category-grid a:hover {
    transform: translateY(-9px) !important;
    border-color: #000 !important;
    box-shadow: 0 34px 70px rgba(0, 0, 0, .14) !important;
}

.ws-category-showcase .ws-category-grid a:hover:before {
    transform: scale(1.8);
    background: #e32b12;
}

.ws-category-showcase .ws-category-grid a:hover:after {
    border-color: rgba(0, 0, 0, .12);
}

.ws-category-showcase .ws-category-grid a:hover i,
.ws-category-showcase .ws-category-grid a:hover .ws-category-icon {
    background: #fff !important;
    border-color: #000;
    color: #000 !important;
    transform: scale(1.06) rotate(-4deg);
}

.ws-category-showcase .ws-category-grid a:hover .ws-category-icon img {
    transform: scale(1.12);
}

.ws-category-showcase .ws-category-grid a:hover small b {
    background: #e32b12;
    color: #fff;
}

@media (max-width: 991px) {
    .ws-category-showcase .ws-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .ws-category-showcase {
        padding: 62px 0 68px !important;
    }

    .ws-category-showcase .ws-section-head h2 {
        font-size: 38px !important;
    }

    .ws-category-showcase .ws-category-grid {
        grid-template-columns: 1fr;
    }
}

/* Final catalog filters override */
.ws-filter-band .container .ws-catalog-filters {
    position: relative;
    grid-template-columns: minmax(210px, 1.25fr) minmax(220px, 1.2fr) minmax(220px, 1.2fr) minmax(145px, .72fr) minmax(150px, .68fr) minmax(150px, .68fr) !important;
    gap: 16px 18px !important;
    align-items: end !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 42px !important;
    padding: 18px 20px 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .78)),
        linear-gradient(135deg, rgba(227, 43, 18, .10), transparent 34%),
        #fff !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .08) !important;
}

.ws-filter-band .container .ws-catalog-filters::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #e92812;
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-search,
.ws-filter-band .container .ws-catalog-filters .ws-filter-cats,
.ws-filter-band .container .ws-catalog-filters .ws-filter-brands,
.ws-filter-band .container .ws-catalog-filters .ws-filter-price,
.ws-filter-band .container .ws-catalog-filters .ws-filter-offer,
.ws-filter-band .container .ws-catalog-filters .ws-filter-action {
    grid-column: auto !important;
}

.ws-filter-band .container .ws-catalog-filters label {
    min-width: 0;
    color: #000;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .04em;
}

.ws-filter-band .container .ws-catalog-filters input:not([type="checkbox"]),
.ws-filter-band .container .ws-catalog-filters select,
.ws-filter-band .container .ws-catalog-filters .select2-container .select2-selection--multiple,
.ws-filter-band .container .ws-catalog-filters .select2-container .select2-selection--single,
.ws-filter-band .container .ws-catalog-filters .select2-container-multi .select2-choices {
    min-height: 50px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f7f7f7 !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .10) !important;
    transition: box-shadow .2s ease, background .2s ease, transform .2s ease;
}

.ws-filter-band .container .ws-catalog-filters input:not([type="checkbox"]):focus,
.ws-filter-band .container .ws-catalog-filters .select2-container-active .select2-choices,
.ws-filter-band .container .ws-catalog-filters .select2-container--focus .select2-selection,
.ws-filter-band .container .ws-catalog-filters .select2-container--open .select2-selection {
    background: #fff !important;
    box-shadow: inset 0 0 0 2px #000, 0 10px 22px rgba(0, 0, 0, .08) !important;
}

.ws-filter-band .container .ws-catalog-filters .select2-container-multi .select2-choices {
    display: flex !important;
    align-items: center !important;
    padding: 0 14px !important;
}

.ws-filter-band .container .ws-catalog-filters .select2-container-multi .select2-choices .select2-search-field {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.ws-filter-band .container .ws-catalog-filters .select2-container-multi .select2-choices .select2-search-field input,
.ws-filter-band .container .ws-catalog-filters .select2-input {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-offer {
    min-height: 50px;
    justify-content: flex-start;
    gap: 11px !important;
    padding: 14px 12px 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left;
    white-space: nowrap;
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-offer input {
    position: relative;
    width: 42px !important;
    min-width: 42px !important;
    height: 24px !important;
    min-height: 24px !important;
    appearance: none;
    -webkit-appearance: none;
    border: 0 !important;
    border-radius: 999px;
    background: #dedede;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
    transition: background .2s ease;
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-offer input::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .20);
    transition: transform .2s ease;
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-offer input:checked {
    background: #e92812;
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-offer input:checked::after {
    transform: translateX(18px);
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-action {
    min-height: 50px;
    margin: 0 !important;
    border: 0 !important;
    background: #000 !important;
    box-shadow: 0 16px 28px rgba(0, 0, 0, .16);
}

.ws-filter-band .container .ws-catalog-filters .ws-filter-action:hover {
    background: #e92812 !important;
    box-shadow: 0 18px 32px rgba(233, 40, 18, .26);
    transform: translateY(-2px);
}

@media (max-width: 1199px) {
    .ws-filter-band .container .ws-catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575px) {
    .ws-filter-band .container .ws-catalog-filters {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
    }
}

/* Featured offers section */
.ws-offers-band {
    position: relative;
    overflow: hidden;
    padding: 92px 0 98px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(180deg, #f7f7f7 0%, #fff 100%) !important;
    background-size: 72px 72px, 72px 72px, auto !important;
}

.ws-offers-band::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10px;
    background: linear-gradient(90deg, #000 0%, #000 58%, #e92812 58%, #e92812 100%);
}

.ws-offers-band .container {
    position: relative;
    z-index: 1;
}

.ws-offers-band .ws-section-head {
    max-width: 820px;
    margin: 0 auto 36px !important;
    text-align: center;
}

.ws-offers-band .ws-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 18px;
    background: #e92812;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900;
    letter-spacing: .06em;
}

.ws-offers-band .ws-section-head h2 {
    margin: 16px 0 12px !important;
    color: #000 !important;
    font-size: clamp(40px, 5vw, 72px) !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ws-offers-band .ws-section-head p {
    max-width: 680px;
    margin: 0 auto !important;
    color: #484848 !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
}

.ws-offers-band .ws-product-slider {
    margin: 0 -14px !important;
}

.ws-offers-band .ws-product-slider .slick-list {
    padding: 6px 0 28px !important;
}

.ws-offers-band .ws-product-slider .slick-slide {
    padding: 0 14px !important;
}

.ws-offers-band .ws-template-product {
    position: relative;
    display: flex !important;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dedede !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 24px 52px rgba(0, 0, 0, .08) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ws-offers-band .ws-template-product:hover {
    transform: translateY(-8px);
    border-color: #000 !important;
    box-shadow: 0 34px 72px rgba(0, 0, 0, .15) !important;
}

.ws-offers-band .ws-template-product .img-wrapper {
    min-height: 292px;
    display: grid;
    place-items: center;
    border: 0 !important;
    background:
        radial-gradient(circle at 50% 54%, rgba(233, 40, 18, .14), transparent 35%),
        #fbfaf7 !important;
}

.ws-offers-band .ws-template-product .img-wrapper .front,
.ws-offers-band .ws-template-product .img-wrapper .front > a {
    width: 100%;
    height: 100%;
    min-height: 292px;
    display: grid !important;
    place-items: center !important;
}

.ws-offers-band .ws-template-product .img-wrapper img {
    display: block !important;
    width: min(78%, 214px) !important;
    height: 214px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .13));
}

.ws-offers-band .ws-template-product .lable-block .lable3 {
    top: 14px !important;
    left: 14px !important;
    min-width: 70px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #000 !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
}

.ws-offers-band .ws-template-product .cart-info {
    right: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transform: translateX(-50%) !important;
    z-index: 4;
}

.ws-offers-band .ws-template-product .cart-info form {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
}

.ws-offers-band .ws-template-product .cart-info button,
.ws-offers-band .ws-template-product .cart-info a {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #000 !important;
    color: #fff !important;
    line-height: 1 !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
}

.ws-offers-band .ws-template-product .cart-info form button,
.ws-offers-band .ws-template-product .cart-info button:hover,
.ws-offers-band .ws-template-product .cart-info a:hover {
    background: #e92812 !important;
}

.ws-offers-band .ws-template-product .cart-info i,
.ws-offers-band .ws-template-product .cart-info button:hover i,
.ws-offers-band .ws-template-product .cart-info a:hover i {
    color: #fff !important;
}

.ws-offers-band .ws-template-product .product-detail {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 24px 24px 26px !important;
    text-align: left !important;
}

.ws-offers-band .ws-template-product .rating {
    min-height: 18px;
    margin-bottom: 12px !important;
    color: #e92812 !important;
}

.ws-offers-band .ws-template-product .product-detail h6 {
    min-height: 44px;
    margin: 0 0 10px !important;
    color: #000 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.ws-offers-band .ws-template-product .product-detail p {
    min-height: 38px;
    margin: 0 0 14px !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.ws-offers-band .ws-template-product .product-detail h4 {
    margin: auto 0 6px !important;
    color: #000 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

.ws-offers-band .ws-template-product .product-detail del {
    margin-left: 9px;
    color: #888 !important;
    font-size: 13px !important;
    font-weight: 600;
}

.ws-offers-band .slick-prev,
.ws-offers-band .slick-next {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #000 !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
}

.ws-offers-band .slick-prev:hover,
.ws-offers-band .slick-next:hover {
    background: #e92812 !important;
}

@media (max-width: 767px) {
    .ws-offers-band {
        padding: 68px 0 76px !important;
    }

    .ws-offers-band .ws-section-head h2 {
        font-size: 40px !important;
    }
}

/* Final offers polish: divider, slider spacing and visible arrows */
.ws-offers-band {
    overflow: visible !important;
    padding: 122px 0 106px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .032) 1px, transparent 1px),
        radial-gradient(circle at 14% 18%, rgba(233, 40, 18, .08), transparent 25%),
        linear-gradient(180deg, #f6f6f6 0%, #fff 74%) !important;
    background-size: 72px 72px, 72px 72px, auto, auto !important;
}

.ws-offers-band::before {
    height: 28px !important;
    background:
        linear-gradient(90deg, #000 0 34%, #e92812 34% 50%, #000 50% 100%) !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .12);
}

.ws-offers-band::after {
    content: "";
    position: absolute;
    top: 28px;
    left: 50%;
    width: min(360px, 60vw);
    height: 9px;
    transform: translateX(-50%);
    background:
        linear-gradient(90deg, transparent 0 12%, #e92812 12% 88%, transparent 88%),
        linear-gradient(90deg, #000, #000);
    box-shadow: 0 16px 28px rgba(233, 40, 18, .18);
}

.ws-offers-band .ws-section-head {
    margin-bottom: 44px !important;
}

.ws-offers-band .ws-section-head h2 {
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}

.ws-offers-band .ws-section-head h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 118px;
    height: 5px;
    transform: translateX(-50%);
    background: #e92812;
}

.ws-offers-band .ws-product-slider {
    position: relative;
    margin: 0 !important;
    padding: 0 82px !important;
}

.ws-offers-band .ws-product-slider .slick-list {
    overflow: hidden !important;
    padding: 8px 0 32px !important;
}

.ws-offers-band .ws-product-slider .slick-track {
    display: flex !important;
    align-items: stretch;
}

.ws-offers-band .ws-product-slider .slick-slide {
    height: auto !important;
    padding: 0 15px !important;
}

.ws-offers-band .ws-product-slider .slick-slide > div,
.ws-offers-band .ws-product-slider .slick-slide article {
    height: 100%;
}

.ws-offers-band .slick-prev,
.ws-offers-band .slick-next {
    z-index: 20 !important;
    top: 50% !important;
    width: 66px !important;
    height: 66px !important;
    display: grid !important;
    place-items: center !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;
    background: #000 !important;
    color: #fff !important;
    opacity: 1 !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 22px 42px rgba(0, 0, 0, .28) !important;
}

.ws-offers-band .slick-prev {
    left: 0 !important;
}

.ws-offers-band .slick-next {
    right: 0 !important;
}

.ws-offers-band .slick-prev::before,
.ws-offers-band .slick-next::before {
    color: #fff !important;
    font-size: 26px !important;
    line-height: 1 !important;
    opacity: 1 !important;
}

.ws-offers-band .slick-prev i,
.ws-offers-band .slick-next i {
    color: #fff !important;
    font-size: 24px !important;
}

.ws-offers-band .slick-prev:hover,
.ws-offers-band .slick-next:hover {
    background: #e92812 !important;
    box-shadow: 0 24px 48px rgba(233, 40, 18, .32) !important;
    transform: translateY(-50%) scale(1.06) !important;
}

.ws-offers-band .ws-template-product {
    border: 0 !important;
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, .10),
        0 26px 58px rgba(0, 0, 0, .08) !important;
}

.ws-offers-band .ws-template-product:hover {
    box-shadow:
        inset 0 0 0 2px #000,
        0 38px 78px rgba(0, 0, 0, .16) !important;
}

@media (max-width: 991px) {
    .ws-offers-band .ws-product-slider {
        padding: 0 58px !important;
    }

    .ws-offers-band .slick-prev,
    .ws-offers-band .slick-next {
        width: 52px !important;
        height: 52px !important;
    }
}

@media (max-width: 575px) {
    .ws-offers-band {
        padding: 86px 0 76px !important;
    }

    .ws-offers-band .ws-product-slider {
        padding: 0 42px !important;
    }

    .ws-offers-band .slick-prev,
    .ws-offers-band .slick-next {
        width: 44px !important;
        height: 44px !important;
    }
}

/* Offers section correction: compact top divider */
.ws-offers-band {
    padding-top: 104px !important;
}

.ws-offers-band::before {
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: min(1180px, calc(100% - 64px)) !important;
    height: 8px !important;
    transform: translateX(-50%) !important;
    background: linear-gradient(90deg, #000 0 42%, #e92812 42% 58%, #000 58% 100%) !important;
    box-shadow: none !important;
}

.ws-offers-band::after {
    top: 18px !important;
    left: 50% !important;
    width: 116px !important;
    height: 5px !important;
    transform: translateX(-50%) !important;
    background: #e92812 !important;
    box-shadow: none !important;
}

.ws-offers-band .ws-template-product:hover {
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, .18),
        0 34px 72px rgba(0, 0, 0, .15) !important;
}

/* Premium packs section */
.ws-packs-band {
    position: relative;
    overflow: hidden;
    padding: 96px 0 108px !important;
    background:
        linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
        radial-gradient(circle at 18% 20%, rgba(233, 40, 18, .28), transparent 28%),
        linear-gradient(135deg, #050505 0%, #101010 58%, #1b0705 100%) !important;
    background-size: 68px 68px, 68px 68px, auto, auto !important;
    color: #fff;
}

.ws-packs-band::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(1180px, calc(100% - 64px));
    height: 8px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #fff 0 38%, #e92812 38% 62%, #fff 62% 100%);
}

.ws-packs-band .container {
    position: relative;
    z-index: 1;
}

.ws-packs-band .ws-section-head {
    max-width: 900px;
    margin: 0 auto 42px !important;
    text-align: center;
}

.ws-packs-band .ws-kicker {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    background: #e92812;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900;
    letter-spacing: .06em;
}

.ws-packs-band .ws-section-head h2 {
    position: relative;
    display: inline-block;
    margin: 16px 0 14px !important;
    padding-bottom: 13px;
    color: #fff !important;
    font-size: clamp(40px, 5vw, 70px) !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ws-packs-band .ws-section-head h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 124px;
    height: 5px;
    transform: translateX(-50%);
    background: #e92812;
}

.ws-packs-band .ws-section-head p {
    max-width: 720px;
    margin: 0 auto !important;
    color: rgba(255, 255, 255, .76) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

.ws-packs-band .ws-promo-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
    counter-reset: pack-card;
}

.ws-packs-band .ws-promo-grid article {
    position: relative;
    min-height: 380px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    counter-increment: pack-card;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .28) !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

.ws-packs-band .ws-promo-grid article::before {
    content: counter(pack-card, decimal-leading-zero);
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    color: rgba(0, 0, 0, .08);
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
}

.ws-packs-band .ws-promo-grid article::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 5px;
    background: linear-gradient(90deg, #e92812 0 44%, #000 44% 100%);
}

.ws-packs-band .ws-promo-grid article:hover {
    transform: translateY(-10px);
    box-shadow: 0 38px 86px rgba(0, 0, 0, .38) !important;
}

.ws-packs-band .ws-promo-grid img {
    width: 100% !important;
    height: 188px !important;
    object-fit: contain !important;
    padding: 34px 34px 24px !important;
    background:
        radial-gradient(circle at 50% 54%, rgba(233, 40, 18, .13), transparent 35%),
        #faf7f1 !important;
    filter: drop-shadow(0 16px 18px rgba(0, 0, 0, .12));
    transition: transform .22s ease;
}

.ws-packs-band .ws-promo-grid article:hover img {
    transform: scale(1.08) rotate(-2deg);
}

.ws-packs-band .ws-promo-grid div {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 24px 22px 26px !important;
}

.ws-packs-band .ws-promo-grid span {
    width: max-content;
    max-width: 100%;
    margin-bottom: 12px;
    padding: 7px 11px;
    background: #000;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.ws-packs-band .ws-promo-grid h3 {
    min-height: 48px;
    margin: 0 0 12px !important;
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 900;
    line-height: 1.2;
}

.ws-packs-band .ws-promo-grid p {
    min-height: 62px;
    margin: 0 0 20px !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.5;
}

.ws-packs-band .ws-promo-grid strong {
    width: max-content;
    margin-top: auto;
    padding: 10px 12px;
    background: #e92812;
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 14px 28px rgba(233, 40, 18, .24);
}

@media (max-width: 1199px) {
    .ws-packs-band .ws-promo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ws-packs-band {
        padding: 76px 0 82px !important;
    }

    .ws-packs-band .ws-promo-grid {
        grid-template-columns: 1fr;
    }

    .ws-packs-band .ws-section-head h2 {
        font-size: 40px !important;
    }
}

/* Product detail meta: fix broken check encoding and polish */
.ws-check-list li::before {
    content: "\f00c" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome, Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
}

.ws-product-detail .ws-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 26px 0 20px;
}

.ws-product-detail .ws-check-list li {
    min-height: 56px;
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 13px 14px 13px 48px !important;
    border: 1px solid rgba(0, 0, 0, .08);
    background: #f7f7f7;
    color: #000;
    font-weight: 800;
    line-height: 1.25;
}

.ws-product-detail .ws-check-list li::before {
    top: 50%;
    left: 14px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e92812;
    color: #fff !important;
    font-size: 11px;
    transform: translateY(-50%);
}

@media (max-width: 767px) {
    .ws-product-detail .ws-check-list {
        grid-template-columns: 1fr;
    }
}

/* Contact, product story and about polish */
.ws-contact-template {
    position: relative;
    overflow: hidden;
    padding: 84px 0 96px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .032) 1px, transparent 1px),
        radial-gradient(circle at 82% 12%, rgba(233, 40, 18, .10), transparent 26%),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto, auto !important;
}

.ws-contact-hero {
    max-width: 860px;
    margin: 0 auto 44px;
    text-align: center;
}

.ws-contact-hero h2 {
    margin: 16px 0 12px !important;
    color: #000 !important;
    font-size: clamp(42px, 5vw, 72px) !important;
    font-weight: 900 !important;
    line-height: .95 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ws-contact-hero p {
    max-width: 680px;
    margin: 0 auto !important;
    color: #4d4d4d !important;
    font-size: 16px;
    font-weight: 600;
}

.ws-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 22px;
}

.ws-contact-actions a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    background: #000;
    color: #fff !important;
    font-weight: 900;
    box-shadow: 0 16px 30px rgba(0, 0, 0, .16);
}

.ws-contact-actions a:first-child {
    background: #e92812;
}

.ws-contact-layout {
    align-items: stretch;
    margin-bottom: 40px !important;
}

.ws-contact-template .contact-right,
.ws-contact-template .contact-form {
    height: 100%;
}

.ws-contact-template .contact-right ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ws-contact-template .contact-right li {
    position: relative;
    min-height: 190px;
    display: flex !important;
    flex-direction: column;
    gap: 16px;
    padding: 26px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 24px 55px rgba(0, 0, 0, .08) !important;
}

.ws-contact-template .contact-right li::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 5px;
    background: linear-gradient(90deg, #e92812 0 44%, #000 44% 100%);
}

.ws-contact-template .contact-icon {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    background: #000;
    color: #fff;
}

.ws-contact-template .contact-icon i {
    color: #fff !important;
    font-size: 22px;
}

.ws-contact-template .contact-right h6 {
    margin: 0 0 6px !important;
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.ws-contact-template .contact-right p {
    margin: 0 !important;
    color: #555 !important;
    font-size: 15px !important;
    font-weight: 700;
}

.ws-contact-template .contact-form {
    padding: 34px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 32px 70px rgba(0, 0, 0, .12) !important;
}

.ws-contact-template .contact-form h3 {
    margin: 10px 0 24px;
    color: #000;
    font-size: 32px;
    font-weight: 900;
}

.ws-contact-template .form-box {
    margin-bottom: 18px;
}

.ws-contact-template label {
    color: #000;
    font-weight: 900;
}

.ws-contact-template input,
.ws-contact-template textarea {
    min-height: 54px !important;
    border: 0 !important;
    background: #f6f6f6 !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12) !important;
    color: #000 !important;
    font-weight: 700;
}

.ws-contact-template input:focus,
.ws-contact-template textarea:focus {
    background: #fff !important;
    box-shadow: inset 0 0 0 2px #000, 0 12px 26px rgba(0, 0, 0, .08) !important;
}

.ws-contact-template .btn-solid {
    min-height: 52px;
    padding: 0 28px !important;
    border: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font-weight: 900;
}

.ws-contact-template .btn-solid:hover {
    background: #e92812 !important;
}

.ws-contact-template .ws-map-placeholder {
    min-height: 180px;
    display: grid;
    place-items: center;
    border: 0 !important;
    background:
        repeating-linear-gradient(45deg, rgba(255, 255, 255, .10) 0 14px, transparent 14px 28px),
        linear-gradient(135deg, #000, #1b0604) !important;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .16);
}

.ws-product-story-section {
    margin-top: 78px;
    padding: 88px 0 94px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto !important;
}

.ws-product-story-section .ws-section-head h2 {
    font-size: clamp(38px, 4vw, 58px) !important;
    font-weight: 900 !important;
    text-transform: none !important;
}

.ws-product-story-grid {
    align-items: stretch;
}

.ws-product-story-grid > div {
    position: relative;
    min-height: 230px;
    padding: 34px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 26px 58px rgba(0, 0, 0, .08) !important;
}

.ws-product-story-grid > div::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #e92812;
}

.ws-product-story-grid h3 {
    color: #000;
    font-size: 30px;
    font-weight: 900;
}

.ws-product-story-grid p {
    color: #444 !important;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.6;
}

.ws-about-template {
    position: relative;
    overflow: hidden;
    padding: 96px 0 !important;
    background:
        radial-gradient(circle at 20% 16%, rgba(233, 40, 18, .10), transparent 26%),
        linear-gradient(180deg, #f7f7f7, #fff) !important;
}

.ws-about-template .banner-section {
    position: relative;
    min-height: 440px;
    display: grid;
    place-items: center;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
        #050505 !important;
    background-size: 56px 56px, 56px 56px, auto !important;
    box-shadow: 0 34px 76px rgba(0, 0, 0, .22);
}

.ws-about-template .banner-section::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 7px;
    background: linear-gradient(90deg, #e92812 0 45%, #fff 45% 58%, #e92812 58% 100%);
}

.ws-about-template .banner-section img {
    max-width: 340px;
    filter: drop-shadow(0 20px 28px rgba(0, 0, 0, .35));
}

.ws-about-template h4 {
    color: #e92812;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ws-about-template h2 {
    color: #000 !important;
    font-size: clamp(38px, 4.4vw, 64px) !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    text-transform: none !important;
}

.ws-about-template p {
    color: #555 !important;
    font-size: 16px;
    font-weight: 650;
    padding-top: 15px;
}

.ws-about-template .ws-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.ws-about-template .ws-check-list li {
    margin: 0 !important;
    padding: 14px 14px 14px 46px !important;
    /* background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); */
    font-weight: 900;
}

.about-cls .service {
    border: 0 !important;
}

.about-cls .service .row {
    gap: 18px 0;
}

.about-cls .service-block {
    padding: 0 12px !important;
}

.about-cls .service-block .media {
    min-height: 126px;
    align-items: center;
    gap: 18px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .07);
}

.about-cls .service-block i {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    background: #000;
    color: #fff !important;
    font-size: 22px;
}

.about-cls .service-block h4 {
    color: #000;
    font-weight: 900;
}

.ws-about-admin-band {
    padding: 92px 0 !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto !important;
}

.ws-about-admin-band .ws-info-grid > div {
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 28px 62px rgba(0, 0, 0, .08);
}

.ws-about-admin-band .ws-info-grid > div:first-child {
    background: #000 !important;
    color: #fff;
}

.ws-about-admin-band .ws-info-grid > div:first-child h2,
.ws-about-admin-band .ws-info-grid > div:first-child p {
    color: #fff !important;
}

@media (max-width: 991px) {
    .ws-contact-template .contact-right ul,
    .ws-about-template .ws-check-list {
        grid-template-columns: 1fr;
    }

    .ws-contact-layout {
        gap: 24px;
    }
}

/* Offers archive, brands and footer spacing polish */
.ws-header-nav {
    justify-content: flex-start !important;
}

.ws-header-nav nav {
    margin-left: 18px !important;
}

.ws-nav-trigger {
    margin-left: 0 !important;
}

.ws-body main > section:last-child {
    margin-bottom: 0 !important;
}

.ws-site-footer {
    margin-top: 0 !important;
}

.ws-offers-archive {
    padding-bottom: 74px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto !important;
}

.ws-offers-archive .ws-shop-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 22%, rgba(233, 40, 18, .30), transparent 30%),
        linear-gradient(135deg, #050505 0%, #151515 58%, #260805 100%) !important;
    box-shadow: 0 34px 76px rgba(0, 0, 0, .18);
}

.ws-offers-archive .ws-shop-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 7px;
    background: linear-gradient(90deg, #e92812 0 46%, #fff 46% 56%, #e92812 56% 100%);
}

.ws-offers-archive .ws-shop-hero h2 {
    color: #fff !important;
    font-size: clamp(42px, 5vw, 76px) !important;
}

.ws-offers-archive .ws-shop-hero p {
    color: rgba(255, 255, 255, .82) !important;
}

.ws-offers-archive .ws-shop-hero-stats {
    border-color: rgba(255, 255, 255, .22) !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #fff !important;
}

.ws-offers-archive .ws-shop-filters {
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 28px 62px rgba(0, 0, 0, .10) !important;
}

.ws-offers-archive .ws-filter-heading strong {
    font-size: 28px;
}

.ws-offers-archive .ws-shop-filters .select2-container-multi .select2-choices,
.ws-offers-archive .ws-shop-filters .select2-container .select2-selection--multiple,
.ws-offers-archive .ws-shop-filters .ws-field input {
    border: 0 !important;
    background: #f7f7f7 !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12) !important;
}

.ws-offers-archive .ws-shop-filters .select2-container-multi .select2-choices .select2-search-field input,
.ws-offers-archive .ws-shop-filters .select2-input {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ws-offers-archive .ws-filter-submit {
    min-height: 56px;
    border: 0 !important;
    background: #000 !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .16);
}

.ws-offers-archive .ws-filter-submit:hover {
    background: #e92812 !important;
}

.ws-offers-archive + .ws-packs-band {
    margin-top: 0 !important;
}

.ws-brands-band {
    position: relative;
    overflow: hidden;
    padding: 92px 0 108px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        radial-gradient(circle at 15% 18%, rgba(233, 40, 18, .10), transparent 28%),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto, auto !important;
}

.ws-brands-hero {
    max-width: 860px;
    margin: 0 auto 42px;
    text-align: center;
}

.ws-brands-hero h2 {
    margin: 16px 0 12px !important;
    color: #000 !important;
    font-size: clamp(42px, 5vw, 72px) !important;
    font-weight: 900 !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ws-brands-hero p {
    max-width: 650px;
    margin: 0 auto !important;
    color: #555 !important;
    font-size: 16px;
    font-weight: 650;
}

.ws-brands-band .ws-brand-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ws-brands-band .ws-brand-grid a {
    position: relative;
    min-height: 210px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    overflow: hidden;
    padding: 28px !important;
    border: 0 !important;
    background: #fff !important;
    color: #000 !important;
    text-align: left !important;
    box-shadow: 0 28px 62px rgba(0, 0, 0, .08);
    transition: transform .22s ease, box-shadow .22s ease;
}

.ws-brands-band .ws-brand-grid a::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 6px;
    background: linear-gradient(90deg, #e92812 0 45%, #000 45% 100%);
}

.ws-brands-band .ws-brand-grid a:hover {
    transform: translateY(-8px);
    box-shadow: 0 38px 78px rgba(0, 0, 0, .16);
}

.ws-brands-band .ws-brand-grid span {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    background: #000;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.ws-brands-band .ws-brand-grid strong {
    margin-top: 22px;
    color: #000;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.12;
}

.ws-brands-band .ws-brand-grid small {
    color: #666;
    font-size: 13px;
    font-weight: 800;
}

.ws-brands-band .ws-brand-grid em {
    margin-top: 18px;
    color: #e92812;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

@media (max-width: 1199px) {
    .ws-brands-band .ws-brand-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ws-header-nav nav {
        margin-left: 8px !important;
    }

    .ws-brands-band .ws-brand-grid {
        grid-template-columns: 1fr;
    }
}

/* Final polish: FontAwesome 4 icons and clean Select2 fields */
[class^="ri-"],
[class*=" ri-"],
[class^="ri-"]::before,
[class*=" ri-"]::before {
    font-family: FontAwesome !important;
    font-style: normal !important;
    font-weight: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.ri-map-pin-line::before {
    content: "\f041" !important;
}

.ri-phone-line::before,
.ri-phone-fill::before {
    content: "\f095" !important;
}

.ri-mail-line::before,
.ri-mail-send-line::before {
    content: "\f0e0" !important;
}

.ri-arrow-right-line::before {
    content: "\f105" !important;
}

.ws-contact-template .contact-icon {
    position: relative;
    overflow: hidden;
}

.ws-contact-template .contact-icon i {
    display: none !important;
}

.ws-contact-template .contact-icon::before {
    color: #fff;
    display: block;
    font-family: FontAwesome !important;
    font-size: 24px;
    font-weight: normal;
    line-height: 1;
}

.ws-contact-template .ws-contact-icon-map::before {
    content: "\f041";
}

.ws-contact-template .ws-contact-icon-phone::before {
    content: "\f095";
}

.ws-contact-template .ws-contact-icon-mail::before {
    content: "\f0e0";
}

.ws-shop-filters .select2-container {
    width: 100% !important;
}

.ws-shop-filters .select2-container-multi .select2-choices {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #d9d1cc !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    min-height: 56px !important;
    overflow: hidden !important;
    padding: 0 14px !important;
}

.ws-shop-filters .select2-container-multi .select2-choices .select2-search-field {
    align-items: center !important;
    display: flex !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.ws-shop-filters .select2-container-multi .select2-choices .select2-search-field input,
.ws-shop-filters .select2-input {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #111 !important;
    font-family: var(--ws-body-font) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    height: 54px !important;
    line-height: 54px !important;
    margin: 0 !important;
    min-height: 54px !important;
    outline: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.ws-shop-filters .select2-container-multi .select2-choices .select2-search-choice {
    background: #000 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    margin: 9px 8px 9px 0 !important;
    padding: 8px 12px 8px 26px !important;
}

.ws-shop-filters .select2-container-multi .select2-search-choice-close {
    left: 9px !important;
    top: 9px !important;
}

.ws-shop-filters .select2-dropdown-open .select2-choices {
    border-color: var(--ws-red) !important;
    box-shadow: inset 4px 0 0 var(--ws-red), 0 16px 34px rgba(0, 0, 0, .08) !important;
}

/* Header layout and product action icon fixes */
.ws-header-nav {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    align-items: center !important;
    justify-content: initial !important;
}

.ws-header-nav .ws-nav-trigger {
    grid-column: 1 !important;
    justify-self: start !important;
    margin-left: 0 !important;
}

.ws-header-nav nav {
    grid-column: 2 !important;
    justify-self: center !important;
    margin-left: 0 !important;
}

.ri-eye-line::before {
    content: "\f06e" !important;
}

.ri-shopping-cart-line::before {
    content: "\f07a" !important;
}

.ri-price-tag-3-line::before {
    content: "\f02c" !important;
}

.ws-template-product .cart-info button i,
.ws-template-product .cart-info a i,
.ws-template-product .cart-info button i::before,
.ws-template-product .cart-info a i::before,
.ws-filter-band .ws-template-product .cart-info button i,
.ws-filter-band .ws-template-product .cart-info a i,
.ws-filter-band .ws-template-product .cart-info button i::before,
.ws-filter-band .ws-template-product .cart-info a i::before,
.ws-offers-band .ws-template-product .cart-info button i,
.ws-offers-band .ws-template-product .cart-info a i,
.ws-offers-band .ws-template-product .cart-info button i::before,
.ws-offers-band .ws-template-product .cart-info a i::before {
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.ws-template-product .cart-info button:hover i,
.ws-template-product .cart-info a:hover i,
.ws-template-product .cart-info button:hover i::before,
.ws-template-product .cart-info a:hover i::before {
    color: #fff !important;
}

@media (max-width: 767px) {
    .ws-header-nav {
        display: flex !important;
        justify-content: flex-start !important;
    }

    .ws-header-nav nav {
        justify-self: initial !important;
        margin-left: 8px !important;
    }
}

/* Checkout payment cards and printable ticket modal */
.ws-modern-checkout .ws-payment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.ws-modern-checkout .ws-payment-option {
    position: relative;
    display: grid !important;
    grid-template-columns: 26px 52px 1fr !important;
    align-items: center !important;
    gap: 16px !important;
    min-height: 76px !important;
    padding: 16px 18px !important;
    border: 1px solid #dedede !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .04) !important;
    cursor: pointer !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease !important;
}

.ws-modern-checkout .ws-payment-option:hover {
    border-color: #000 !important;
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(0, 0, 0, .10) !important;
}

.ws-modern-checkout .ws-payment-option input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ws-payment-check {
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    border: 2px solid #d9d2cc !important;
    border-radius: 50% !important;
    background: #fff !important;
}

.ws-payment-check::before {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 50%;
    background: transparent;
}

.ws-payment-icon {
    width: 52px !important;
    height: 52px !important;
    display: grid !important;
    place-items: center !important;
    background: #000 !important;
    color: #fff !important;
}

.ws-payment-icon i,
.ws-payment-icon i::before {
    color: #fff !important;
    font-size: 18px !important;
}

.ws-payment-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.ws-payment-copy strong {
    color: #000 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
}

.ws-payment-copy small {
    color: #6a6a6a !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

.ws-modern-checkout .ws-payment-option:has(input:checked) {
    border-color: #000 !important;
    background: linear-gradient(135deg, #fff 0 64%, rgba(233, 40, 18, .12) 64% 100%) !important;
    box-shadow: inset 5px 0 0 var(--ws-red), 0 24px 48px rgba(0, 0, 0, .12) !important;
}

.ws-modern-checkout .ws-payment-option:has(input:checked) .ws-payment-check {
    border-color: var(--ws-red) !important;
}

.ws-modern-checkout .ws-payment-option:has(input:checked) .ws-payment-check::before {
    background: var(--ws-red);
}

.ws-modern-checkout .ws-payment-option:has(input:checked) .ws-payment-icon {
    background: var(--ws-red) !important;
}

.ws-ticket-modal[hidden] {
    display: none !important;
}

.ws-ticket-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 32px;
}

.ws-ticket-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(4px);
}

.ws-ticket-modal-panel {
    position: relative;
    z-index: 1;
    width: min(1040px, 94vw);
    max-height: min(86vh, 820px);
    overflow: auto;
    background: #fff;
    box-shadow: 0 36px 90px rgba(0, 0, 0, .35);
}

.ws-ticket-modal-close {
    position: sticky;
    top: 18px;
    left: calc(100% - 58px);
    z-index: 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin: 18px 18px -60px auto;
    border: 0;
    background: var(--ws-red);
    color: #fff;
}

.ws-ticket-modal-close i,
.ws-ticket-modal-close i::before {
    color: #fff !important;
}

.ws-ticket-modal-content {
    padding: 34px;
}

.ws-ticket-modal-content .ws-ticket {
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.ws-ticket-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .ws-modern-checkout .ws-payment-grid {
        grid-template-columns: 1fr !important;
    }

    .ws-ticket-modal {
        padding: 12px;
    }

    .ws-ticket-modal-content {
        padding: 22px 14px 18px;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .ws-ticket-modal,
    .ws-ticket-modal *,
    .ws-ticket-section .ws-ticket,
    .ws-ticket-section .ws-ticket * {
        visibility: visible !important;
    }

    .ws-ticket-modal {
        position: static !important;
        inset: auto !important;
        display: block !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .ws-ticket-modal-backdrop,
    .ws-ticket-modal-close,
    .ws-print-ticket {
        display: none !important;
    }

    .ws-ticket-modal-panel {
        position: static !important;
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        box-shadow: none !important;
    }

    .ws-ticket-modal-content {
        padding: 0 !important;
    }

    .ws-ticket-modal-content .ws-ticket,
    .ws-ticket-section .ws-ticket {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 20px !important;
        border: 0 !important;
        box-shadow: none !important;
    }
}

/* Final shop card alignment override */
.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper,
.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper .front,
.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper .front > a {
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .img-wrapper img {
    margin-left: auto !important;
    margin-right: auto !important;
    object-position: center center !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info {
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    justify-content: center !important;
    transform: translateX(-50%) !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info form button,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info button,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info a {
    background: #000 !important;
    color: #fff !important;
}

.ws-shop-template .ws-shop-results .ws-template-product .cart-info form button:hover,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info button:hover,
.ws-shop-template .ws-shop-results .ws-template-product .cart-info a:hover {
    background: #e32b12 !important;
    color: #fff !important;
}

/* About page final layout polish */
.ws-about-service-wrap {
    padding-top: 16px !important;
    padding-bottom: 48px !important;
}

.ws-about-service-strip {
    border: 0 !important;
    padding: 0 !important;
}

.ws-about-service-strip .row {
    row-gap: 22px;
}

.ws-about-service-strip .service-block {
    border: 0 !important;
}

.ws-about-service-strip .media {
    min-height: 126px;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 28px !important;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, .06) !important;
    box-shadow: 0 26px 58px rgba(0, 0, 0, .08) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.ws-about-service-strip .media:hover {
    transform: translateY(-5px);
    border-color: #000 !important;
    box-shadow: 0 34px 72px rgba(0, 0, 0, .13) !important;
}

.ws-about-service-strip .media i {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1 !important;
}

.ws-about-service-strip .media i::before {
    color: #fff !important;
}

.ws-about-service-strip .media-body h4 {
    margin: 0 0 6px !important;
    color: #000 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    text-transform: none !important;
}

.ws-about-service-strip .media-body p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-transform: none !important;
}

.ws-about-admin-band {
    position: relative;
    overflow: hidden;
    padding: 72px 0 88px !important;
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        radial-gradient(circle at 12% 8%, rgba(233, 40, 18, .09), transparent 28%),
        #f7f7f7 !important;
    background-size: 72px 72px, 72px 72px, auto, auto !important;
}

.ws-about-admin-band .ws-info-grid {
    display: grid !important;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.ws-about-admin-card {
    min-height: 280px;
    padding: clamp(30px, 4vw, 46px) !important;
    border: 0 !important;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .10) !important;
}

.ws-about-admin-card-dark {
    position: relative;
    overflow: hidden;
    background: #000 !important;
    color: #fff !important;
}

.ws-about-admin-card-dark::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46%;
    height: 6px;
    background: var(--ws-red);
}

.ws-about-admin-card-dark .ws-kicker {
    color: var(--ws-red) !important;
}

.ws-about-admin-card-dark h2 {
    max-width: 620px;
    margin: 12px 0 16px !important;
    color: #fff !important;
    font-size: clamp(34px, 3.4vw, 52px) !important;
    font-weight: 950 !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
}

.ws-about-admin-card-dark p {
    max-width: 650px;
    margin: 0 !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
}

.ws-about-admin-card-light {
    background: #fff !important;
}

.ws-about-admin-card-light .ws-kicker {
    color: var(--ws-red) !important;
}

.ws-about-admin-card-light .ws-check-list {
    display: grid !important;
    gap: 16px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

.ws-about-admin-card-light .ws-check-list li {
    position: relative;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.45 !important;
}

.ws-about-admin-card-light .ws-check-list li::before {
    position: static !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50%;
    background: #000 !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

/* Checkout/customer fields and payment option cleanup */
.ws-modern-checkout .ws-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.ws-modern-checkout .ws-form-grid .ws-field {
    grid-column: span 2;
}

.ws-modern-checkout .ws-form-grid .ws-phone-country {
    grid-column: span 1;
}

.ws-modern-checkout .ws-form-grid .ws-phone-number {
    grid-column: span 3;
}

.ws-modern-checkout .ws-form-grid .ws-field-wide {
    grid-column: 1 / -1 !important;
}

.ws-modern-checkout .ws-payment-option {
    grid-template-columns: 24px 52px minmax(0, 1fr) !important;
    min-height: 86px !important;
    overflow: hidden !important;
}

.ws-modern-checkout .ws-payment-option > .ws-payment-copy {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    display: grid !important;
    place-items: initial !important;
    align-content: center !important;
    gap: 5px !important;
    padding: 0 !important;
    background: transparent !important;
    color: #000 !important;
}

.ws-modern-checkout .ws-payment-copy strong,
.ws-modern-checkout .ws-payment-copy small {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.ws-modern-checkout .ws-payment-copy strong {
    font-size: 15px !important;
    line-height: 1.15 !important;
}

.ws-modern-checkout .ws-payment-copy small {
    color: #666 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

@media (max-width: 767px) {
    .ws-modern-checkout .ws-form-grid {
        grid-template-columns: 1fr !important;
    }

    .ws-modern-checkout .ws-form-grid .ws-field,
    .ws-modern-checkout .ws-form-grid .ws-phone-country,
    .ws-modern-checkout .ws-form-grid .ws-phone-number,
    .ws-modern-checkout .ws-form-grid .ws-field-wide {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 991px) {
    .ws-about-admin-band .ws-info-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .ws-about-service-strip .media {
        padding: 22px !important;
    }

    .ws-about-admin-band {
        padding: 54px 0 64px !important;
    }
}

.ws-admin-access,
.ws-admin-orders-page {
    background:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
        #f7f7f7 !important;
    background-size: 58px 58px !important;
}

.ws-admin-login-card {
    max-width: 560px;
    margin: 0 auto;
    padding: 44px;
    background: #fff;
    border-left: 6px solid #e32b12;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .10);
}

.ws-admin-login-card h2,
.ws-admin-hero h2 {
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    letter-spacing: 0;
}

.ws-admin-login-card form {
    display: grid;
    gap: 14px;
    margin-top: 26px;
}

.ws-admin-login-card label {
    font-weight: 800;
    color: #050505;
}

.ws-admin-login-card input[type="text"],
.ws-admin-login-card input[type="password"] {
    width: 100%;
    min-height: 52px;
    border: 1px solid #dedede;
    padding: 0 16px;
    font-weight: 700;
}

.ws-admin-login-card input[type="submit"] {
    min-height: 52px;
    border: 0;
    background: #050505;
    color: #fff;
    font-weight: 900;
}

.ws-admin-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    padding: 34px;
    background: linear-gradient(135deg, #050505 0%, #1b1b1b 62%, #e32b12 180%);
    color: #fff;
}

.ws-admin-hero p {
    max-width: 720px;
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .78);
    font-weight: 600;
}

.ws-admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 30px;
}

.ws-admin-stats article {
    padding: 24px;
    background: #fff;
    border-bottom: 4px solid #050505;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .07);
}

.ws-admin-stats span,
.ws-admin-stats small {
    display: block;
    color: #686868;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 12px;
}

.ws-admin-stats strong {
    display: block;
    margin: 4px 0;
    color: #e32b12;
    font-size: 42px;
    line-height: 1;
    font-weight: 900;
}

.ws-admin-status-menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 24px;
    padding: 16px;
    background: #fff;
    border-left: 5px solid #e32b12;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .08);
}

.ws-admin-status-menu a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 12px 14px;
    background: #f8f8f8;
    color: #050505;
    border: 1px solid #ececec;
    text-decoration: none;
    font-weight: 900;
    transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}

.ws-admin-status-menu a:hover,
.ws-admin-status-menu a.is-active {
    background: #050505;
    color: #fff;
    border-color: #050505;
    transform: translateY(-2px);
}

.ws-admin-status-menu i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    background: #fff;
    color: #e32b12;
}

.ws-admin-status-menu span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ws-admin-status-menu strong {
    display: grid;
    place-items: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    background: #e32b12;
    color: #fff;
}

.ws-admin-list-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 18px;
    padding: 22px 26px;
    background: #050505;
    color: #fff;
}

.ws-admin-list-head span {
    display: block;
    color: #e32b12;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ws-admin-list-head h3 {
    margin: 4px 0 0;
    color: #fff;
    font-size: 26px;
    font-weight: 900;
}

.ws-admin-list-head p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-weight: 800;
}

.ws-admin-orders-page .ws-admin-hero {
    position: relative !important;
    overflow: hidden !important;
    align-items: center !important;
    min-height: 190px !important;
    padding: 42px 48px !important;
    background:
        linear-gradient(135deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .92) 48%, rgba(227, 43, 18, .36) 100%),
        linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px) !important;
    background-size: auto, 42px 42px, 42px 42px !important;
    border-left: 8px solid #e32b12 !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .18) !important;
}

.ws-admin-orders-page .ws-admin-hero::after {
    content: "" !important;
    position: absolute !important;
    right: -90px !important;
    top: -110px !important;
    width: 280px !important;
    height: 280px !important;
    border: 42px solid rgba(227, 43, 18, .22) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
}

.ws-admin-orders-page .ws-admin-hero > * {
    position: relative !important;
    z-index: 1 !important;
}

.ws-admin-orders-page .ws-admin-hero .ws-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding: 8px 12px !important;
    background: #e32b12 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

.ws-admin-orders-page .ws-admin-hero .ws-kicker::before {
    content: "" !important;
    width: 18px !important;
    height: 2px !important;
    background: #fff !important;
}

.ws-admin-orders-page .ws-admin-hero h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(38px, 5vw, 68px) !important;
    line-height: .94 !important;
    font-weight: 900 !important;
    text-shadow: 0 8px 26px rgba(0, 0, 0, .25) !important;
}

.ws-admin-orders-page .ws-admin-hero p {
    max-width: 760px !important;
    margin-top: 16px !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.ws-admin-orders-page .ws-admin-hero .ws-btn {
    background: #fff !important;
    color: #050505 !important;
    border: 0 !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .22) !important;
}

.ws-admin-orders-page .ws-admin-hero .ws-btn i,
.ws-admin-orders-page .ws-admin-hero .ws-btn i::before {
    color: #e32b12 !important;
}

.ws-admin-orders-page .ws-admin-hero .ws-btn:hover {
    background: #e32b12 !important;
    color: #fff !important;
}

.ws-product-spec-section {
    padding-top: 20px !important;
}

.ws-product-spec-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.ws-product-spec-grid article {
    min-height: 118px;
    padding: 22px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-left: 5px solid #e32b12;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .06);
}

.ws-product-spec-grid span {
    display: block;
    margin-bottom: 10px;
    color: #e32b12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ws-product-spec-grid strong {
    display: block;
    color: #050505;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.ws-detail-qty-field {
    display: grid !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    font-weight: 900 !important;
}

.ws-detail-qty-control {
    display: grid !important;
    grid-template-columns: 54px minmax(80px, 1fr) 54px !important;
    width: 100% !important;
    min-height: 54px !important;
    border: 1px solid #dcdcdc !important;
    background: #fff !important;
    overflow: hidden !important;
}

.ws-detail-qty-control input {
    width: 100% !important;
    height: 54px !important;
    border: 0 !important;
    border-left: 1px solid #e7e7e7 !important;
    border-right: 1px solid #e7e7e7 !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

.ws-detail-qty-control input::-webkit-outer-spin-button,
.ws-detail-qty-control input::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

.ws-detail-qty-btn {
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    height: 54px !important;
    border: 0 !important;
    background: #050505 !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background .2s ease, color .2s ease !important;
}

.ws-detail-qty-btn:hover {
    background: #e32b12 !important;
}

.ws-detail-qty-btn i,
.ws-detail-qty-btn i::before {
    color: #fff !important;
}

.ws-admin-order-list {
    display: grid;
    gap: 22px;
}

.ws-admin-order-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .08);
}

.ws-admin-order-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 28px;
    border-bottom: 1px solid #ececec;
}

.ws-admin-order-head span,
.ws-admin-order-form label,
.ws-admin-items h4,
.ws-admin-customer h4 {
    color: #e32b12;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ws-admin-order-head h3 {
    margin: 6px 0 4px;
    font-size: 24px;
    font-weight: 900;
}

.ws-admin-order-head p {
    margin: 0;
    color: #666;
    font-weight: 700;
}

.ws-admin-status {
    min-width: 170px;
    padding: 12px 16px;
    color: #fff;
    background: #050505;
    text-align: center;
    font-size: 13px;
    font-weight: 900;
}

.ws-status-pending_payment,
.ws-status-received {
    background: #e32b12;
}

.ws-status-delivered {
    background: #11824f;
}

.ws-status-cancelled {
    background: #707070;
}

.ws-admin-order-grid {
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(320px, 1.25fr) minmax(260px, .9fr);
    gap: 24px;
    padding: 28px;
}

.ws-admin-customer,
.ws-admin-items,
.ws-admin-order-form {
    padding: 22px;
    background: #fafafa;
    border: 1px solid #ededed;
}

.ws-admin-customer p {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    margin: 14px 0 0;
    color: #202020;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.ws-admin-customer i {
    color: #e32b12;
}

.ws-admin-items table {
    width: 100%;
    margin-top: 12px;
}

.ws-admin-items th,
.ws-admin-items td {
    padding: 10px 0;
    border-bottom: 1px solid #e6e6e6;
    font-weight: 800;
    text-align: left;
}

.ws-admin-items td:nth-child(2),
.ws-admin-items td:nth-child(3),
.ws-admin-items th:nth-child(2),
.ws-admin-items th:nth-child(3) {
    text-align: right;
}

.ws-admin-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 2px solid #050505;
}

.ws-admin-total span {
    color: #666;
    font-weight: 800;
}

.ws-admin-total strong {
    font-size: 24px;
    font-weight: 900;
}

.ws-admin-order-form {
    display: grid;
    gap: 14px;
}

.ws-admin-order-form select,
.ws-admin-order-form textarea {
    width: 100%;
    border: 1px solid #d8d8d8;
    background: #fff;
    color: #050505;
    font-weight: 800;
}

.ws-admin-order-form select {
    min-height: 48px;
    padding: 0 14px;
}

.ws-admin-order-form textarea {
    padding: 14px;
    resize: vertical;
}

.ws-admin-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0 28px 28px;
}

.ws-ticket-modal-panel {
    max-width: 980px !important;
    width: min(94vw, 980px) !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

.ws-ticket-modal-content {
    padding: 34px 38px 30px !important;
}

.ws-ticket-modal-content .ws-ticket {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ws-ticket-modal-content .ws-ticket-head {
    align-items: flex-start !important;
    gap: 18px !important;
    padding: 0 56px 22px 0 !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid #dfdfdf !important;
}

.ws-ticket-modal-panel .ws-ticket-modal-close {
    top: 18px !important;
    right: 18px !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 5 !important;
    box-shadow: 0 12px 28px rgba(227, 43, 18, .24) !important;
}

.ws-ticket-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid #ededed !important;
}

.ws-ticket-actions .ws-print-ticket {
    min-height: 48px !important;
    padding: 0 22px !important;
    background: #050505 !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .14) !important;
}

.ws-ticket-actions .ws-print-ticket i,
.ws-ticket-actions .ws-print-ticket i::before {
    color: #fff !important;
}

.ws-ticket-modal-content .ws-ticket-head span {
    display: block !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.ws-ticket-modal-content .ws-ticket-head h2 {
    margin: 4px 0 0 !important;
    color: #202020 !important;
    font-size: clamp(34px, 5vw, 48px) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.ws-ticket-modal-content .ws-ticket p {
    margin: 0 0 14px !important;
    color: #666 !important;
    font-weight: 800 !important;
}

.ws-ticket-modal-content .ws-ticket table {
    margin: 24px 0 14px !important;
    width: 100% !important;
}

.ws-ticket-modal-content .ws-ticket th,
.ws-ticket-modal-content .ws-ticket td {
    padding: 13px 12px !important;
    border-bottom: 1px solid #dedede !important;
    color: #050505 !important;
    font-weight: 900 !important;
}

.ws-ticket-modal-content .ws-ticket h3 {
    margin: 20px 0 0 !important;
    color: #555 !important;
    font-size: 26px !important;
    font-weight: 500 !important;
}

.ws-ticket-next-step {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-top: 34px !important;
    padding: 18px !important;
    background: linear-gradient(135deg, #050505 0%, #171717 70%, #34100b 100%) !important;
    box-shadow: 0 22px 52px rgba(0, 0, 0, .18) !important;
}

.ws-ticket-whatsapp {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 54px !important;
    padding: 0 22px !important;
    background: #e32b12 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.ws-ticket-whatsapp i,
.ws-ticket-whatsapp span {
    color: #fff !important;
}

.ws-ticket-whatsapp-countdown {
    display: grid !important;
    grid-template-columns: auto 56px auto !important;
    align-items: center !important;
    gap: 12px !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.ws-ticket-whatsapp-countdown strong {
    display: grid !important;
    place-items: center !important;
    width: 56px !important;
    height: 56px !important;
    background: #fff !important;
    color: #e32b12 !important;
    border: 3px solid #e32b12 !important;
    border-radius: 50% !important;
    font-size: 28px !important;
    line-height: 1 !important;
    box-shadow: 0 0 0 7px rgba(227, 43, 18, .22) !important;
}

.ws-ticket-whatsapp-countdown span,
.ws-ticket-whatsapp-countdown em {
    color: #fff !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: .04em !important;
}

@media (max-width: 1199px) {
    .ws-product-spec-grid,
    .ws-admin-status-menu,
    .ws-admin-order-grid,
    .ws-admin-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ws-admin-orders-page .ws-admin-hero {
        padding: 32px 22px !important;
    }

    .ws-admin-orders-page .ws-admin-hero .ws-btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .ws-ticket-modal-content {
        padding: 26px 18px 22px !important;
    }

    .ws-ticket-next-step {
        flex-direction: column !important;
        align-items: stretch !important;
        text-align: center !important;
    }

    .ws-ticket-whatsapp {
        width: 100% !important;
        white-space: normal !important;
    }

    .ws-ticket-actions {
        justify-content: stretch !important;
    }

    .ws-ticket-actions .ws-print-ticket {
        width: 100% !important;
    }

    .ws-ticket-whatsapp-countdown {
        justify-content: center !important;
    }

    .ws-admin-hero,
    .ws-admin-order-head,
    .ws-admin-order-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ws-admin-stats,
    .ws-admin-status-menu,
    .ws-product-spec-grid,
    .ws-admin-order-grid {
        grid-template-columns: 1fr;
    }

    .ws-admin-list-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ws-admin-login-card,
    .ws-admin-hero,
    .ws-admin-order-head,
    .ws-admin-order-grid,
    .ws-admin-order-actions {
        padding-left: 20px;
        padding-right: 20px;
    }
}
