/* ==========================================================================
   WOOCOMMERCE INDUSTRIAL OVERHAUL — TLTBOARD
   Aesthetics: Rugged Block, Tactical Dark, Orange Accents
   ========================================================================== */

/* 1. GLOBAL SHOP RESET & WRAPPER — Flex layout for sticky footer */
.woocommerce-page .wp-site-blocks {
    padding-top: 0 !important;
    background: var(--color-warm-brown, #38281F) !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

.woocommerce-page .wp-site-blocks>main {
    flex: 1 0 auto !important;
}

/* Extra breathing room for cart/checkout block content */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    padding-top: 60px !important;
}

/* Global link reset — remove underlines from nav/button/icon links */
.woocommerce-page a,
.woocommerce a {
    text-decoration: none !important;
}

/* Re-enable underline only for inline text links inside content areas */
.woocommerce .woocommerce-product-details__short-description a,
.woocommerce .woocommerce-Tabs-panel a,
.woocommerce .woocommerce-Reviews a:not(.button),
.woocommerce .product_meta a {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* ── MAIN WOOCOMMERCE PAGE CONTAINERS ── */
/* These pages use inline padding via the template, so we just normalise width here */
.woocommerce-page-main,
.woocommerce-cart-main,
.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-page main {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: clamp(16px, 4vw, 48px) !important;
    padding-right: clamp(16px, 4vw, 48px) !important;
}

.post-type-archive-product .woocommerce-page-main,
.tax-product_cat .woocommerce-page-main,
.woocommerce-shop .woocommerce-page-main {
    padding-bottom: 32px !important;
    margin-bottom: 0 !important;
}

/* ── RESPONSIVE: TABLET (≤ 1024px) ── */
@media (max-width: 1024px) {

    .woocommerce-page-main,
    .woocommerce-cart-main,
    .woocommerce-cart main,
    .woocommerce-checkout main,
    .woocommerce-page main {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* Cart block columns stack on tablet */
    .wc-block-cart__main-checkout {
        flex-direction: column !important;
    }

    /* Products grid: 2 cols on tablet */
    .woocommerce ul.products,
    .wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Cart sidebar full width on tablet */
    .wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ── DESKTOP & TABLET TWO-COLUMN LAYOUT (min-width: 769px) ── */
@media (min-width: 769px) {

    .wp-block-post-content>.wp-block-woocommerce-checkout,
    .wp-block-post-content>.wc-block-checkout,
    .wc-block-checkout,
    .wp-block-woocommerce-checkout,
    .wp-block-post-content>.wp-block-woocommerce-cart,
    .wp-block-post-content>.wc-block-cart,
    .wc-block-cart,
    .wp-block-woocommerce-cart {
        max-width: 1600px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wp-block-woocommerce-checkout {
        display: block !important;
    }

    .wc-block-checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 40px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .wc-block-checkout__form,
    .wc-block-checkout form,
    .wp-block-woocommerce-checkout form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .wc-block-checkout__sidebar,
    .wp-block-woocommerce-checkout__sidebar {
        order: -1 !important;
        /* Order summary at the top */
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 30px !important;
    }

    .wc-block-checkout__main,
    .wp-block-woocommerce-checkout__main {
        order: 1 !important;
        /* Forms/steps below order summary */
        width: 100% !important;
        max-width: 100% !important;
    }

    .wc-block-components-checkout-step {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ── RESPONSIVE: MOBILE (≤ 768px) ── */
@media (max-width: 768px) {

    .woocommerce-page-main,
    .woocommerce-cart-main,
    .woocommerce-cart main,
    .woocommerce-checkout main,
    .woocommerce-page main {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Products grid: single column on mobile */
    .woocommerce ul.products,
    .wc-block-grid__products {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* Cart title smaller on mobile */
    .page-title-cart,
    .woocommerce-products-header__title {
        font-size: clamp(2rem, 10vw, 3.5rem) !important;
    }

    /* Cart totals sidebar stacks below items on mobile */
    .wc-block-cart,
    .wc-block-cart__block-wrapper {
        flex-direction: column !important;
    }

    .wc-block-cart__main-checkout {
        flex-direction: column !important;
        gap: 32px !important;
    }

    .wc-block-cart__sidebar,
    .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
    }

    /* Checkout Layout Stacking and Re-ordering (Places Order Summary at the top) */
    .wp-block-woocommerce-checkout,
    .wp-block-woocommerce-cart {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    .wc-block-checkout,
    .wc-block-cart {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .wc-block-components-sidebar-layout {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    .wc-block-checkout__form,
    .wc-block-checkout form,
    .wp-block-woocommerce-checkout form {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .wc-block-checkout__sidebar,
    .wp-block-woocommerce-checkout__sidebar {
        order: -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 30px !important;
    }

    .wc-block-checkout__main,
    .wp-block-woocommerce-checkout__main {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Force half-width checkout input fields (like First Name / Last Name, City / Postal Code) to stack vertically on mobile */
    .wc-block-checkout .wc-block-components-address-form,
    .wc-block-checkout .wc-block-components-form,
    .wc-block-checkout .wc-block-components-form-row,
    .wc-block-checkout .wc-block-components-address-form__row,
    .wc-block-checkout .wc-block-components-address-form__row--half,
    .wc-block-checkout .wc-block-components-form-row--half,
    .wc-block-checkout .wc-block-components-checkout-step__contents {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
    }

    .wc-block-checkout .wc-block-components-form-row .wc-block-components-form-row--half,
    .wc-block-checkout .wc-block-components-address-form__row--half,
    .wc-block-checkout .wc-block-components-form-row--half-width,
    .wc-block-checkout .wc-block-components-form-row--half,
    .wc-block-checkout .wc-block-components-text-input,
    .wc-block-checkout .wc-block-components-combobox,
    .wc-block-checkout .wc-block-components-select-control {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Product card image: constrain height on mobile */
    .woocommerce ul.products li.product a img,
    .wc-block-grid__product-image img {
        max-height: 250px !important;
        object-fit: cover !important;
    }

    /* Proceed to checkout button full width on mobile */
    .wc-block-cart__submit-container,
    .wc-block-cart__submit {
        width: 100% !important;
    }

    /* Single Product Mobile Overrides */
    .woocommerce div.product .woocommerce-product-gallery {
        margin-bottom: 30px !important;
    }

    .woocommerce div.product .flex-control-thumbs {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
    }

    .woocommerce div.product .summary {
        padding: 40px 20px !important;
        background: #1C1917 !important;
    }

    .woocommerce div.product form.cart {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .woocommerce .quantity,
    .woocommerce .quantity .qty {
        width: 100% !important;
        height: 60px !important;
    }

    .woocommerce div.product form.cart .button {
        width: 100% !important;
        height: 60px !important;
        padding: 0 !important;
    }

    .woocommerce div.product .product_title {
        font-size: 2.5rem !important;
        text-align: center !important;
    }

    .woocommerce div.product .price {
        font-size: 2.2rem !important;
        text-align: center !important;
    }
}

/* Page Titles */
.woocommerce-products-header__title,
.woocommerce-product-details__short-description h2,
.wc-block-cart__title,
.wc-block-checkout__title {
    font-family: 'Special Gothic Expanded One', sans-serif !important;
    font-size: clamp(2.5rem, 8vw, 5rem) !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
    color: #FFFFFF !important;
    margin-bottom: 40px !important;
}

/* Shop page utility text — white for readability on orange/terracotta background */
.woocommerce-result-count,
.woocommerce-ordering label,
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a,
.woocommerce-archive-description,
.woocommerce-archive-description p {
    color: #FFFFFF !important;
}

/* Ordering dropdown — styled for orange background */
.woocommerce-ordering select {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #FFFFFF !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
}

/* 2. THE SHOP GRID — RUGGED CARDS */
.woocommerce ul.products,
.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important;
    gap: 30px !important;
    margin: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.wc-block-grid__products::before,
.wc-block-grid__products::after {
    display: none !important;
    /* Hide old floats */
}

/* Sale Badge — Tactical Rectangle */
.woocommerce span.onsale,
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge {
    background: linear-gradient(135deg, #D77C49 0%, #C8703F 100%) !important;
    color: #FFFFFF !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 0.65rem !important;
    line-height: 1 !important;
    min-height: auto !important;
    min-width: auto !important;
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    z-index: 10 !important;
    display: inline-block !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Base Product Card */
.woocommerce ul.products li.product,
li.product,
.wc-block-grid__product,
.wc-block-components-product {
    background: rgba(26, 22, 19, 0.8) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 3px solid rgba(220, 188, 163, 0.3) !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}

.woocommerce ul.products li.product:hover,
li.product:hover,
.wc-block-grid__product:hover,
.wc-block-components-product:hover {
    transform: translateY(-8px) !important;
    background: rgba(32, 28, 24, 0.95) !important;
    border-color: rgba(220, 188, 163, 0.4) !important;
    border-bottom-color: rgba(220, 188, 163, 1) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(220, 188, 163, 0.15) !important;
}

.woocommerce ul.products li.product a,
li.product a,
.wc-block-grid__product a,
.wc-block-components-product a {
    text-decoration: none !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    background: transparent !important;
}

/* Image Zoom & Blend Overlay */
.woocommerce ul.products li.product img,
li.product img,
.wc-block-grid__product .wc-block-grid__product-image img,
.wc-block-grid__product .wc-block-components-product-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.woocommerce ul.products li.product:hover img,
li.product:hover img,
.wc-block-grid__product:hover .wc-block-grid__product-image img,
.wc-block-grid__product:hover .wc-block-components-product-image img {
    transform: scale(1.04) !important;
}

/* Subtle Gradient overlay on image to blend into the card content - disabled to prevent fading out product details and title text */
.woocommerce ul.products li.product a::after,
li.product a::after,
.wc-block-grid__product a::after {
    display: none !important;
}

/* Product Title style */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
li.product .woocommerce-loop-product__title,
.wc-block-grid__product .wc-block-grid__product-title,
.wc-block-grid__product .wc-block-components-product-title {
    display: block !important;
    clear: both !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    padding: 20px 20px 6px !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
    transition: color 0.3s ease !important;
    line-height: 1.2 !important;
}

li.product:hover .woocommerce-loop-product__title {
    color: #FFFFFF !important;
}

/* Price style */
.woocommerce ul.products li.product .price,
li.product .price,
.wc-block-grid__product .wc-block-grid__product-price,
.wc-block-grid__product .wc-block-components-product-price,
.wc-block-components-product-price {
    display: flex !important;
    clear: both !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 8px !important;
    line-height: 1.4 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    font-size: 1.15rem !important;
    padding: 0 20px 20px !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi,
.wc-block-grid__product .wc-block-grid__product-price .amount,
.wc-block-grid__product .wc-block-components-product-price .amount,
.wc-block-components-product-price span,
.wc-block-components-product-price bdi {
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    font-size: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline !important;
    line-height: inherit !important;
}

/* Original (crossed-out) price */
.woocommerce ul.products li.product .price del,
li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
li.product .price del .woocommerce-Price-amount,
.wc-block-grid__product .wc-block-grid__product-price del,
.wc-block-grid__product .wc-block-components-product-price del,
.wc-block-components-product-price del,
.wc-block-components-product-price del span,
.wc-block-components-product-price del bdi,
.wc-block-components-product-price-value--compare-at,
.wc-block-components-product-price-value--compare-at span {
    color: rgba(255, 255, 255, 0.4) !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    text-decoration: line-through !important;
    display: inline-block !important;
    margin-right: 8px !important;
}

/* Sale price */
.woocommerce ul.products li.product .price ins,
li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
li.product .price ins .woocommerce-Price-amount,
.wc-block-grid__product .wc-block-grid__product-price ins,
.wc-block-grid__product .wc-block-components-product-price ins,
.wc-block-components-product-price ins,
.wc-block-components-product-price ins span,
.wc-block-components-product-price ins bdi,
.wc-block-components-product-price-value--active,
.wc-block-components-product-price-value--active span {
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
    text-decoration: none !important;
    display: inline-block !important;
    background: none !important;
}

/* Add to Cart / VIEW Button in Loop */
.woocommerce ul.products li.product .button,
li.product .button,
.wc-block-grid__product .wp-block-button__link {
    display: block !important;
    clear: both !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: rgba(18, 16, 14, 0.9) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(220, 188, 163, 0.25) !important;
    border-radius: 0 0 5px 5px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 16px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 0.8rem !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .button::before,
li.product .button::before,
.wc-block-grid__product .wp-block-button__link::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: #DCBCA3 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: -1 !important;
}

.woocommerce ul.products li.product .button:hover::before,
li.product .button:hover::before,
.wc-block-grid__product .wp-block-button__link:hover::before {
    opacity: 1 !important;
}

.woocommerce ul.products li.product:hover .button:hover,
li.product:hover .button:hover,
.woocommerce ul.products li.product .button:hover,
li.product .button:hover,
.wc-block-grid__product:hover .wp-block-button__link:hover,
.wc-block-grid__product .wp-block-button__link:hover {
    background: #DCBCA3 !important;
    color: #0F0E0D !important;
    border-color: #DCBCA3 !important;
    transform: none !important;
    box-shadow: 0 10px 20px rgba(220, 188, 163, 0.3) !important;
}

.woocommerce ul.products li.product:hover .button,
li.product:hover .button,
.wc-block-grid__product:hover .wp-block-button__link {
    border-color: rgba(220, 188, 163, 0.6) !important;
    color: #DCBCA3 !important;
}

/* 3. SINGLE PRODUCT PAGE — TACTICAL POWER */
.woocommerce div.product {
    display: block !important;
}

/* Fix product image disappearing if JS is deferred */
.woocommerce-product-gallery {
    opacity: 1 !important;
    margin-bottom: 60px !important;
    position: relative !important;
}

/* PhotoSwipe Lightbox Styling — Dune Industrial */
.pswp__bg {
    background: #0F0E0D !important;
    /* Pure theme dark */
    opacity: 0.98 !important;
}

.pswp__caption__center {
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #DCBCA3 !important;
    font-size: 0.8rem !important;
    text-align: center !important;
}

.pswp__counter {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
}

.pswp__ui--over-close .pswp__button--close {
    background-color: rgba(215, 124, 73, 0.8) !important;
    color: #000 !important;
    margin: 20px !important;
}

.woocommerce div.product .summary {
    margin-bottom: 80px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Reorder: title(1) → price(2) → add-to-cart(3) → description(4) → rest */
.woocommerce div.product .summary .product_title {
    order: 1 !important;
}

.woocommerce div.product .summary .price {
    order: 2 !important;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
    order: 3 !important;
}

.woocommerce div.product .summary .cart,
.woocommerce div.product .summary form.cart {
    order: 4 !important;
}

.woocommerce div.product .summary .product_meta {
    order: 5 !important;
}

.woocommerce div.product .summary .tlt-social-share {
    order: 6 !important;
}

/* Breadcrumbs — Tactical Minimalist */
.woocommerce-breadcrumb {
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #57534E !important;
    margin-bottom: 30px !important;
}

.woocommerce-breadcrumb a {
    color: #A8A29E !important;
    text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
    color: #DCBCA3 !important;
}

@media (min-width: 1024px) {
    .woocommerce div.product {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        max-width: 1600px !important;
        margin: 0 auto !important;
        gap: 0 !important;
        position: relative !important;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        flex: 1 !important;
        min-width: 0 !important;
        width: calc(100% - 580px) !important;
        margin-right: 60px !important;
        margin-bottom: 0 !important;
    }

    .woocommerce div.product .summary {
        width: 480px !important;
        flex: 0 0 480px !important;
        margin: 0 !important;
        background: rgba(28, 25, 23, 0.8) !important;
        backdrop-filter: blur(10px) !important;
        padding: 40px 30px !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5) !important;
        position: sticky !important;
        top: 120px !important;
        z-index: 10 !important;
    }

    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .wc-tabs-wrapper,
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products {
        flex: 0 0 100% !important;
        width: 100% !important;
        margin-top: 80px !important;
        display: block !important;
        clear: both !important;
    }

    .woocommerce div.product span.onsale {
        position: absolute !important;
        top: 30px !important;
        left: 30px !important;
        z-index: 50 !important;
    }
}




/* ── TABLET & SMALL SCREEN REFINEMENT (Below 1024px) ── */
@media (max-width: 1023px) {
    .woocommerce div.product {
        display: flex !important;
        flex-direction: column !important;
        gap: 40px !important;
        padding: 20px 0 !important;
    }

    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin: 0 !important;
    }

    .woocommerce div.product .summary {
        padding: 30px 16px !important;
        background: #1C1917 !important;
        box-shadow: none !important;
        border: none !important;
    }

    .woocommerce div.product .product_title {
        font-size: clamp(1.8rem, 10vw, 2.8rem) !important;
        line-height: 1 !important;
        margin-bottom: 20px !important;
        text-align: center !important;
    }
}




.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery .slides,
.woocommerce-product-gallery .slides li,
.woocommerce-product-gallery__image {
    width: 100% !important;
}

.woocommerce-product-gallery img,
.woocommerce-product-gallery video {
    max-height: 75vh !important;
    width: 100% !important;
    object-fit: cover !important;
}

.woocommerce div.product div.images img {
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.woocommerce div.product .product_title {
    font-family: 'Special Gothic Expanded One', sans-serif !important;
    font-size: clamp(2.5rem, 5vw, 2.5rem) !important;
    line-height: 1 !important;
    color: #FFFFFF !important;
    margin-bottom: 16px !important;
    letter-spacing: -0.02em !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

.woocommerce div.product .price {
    font-family: 'Inter', sans-serif !important;
    color: #DCBCA3 !important;
    font-weight: 950 !important;
    font-size: 2.8rem !important;
    letter-spacing: -0.01em !important;
    display: block !important;
    margin-bottom: 20px !important;
}

.woocommerce div.product .price ins {
    text-decoration: none !important;
}

.woocommerce div.product .price del {
    font-size: 1.25rem !important;
    opacity: 0.15 !important;
    margin-right: 15px !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: #D6D3D1 !important;
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    margin: 24px 0 !important;
    border-left: 3px solid #D77C49 !important;
    padding-left: 25px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Quantity Adjuster */
.woocommerce .quantity {
    display: inline-flex !important;
    margin-right: 15px !important;
}

.woocommerce .quantity .qty {
    height: 72px !important;
    width: 90px !important;
    background: #000000 !important;
    border: 1px solid #333333 !important;
    color: #FFFFFF !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    font-size: 1.4rem !important;
    text-align: center !important;
    border-radius: 0 !important;
    outline: none !important;
}

.woocommerce .quantity .qty:focus {
    border-color: #D77C49 !important;
}

/* Single Add to Cart Button */
.woocommerce div.product form.cart .button {
    height: 72px !important;
    background: linear-gradient(135deg, rgba(215, 124, 73, 0.95) 0%, rgba(200, 112, 63, 0.85) 100%) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 4px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    padding: 0 40px !important;
    /* Refined padding */
    font-size: 1.1rem !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    flex: 1 !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    margin: 0 !important;
    text-decoration: none !important;
}

.woocommerce div.product form.cart .button::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(221, 124, 73, 1) 0%, rgba(215, 124, 73, 0.95) 100%) !important;
    opacity: 0;
    transition: opacity 0.4s ease !important;
    z-index: -1 !important;
}

.woocommerce div.product form.cart .button:hover::before {
    opacity: 1 !important;
}

.woocommerce div.product form.cart .button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

.woocommerce div.product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    /* Strict Left Alignment */
    gap: 15px !important;
    width: 100% !important;
    margin: 24px 0 32px !important;
    padding: 0 !important;
}

/* Gallery Thumbnails (Flexslider + Legacy) */
.woocommerce div.product .thumbnails,
.woocommerce div.product .flex-control-thumbs {
    margin: 30px 0 0 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 15px !important;
    width: 100% !important;
}

.woocommerce div.product .flex-control-thumbs li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.woocommerce div.product .thumbnails a,
.woocommerce div.product .flex-control-thumbs img {
    border: 1px solid #292524 !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    cursor: pointer !important;
    opacity: 0.5 !important;
    width: 100% !important;
    /* Force full width regardless of natural size */
    height: auto !important;
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
    display: block !important;
}


.woocommerce div.product .thumbnails a:hover,
.woocommerce div.product .flex-control-thumbs img:hover,
.woocommerce div.product .flex-control-thumbs img.flex-active {
    border-color: #D77C49 !important;
    opacity: 1 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
}

/* FlexSlider Navigation Dots (Tactical Squares) */
.woocommerce-product-gallery .flex-control-nav {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 20px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-product-gallery .flex-control-nav li {
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-nav a {
    width: 10px !important;
    height: 10px !important;
    background: #292524 !important;
    border-radius: 0 !important;
    /* Sharp squares */
    display: block !important;
    text-indent: -9999px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-product-gallery .flex-control-nav a.flex-active {
    background: #D77C49 !important;
    transform: scale(1.3) !important;
}

/* Better Carousel Arrows */
.woocommerce-product-gallery .flex-direction-nav {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-direction-nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(28, 25, 23, 0.8) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce-product-gallery .flex-direction-nav a:hover {
    background: #D77C49 !important;
    color: #000 !important;
}

/* Video Handling in Carousel */
.woocommerce-product-gallery .flex-viewport video {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
    background: #000 !important;
}

/* Meta & Technical Specs Table */
.woocommerce-product-details__short-description {
    border-bottom: 1px solid #333333 !important;
    padding-bottom: 40px !important;
}

.product_meta {
    margin-top: 32px !important;
    padding-top: 40px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #FFFFFF !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.product_meta span {
    display: block !important;
}

.product_meta a {
    color: #DCBCA3 !important;
    text-decoration: none !important;
}

/* Attributes Table (Technical Specs Tab) */
.woocommerce table.shop_attributes {
    border: none !important;
}

.woocommerce-Tabs-panel h2 {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #FFFFFF !important;
    margin-bottom: 50px !important;
}

@media (max-width: 768px) {
    .woocommerce-Tabs-panel h2 {
        font-size: 2rem !important;
        margin-bottom: 30px !important;
    }
}

.woocommerce table.shop_attributes {
    border: none !important;
    background: transparent !important;
    margin-bottom: 40px !important;
}

.woocommerce table.shop_attributes th {
    background: transparent !important;
    color: #FFFFFF !important;
    text-transform: uppercase !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    letter-spacing: 2px !important;
    border: none !important;
    border-bottom: 1px solid #292524 !important;
    padding: 30px 0 !important;
    width: 280px !important;
    text-align: left !important;
}

.woocommerce table.shop_attributes td {
    background: transparent !important;
    color: #A8A29E !important;
    font-style: normal !important;
    border: none !important;
    border-bottom: 1px solid #292524 !important;
    padding: 30px 0 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    /* Notch for tech specs */
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-align: right !important;
    letter-spacing: 1px !important;
}

@media (max-width: 768px) {
    .woocommerce table.shop_attributes th {
        width: 140px !important;
        font-size: 0.75rem !important;
        padding: 25px 0 !important;
    }

    .woocommerce table.shop_attributes td {
        font-size: 0.85rem !important;
        padding: 25px 0 !important;
    }
}

/* Star Ratings — Tactical Yellow Overhaul */
.woocommerce .star-rating {
    color: #FACC15 !important;
    font-size: 1.15rem !important;
    margin-bottom: 20px !important;
}

.woocommerce .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link {
    color: #A8A29E !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link:hover {
    color: #DCBCA3 !important;
}

/* 4. TABS — TECHNICAL SPECS */
.woocommerce-tabs {
    margin-top: 80px !important;
    border-top: 1px solid #333333 !important;
}

.woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    border: none !important;
    background: transparent !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 25px 50px 25px 0 !important;
    margin: 0 !important;
    position: relative !important;
}

@media (max-width: 768px) {
    .woocommerce-tabs {
        margin-top: 60px !important;
    }

    .woocommerce-tabs ul.tabs {
        flex-direction: column !important;
        gap: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .woocommerce-tabs ul.tabs li {
        width: 100% !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .woocommerce-tabs ul.tabs li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 24px 0 !important;
        font-size: 0.9rem !important;
        letter-spacing: 2px !important;
        color: #A8A29E !important;
        transition: all 0.3s ease !important;
    }

    .woocommerce-tabs ul.tabs li.active a {
        color: #DCBCA3 !important;
    }

    /* Add a small arrow indicator for mobile tabs for better UX */
    .woocommerce-tabs ul.tabs li a::after {
        content: '+' !important;
        font-size: 1.2rem !important;
        font-family: 'Inter', sans-serif !important;
        font-weight: 300 !important;
        color: inherit !important;
        transition: transform 0.3s ease !important;
    }

    .woocommerce-tabs ul.tabs li.active a::after {
        content: '−' !important;
        color: #DCBCA3 !important;
    }
}

.woocommerce-tabs ul.tabs li a {
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;
    color: #57534E !important;
    padding: 0 !important;
}

.woocommerce-tabs ul.tabs li.active a {
    color: #DCBCA3 !important;
}

.woocommerce-Tabs-panel {
    padding: 40px 0 !important;
    color: #A8A29E !important;
    line-height: 1.8 !important;
}

/* 5. CART & CHECKOUT — INDUSTRIAL MANIFEST */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

/* ── EMPTY CART PAGE — COMPLETE OVERHAUL ── */

/* Cart page title "Cart" — center it and tone it down */
.woocommerce-cart .wp-block-post-title,
.page-title-cart {
    text-align: center !important;
    font-family: 'Special Gothic Expanded One', sans-serif !important;
    font-size: clamp(2.5rem, 6vw, 4rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #FFFFFF !important;
    margin: 8vh auto 40px !important;
}

/* Root cart container — clean block flow */
.wp-block-woocommerce-cart {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Empty cart block container */
.wp-block-woocommerce-empty-cart-block {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
}

/* ── KILL THE SAD FACE ICON ── */
.wc-block-cart__empty-cart__title::before,
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.cart-empty::before,
.woocommerce-product-gallery__trigger::before,
.wp-block-search__button::before,
.nav-cart-link[aria-label="Search"]::before {
    content: none !important;
    display: none !important;
}

/* ── EMPTY CART TITLE: "Your cart is currently empty!" ── */
.wc-block-cart__empty-cart__title,
.cart-empty {
    font-family: 'Special Gothic Expanded One', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #FFFFFF !important;
    /* Solid white for visibility */
    text-align: center !important;
    margin: 0 auto 20px !important;
    line-height: 1.1 !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    max-width: 800px !important;
}

/* Supplemental empty cart text — make it the focus */
.wc-block-cart__empty-cart__title::after {
    content: 'CHOOSE YOUR BOARD TO BEGIN' !important;
    display: block !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 900 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: #DCBCA3 !important;
    margin-top: 40px !important;
    opacity: 1 !important;
}

/* Hide separator dots and other debris */
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block hr,
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
    display: none !important;
    visibility: hidden !important;
    opacity: 0;
}

/* Hide ONLY the cross-sell "New in Store" heading and grid */
.wp-block-woocommerce-empty-cart-block .wp-block-heading,
.wc-block-components-cross-sells-title,
.cross-sells h2 {
    display: none !important;
}

/* Hide the cross-sell product grid */
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
ul.wc-block-grid__products,
.wc-block-components-cross-sells {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Lock Home Page Hero to top of viewport */
.home main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}



/* ═══════════════════════════════════════════
   ANIMATED EMPTY CART STATE — TLTBOARD INDUSTRIAL
   ══════════════════════════════════════════ */

@keyframes tlt-cart-float {
    0% {
        transform: translateY(0px) rotate(-3deg);
    }

    50% {
        transform: translateY(-18px) rotate(3deg);
    }

    100% {
        transform: translateY(0px) rotate(-3deg);
    }
}

@keyframes tlt-ring-pulse {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }

    50% {
        transform: scale(1.15);
        opacity: 0.15;
    }

    100% {
        transform: scale(1);
        opacity: 0.6;
    }
}

@keyframes tlt-ring-pulse-outer {
    0% {
        transform: scale(1);
        opacity: 0.3;
    }

    50% {
        transform: scale(1.3);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 0.3;
    }
}

@keyframes tlt-fade-up {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tlt-scan {
    0% {
        top: 0;
        opacity: 0.8;
    }

    100% {
        top: 100%;
        opacity: 0;
    }
}

@keyframes tlt-glow {
    0% {
        box-shadow: 0 0 20px rgba(215, 124, 73, 0.2), 0 0 60px rgba(215, 124, 73, 0.05);
    }

    50% {
        box-shadow: 0 0 60px rgba(215, 124, 73, 0.4), 0 0 120px rgba(215, 124, 73, 0.15);
    }

    100% {
        box-shadow: 0 0 20px rgba(215, 124, 73, 0.2), 0 0 60px rgba(215, 124, 73, 0.05);
    }
}

/* ── CUSTOM EMPTY CART OVERLAY (injected by JS) ── */
.tlt-empty-cart-overlay {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 55vh !important;
    padding: 60px 20px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.tlt-empty-cart-overlay::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image:
        linear-gradient(rgba(215, 124, 73, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(215, 124, 73, 0.035) 1px, transparent 1px) !important;
    background-size: 60px 60px !important;
    pointer-events: none !important;
}

.tlt-empty-cart-icon-wrap {
    position: relative !important;
    width: 140px !important;
    height: 140px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 50px !important;
    animation: tlt-cart-float 3.5s ease-in-out infinite !important;
}

.tlt-empty-cart-icon-wrap::before {
    content: '' !important;
    position: absolute !important;
    inset: -22px !important;
    border: 2px solid rgba(215, 124, 73, 0.5) !important;
    border-radius: 50% !important;
    animation: tlt-ring-pulse 2.5s ease-in-out infinite !important;
}

.tlt-empty-cart-icon-wrap::after {
    content: '' !important;
    position: absolute !important;
    inset: -50px !important;
    border: 1px solid rgba(215, 124, 73, 0.2) !important;
    border-radius: 50% !important;
    animation: tlt-ring-pulse-outer 2.5s ease-in-out infinite 0.4s !important;
}

.tlt-empty-cart-icon-bg {
    width: 140px !important;
    height: 140px !important;
    background: rgba(28, 25, 23, 0.95) !important;
    border: 2px solid #D77C49 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    animation: tlt-glow 3s ease-in-out infinite !important;
}

.tlt-empty-cart-icon-bg::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, rgba(215, 124, 73, 0.9), transparent) !important;
    animation: tlt-scan 2s linear infinite !important;
}

.tlt-empty-cart-icon-bg svg {
    width: 58px !important;
    height: 58px !important;
    stroke: #D77C49 !important;
    position: relative !important;
    z-index: 2 !important;
    fill: none !important;
}

.tlt-empty-cart-headline {
    font-family: 'Special Gothic Expanded One', sans-serif !important;
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    letter-spacing: -0.02em !important;
    line-height: 0.95 !important;
    margin-bottom: 20px !important;
    opacity: 0;
    animation: tlt-fade-up 0.7s ease 0.2s forwards !important;
}

.tlt-empty-cart-headline span {
    color: #DCBCA3 !important;
}

.tlt-empty-cart-sub {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: #E7E5E4 !important;
    margin-bottom: 50px !important;
    opacity: 0;
    animation: tlt-fade-up 0.7s ease 0.45s forwards !important;
}

.tlt-empty-cart-cta {
    display: inline-block !important;
    background: #D77C49 !important;
    color: #000000 !important;
    padding: 22px 64px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
    box-shadow: 0 15px 40px rgba(215, 124, 73, 0.35) !important;
    opacity: 0;
    animation: tlt-fade-up 0.7s ease 0.7s forwards !important;
    position: relative !important;
    overflow: hidden !important;
}

.tlt-empty-cart-cta::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: #FFFFFF !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
    z-index: 0 !important;
}

.tlt-empty-cart-cta:hover::before {
    transform: scaleX(1) !important;
}

.tlt-empty-cart-cta:hover {
    color: #000000 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 60px rgba(255, 255, 255, 0.15) !important;
}

.tlt-empty-cart-cta .tlt-cta-text {
    position: relative !important;
    z-index: 1 !important;
}


/* Override WooCommerce has-X-columns flex constraints */
.wc-block-grid.has-4-columns .wc-block-grid__products,
.wc-block-grid.has-3-columns .wc-block-grid__products,
.wc-block-grid.has-2-columns .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)) !important;
    gap: 30px !important;
    margin: 0 !important;
}

.wc-block-grid.has-4-columns .wc-block-grid__product,
.wc-block-grid.has-3-columns .wc-block-grid__product,
.wc-block-grid.has-2-columns .wc-block-grid__product {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
    border: none !important;
    font-size: 1rem !important;
}


.wc-empty-cart-message::after {
    display: none !important;
}

.return-to-shop {
    text-align: center !important;
    margin-bottom: 100px !important;
}

.return-to-shop .button.wc-backward {
    background: #D77C49 !important;
    color: #000000 !important;
    padding: 24px 60px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    border-radius: 0 !important;
    font-size: 1.1rem !important;
    display: inline-block !important;
    border: none !important;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
    box-shadow: 0 15px 40px rgba(215, 124, 73, 0.3) !important;
}

.return-to-shop .button.wc-backward:hover {
    background: #FFFFFF !important;
    color: #000000 !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 50px rgba(255, 255, 255, 0.2) !important;
}

/* Cart Table Wrapper */
.woocommerce-cart-form {
    background: rgba(28, 25, 23, 0.8) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 40px !important;
    margin-bottom: 60px !important;
}

.woocommerce table.shop_table {
    border: none !important;
    background: transparent !important;
}

.woocommerce table.shop_table thead th {
    background: #000000 !important;
    color: #DCBCA3 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 20px !important;
    border: none !important;
}

.woocommerce table.shop_table td {
    padding: 30px 20px !important;
    border-bottom: 1px solid #333333 !important;
    color: #FFFFFF !important;
}

.woocommerce-cart-form__contents .product-name a {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

.woocommerce-cart-form__contents .product-name a:hover {
    color: #DCBCA3 !important;
}

/* Cart Images */
.woocommerce table.shop_table .product-thumbnail img {
    border: 1px solid #333333 !important;
    border-bottom: 2px solid #D77C49 !important;
    border-radius: 0 !important;
}

/* Cart Remove Button */
.woocommerce table.shop_table .product-remove a.remove {
    color: #ef4444 !important;
    font-weight: 900 !important;
    font-size: 1.5rem !important;
    text-decoration: none !important;
    line-height: 1 !important;
    transition: color 0.3s ease !important;
}

.woocommerce table.shop_table .product-remove a.remove:hover {
    color: #dc2626 !important;
    background: transparent !important;
}

/* Cart Totals */
.cart_totals {
    background: rgba(28, 25, 23, 0.8) !important;
    backdrop-filter: blur(10px) !important;
    padding: 40px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-top: 4px solid #D77C49 !important;
}

.cart_totals h2 {
    font-family: 'Stack Sans Notch', sans-serif !important;
    color: #FFFFFF !important;
    text-transform: uppercase !important;
    margin-bottom: 30px !important;
}

/* Coupon Blocks CSS (Fixed Double Border Glitch) */
.wc-block-components-totals-coupon,
.wc-block-components-totals-discount,
.wc-block-components-panel__content {
    border: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.wc-block-components-toggle-discount-container,
.wc-block-components-totals-coupon__content {
    margin-top: 20px !important;
}

.wc-block-components-totals-coupon__form {
    display: flex !important;
    flex-direction: row !important;
    gap: 15px !important;
    align-items: flex-end !important;
    /* Fix: Align button to the bottom of the input, not the whole wrapper */
    margin-bottom: 30px !important;
}

/* Override WooCommerce's internal wrapper border styles */
.wc-block-components-text-input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
    flex-grow: 1 !important;
    /* Allow input area to fill space */
}

.wc-block-cart input[type="text"],
.wc-block-components-text-input input.wc-block-components-text-input__input {
    background: #1C1917 !important;
    border: 1px solid #333333 !important;
    color: #FFFFFF !important;
    padding: 0 18px !important;
    /* Balanced padding for vertical centering */
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    transition: border-color 0.3s ease !important;
    height: 55px !important;
    /* Fixed height for absolute alignment */
    box-sizing: border-box !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    line-height: normal !important;
    margin: 0 !important;
}

.wc-block-components-text-input label,
.wc-block-components-text-input label.wc-block-components-text-input__label {
    position: static !important;
    color: #A8A29E !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.75rem !important;
    transform: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
}

.wc-block-cart input[type="text"]:focus,
.wc-block-components-text-input input.wc-block-components-text-input__input:focus {
    border-color: #D77C49 !important;
    outline: none !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
}

.wc-block-components-totals-coupon__button {
    background: #000000 !important;
    color: #FFFFFF !important;
    border-radius: 0 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 0 25px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    height: 55px !important;
    /* Fixed height to match input */
    margin: 0 !important;
    box-sizing: border-box !important;
    font-size: 0.75rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wc-block-components-totals-coupon__button:hover {
    background: #D77C49 !important;
    border-color: #D77C49 !important;
    color: #000000 !important;
}

/* Proceed to Checkout / Main Form Submits (Strictly Orange Priority) */
.wc-proceed-to-checkout .button.checkout-button,
html body .wc-block-components-button.wc-block-cart__submit-button,
html body .woocommerce-cart .wc-block-cart .components-button.wc-block-cart__submit-button,
html body .wc-block-cart .wc-block-cart__submit-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    background: #D77C49 !important;
    /* Forced Orange Default */
    color: #000000 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 1.1rem !important;
    height: 70px !important;
    line-height: 70px !important;
    padding: 0 !important;
    text-align: center !important;
    border-radius: 0 !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    background: rgba(26, 22, 19, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 3px solid rgba(220, 188, 163, 0.3) !important;
    border-radius: 8px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
    overflow: hidden !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

/* 2.0 BREADCRUMBS & META */
.woocommerce-breadcrumb {
    margin-bottom: 35px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #57534E !important;
}

.woocommerce-breadcrumb a {
    color: #57534E !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.woocommerce-breadcrumb a:hover {
    color: #DCBCA3 !important;
}

/* 2.1 PRODUCT ARCHIVE SORTING & FILTERS */
.woocommerce-products-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 50px !important;
    position: relative !important;
    z-index: 10 !important;
}

.woocommerce-result-count {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.8rem !important;
    color: #A8A29E !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
    line-height: normal !important;
}

.tlt-shop-controls-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 32px !important;
    width: 100% !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    clear: both !important;
}

.woocommerce-ordering {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.woocommerce-ordering select,
.woocommerce-ordering select.orderby {
    background: #0C0A09 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23EA580C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'%3E%3C/path%3E%3C/svg%3E") no-repeat right 16px center !important;
    background-size: 14px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    border: 1px solid #292524 !important;
    color: #FFFFFF !important;
    padding: 16px 44px 16px 20px !important;
    /* Embolden padding for cleaner look */
    border-radius: 0 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    outline: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    width: 260px !important;
    /* Refined width */
    line-height: normal !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Base states */
.woocommerce-ordering select:hover {
    border-color: #44403C !important;
    background-color: #171717 !important;
}

.woocommerce-ordering select:focus {
    border-color: #D77C49 !important;
    background-color: #111111 !important;
    box-shadow: 0 0 0 1px #D77C49 !important;
}

/* Dropdown menu items */
.woocommerce-ordering select option {
    background: #0C0A09 !important;
    color: #FFFFFF !important;
    padding: 12px !important;
}

/* Mobile overrides */
@media (max-width: 768px) {
    .woocommerce-products-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        border-bottom: 1px solid #1C1917 !important;
        padding-bottom: 30px !important;
        margin-bottom: 40px !important;
    }

    .woocommerce-result-count {
        margin-bottom: 15px !important;
    }

    .woocommerce-ordering {
        margin: 0 0 40px !important;
        width: 100% !important;
        display: flex !important;
    }

    .woocommerce-ordering select,
    .woocommerce-ordering select.orderby {
        flex: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 18px 40px 18px 20px !important;
        /* Solidify vertical alignment on smaller screens */
        font-size: 0.85rem !important;
    }
}



html body .wc-proceed-to-checkout .button.checkout-button:hover,
html body .wc-block-components-button.wc-block-cart__submit-button:hover,
html body .woocommerce-cart .wc-block-cart .components-button.wc-block-cart__submit-button:hover,
html body .wc-block-cart .wc-block-cart__submit-button:hover {
    background: #FFFFFF !important;
    color: #000000 !important;
}

/* Block Cart Remove Button (Red Text Link) */
.wc-block-cart-item__remove-link,
.wc-block-components-product-details__remove,
.wc-block-components-product-details button.wc-block-components-product-details__remove {
    display: inline-block !important;
    background: transparent !important;
    color: #ef4444 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.75rem !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    text-decoration: underline !important;
    transition: color 0.3s ease !important;
    margin-top: 15px !important;
    cursor: pointer !important;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-components-product-details button.wc-block-components-product-details__remove:hover {
    background: transparent !important;
    color: #dc2626 !important;
}

/* Checkout Form Inputs */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout select,
.woocommerce-cart input.input-text,
.woocommerce-cart select {
    background: #000000 !important;
    border: 1px solid #333333 !important;
    color: #FFFFFF !important;
    padding: 18px !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-cart input.input-text:focus {
    border-color: #D77C49 !important;
    outline: none !important;
}

/* Shop Buttons (Checkout/Login) */
.woocommerce .button.alt,
.woocommerce-page .button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: #D77C49 !important;
    color: #000000 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: 0 !important;
}

/* Messages & Notices - Centered Obsidian Industrial Styling */
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
div.woocommerce-error,
div.woocommerce-info,
div.woocommerce-message,
ul.woocommerce-error {
    max-width: 1100px !important;
    margin: 40px auto 40px auto !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
}

ul.woocommerce-error,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.wc-block-components-notice,
.wc-block-components-notice-banner {
    background: #0F0E0D !important;
    border: 1px solid rgba(215, 124, 73, 0.3) !important;
    border-left: 4px solid #EF4444 !important;
    color: #FFFFFF !important;
    font-family: 'Stack Sans Notch', 'Inter', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    padding: 10px 18px !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
    list-style: none !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 46px !important;
}

ul.woocommerce-error li,
.woocommerce-error li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
    color: #FFFFFF !important;
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
    background: #D77C49 !important;
    color: #FFFFFF !important;
    border-radius: 2px !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    padding: 10px 20px !important;
}

.woocommerce-page .button.alt:hover {
    background-color: #FFFFFF !important;
    color: #000000 !important;
}

/* Messages & Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: #000000 !important;
    border-top: 4px solid #D77C49 !important;
    color: #FFFFFF !important;
    padding: 30px !important;
    border-radius: 0 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
}

.woocommerce-message .button {
    background: #D77C49 !important;
    color: #000000 !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
}

/* 7. UPSELLS & RELATED PRODUCTS */
.related.products h2,
.upsells.products h2 {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #FFFFFF !important;
    margin-bottom: 50px !important;
    border-top: 1px solid #292524 !important;
    padding-top: 80px !important;
}

@media (max-width: 768px) {

    .related.products h2,
    .upsells.products h2 {
        font-size: 1.6rem !important;
        padding-top: 60px !important;
    }
}

/* 8. REVIEWS & COMMENTS — TACTICAL FORM */
.woocommerce-Reviews-title,
#reviews h2 {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 2.22rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #FFFFFF !important;
    margin-bottom: 50px !important;
    display: block !important;
}

.woocommerce #reviews #comments ol.commentlist {
    padding: 0 !important;
    margin-bottom: 50px !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
    padding: 30px !important;
    background: #1C1917 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 0 !important;
    margin-bottom: 20px !important;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    border: 2px solid #D77C49 !important;
    border-radius: 0 !important;
    padding: 2px !important;
    background: #000 !important;
}

/* Review Form Panel */
#review_form_wrapper {
    background: #000000 !important;
    padding: 40px !important;
    border: 1px solid #333333 !important;
    margin-top: 40px !important;
}

#review_form_wrapper .comment-reply-title {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #FFFFFF !important;
    margin-bottom: 30px !important;
    display: block !important;
}

#review_form_wrapper .comment-form-rating label,
#review_form_wrapper label {
    display: block !important;
    color: #A8A29E !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.85rem !important;
    margin-bottom: 10px !important;
}

/* Review Form Interaction Stars (Tactical Yellow & Animated) */
.woocommerce #review_form #respond p.stars {
    margin-bottom: 30px !important;
}

.woocommerce #review_form #respond p.stars a {
    color: #FACC15 !important;
    font-size: 1.8rem !important;
    margin-right: 12px !important;
    text-decoration: none !important;
    border: none !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: inline-block !important;
    position: relative;
    box-shadow: none !important;
}

/* Strict underline removal */
.woocommerce #review_form #respond p.stars a:hover,
.woocommerce #review_form #respond p.stars a:focus,
.woocommerce #review_form #respond p.stars a:active {
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
}

/* Animation trail logic */
.woocommerce #review_form #respond p.stars:hover a {
    opacity: 0.4 !important;
}

.woocommerce #review_form #respond p.stars a:hover {
    transform: scale(1.4) !important;
    opacity: 1 !important;
    text-shadow: 0 0 15px rgba(250, 204, 21, 0.4) !important;
}

/* Highlight previous stars */
.woocommerce #review_form #respond p.stars a:hover~a {
    opacity: 0.4 !important;
}

/* Persist selection color */
.woocommerce #review_form #respond p.stars.selected a.active {
    opacity: 1 !important;
}

.woocommerce #review_form #respond p.stars.selected a.active~a {
    opacity: 0.4 !important;
}

#review_form_wrapper .stars {
    margin-bottom: 25px !important;
}

.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce #review_form #respond textarea,
#respond textarea {
    background: #1C1917 !important;
    border: 1px solid #333333 !important;
    color: #FFFFFF !important;
    padding: 18px !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    margin-bottom: 20px !important;
    transition: border-color 0.3s ease !important;
}

.woocommerce #review_form #respond input:focus,
.woocommerce #review_form #respond textarea:focus,
#respond textarea:focus {
    border-color: #D77C49 !important;
    outline: none !important;
}

.woocommerce #review_form #respond .form-submit input.submit,
#respond input[type="submit"] {
    height: 60px !important;
    background: #D77C49 !important;
    color: #000000 !important;
    border-radius: 0 !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    padding: 0 40px !important;
    font-size: 1rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.woocommerce #review_form #respond .form-submit input.submit:hover,
#respond input[type="submit"]:hover {
    background: #FFFFFF !important;
}

/* 9. NAVBAR CART — TACTICAL SYNC */
.nav-cart-link {
    display: flex;
    /* Default to flex, visibility controlled by PHP/JS if needed */
    align-items: center;
    gap: 8px;
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--font-ui) !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    position: relative;
    transition: all 0.3s ease;
}

.nav-cart-link:hover {
    color: #DCBCA3 !important;
}

.nav-cart-link span.cart-count {
    background: #D77C49 !important;
    color: #000 !important;
    padding: 0 6px !important;
    min-width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    font-size: 0.7rem !important;
    font-weight: 950 !important;
    font-family: var(--font-ui) !important;
}

/* Mobile Nav Cart Override */
.mobile-menu-link.nav-cart-link {
    display: flex;
    padding: 24px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.mobile-menu-link.nav-cart-link span.cart-count {
    margin-left: 10px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 12px !important;
    font-size: 0.8rem !important;
}

/* 10. MOBILE HEADER FIX — Ensuring cart visibility */
@media (max-width: 991px) {
    .mobile-header-actions {
        display: flex !important;
        align-items: center !important;
    }

    #desktop-nav-container {
        display: none !important;
    }

    .mobile-header-cart {
        display: flex !important;
    }
}

@media (min-width: 992px) {
    .mobile-header-actions {
        display: none !important;
    }
}

/* 11. WOOCOMMERCE BLOCKS (CART & CHECKOUT) — OVERHAUL */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wc-block-checkout,
.wc-block-cart {
    background: transparent !important;
    color: #E7E5E4 !important;
    font-family: var(--font-body) !important;
}

/* Enforce border-box globally across all checkout and cart blocks to prevent horizontal overflows */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-checkout *,
.wc-block-checkout,
.wc-block-checkout *,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-cart *,
.wc-block-cart,
.wc-block-cart * {
    box-sizing: border-box !important;
}

/* Section Containers */
.wc-block-components-checkout-step,
.wc-block-cart__main-container,
.wc-block-cart-items,
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar-container {
    background: #0F0E0D !important;
    /* Solid dark color to prevent opacity and gradient jittering */
    border: 1px solid rgba(215, 124, 73, 0.5) !important;
    /* Cohesive premium orange/brown border */
    padding: clamp(20px, 4vw, 50px) !important;
    /* Fluid, responsive card padding */
    margin-bottom: clamp(20px, 3vw, 30px) !important;
    /* Fluid, responsive card vertical spacing */
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
    border-radius: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Remove default WooCommerce right padding from layout */
.wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 0 !important;
}

/* Prevent opacity jittering/flicker during block updates and loading states */
.wc-block-components-checkout-step.is-loading,
.wc-block-checkout__sidebar.is-loading,
.wc-block-checkout .is-loading,
.wc-block-components-checkout-step[data-loading],
.wc-block-checkout__sidebar[data-loading] {
    opacity: 1 !important;
}

/* Headings */
.wc-block-checkout__main h2,
.wc-block-components-title,
.wc-block-cart__main h2,
.wc-block-checkout__sidebar h2 {
    font-family: var(--font-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #DCBCA3 !important;
    font-size: 1.2rem !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid rgba(215, 124, 73, 0.2) !important;
    padding-bottom: 12px !important;
}

/* Input Wrappers & Inputs */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-combobox-control,
.wc-block-components-select-control {
    background: transparent !important;
    margin-bottom: 20px !important;
    position: relative !important;
    width: 100% !important;
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox input,
.wc-block-components-combobox-control input,
.wc-block-components-select-control select,
.wc-blocks-components-select__select {
    background: rgba(15, 14, 13, 1) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
    padding: 24px 15px 8px 15px !important;
    /* Increased top padding to clear label */
    font-family: var(--font-ui) !important;
    font-size: 0.95rem !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    height: 60px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-select-control select:focus {
    border-color: #D77C49 !important;
    box-shadow: 0 0 15px rgba(215, 124, 73, 0.2) !important;
    outline: none !important;
}

/* Labels */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select-control label,
.wc-blocks-components-select__label {
    color: #DCBCA3 !important;
    /* Brighter label for clarity */
    font-family: var(--font-ui) !important;
    text-transform: uppercase !important;
    font-size: 0.65rem !important;
    letter-spacing: 1.5px !important;
    font-weight: 800 !important;
    position: absolute !important;
    top: 8px !important;
    left: 15px !important;
    z-index: 10 !important;
    margin: 0 !important;
    pointer-events: none !important;
    max-width: calc(100% - 30px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Ensure the select arrow is visible on dark background */
.wc-block-components-select-control::after {
    border-color: #D77C49 transparent transparent transparent !important;
}

/* Buttons (Place Order / Return to Cart) */
.wc-block-components-checkout-place-order-button,
.wc-block-components-cart-checkout-button a,
.wc-block-components-button.contained {
    background: #0F0E0D !important;
    color: #FFFFFF !important;
    font-family: var(--font-ui) !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    padding: 24px 40px !important;
    border-radius: 0 !important;
    font-size: 1.1rem !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.wc-block-components-checkout-place-order-button::after,
.wc-block-components-cart-checkout-button a::after,
.wc-block-components-button.contained::after {
    content: " \2192" !important;
    display: inline-block !important;
    margin-left: 8px !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.wc-block-components-checkout-place-order-button:hover::after,
.wc-block-components-cart-checkout-button a:hover::after,
.wc-block-components-button.contained:hover::after {
    transform: translateX(6px) !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-cart-checkout-button a:hover,
.wc-block-components-button.contained:hover {
    background: #222222 !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 45px rgba(0, 0, 0, 0.22) !important;
}

/* Global Order Summary Item Layout Fix (Prevents overflow on all screen sizes) */
.wc-block-components-order-summary-item {
    display: flex !important;
    position: relative !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-right: 140px !important;
    min-height: 80px !important;
}

.wc-block-components-order-summary-item__image {
    flex: 0 0 60px !important;
    width: 60px !important;
    max-width: 60px !important;
    position: relative !important;
    /* Anchors the quantity badge */
}

/* Style the product quantity badge to look clean and highly readable */
.wc-block-components-order-summary-item__image .wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__quantity {
    background-color: #D77C49 !important;
    /* Brand Orange background */
    color: #000000 !important;
    /* Crisp black text */
    font-size: 0.7rem !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 1.5px solid #0F0E0D !important;
    /* Solid background border block out */
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    z-index: 10 !important;
    line-height: 1 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.wc-block-components-order-summary-item__description {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.wc-block-components-order-summary-item__title {
    white-space: normal !important;
    word-break: break-word !important;
}

.wc-block-components-order-summary-item__price {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    text-align: right !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 6px !important;
    white-space: nowrap !important;
    width: 120px !important;
}

/* Align sale prices and original prices nicely */
.wc-block-components-order-summary-item__price del,
.wc-block-components-order-summary-item del {
    opacity: 0.5 !important;
    color: #A8A29E !important;
    margin-right: 8px !important;
    text-decoration: line-through !important;
}

.wc-block-components-order-summary-item__price ins,
.wc-block-components-order-summary-item ins {
    color: #D77C49 !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

/* Sidebar/Order Summary specific */
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar {
    border: 1px solid rgba(215, 124, 73, 0.3) !important;
    background: rgba(15, 14, 13, 0.8) !important;
}

/* Constrain all checkout sidebar items to the parent width to prevent overflows */
.wc-block-checkout__sidebar,
.wc-block-checkout__sidebar-container,
.wc-block-components-order-summary,
.wc-block-components-order-summary__items,
.wc-block-components-order-summary-item-list,
.wc-block-components-order-summary-list,
.wc-block-components-order-summary-item {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Remove all ugly inner gray borders, backgrounds and cards inside the sidebar */
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item-list,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-order-summary-item-list,
.wc-block-checkout__sidebar .wc-block-components-order-summary-list,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-order-summary-list,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-totals,
.wc-block-checkout__sidebar .wc-block-components-totals-item-list,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-totals-item-list,
.wc-block-checkout__sidebar .wc-block-components-totals-coupon,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-totals-coupon,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary-item-list,
.wc-block-components-totals-coupon {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wc-block-components-totals-item,
.wc-block-components-totals-footer-item {
    border-color: rgba(255, 255, 255, 0.05) !important;
    padding-top: 15px !important;
    margin-bottom: 15px !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-order-summary-item__title {
    color: #A8A29E !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item__value {
    color: #FFFFFF !important;
    font-weight: 800 !important;
}

/* Order Summary Image Styling */
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Return to Cart button styling */
.wc-block-components-checkout-return-to-cart-button {
    color: #DCBCA3 !important;
    font-family: var(--font-ui) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    font-size: 0.8rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

.wc-block-components-checkout-return-to-cart-button:hover {
    color: #FFFFFF !important;
}

/* Checkboxes and Radios */
.wc-block-components-checkbox__input:checked,
.wc-block-components-radio-control__input:checked {
    background-color: #D77C49 !important;
    border-color: #D77C49 !important;
}

/* 12. CART PAGE REFINEMENTS */
.wc-block-cart__main,
.wc-block-cart__sidebar {
    padding: 40px !important;
}

/* Fix sidebar cutoffs */
.wc-block-cart__sidebar-container {
    padding: 0 !important;
    /* Let children handle padding for glassmorphism */
}

.wc-block-cart__sidebar {
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Align totals value text */
.wc-block-components-totals-item__value {
    text-align: right !important;
    padding-left: 10px !important;
}

/* Product Row Spacing */
.wc-block-cart-items__row {
    border-color: rgba(255, 255, 255, 0.05) !important;
    padding: 30px 0 !important;
}

/* Remove Item Link -> Tactical Red Button */
.wc-block-cart-item__remove-link {
    color: #FFFFFF !important;
    background: #000000 !important;
    border: 1px solid #000000 !important;
    padding: 6px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 15px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    border-radius: 0 !important;
    font-family: var(--font-ui) !important;
    font-size: 0 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    min-width: 80px !important;
}

.wc-block-cart-item__remove-link::before {
    content: "REMOVE" !important;
    font-size: 0.65rem !important;
    color: #FFFFFF !important;
    letter-spacing: 1.5px !important;
    font-weight: 800 !important;
    transition: color 0.3s ease !important;
}

.wc-block-cart-item__remove-link:hover {
    color: #FFFFFF !important;
    background: #EF4444 !important;
    border-color: #EF4444 !important;
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4) !important;
}

.wc-block-cart-item__remove-link:hover::before {
    color: #FFFFFF !important;
}

.wc-block-cart-item__remove-link svg,
.wc-block-cart-item__remove-link img {
    display: none !important;
}

/* Tactical SAVE Badge */
.wc-block-components-product-sale-badge {
    background: #1C1917 !important;
    border: 1px solid #D77C49 !important;
    color: #DCBCA3 !important;
    padding: 4px 10px !important;
    font-family: var(--font-ui) !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    font-size: 0.7rem !important;
    letter-spacing: 1px !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

/* Quantity Selector Visibility & Sizing */
.wc-block-cart-item__quantity {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.wc-block-components-quantity-selector {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: #0F0E0D !important;
    border-radius: 0 !important;
}

.wc-block-components-quantity-selector input {
    background: transparent !important;
    color: #FFF !important;
    font-family: var(--font-ui) !important;
    font-weight: 800 !important;
}

.wc-block-components-quantity-selector button {
    color: #DCBCA3 !important;
}

/* Cart Header Styling */
.wc-block-cart-items__header {
    border-bottom: 2px solid #D77C49 !important;
    padding: 25px 0 15px 0 !important;
    margin-bottom: 0 !important;
}

.wc-block-cart-items__header-item {
    font-family: var(--font-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #DCBCA3 !important;
    font-size: 0.8rem !important;
}

/* Fix "Estimated Total" text wrap */
.wc-block-components-totals-footer-item__label {
    font-family: var(--font-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.9rem !important;
}

/* Specific Coupon Field Style - Label Outside */
.wc-block-components-totals-coupon__input {
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 24px !important;
}

.wc-block-components-totals-coupon__input input {
    padding: 15px !important;
    height: 55px !important;
    line-height: normal !important;
    display: block !important;
    order: 2 !important;
    /* Ensure input follows label */
}

.wc-block-components-totals-coupon__input label {
    color: #DCBCA3 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    margin-bottom: 10px !important;
    position: static !important;
    order: 1 !important;
    letter-spacing: 2px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}


/* Rename "Free shipping" to "Shipping" + hide rogue radio button */
.wc-block-components-totals-shipping .wc-block-components-totals-item__label {
    font-size: 0 !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.wc-block-components-totals-shipping .wc-block-components-totals-item__label::after {
    content: "Shipping" !important;
    font-size: 0.9rem !important;
    margin-left: 0 !important;
}

/* Hide rogue radio inputs that float outside their containers (blocks + legacy) */
.wc-block-components-radio-control__input,
.wc-block-components-totals-shipping input[type="radio"],
.wc-block-components-shipping-rates-control input[type="radio"],
.wc-block-components-shipping-rates-control__package input[type="radio"],
.wc-block-components-radio-control input[type="radio"],
.woocommerce-page input[type="radio"],
.woocommerce input[type="radio"],
.wc-block-cart input[type="radio"],
.wc-block-checkout input[type="radio"] {
    position: absolute !important;
    opacity: 0;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    overflow: hidden !important;
}


.wc-block-components-totals-coupon__button {
    background: #D77C49 !important;
    color: #FFFFFF !important;
    font-family: var(--font-ui) !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 15px 30px !important;
    border-radius: 0 !important;
    margin-top: 10px !important;
    width: 100% !important;
    border: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.wc-block-components-totals-coupon__button:hover {
    background: #e58a57 !important;
    color: #FFFFFF !important;
}

/* FIX: Ensure fixed navbar does not hide content on product and shop pages */
.woocommerce-single-main,
.post-type-archive-product .wp-site-blocks,
.tax-product_cat .wp-site-blocks {
    padding-top: 140px !important;
}

/* FIX: Restore Sticky Right Column and force Footer visibility */
@media (min-width: 1024px) {
    .woocommerce div.product {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        max-width: 1600px !important;
        margin: 0 auto !important;
        gap: 0 !important;
        position: relative !important;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        flex: 1 !important;
        min-width: 0 !important;
        width: calc(100% - 540px) !important;
        margin-right: 60px !important;
        margin-bottom: 0 !important;
    }

    .woocommerce div.product .summary {
        width: 480px !important;
        flex: 0 0 480px !important;
        margin: 0 !important;
        background: rgba(28, 25, 23, 0.8) !important;
        backdrop-filter: blur(10px) !important;
        padding: 40px 30px !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5) !important;
        position: sticky !important;
        top: 120px !important;
        z-index: 10 !important;
    }

    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .wc-tabs-wrapper,
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products {
        flex: 0 0 100% !important;
        width: 100% !important;
        margin-top: 80px !important;
        display: block !important;
        clear: both !important;
    }

    .woocommerce div.product span.onsale {
        position: absolute !important;
        top: 30px !important;
        left: 30px !important;
        z-index: 50 !important;
    }
}

.woocommerce-product-gallery img,
.woocommerce-product-gallery video {
    max-height: 75vh !important;
    width: 100% !important;
    object-fit: cover !important;
}

footer,
.wp-block-template-part-footer,
.site-footer {
    display: block !important;
    clear: both !important;
    visibility: visible !important;
    width: 100% !important;
    z-index: 10 !important;
    position: relative !important;
}

.woocommerce-single-main {
    margin-bottom: 100px !important;
}

/* FIX: Mobile Product Page Layout & Alignment */
@media (max-width: 1023px) {
    .woocommerce div.product .summary {
        padding-left: clamp(16px, 5vw, 40px) !important;
        padding-right: clamp(16px, 5vw, 40px) !important;
        align-items: flex-start !important;
    }

    .woocommerce div.product form.cart {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .woocommerce div.product form.cart .button {
        width: 100% !important;
        margin: 15px 0 0 0 !important;
        min-height: 60px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .woocommerce-single-main {
        padding-top: 140px !important;
        /* Proper clearance under the mobile navbar for breadcrumbs */
    }
}

/* GLOBAL SITE WRAPPER — Flex layout to push footer to absolute bottom on all pages */
body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

.wp-site-blocks {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 0 auto !important;
    width: 100% !important;
}

.wp-site-blocks>main {
    flex: 1 0 auto !important;
}

/* FIX: Store Notice / View Cart Button */
.woocommerce-message,
.woocommerce-error,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.wc-block-components-notice,
.wc-block-components-notice-banner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding: 10px 18px !important;
    background: #0F0E0D !important;
    border: 1px solid rgba(215, 124, 73, 0.3) !important;
    border-left: 4px solid #EF4444 !important;
    color: #FFFFFF !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.85rem !important;
    box-sizing: border-box !important;
    min-height: 46px !important;
}

.wc-block-components-notice-banner.is-error {
    border-left-color: #ef4444 !important;
}

.wc-block-components-notice-banner__content {
    display: flex !important;
    flex-direction: row !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: #DCBCA3 !important;
}

.woocommerce-message .button,
.woocommerce-message .wp-element-button,
.woocommerce-error .button,
.woocommerce-info .button,
.wc-block-components-notice .wc-block-components-notice-banner__button,
.wc-block-components-notice .button {
    background: #D77C49 !important;
    color: #000000 !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    padding: 14px 28px !important;
    font-size: 0.85rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: 0 !important;
    float: none !important;
    align-self: center !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

.woocommerce-message .button:hover,
.woocommerce-error .button:hover,
.woocommerce-info .button:hover,
.wc-block-components-notice .wc-block-components-notice-banner__button:hover {
    background: #FFFFFF !important;
    color: #000000 !important;
    transform: translateY(-2px) !important;
}

/* FIX: Reviews & Rating Box Sizing and Background */
#reviews,
#review_form_wrapper,
#respond {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    /* Blend into the Dune theme */
    box-sizing: border-box !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

#reviews input[type="text"],
#reviews input[type="email"],
#reviews textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: rgba(28, 25, 23, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    color: #FFFFFF !important;
    padding: 15px !important;
    border-radius: 4px !important;
}

.comment-reply-title {
    font-family: 'Stack Sans Notch', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #DCBCA3 !important;
    margin-bottom: 20px !important;
}

#respond p.stars a {
    color: #DCBCA3 !important;
}

/* FIX: Global Mobile Paddings & Un-squish Overlaps */
@media (max-width: 768px) {
    .woocommerce-single-main {
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    /* Make the mobile tabs look like rugged tactical block buttons instead of floating text */
    .woocommerce-tabs ul.tabs {
        border-top: none !important;
        gap: 10px !important;
        padding-top: 10px !important;
    }

    .woocommerce-tabs ul.tabs li {
        border-bottom: none !important;
        margin-bottom: 5px !important;
    }

    .woocommerce-tabs ul.tabs li a {
        background: #1C1917 !important;
        padding: 20px 24px !important;
        border: 1px solid #292524 !important;
        border-left: 3px solid transparent !important;
        text-decoration: none !important;
        box-shadow: none !important;
        outline: none !important;
        transition: all 0.3s ease !important;
        display: block !important;
    }

    .woocommerce-tabs ul.tabs li a:hover,
    .woocommerce-tabs ul.tabs li a:focus {
        text-decoration: none !important;
        outline: none !important;
        box-shadow: none !important;
        background: #252220 !important;
        border-top-color: #292524 !important;
        border-bottom-color: #292524 !important;
        border-right-color: #292524 !important;
        border-left-color: rgba(215, 124, 73, 0.4) !important;
    }

    .woocommerce-tabs ul.tabs li.active a,
    .woocommerce-tabs ul.tabs li.active a:hover {
        background: #000000 !important;
        border-left-color: #D77C49 !important;
        border-top-color: #292524 !important;
        border-bottom-color: #292524 !important;
        border-right-color: #292524 !important;
        color: #FFFFFF !important;
        text-decoration: none !important;
        outline: none !important;
        box-shadow: none !important;
    }

    /* Disable rogue pseudo elements injecting orange lines */
    .woocommerce-tabs ul.tabs li a::before,
    .woocommerce-tabs ul.tabs li a::after,
    .woocommerce-tabs ul.tabs li a:hover::before,
    .woocommerce-tabs ul.tabs li a:hover::after {
        display: none !important;
        content: none !important;
    }

    /* Grid-based mobile alignment for notices (Fixed Icon Stretching) */
    .woocommerce-message,
    .woocommerce-error,
    .woocommerce-info,
    .wc-block-components-notice-banner {
        display: grid !important;
        grid-template-columns: 24px 1fr !important;
        column-gap: 15px !important;
        row-gap: 20px !important;
        padding: 24px !important;
        align-items: start !important;
        box-sizing: border-box !important;
    }

    .wc-block-components-notice-banner svg,
    .woocommerce-message::before,
    .woocommerce-info::before,
    .woocommerce-error::before {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 24px !important;
        height: 24px !important;
        margin-top: 2px !important;
        align-self: start !important;
        flex-shrink: 0 !important;
    }

    .wc-block-components-notice-banner__content {
        display: contents !important;
    }

    /* The button should span the full width of the banner and center its text */
    .woocommerce-message .button,
    .woocommerce-message .wp-element-button,
    .wc-block-components-notice-banner__content .button {
        grid-column: 1 / span 2 !important;
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 !important;
        min-height: 55px !important;
        font-size: 0.9rem !important;
        font-weight: 950 !important;
        letter-spacing: 2px !important;
        background: #D77C49 !important;
        color: #000 !important;
        text-transform: uppercase !important;
        border-radius: 0 !important;
        text-decoration: none !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
        float: none !important;
    }
}

/* CART FIXES: Un-Sticky Bottom Button & Prevent Price Line Breaks */
@media (max-width: 768px) {

    /* Unsticky the cart block submit container so it flows naturally */
    .wc-block-cart__submit-container {
        position: static !important;
        background: transparent !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 30px !important;
        border: none !important;
        box-shadow: none !important;
    }
}

/* Prevent the dollar sign from breaking onto a tiny new line */
.wc-block-components-product-price,
.wc-block-components-product-sale-price,
.wc-block-components-totals-item__value,
.woocommerce-Price-amount {
    white-space: nowrap !important;
}

/* Ensure price and sale price stacks intelligently if extremely narrow */
.wc-block-components-product-price {
    display: flex !important;
    flex-wrap: wrap !important;
    row-gap: 5px !important;
}

/* FIX: Upgraded Meta Tags */
.woocommerce .product_meta a {
    text-decoration: none !important;
    border-bottom: 1px dotted rgba(215, 124, 73, 0.4) !important;
    transition: all 0.3s ease !important;
    padding-bottom: 2px !important;
}

.woocommerce .product_meta a:hover {
    color: #FFFFFF !important;
    border-bottom: 1px solid #FFFFFF !important;
}

/* FIX: Convert harsh blacks to Dune Theme aesthetic global charcoal */
.has-black-background-color,
.wp-block-group.has-black-background-color {
    background: var(--color-warm-brown, #38281F) !important;
}

/* FIX: Breadcrumb Readability Overrides */
.woocommerce-breadcrumb {
    margin-bottom: 45px !important;
    margin-top: 25px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
}

.woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.5) !important;
    text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
    color: #FFFFFF !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

/* FINAL PADDING & ALIGNMENT FIXES */
.wc-block-cart-items__header-item,
.wc-block-cart-items__header-image {
    padding-left: 24px !important;
}

/* HEAVY OVERRIDE: View Cart Button on Product Pages */
.woocommerce-message a.button.wc-forward,
.woocommerce-message a.button,
.woocommerce-info a.button,
.wc-block-components-notice a.button,
a.button.wc-forward.wp-element-button {
    background-color: #D77C49 !important;
    background: #D77C49 !important;
    color: #000000 !important;
    padding: 14px 28px !important;
    display: inline-block !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    line-height: 1 !important;
    min-height: auto !important;
}

.woocommerce-message a.button.wc-forward:hover,
a.button.wc-forward.wp-element-button:hover {
    background-color: #FFFFFF !important;
    background: #FFFFFF !important;
    color: #000000 !important;
}



/* ── PRODUCT TABS & DESCRIPTION REFINEMENT ── */
.woocommerce-tabs {
    margin: 80px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: transparent !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
    display: none !important;
}

.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 40px 0 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
    color: rgba(255, 255, 255, 0.6) !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 20px 0 !important;
    display: inline-block !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
}

.woocommerce-tabs ul.tabs li a:hover {
    color: #FFFFFF !important;
}

.woocommerce-tabs ul.tabs li.active a {
    color: #FFFFFF !important;
}

.woocommerce-tabs ul.tabs li.active a::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background: #FFFFFF !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 0 !important;
    margin: 0 !important;
    color: #F5F5F4 !important;
    line-height: 1.8 !important;
    font-size: 1.1rem !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel strong,
.woocommerce-tabs .woocommerce-Tabs-panel b {
    color: #FFFFFF !important;
}

.woocommerce-tabs h2 {
    color: #FFFFFF !important;
    font-family: 'Special Gothic Expanded One', sans-serif !important;
    text-transform: uppercase !important;
    margin-bottom: 40px !important;
    font-size: 1.75rem !important;
    letter-spacing: -0.01em !important;
}


/* ── RESPONSIVE VIDEO & MEDIA ENGINE (CLEAN) ── */
.woocommerce-tabs .wp-video,
.woocommerce-tabs .wp-video-shortcode,
.woocommerce-tabs .mejs-container,
.woocommerce-tabs .mejs-inner,
.woocommerce-tabs .mejs-mediaelement,
.woocommerce-tabs video,
.woocommerce-tabs iframe {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    margin: 30px auto !important;
}

/* Ensure the player doesn't have a forced height from JS */
.woocommerce-tabs .mejs-container {
    height: auto !important;
    min-height: 200px !important;
}

.woocommerce-tabs .mejs-video video {
    position: static !important;
    width: 100% !important;
    height: auto !important;
}

/* Fix for the vertical video specifically */
.woocommerce-tabs .wp-video[style*="height: 1280"],
.woocommerce-tabs .wp-video[style*="height:1280"] {
    max-width: 450px !important;
    /* Don't let vertical video take full width */
    margin: 30px auto !important;
}

@media (max-width: 1023px) {
    .woocommerce div.product {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        margin-bottom: 20px !important;
    }

    .woocommerce div.product .summary {
        padding: 30px 16px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        background: #1C1917 !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
    }

    .woocommerce div.product .woocommerce-tabs {
        padding: 24px !important;
        margin-top: 40px !important;
    }
}

/* ── NUKE INTERNAL SCROLLBARS ── */
.woocommerce-tabs,
.woocommerce-Tabs-panel,
.entry-content,
.wc-tab,
#SITE_PAGES,
#SITE_PAGES_TRANSITION_GROUP,
.smsck,
.HT5ybB,
.SPY_vo,
.wixui-section {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    /* display: block !important; */
    /* Removed to fix tab switching */
}

/* ── FULL WIDTH MOBILE FORCE ── */
@media (max-width: 1023px) {

    /* Nuke any container padding that might shrink the product */
    .woocommerce-page main,
    .woocommerce-page-main,
    #content,
    .site-content,
    .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .woocommerce div.product {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce div.product .summary {
        width: 100% !important;
        max-width: 100% !important;
        padding: 40px 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce div.product .woocommerce-product-gallery {
        padding: 0 10px !important;
        /* Slight breathing room for gallery only */
        box-sizing: border-box !important;
    }
}

/* ── MODERN ASPECT-RATIO VIDEO ENGINE ── */
.woocommerce-tabs .wp-video {
    width: 100% !important;
    max-width: 900px !important;
    margin: 40px auto !important;
    background: #000 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    aspect-ratio: 16 / 9 !important;
    /* Force standard horizontal ratio */
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    height: auto !important;
}

/* Vertical Video Aspect Ratio (9:16) */
.woocommerce-tabs .wp-video[style*="height: 1280"],
.woocommerce-tabs .wp-video[style*="height:1280"] {
    max-width: 400px !important;
    aspect-ratio: 9 / 16 !important;
}

/* Force MediaElement components to fill the aspect-ratio container */
.woocommerce-tabs .mejs-container,
.woocommerce-tabs .mejs-inner,
.woocommerce-tabs .mejs-mediaelement,
.woocommerce-tabs video {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    margin: 0 !important;
}

.woocommerce-tabs video {
    object-fit: contain !important;
}

/* Ensure controls remain visible and positioned at bottom */
.woocommerce-tabs .mejs-controls {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10 !important;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)) !important;
}

/* ── BREADCRUMB REFINEMENT ── */
.woocommerce-breadcrumb {
    padding: 0 20px !important;
    margin: 40px auto 20px !important;
    max-width: 1600px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #FFFFFF !important;
}

.woocommerce-breadcrumb a {
    color: #A8A29E !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.woocommerce-breadcrumb a:hover {
    color: #DCBCA3 !important;
}

@media (min-width: 1024px) {
    .woocommerce-breadcrumb {
        padding: 0 40px !important;
        /* Align with desktop content padding */
        margin-bottom: 30px !important;
    }
}

@media (max-width: 1023px) {
    .woocommerce-breadcrumb {
        padding: 0 24px !important;
        margin-top: 30px !important;
    }
}

/* ── SELF-FITTING RESPONSIVE VIDEO ENGINE ── */
.woocommerce-tabs .wp-video {
    width: 100% !important;
    max-width: 100% !important;
    margin: 40px auto !important;
    background: #000 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    /* Default Horizontal Aspect Ratio (16:9) */
    aspect-ratio: 16 / 9 !important;
    max-height: 85vh !important;
    /* Crucial: Ensure it never exceeds viewport height */
}

/* Vertical Video Aspect Ratio (9:16) with tighter width cap */
.woocommerce-tabs .wp-video[style*="height: 1280"],
.woocommerce-tabs .wp-video[style*="height:1280"] {
    aspect-ratio: 9 / 16 !important;
    max-width: min(450px, 100%) !important;
    /* Cap width to keep it elegant on desktop */
}

/* 1920px Horizontal video safety */
.woocommerce-tabs .wp-video[style*="width: 1920"],
.woocommerce-tabs .wp-video[style*="width:1920"] {
    max-width: 1000px !important;
}

.woocommerce-tabs .mejs-container,
.woocommerce-tabs .mejs-inner,
.woocommerce-tabs .mejs-mediaelement,
.woocommerce-tabs video {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
}

.woocommerce-tabs video {
    object-fit: contain !important;
    /* Maintain ratio without cropping */
}

/* ── HIGH-END MOBILE TABS (TACTICAL REDESIGN) ── */
@media (max-width: 1023px) {

    /* Main Tabs Container */
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 50px !important;
        padding: 0 24px !important;
        background: transparent !important;
        border: none !important;
    }

    /* Tab List - Modern Swipable Navigation */
    .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 32px !important;
        margin: 0 -24px 30px !important;
        padding: 0 24px 10px !important;
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        scrollbar-width: none !important;
    }

    .woocommerce-tabs ul.tabs::-webkit-scrollbar {
        display: none !important;
    }

    /* Individual Tab Items */
    .woocommerce-tabs ul.tabs li {
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        flex: 0 0 auto !important;
    }

    .woocommerce-tabs ul.tabs li::before,
    .woocommerce-tabs ul.tabs li::after {
        display: none !important;
        /* Kill default theme indicators */
    }

    /* Tab Links - Nuke the "Ugly" Black Box */
    .woocommerce-tabs ul.tabs li a,
    .woocommerce-tabs ul.tabs li.active a,
    .woocommerce-tabs ul.tabs li.active a:hover {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 12px 0 !important;
        margin: 0 !important;
        font-family: 'Stack Sans Notch', sans-serif !important;
        font-size: 0.8rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.15em !important;
        color: #FFFFFF !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        display: block !important;
        outline: none !important;
    }

    /* Active Tab State - Pure Orange Accent */
    .woocommerce-tabs ul.tabs li.active a {
        color: #DCBCA3 !important;
    }

    .woocommerce-tabs ul.tabs li.active a::after {
        content: '' !important;
        position: absolute !important;
        bottom: -11px !important;
        /* Flush with container bottom border */
        left: 0 !important;
        width: 100% !important;
        height: 3px !important;
        background: #D77C49 !important;
        border-radius: 0 !important;
    }

    /* Tab Panels */
    .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        margin: 0 !important;
    }
}

/* ── PREMIUM STACKED MOBILE TABS ── */
@media (max-width: 1023px) {
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 50px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
    }

    .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-direction: column !important;
        /* Stacked layout */
        flex-wrap: wrap !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
        overflow: visible !important;
    }

    .woocommerce-tabs ul.tabs li {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        flex: none !important;
    }

    .woocommerce-tabs ul.tabs li::before,
    .woocommerce-tabs ul.tabs li::after {
        display: none !important;
    }

    .woocommerce-tabs ul.tabs li a {
        display: block !important;
        width: 100% !important;
        padding: 22px 24px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        font-family: 'Stack Sans Notch', sans-serif !important;
        font-size: 0.85rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.15em !important;
        color: #FFFFFF !important;
        text-align: left !important;
        position: relative !important;
        transition: all 0.3s ease !important;
    }

    /* Active Tab State - Stacked Indicator */
    .woocommerce-tabs ul.tabs li.active a {
        color: #DCBCA3 !important;
        background: rgba(215, 124, 73, 0.04) !important;
    }

    .woocommerce-tabs ul.tabs li.active a::after {
        content: '' !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 4px !important;
        height: 100% !important;
        background: #D77C49 !important;
        border-radius: 0 !important;
    }

    /* Panel Adjustments for Stacked Flow */
    .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 40px 24px !important;
        background: transparent !important;
        border: none !important;
    }
}

/* ── FINAL MOBILE TAB REFINEMENT (SUPER SMALL PADDING & ACTIVE FIX) ── */
@media (max-width: 1023px) {
    .woocommerce div.product .woocommerce-tabs {
        padding: 0 8px !important;
        /* "Super small" left/right padding */
        margin-top: 40px !important;
    }

    .woocommerce-tabs ul.tabs {
        border-radius: 2px !important;
        border: 1px solid rgba(255, 255, 255, 0.03) !important;
        overflow: hidden !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-tabs ul.tabs li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
    }

    .woocommerce-tabs ul.tabs li:last-child {
        border-bottom: none !important;
    }

    /* Active Tab: Pure High-End Aesthetic */
    .woocommerce-tabs ul.tabs li.active a {
        background: rgba(215, 124, 73, 0.06) !important;
        color: #DCBCA3 !important;
    }

    /* Vertical Indicator Fix */
    .woocommerce-tabs ul.tabs li.active a::after {
        content: '' !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 3px !important;
        height: 100% !important;
        background: #D77C49 !important;
    }

    .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 30px 12px !important;
        /* Match the "small" feel */
    }
}

/* ── SUPER VISIBLE ACTIVE TAB FORCE ── */
@media (max-width: 1023px) {

    /* Force the active tab to stand out clearly */
    .woocommerce-tabs ul.tabs li.active a {
        color: #DCBCA3 !important;
        background: rgba(215, 124, 73, 0.12) !important;
        font-weight: 950 !important;
    }

    .woocommerce-tabs ul.tabs li.active a::after {
        content: '' !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        height: 100% !important;
        width: 6px !important;
        /* High-visibility vertical bar */
        background: #D77C49 !important;
        z-index: 10 !important;
    }

    /* Mute the inactive tabs further to create contrast */
    .woocommerce-tabs ul.tabs li:not(.active) a {
        color: rgba(255, 255, 255, 0.3) !important;
        background: transparent !important;
    }

    /* Ensure the tab container itself doesn't hide the indicator */
    .woocommerce-tabs ul.tabs li {
        position: relative !important;
        overflow: visible !important;
    }
}

/* ── NATURAL ASPECT-RATIO VIDEO ENGINE (NO FORCED RATIOS) ── */
.woocommerce-tabs .wp-video,
.woocommerce-tabs .mejs-container,
.woocommerce-tabs .mejs-inner,
.woocommerce-tabs .mejs-mediaelement {
    width: 100% !important;
    max-width: 1000px !important;
    /* Safety cap */
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    display: block !important;
    margin: 40px auto !important;
    background: #000 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Force the video itself to be the height-driver */
.woocommerce-tabs video.wp-video-shortcode,
.woocommerce-tabs .mejs-mediaelement video {
    width: 100% !important;
    height: auto !important;
    max-height: 85vh !important;
    display: block !important;
    position: relative !important;
    /* Break out of absolute positioning */
    object-fit: contain !important;
}

/* Ensure controls overlay correctly on the naturally-sized video */
.woocommerce-tabs .mejs-controls {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 40px !important;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9)) !important;
    display: flex !important;
    z-index: 100 !important;
}

/* Remove any aspect-ratio locks from previous attempts */
.woocommerce-tabs .wp-video {
    aspect-ratio: auto !important;
}

/* Vertical video specific safety (max-width only) */
.woocommerce-tabs .wp-video[style*="height: 1280"],
.woocommerce-tabs .wp-video[style*="height:1280"] {
    max-width: 450px !important;
    aspect-ratio: auto !important;
}

/* ── CENTERED STACKED MOBILE TABS ── */
@media (max-width: 1023px) {
    .woocommerce-tabs ul.tabs {
        align-items: center !important;
    }

    .woocommerce-tabs ul.tabs li a {
        text-align: center !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 20px 24px !important;
    }

    /* Transition from vertical bar to centered horizontal underline for stacked mode */
    .woocommerce-tabs ul.tabs li.active a::after {
        left: 50% !important;
        top: auto !important;
        bottom: 0 !important;
        transform: translateX(-50%) !important;
        width: 80px !important;
        /* Sleek centered indicator */
        height: 4px !important;
        background: #D77C49 !important;
    }

    /* Panel headings also centered for consistency */
    .woocommerce-tabs .woocommerce-Tabs-panel h2 {
        text-align: center !important;
    }
}

/* ── NANO PADDING FOR PRODUCT SUMMARY (MOBILE) ── */
@media (max-width: 1023px) {
    .woocommerce div.product .summary {
        padding: 30px 10px !important;
        /* Ultra-tight tactical padding */
        margin: 0 8px !important;
        /* Small margin to float the card slightly */
        width: calc(100% - 16px) !important;
        box-sizing: border-box !important;
    }
}

/* ── ACTIVE TAB SCREENSHOT MATCH (MOBILE) ── */
@media (max-width: 1023px) {

    /* Active Tab Background & Text */
    .woocommerce-tabs ul.tabs li.active a {
        background: var(--color-earth) !important;
        /* Match the sandier active background */
        color: #DCBCA3 !important;
        font-weight: 900 !important;
    }

    /* Horizontal Underline Indicator */
    .woocommerce-tabs ul.tabs li.active a::after {
        content: '' !important;
        position: absolute !important;
        bottom: 8px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 70px !important;
        height: 3px !important;
        background: #D77C49 !important;
        display: block !important;
        top: auto !important;
        /* Remove vertical bar if present */
    }

    /* Inactive Tabs */
    .woocommerce-tabs ul.tabs li:not(.active) a {
        background: rgba(255, 255, 255, 0.02) !important;
        color: #FFFFFF !important;
    }

    /* Tab List Structure */
    .woocommerce-tabs ul.tabs {
        border-radius: 0 !important;
        border: 1px solid rgba(255, 255, 255, 0.03) !important;
        background: #1C1917 !important;
    }
}

/* ── MOBILE VERTICAL SPACING REFINEMENT ── */
@media (max-width: 1023px) {
    .woocommerce div.product .price {
        margin-bottom: 15px !important;
        /* Tighten price to description */
    }

    .woocommerce-product-details__short-description {
        margin-bottom: 10px !important;
        /* Tighten description to button */
    }

    .woocommerce-product-details__short-description p {
        margin-bottom: 10px !important;
    }

    .woocommerce div.product form.cart {
        margin-top: 10px !important;
        /* Close the gap to Add to Cart */
    }

    /* Nuke rogue spacing from hidden express checkout separators */
    #awx-express-checkout-button-separator,
    .wc-block-components-checkout-step__separator {
        margin: 0 !important;
        padding: 0 !important;
        display: none !important;
        height: 0 !important;
    }
}

/* ── NUKE RANDOM GAPS & PADDING (MOBILE) ── */
@media (max-width: 1023px) {

    /* Summary Section Gaps */
    .woocommerce div.product .summary .price {
        margin-bottom: 10px !important;
        line-height: 1 !important;
    }

    .woocommerce-product-details__short-description {
        margin-bottom: 15px !important;
    }

    .woocommerce-product-details__short-description p {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.4 !important;
    }

    .woocommerce div.product form.cart {
        margin-top: 5px !important;
        margin-bottom: 20px !important;
        padding: 0 !important;
    }

    /* Remove specific hidden element heights */
    #awx-express-checkout-button-separator,
    .wc-block-components-checkout-step__separator,
    .woocommerce-product-details__short-description::after,
    .summary::after {
        display: none !important;
        content: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
    }

    /* Tabs Gap Fix */
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 30px !important;
        padding-top: 0 !important;
    }

    .woocommerce-tabs ul.tabs {
        margin-top: 0 !important;
        margin-bottom: 5px !important;
    }
}

/* ── UNIVERSAL ACTIVE TAB STABILITY (MOBILE) ── */
@media (max-width: 1023px) {

    /* Ensure ALL active tabs share the exact same professional aesthetic */
    .woocommerce-tabs ul.tabs li.active a,
    .woocommerce-tabs ul.tabs li.active a:hover,
    .woocommerce-tabs ul.tabs li.active a:focus {
        background: var(--color-earth) !important;
        /* Consistent sandier-tactical glow */
        color: #DCBCA3 !important;
        /* Consistent TLT Orange text */
        font-weight: 900 !important;
        opacity: 1 !important;
    }

    /* Keep the indicator perfectly centered and consistent */
    .woocommerce-tabs ul.tabs li.active a::after {
        content: '' !important;
        position: absolute !important;
        bottom: 8px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 80px !important;
        height: 3px !important;
        background: #D77C49 !important;
        display: block !important;
        top: auto !important;
    }

    /* Ensure inactive tabs are consistently muted */
    .woocommerce-tabs ul.tabs li:not(.active) a {
        background: #1C1917 !important;
        color: rgba(255, 255, 255, 0.4) !important;
        opacity: 0.7 !important;
    }
}

/* ── NO-CROP PRODUCT GALLERY (DESKTOP) ── */
@media (min-width: 1024px) {
    .woocommerce div.product .woocommerce-product-gallery {
        max-width: calc(100% - 540px) !important;
        /* Align with layout math */
    }

    .woocommerce div.product .summary {
        max-width: 480px !important;
    }

    .woocommerce div.product .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
        max-height: 85vh !important;
        /* Ensure it stays within screen height */
        object-fit: contain !important;
        /* THE FIX: Do not crop */
        background: transparent !important;
    }
}

/* Ensure the slider container doesn't force a crop */
.woocommerce-product-gallery__wrapper,
.flex-viewport {
    height: auto !important;
    max-height: none !important;
}




/* ── PHOTOSWIPE AGGRESSIVE UI FIX (V5 COMPATIBLE) ── */

/* 1. Nuke the Header when Lightbox is ACTIVE */
html.pswp--open .site-header,
body.pswp--open .site-header,
.pswp--open .site-header,
.pswp--visible .site-header {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* 2. Top Bar Background */
.pswp__top-bar,
.pswp__ui--one-bar {
    background: #000000 !important;
    opacity: 1 !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
}

/* 3. The Tactical Orange Close Button */
.pswp__button--close,
.pswp__button.pswp__button--close {
    background: #D77C49 !important;
    /* TLT Orange */
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    margin: 13px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    border: none !important;
}

/* 4. Style the SVG Icon inside the button */
.pswp__button--close svg,
.pswp__button--close svg path {
    width: 24px !important;
    height: 24px !important;
    fill: #FFFFFF !important;
    stroke: #FFFFFF !important;
    color: #FFFFFF !important;
}

/* 5. Hide the default Sprite if it exists */
.pswp__button--close {
    background-image: none !important;
}

/* 6. Alignment of the Counter */
.pswp__counter {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    color: #FFFFFF !important;
    margin-left: 20px !important;
    opacity: 1 !important;
    line-height: 70px !important;
}

/* 7. Ensure All Buttons in Top Bar are aligned */
.pswp__top-bar {
    justify-content: space-between !important;
}

/* 8. Handle Zoom button to match */
.pswp__button--zoom,
.pswp__button--fs {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    margin: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pswp__button--zoom svg,
.pswp__button--fs svg {
    width: 20px !important;
    height: 20px !important;
    fill: #FFFFFF !important;
}

/* ── PRODUCT SOCIAL SHARING ── */
.tlt-social-share {
    margin: 40px 0 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    clear: both !important;
}

.share-label {
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
}

.share-icons {
    display: flex !important;
    gap: 15px !important;
}

.share-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 0 !important;
    /* Industrial boxy feel */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.03) !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
    position: relative !important;
    padding: 0 !important;
    text-decoration: none !important;
    outline: none !important;
}

.share-icon svg {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 2 !important;
}

.share-icon:hover {
    border-color: #D77C49 !important;
    color: #DCBCA3 !important;
    transform: translateY(-4px) !important;
    background: rgba(215, 124, 73, 0.1) !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4) !important;
}

.share-copy .copy-success {
    position: absolute !important;
    bottom: 110% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    background: #D77C49 !important;
    color: #000 !important;
    font-size: 0.65rem !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 900 !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.share-copy.is-copied .copy-success {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
}

@media (max-width: 1023px) {
    .tlt-social-share {
        margin: 30px 0 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .share-icons {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* Responsive Fixes for Order Summary & Cart Sidebar on Mobile */
@media (max-width: 768px) {

    .wc-block-components-checkout-step,
    .wc-block-cart__main-container,
    .wc-block-cart-items,
    .wc-block-checkout__sidebar,
    .wc-block-cart__sidebar-container {
        padding: 20px !important;
    }

    .wc-block-components-order-summary-item {
        display: flex !important;
        position: relative !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 12px !important;
        width: 100% !important;
        padding-right: 120px !important;
        min-height: 80px !important;
    }

    .wc-block-components-order-summary-item__image {
        flex: 0 0 60px !important;
        width: 60px !important;
        max-width: 60px !important;
    }

    .wc-block-components-order-summary-item__description {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .wc-block-components-order-summary-item__title {
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    .wc-block-components-order-summary-item__quantity {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .wc-block-components-order-summary-item__price {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 6px !important;
        white-space: nowrap !important;
        width: 110px !important;
    }

    .wc-block-components-product-sale-badge {
        font-size: 0.55rem !important;
        padding: 2px 6px !important;
        margin: 0 !important;
        letter-spacing: 0.5px !important;
        white-space: nowrap !important;
        display: inline-block !important;
        width: auto !important;
    }

    .wc-block-components-totals-item__value,
    .wc-block-components-totals-footer-item__value {
        white-space: nowrap !important;
    }
}

/* ══════════════════════════════════════════════════════════
   CART PAGE — RESPONSIVE & SHADOW-FREE OVERHAUL
   DOM: <table> → <tr> → <td.image> | <td.product> | <td.total>
   Strategy: convert table to flex row so the 3 cells lay out
   side-by-side cleanly without broken 1fr grid inside table.
   ══════════════════════════════════════════════════════════ */

/* ── GLOBAL: Remove unwanted shadows from cart row cells ── */
.wp-block-woocommerce-cart,
.wc-block-cart,
.wc-block-cart__main,
.wc-block-cart-items__row,
.wc-block-cart-item__image,
.wc-block-cart-item__product,
.wc-block-cart-item__total,
.wc-block-cart-item__quantity,
.wc-block-cart__submit-button,
.wc-block-components-button,
.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-cart__totals-title,
.wc-block-components-product-sale-badge,
.wp-block-woocommerce-cart-order-summary-block {
    box-shadow: none !important;
    text-shadow: none !important;
}

/* ── CART ITEMS TABLE: shadow-free ── */
.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

/* ── MAIN CART AREA: no extra padding — rows handle their own ── */
.wc-block-cart__main {
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ── RESET browser default <td> padding for cart cells ── */
.wc-block-cart-item__image,
.wc-block-cart-item__product,
.wc-block-cart-item__total {
    padding: 0 !important;
}

/* ── SIDEBAR / TOTALS: padding ── */
.wc-block-cart__sidebar {
    padding: 24px 16px 0 !important;
    box-sizing: border-box !important;
}

/* ── CHECKOUT BUTTON: full-width, bold, mobile-friendly ── */
.wc-block-cart__submit {
    padding: 16px 16px 24px !important;
    box-sizing: border-box !important;
}

.wc-block-cart__submit-container {
    width: 100% !important;
}

.wc-block-cart__submit-button,
.wc-block-cart__submit-button.contained {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 18px 24px !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ── DESKTOP: sale badge only tweak ── */
.wc-block-cart-item__total .wc-block-components-product-sale-badge {
    display: inline-flex !important;
    white-space: nowrap !important;
    font-size: 0.6rem !important;
    padding: 2px 8px !important;
    box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════
   MOBILE ≤ 900px — Full responsive cart layout
   ══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    /* Remove the card-like shadow/border around each row */
    .wc-block-cart-items__row {
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    /* Hide thead */
    .wc-block-cart-items thead,
    .wc-block-cart-items__header {
        display: none !important;
    }

    /* Convert table → block context */
    .wc-block-cart-items {
        display: block !important;
        width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    .wc-block-cart-items tbody {
        display: block !important;
        width: 100% !important;
    }

    /* Each row = flex row: [image] [product info flex-1] [total right-aligned] */
    .wc-block-cart-items__row {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 14px !important;
        padding: 20px 16px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Image cell: fixed width, no shrink */
    .wc-block-cart-item__image {
        display: block !important;
        flex: 0 0 80px !important;
        width: 80px !important;
        min-width: 80px !important;
        align-self: flex-start !important;
        box-shadow: none !important;
    }

    .wc-block-cart-item__image img {
        width: 80px !important;
        height: 80px !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 6px !important;
        box-shadow: none !important;
    }

    /* Product cell: takes all remaining space */
    .wc-block-cart-item__product {
        display: block !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        box-shadow: none !important;
    }

    /* Total cell: fixed, right-aligned, no shrink */
    .wc-block-cart-item__total {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        flex: 0 0 auto !important;
        min-width: 80px !important;
        text-align: right !important;
        white-space: nowrap !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    /* Price in total cell */
    .wc-block-cart-item__total .wc-block-components-product-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 2px !important;
        box-shadow: none !important;
    }

    /* Sale badge in total cell */
    .wc-block-cart-item__total .wc-block-components-product-sale-badge,
    .wc-block-cart-item__total .wc-block-components-sale-badge {
        font-size: 0.6rem !important;
        padding: 2px 6px !important;
        white-space: nowrap !important;
        display: inline-flex !important;
        align-self: flex-end !important;
        box-shadow: none !important;
        margin-top: 4px !important;
    }

    /* Remove button: subtle icon-only, no big black block */
    .wc-block-cart-item__remove-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        background: transparent !important;
        border: none !important;
        padding: 4px 0 !important;
        margin-top: 8px !important;
        color: rgba(255, 255, 255, 0.4) !important;
        font-size: 0.7rem !important;
        font-family: var(--font-ui, sans-serif) !important;
        font-weight: 700 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        box-shadow: none !important;
        transition: color 0.2s ease !important;
    }

    .wc-block-cart-item__remove-link:hover {
        color: rgba(215, 124, 73, 0.9) !important;
    }

    .wc-block-cart-item__remove-link svg {
        width: 14px !important;
        height: 14px !important;
        opacity: 0.7 !important;
    }

    /* Hide verbose product description on mobile — too much vertical space */
    .wc-block-components-product-metadata,
    .wc-block-components-product-metadata__description {
        display: none !important;
    }

    /* In the product cell, hide the duplicate discounted price (ins).
       Keep the strikethrough original price for discount context. */
    .wc-block-cart-item__prices .wc-block-components-product-price__value.is-discounted {
        display: none !important;
    }

    /* Tighten the product cell inner wrap */
    .wc-block-cart-item__wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }

    /* Product name: bold, no wrapping issues */
    .wc-block-components-product-name {
        font-size: 0.9rem !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        color: #fff !important;
        word-break: break-word !important;
    }

    /* Strikethrough price in product cell: muted */
    .wc-block-cart-item__prices {
        font-size: 0.78rem !important;
        opacity: 0.6 !important;
        margin: 0 !important;
    }

    /* Sale badge: ensure space between “Save” and amount */
    .wc-block-components-sale-badge {
        word-spacing: 2px !important;
        white-space: nowrap !important;
    }

    /* Prevent overflow on containers */
    .wc-block-cart,
    .wc-block-cart__main-container,
    .wc-block-cart-items {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Sidebar / totals */
    .wc-block-cart__sidebar {
        box-shadow: none !important;
        border: none !important;
    }

    .wc-block-components-totals-wrapper {
        box-shadow: none !important;
    }
}

/* ══════════════════════════════════════════════════════════
   SMALL MOBILE ≤ 600px
   ══════════════════════════════════════════════════════════ */
@media (max-width: 600px) {

    /* NOTE: rows have their own internal padding — no extra here */

    .wc-block-cart-items__row {
        gap: 12px !important;
        padding: 16px 0 !important;
    }

    .wc-block-cart-item__image {
        flex: 0 0 64px !important;
        width: 64px !important;
        min-width: 64px !important;
    }

    .wc-block-cart-item__image img {
        width: 64px !important;
        height: 64px !important;
    }

    .wc-block-cart-item__total {
        min-width: 72px !important;
    }

    /* Coupon fields full width */
    .wc-block-components-totals-coupon,
    .wc-block-components-totals-coupon__input,
    .wc-block-components-totals-coupon input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Checkout button: full width on small screens */
    .wc-block-cart__submit {
        padding: 12px 12px 20px !important;
    }

    .wc-block-cart__submit-button,
    .wc-block-cart__submit-button.contained {
        padding: 16px 20px !important;
        font-size: 0.8rem !important;
    }
}

/* ══════════════════════════════════════════════════════════
   VERY SMALL ≤ 420px
   ══════════════════════════════════════════════════════════ */
@media (max-width: 420px) {

    .wc-block-cart-items__row {
        gap: 10px !important;
        padding: 14px 10px !important;
    }

    .wc-block-cart-item__image {
        flex: 0 0 56px !important;
        width: 56px !important;
        min-width: 56px !important;
    }

    .wc-block-cart-item__image img {
        width: 56px !important;
        height: 56px !important;
    }

    .wc-block-cart-item__total {
        min-width: 64px !important;
    }
}

/* ==========================================================================
   CHECKOUT DESIGN FIXES (REBUILT)
   ========================================================================== */

/* 1. Main Content padding (Contact, Shipping, Payment) to not touch the right edge */
.woocommerce-checkout .wc-block-checkout__main {
    padding-right: clamp(20px, 4vw, 60px) !important;
}

/* 2. Order Summary Sidebar styling */
.woocommerce-checkout .wc-block-checkout__sidebar {
    padding: 24px !important;
    /* Smaller, clean padding inside the brown box */
    overflow: visible !important;
}

/* 3. Fix Product Description truncation and vertical stacking */
.woocommerce-checkout .wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 64px 1fr auto !important;
    gap: 0 16px !important;
    overflow: visible !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.woocommerce-checkout .wc-block-components-product-name {
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
}

.woocommerce-checkout .wc-block-components-product-metadata p {
    white-space: normal !important;
    overflow: visible !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
}

/* 4. Place Order Button -> Black (Modern) */
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .wc-block-components-cart-checkout-button a,
.woocommerce-checkout .wc-block-components-button.contained {
    background: #0F0E0D !important;
    color: #FFFFFF !important;
    transition: all 0.3s ease !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-cart-checkout-button a:hover,
.woocommerce-checkout .wc-block-components-button.contained:hover {
    background: #222222 !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 45px rgba(0, 0, 0, 0.4) !important;
}

/* 5. Mobile responsive layout and paddings */
@media (max-width: 768px) {

    .woocommerce-checkout .wc-block-components-sidebar-layout,
    .woocommerce-checkout .wc-block-checkout {
        flex-direction: column !important;
        padding: 0 16px !important;
        gap: 32px !important;
    }

    .woocommerce-checkout .wc-block-checkout__main {
        padding-right: 0 !important;
        padding-left: 0 !important;
        width: 100% !important;
    }

    .woocommerce-checkout .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px !important;
    }
}

/* Total footer: orange accent (Restored) */
.woocommerce-checkout .wc-block-components-totals-footer-item {
    border-top: 1px solid rgba(215, 124, 73, 0.25) !important;
    margin-top: 4px !important;
    padding-top: 16px !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: #FFFFFF !important;
    font-size: 0.82rem !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #D77C49 !important;
    font-size: 1.1rem !important;
    font-weight: 900 !important;
}

/* ==========================================================================
   ORDER SUMMARY COLOR AND BACKGROUND FIXES
   ========================================================================== */

/* Enforce solid dark background on the order summary sidebar for ALL devices */
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    background: #0F0E0D !important;
    background-color: #0F0E0D !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Fix the Strikethrough Price (e.g. 1,500.00 $) to be legible */
.woocommerce-checkout .wc-block-components-product-price__regular,
.woocommerce-checkout .wc-block-components-order-summary-item__regular-individual-price,
.woocommerce-checkout .wc-block-components-product-price del {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Ensure Subtotal and Shipping labels are bright and legible */
.woocommerce-checkout .wc-block-components-totals-item__label {
    color: #FFFFFF !important;
    opacity: 0.9 !important;
}

/* Ensure Total value stands out (Orange on Black) */
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-footer-item-tax-value {
    color: #D77C49 !important;
}

/* Ensure the discounted price (e.g. 1,250.00 $) is also bright */
.woocommerce-checkout .wc-block-components-product-price__value.is-discounted,
.woocommerce-checkout .wc-block-components-order-summary-item__individual-price {
    color: #D77C49 !important;
}



/* ==========================================================================
   CART PAGE MODERNIZATION V5 (CLEAN LAYOUT)
   ========================================================================== */

/* Main Cart Layout Wrapper */
html body .wp-block-woocommerce-cart {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 60px) !important;
    gap: 48px !important;
}

/* Cart Items Container (Product Side) */
html body .wp-block-woocommerce-cart .wc-block-cart__main,
html body .wp-block-woocommerce-cart .wc-block-cart__main-container,
html body .wp-block-woocommerce-cart .wc-block-cart-items {
    background: rgba(15, 14, 13, 1) !important;
    background-color: rgba(15, 14, 13, 1) !important;
}

html body .wp-block-woocommerce-cart .wc-block-cart-items {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
    padding: 32px !important;
    margin-bottom: 24px !important;
}

/* Table Headers */
html body .wp-block-woocommerce-cart .wc-block-cart-items th {
    color: #FFFFFF !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding-bottom: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 0.8rem !important;
}

/* Remove internal padding overriding from td! ONLY pad the row! */
html body .wp-block-woocommerce-cart .wc-block-cart-items__row {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    align-items: center !important;
}

/* Ensure the product title is single-line and visible */
html body .wp-block-woocommerce-cart .wc-block-components-product-name {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    font-size: 1.1rem !important;
}

/* Ensure prices stack vertically inside their original container */
html body .wp-block-woocommerce-cart .wc-block-cart-item__prices {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    align-items: flex-start !important;
    margin-top: 8px !important;
}

/* Remove button styling overhaul - STRICTLY target the button and pseudo element */
html body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 8px 16px !important;
    margin-top: 16px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.tlt-empty-cart-cta {
    display: inline-block !important;
    background: #FFFFFF !important;
    color: #000000 !important;
    padding: 22px 64px !important;
    font-family: 'Stack Sans Notch', sans-serif !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
    box-shadow: 0 15px 40px rgba(255, 255, 255, 0.25) !important;
    opacity: 0;
    animation: tlt-fade-up 0.7s ease 0.7s forwards !important;
    position: relative !important;
    overflow: hidden !important;
}

.tlt-empty-cart-cta::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: #D77C49 !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
    z-index: 0 !important;
}

.tlt-empty-cart-cta:hover::before {
    transform: scaleX(1) !important;
}

.tlt-empty-cart-cta:hover {
    color: #000000 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 60px rgba(215, 124, 73, 0.4) !important;
}

.tlt-empty-cart-cta .tlt-cta-text {
    position: relative !important;
    z-index: 1 !important;
}

html body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link::before {
    content: "REMOVE" !important;
    font-size: 0.75rem !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

html body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg,
html body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link img {
    display: none !important;
}

html body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
    background: rgba(215, 124, 73, 0.15) !important;
    border-color: #D77C49 !important;
}

html body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover::before {
    color: #D77C49 !important;
}

/* Cart Totals Sidebar styling */
html body .wp-block-woocommerce-cart .wc-block-cart__sidebar {
    background: #0F0E0D !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 32px !important;
    margin-top: 0 !important;
}

/* Fix Proceed to Checkout Button */
html body .wp-block-woocommerce-cart .components-button.wc-block-cart__submit-button,
html body .wp-block-woocommerce-cart .wc-block-cart__submit-button {
    background: #0F0E0D !important;
    background-color: #0F0E0D !important;
    color: #FFFFFF !important;
    font-family: var(--font-ui) !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 16px 10px !important;
    border-radius: 0 !important;
    font-size: 0.95rem !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 64px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

html body .wp-block-woocommerce-cart .components-button.wc-block-cart__submit-button:hover,
html body .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
    background: #222222 !important;
    background-color: #222222 !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 45px rgba(0, 0, 0, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Global Price Formatting for Cart */
html body .wp-block-woocommerce-cart .wc-block-components-product-price__regular,
html body .wp-block-woocommerce-cart .wc-block-components-product-price del,
html body .wp-block-woocommerce-cart .wc-block-components-totals-item__label {
    color: rgba(255, 255, 255, 0.6) !important;
}

html body .wp-block-woocommerce-cart .wc-block-components-product-price__value.is-discounted,
html body .wp-block-woocommerce-cart .wc-block-components-totals-item__value,
html body .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #D77C49 !important;
}

/* Mobile Responsiveness for Cart */
@media (max-width: 768px) {
    html body .wp-block-woocommerce-cart {
        flex-direction: column !important;
        padding: 0 16px !important;
        gap: 32px !important;
    }

    html body .wp-block-woocommerce-cart .wc-block-cart-items,
    html body .wp-block-woocommerce-cart .wc-block-cart-items th {
        padding: 16px !important;
    }

    html body .wp-block-woocommerce-cart .wc-block-cart__sidebar {
        width: 100% !important;
        padding: 24px !important;
    }

    /* Stop vertical character stacking on mobile */
    html body .wp-block-woocommerce-cart .wc-block-components-product-name {
        min-width: 150px !important;
        display: block !important;
    }
}