/* 
 * Truthforge Shop Page Styles — NUCLEAR PROTOCOL
 * High-conversion, zero-clutter, premium eCommerce UX.
 */

/* 0. GLOBAL SUPPRESSION — SELECTIVE KILLERS */
.woocommerce-shop.post-type-archive-product .entry-title,
.woocommerce-shop.post-type-archive-product .entry-header,
.tax-product_cat .entry-header,
.woocommerce-shop.post-type-archive-product .term-description,
.woocommerce-shop.post-type-archive-product .archive-description {
    display: none !important;
}

/* HIDE STRAY SCROLL HINTS ON SHOP */
.tf-shop-hero-section .scroll-down,
.tf-shop-hero-section .tf-hero-scroll-indicator,
.scroll-down,
.tf-hero-scroll-indicator {
    display: none !important;
}

/* TIGHTEN SHOP MAIN WRAPPER SPACING — NUCLEAR HARDENING */
/* High-specificity ID override to kill "The Anchor" padding (90px) from sw-nuclear-overrides.css */
.post-type-archive-product #primary,
.tax-product_cat #primary,
.woocommerce-shop #primary {
    padding-top: 0 !important;
}

/* Neutralize excessive utility paddings from page.php/generic wrappers (288px) */
/* Targeted strike on the 300px+ gap causing elements */
html body.woocommerce-shop #primary,
html body.post-type-archive-product #primary,
html body.tax-product_cat #primary,
html body.woocommerce-shop .site-main,
html body.post-type-archive-product .site-main,
html body.tax-product_cat .site-main,
html body.woocommerce-shop .content-area,
html body.post-type-archive-product .content-area,
html body.tax-product_cat .content-area,
html body.woocommerce-shop .shop-products-section,
html body.post-type-archive-product .shop-products-section,
html body.tax-product_cat .shop-products-section,
html body.woocommerce-shop .woocommerce-notices-wrapper,
html body.post-type-archive-product .woocommerce-notices-wrapper,
html body.tax-product_cat .woocommerce-notices-wrapper,
html body.woocommerce-shop article.hentry,
html body.post-type-archive-product article.hentry,
html body.tax-product_cat article.hentry,
html body.woocommerce-shop .entry-header,
html body.post-type-archive-product .entry-header,
html body.tax-product_cat .entry-header,
html body.woocommerce-shop .entry-content,
html body.post-type-archive-product .entry-content,
html body.tax-product_cat .entry-content,
html body.woocommerce-shop .woocommerce,
html body.post-type-archive-product .woocommerce,
html body.tax-product_cat .woocommerce {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.tax-product_cat .term-description,
.tax-product_cat .archive-description {
    display: none !important;
}

.post-type-archive-product .entry-header.mb-32,
.tax-product_cat .entry-header.mb-32,
.woocommerce-shop .entry-header.mb-32 {
    margin-bottom: 0 !important;
}

:root {
    --tf-pill-bg: rgba(255, 255, 255, 0.04);
    --tf-pill-border: rgba(255, 255, 255, 0.08);
    --tf-pill-active: #7c3aed;
    --tf-pill-text: #71717a;
    --tf-pill-text-active: #ffffff;
    /* Restore brand tokens — used by interaction buttons in this file */
    --nuke-brand: #7c3aed;
    --nuke-gap: 24px;
    --nuke-radius: 4px;
}

/* 0. HEADER LOCKDOWN — EXACT HOMEPAGE PARITY (no utility bar, same height/style)
 * SOURCE OF TRUTH: assets/home.css lines 66-77
 * Replicates the sticky glass navbar from the homepage exactly.
 * Only difference: no utility-bar offset (homepage has 32px top on utility-bar).
 */
html body .site-header,
body.woocommerce .site-header,
body.woocommerce-page .site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    /* Same dark glass as homepage */
    background: rgba(0, 0, 0, 0.92) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    /* Same border as homepage */
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    /* Same height as homepage */
    height: 72px !important;
    /* Remove the absolute-positioning transform from style.css */
    margin-top: 0 !important;
    padding: 0 40px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

/* Ensure the nav-wrapper fills the full header height */
body.woocommerce .site-header .nav-wrapper,
body.woocommerce-page .site-header .nav-wrapper {
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* Cart bubble visibility on shop pages */
body.woocommerce .cart-contents {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

/* Mobile nav height parity */
@media (max-width: 768px) {
    html body .site-header,
    body.woocommerce .site-header,
    body.woocommerce-page .site-header {
        height: 64px !important;
        padding: 0 16px !important; /* Strictly Symmetric Header Inset */
    }
    
    /* NUCLEAR GRID BALANCE: Neutralize side-padding on shop loop to match Homepage edge-to-edge look */
    /* Target ALL possible shop/archive/product-related body classes to ensure NO LEAKAGE */
    body.woocommerce-shop #primary,
    body.post-type-archive-product #primary,
    body.tax-product_cat #primary,
    body.woocommerce-archive #primary,
    body.single-product .tf-cart-recommendations.container,
    body.woocommerce-shop .container,
    body.post-type-archive-product .container,
    body.tax-product_cat .container,
    body.woocommerce-archive .container,
    body.woocommerce-shop .site-main,
    body.post-type-archive-product .site-main,
    body.tax-product_cat .site-main,
    body.woocommerce-archive .site-main,
    body.woocommerce-shop .woocommerce,
    body.post-type-archive-product .woocommerce,
    body.tax-product_cat .woocommerce,
    body.woocommerce-archive .woocommerce,
    body.woocommerce-shop .entry-content,
    body.post-type-archive-product .entry-content,
    body.tax-product_cat .entry-content,
    body.woocommerce-archive .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* INTERNAL INSET: Ensure text/headers still have 16px breathing room while grid bleeds */
    .shop-breadcrumbs-nuclear,
    .truth-header-row,
    .tf-shop-filters-section .category-filters-row,
    .shop-sorting-row,
    .woocommerce-pagination,
    .rec-header {
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce .site-header .nav-wrapper,
    body.woocommerce-page .site-header .nav-wrapper {
        height: 64px !important;
        gap: 12px !important;
    }
}

/* 1. SHOP HERO / NUCLEAR HEADER PARITY */
.tf-shop-hero-section {
    padding: 0; /* Tightened from 0 0 60px */
    background: radial-gradient(
      circle at 20% 30%,
      rgba(124, 58, 237, 0.18) 0%,
      rgba(0, 0, 0, 0) 40%
    ),
    linear-gradient(
      to bottom,
      #050505 0%,
      #000000 100%
    );
    border-bottom: 1px solid rgba(255,255,255,0.08);
    position: relative;
    z-index: 10;
}

.truth-heading {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-style: italic !important;
    font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    margin: 0 0 24px 0 !important;
    color: #FFFFFF !important;
    letter-spacing: -0.02em !important;
}

.truth-subtext {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    max-width: 500px !important;
    margin: 0 !important;
}

.shop-main-heading-nuclear {
    color: #FFFFFF !important;
}


/* BREADCRUMB SYSTEM — NUCLEAR PROTOCOL */
.shop-breadcrumbs-nuclear {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 24px;
}

.breadcrumb-link-muted {
    color: rgba(255, 255, 255, 0.4) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.breadcrumb-link-muted:hover {
    color: #fff !important;
}

.breadcrumb-separator {
    color: rgba(255, 255, 255, 0.2);
}

.breadcrumb-current {
    color: #A855F7 !important;
}

.truth-header-row.shop-context-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 24px;
}

.truth-eyebrow-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.eyebrow-line {
    display: block !important;
    width: 40px;
    height: 2px;
    background: #A855F7;
    flex-shrink: 0;
}

.truth-eyebrow {
    display: inline-block;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.4em;
    color: var(--nuke-brand);
}

.truth-heading.shop-title {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-style: italic !important;
    font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    margin: 0 0 24px 0 !important;
    color: #fff !important;
    letter-spacing: -0.04em !important;
}

.purple-series {
    color: var(--nuke-brand) !important;
}

.truth-subtext {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.5);
    max-width: 500px;
    margin: 0;
}

.truth-divider {
    display: block !important;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin-bottom: 40px;
}

/* Privacy Text Fix (Match 100%) */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
    color: rgba(255,255,255,0.6) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.woocommerce-privacy-policy-text a {
    color: #fff !important;
    text-decoration: underline !important;
}

/* 2. CATEGORY PILL FILTERS SECTION */
.tf-shop-filters-section {
    background: #000000;
    padding: 20px 0 0 !important; /* Zero bottom padding to let row handle it */
    margin-bottom: 0 !important;
}

.category-filters-row {
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding-bottom: 12px; /* Standardized spacing */
}

.shop-category-filters-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scrollbar-width: none;
}

@media (max-width: 768px) {
    html body .shop-category-filters-scroll {
        display: flex !important;
        flex-wrap: wrap !important; /* KILL SCROLL: Force wrap for visual centering */
        justify-content: center !important; 
        width: 100% !important;
        padding: 0 16px 8px !important;
        overflow: visible !important;
    }
    
    html body .category-filters-row {
        justify-content: flex-start !important;
        display: flex !important;
        width: 100% !important;
        padding-bottom: 4px !important; /* Compact mobile spacing */
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Hide scrollbar for clean look */
    }
    
    html body .category-filters-row::-webkit-scrollbar {
        display: none;
    }
}

.category-pill {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: transparent;
    color: #9CA3AF;
    text-decoration: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    transition: all 0.2s ease;
    border: 1px solid rgba(255,255,255,0.08);
}

.category-pill:hover {
    color: #fff;
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.15);
}

.category-pill.active {
    background: var(--nuke-brand);
    color: #FFFFFF;
    border: none;
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.3);
}

/* 3. PRODUCT CONTROLS SECTION */
.tf-shop-controls-section {
    background: #000000;
    padding-top: 0 !important; /* Eliminate section gap: Row padding handles it */
    margin-top: 0 !important;
}

.shop-sorting-row.minimal-sorting {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0 24px; 
    margin-bottom: 32px; /* Tightened from 48px */
    border-bottom: 1px solid rgba(255,255,255,0.08); 
}

/* SURGICAL GAP FIX: Filter Row → Toolbar Row
 * Structure:
 *   .tf-shop-filters-section  → PHP sets padding: 12px 0 (category) / 20px 0 (shop)
 *   .category-filters-row     → padding-bottom: 12px (bottom border row)
 *   .tf-shop-controls-section → margin-top: 0, padding-top: 0
 *   .shop-sorting-row         → padding-top: 20px  ← controls the visible gap
 * Total desktop gap: 12px (filter bottom) + 20px (toolbar top) = 32px ✓ (target 24–40px)
 */
body.woocommerce-shop .truth-heading,
body.tax-product_cat .truth-heading,
body.woocommerce-shop .shop-title,
body.tax-product_cat .shop-title,
body.woocommerce-shop .truth-subtext,
body.tax-product_cat .truth-subtext {
    color: #FFFFFF !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Wrapper-level: strip all section-level vertical spacing from controls block */
.woocommerce-shop .tf-shop-controls-section,
.tax-product_cat .tf-shop-controls-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Filter row: bottom border spacing */
.woocommerce-shop .category-filters-row,
.tax-product_cat .category-filters-row {
    padding-bottom: 12px !important;
}

/* Toolbar row: top padding controls the visible gap between filter and toolbar.
 * 20px here + 12px filter-row bottom = 32px total. Desktop target: 24–40px. ✓
 */
.woocommerce-shop .shop-sorting-row.minimal-sorting,
.tax-product_cat .shop-sorting-row.minimal-sorting {
    padding-top: 20px !important;
    margin-top: 0 !important;
}

/* Aggressive Suppression of hidden WooCommerce/WP description containers that cause gaps */
.woocommerce-shop .term-description,
.tax-product_cat .term-description,
.woocommerce-shop .archive-description,
.tax-product_cat .archive-description,
.woocommerce-shop .archive-description-wrapper,
.tax-product_cat .archive-description-wrapper,
.woocommerce-shop .page-description,
.tax-product_cat .page-description {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.woocommerce-shop #primary,
body.tax-product_cat #primary,
body.woocommerce-shop .tf-shop-hero-section,
body.tax-product_cat .tf-shop-hero-section,
body.woocommerce-shop main#main,
body.tax-product_cat main#main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}




@media (max-width: 768px) {
    html body .tf-shop-controls-section {
        padding-top: 4px !important; /* Compact mobile spacing */
    }

    html body .shop-sorting-row.minimal-sorting {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        gap: 16px !important;
        margin-bottom: 24px !important;
        width: 100% !important;
        padding: 8px 0 12px !important; /* Compact mobile spacing: top reduced from 12px */
    }

    /* Mobile gap target for category archives & shop: 4px filter bottom + 16px toolbar top = 20px ✓ (16–24px spec) */
    .woocommerce-shop .shop-sorting-row.minimal-sorting,
    .tax-product_cat .shop-sorting-row.minimal-sorting {
        padding-top: 16px !important;
    }


    html body .sorting-controls-wrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        gap: 16px !important;
    }

    html body .woocommerce-ordering {
        margin: 0 auto !important;
        float: none !important;
        display: flex !important;
        justify-content: center !important;
    }

    html body .result-count-nuclear {
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
    }

    html body .view-toggle {
        display: flex !important;
        padding-left: 16px !important;
    }
}

.result-count-nuclear {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #9CA3AF;
    text-transform: uppercase;
    display: flex;
    align-items: center;
}

.sorting-controls-wrapper {
    display: flex;
    align-items: center;
    gap: 24px;
}

html body .tf-shop-controls-section .sorting-dropdown-minimal .sort-icon {
    color: #6B7280 !important;
    stroke: #6B7280 !important;
    flex-shrink: 0 !important;
}

html body .tf-shop-controls-section .sorting-dropdown-minimal .woocommerce-ordering select {
    background: transparent !important;
    background-color: transparent !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: none !important;
    font-family: var(--tf-font-primary) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 0 32px 0 0 !important;
    cursor: pointer !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L5 4.5L9 1.5' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    outline: none !important;
}

.sorting-dropdown-minimal {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* 3.1 CUSTOM DROPDOWN — NUCLEAR PROTOCOL */
.tf-custom-dropdown {
    position: relative;
    width: auto;
    min-width: 140px;
}

.tf-dropdown-trigger {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 !important; /* Remove the box padding */
    background: transparent !important;
    border: none !important; /* Remove the purple box border */
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.tf-dropdown-trigger:hover {
    color: #7C3AED !important;
}

.tf-dropdown-arrow {
    color: #6B7280;
    font-size: 10px;
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.tf-custom-dropdown.open .tf-dropdown-arrow {
    transform: rotate(180deg);
}

.tf-dropdown-menu {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    background: #0A0A0A;
    border: 1px solid rgba(255,255,255,0.08);
    list-style: none;
    margin: 0;
    padding: 8px 0;
    z-index: 1000;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.tf-custom-dropdown.open .tf-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.tf-dropdown-option {
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 600;
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.tf-dropdown-option:hover {
    color: #FFFFFF;
    background: rgba(124, 58, 237, 0.1);
}

.tf-dropdown-option.active {
    color: #7C3AED;
    background: rgba(124, 58, 237, 0.05);
}

.view-toggle {
    display: flex;
    gap: 8px;
    padding-left: 24px;
    border-left: 1px solid rgba(255,255,255,0.08);
}

/* 3. LAYOUT TOGGLES - NUCLEAR PROTOCOL */
html body .view-toggle .toggle-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #6B7280 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

html body .view-toggle .toggle-btn:hover {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: #fff !important;
}

html body .view-toggle .toggle-btn.active {
  background: #7C3AED !important;
  background-color: #7C3AED !important;
  color: #FFFFFF !important;
  border: none !important;
}




/* 4. THE PRODUCT GRID — ABSOLUTE NUCLEAR PARITY */
html body .woocommerce ul.products:not(.list),
html body .woocommerce-page ul.products:not(.list) {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* FORCED 3-COLUMN NUCLEAR PROTOCOL — HOME PARITY */
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

@media (max-width: 1024px) {
    html body .woocommerce ul.products:not(.list),
    html body .woocommerce-page ul.products:not(.list) {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--tf-grid-gap-mobile, 12px) !important;
    }
}

@media (max-width: 768px) {
    html body .woocommerce ul.products:not(.list),
    html body .woocommerce-page ul.products:not(.list) {
        grid-template-columns: 1fr !important; /* Forces 1-column like the homepage */
        gap: 32px !important;
        padding: 0 20px !important;
    }
}

/* 4.2 LIST LAYOUT FORCED (Image 1 Parity) — ULTIMATE LOCKDOWN */
html body #primary .woocommerce ul.products.list,
html body #primary .woocommerce-page ul.products.list,
html body.archive.post-type-archive-product #primary ul.products.list {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: none !important; /* Killer of the 3-column squeeze */
  gap: 32px !important;
}

.woocommerce ul.products.list li.product,
.woocommerce-page ul.products.list li.product {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 32px !important;
  margin-bottom: 32px !important;
  float: none !important;
  clear: both !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 32px !important;
}




.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    list-style: none !important;
}

/* 5. THE NUCLEAR PRODUCT CARD — INHERITANCE LOCK */
/* Unique Shop tweaks are removed to ensure 100% Twin Parity with Homepage */

/* Grid Responsiveness */


/* 6. CLEANUP & POLISH */
.onsale {
    display: none !important;
}

.woocommerce-pagination {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid #111;
}

.woocommerce-pagination ul {
    border: none !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}

.woocommerce-pagination ul li {
    border: none !important;
    overflow: hidden !important;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    background: #0a0a0a !important;
    color: #fff !important;
    padding: 12px 18px !important;
    border: 1px solid #222 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    min-width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.woocommerce-pagination ul li span.current {
    background: var(--tf-pill-active) !important;
    border-color: var(--tf-pill-active) !important;
}

.woocommerce-pagination ul li a:hover {
    background: #111 !important;
    border-color: #444 !important;
}

/* Hide breadcrumbs if standard WC one is also present */
.woocommerce-breadcrumb {
    display: none !important;
}

/* 7. PRICE MINIMALISM — FORCED TWIN PARITY */
.nuclear-product-card .price del,
.nuclear-product-card .price .woocommerce-Price-text:first-child:not(:last-child),
.woocommerce-Price-amount del {
    display: none !important; /* Hides RRP and Sale ranges, showing only the final price */
}

.nuclear-product-card .price {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #fff !important;
    display: block !important;
    margin-top: 4px !important;
}

/* 8. INTERACTION BUTTONS — DO NOT OVERRIDE nuclear-shared-grid.css SIZING */
/*
 * The correct rules are in nuclear-shared-grid.css:
 *   .btn-nuke-quickview  → flex: 1 (grows),  44px tall
 *   .btn-nuke-addcart    → 44×44px fixed (icon-only)
 * This shop.css section previously broke parity by forcing flex:1 on ALL
 * .interaction-buttons a — that has been removed.
 *
 * Only non-conflicting shop-specific overrides live here.
 */

.nuclear-product-card:hover .card-interaction-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* 9. CARD CONTENT & WRAPPERS — NUCLEAR PARITY */
.card-content-wrapper-nuke {
    display: flex;
    flex: 1;
    min-width: 0;
}

/* LIST MODE SPECIFICITY LOCKDOWN */
html body #primary .woocommerce ul.products.list li.product .card-content-wrapper-nuke {
    padding-left: 40px;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    flex-grow: 1;
}

.woocommerce ul.products.list .card-footer-nuclear {
    flex: 1;
    text-align: left !important;
}

.woocommerce ul.products.list .card-product-title {
    font-size: 24px !important; /* Larger for list view parity */
    margin-bottom: 8px !important;
}

.card-list-actions-nuke {
    margin-left: auto !important; /* PUSH TO FAR RIGHT (Image 1) */
    padding-left: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

/* PHASE 5: High-Specificity List View Button Overrides (V24) */
html body #primary .nuclear-product-card.mode-list .card-list-actions-nuke .btn-nuke-list-atc,
html body #primary .woocommerce ul.products.list li.product .card-list-actions-nuke .btn-nuke-list-atc,
html body .woocommerce ul.products.list li.product .card-list-actions-nuke a.button.btn-nuke-list-atc {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111111 !important;
    border: none !important;
    padding: 0 32px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.15em !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    width: auto !important;
    min-width: 180px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

html body #primary .nuclear-product-card.mode-list .card-list-actions-nuke .btn-nuke-list-atc:hover {
    background: #f0f0f0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.4) !important;
}

html body #primary .nuclear-product-card.mode-list .card-list-actions-nuke .btn-nuke-list-atc svg {
    stroke: #000000 !important;
    margin-right: 12px !important;
}

/* Ensure the container doesn't push it to the very edge */
.card-list-actions-nuke {
    margin-left: auto !important;
    padding-right: 40px !important;
    display: flex !important;
    align-items: center !important;
}

@media (max-width: 767px) {
    html body .woocommerce ul.products.list li.product {
        flex-direction: column !important;
    }
    html body .woocommerce ul.products.list .card-content-wrapper-nuke {
        padding-left: 0;
        padding-top: 24px;
        flex-direction: column;
        align-items: flex-start;
    }
    .card-list-actions-nuke {
        margin-left: 0 !important;
        padding-left: 0;
        padding-top: 24px;
        width: 100%;
    }
    .card-list-actions-nuke .tf-button {
        width: 100%;
    }
}
.btn-nuke-quickview {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
    border: none !important;
    text-shadow: none !important;
}

.woocommerce ul.products .nuclear-product-card .btn-nuke-quickview span,
.woocommerce ul.products .nuclear-product-card .btn-nuke-quickview svg,
.btn-nuke-quickview span,
.btn-nuke-quickview svg {
    color: #000000 !important;
}

.woocommerce ul.products .nuclear-product-card .btn-nuke-quickview:hover,
.btn-nuke-quickview:hover {
    background: #f3f4f6 !important;
}

/* 9. LIST MODE CARD — IMAGE 1 PARITY */
.nuclear-product-card.mode-list {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    padding: 24px !important;
    gap: 40px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 12px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    height: 240px !important; /* Uniform height for list view items */
    position: relative;
    overflow: hidden;
}

.nuclear-product-card.mode-list:hover {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(124, 58, 237, 0.4) !important;
    transform: translateY(-2px) !important;
}

.nuclear-product-card.mode-list .card-image-wrapper {
    width: 192px !important;
    height: 192px !important;
    flex-shrink: 0 !important;
    border-radius: 8px !important;
    margin-bottom: 0 !important;
    overflow: hidden;
}

.nuclear-product-card.mode-list .card-footer-nuclear {
    flex: 1 !important;
    text-align: left !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.nuclear-product-card.mode-list .card-category-label {
    display: block !important;
    color: #7C3AED !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 8px !important;
}

.nuclear-product-card.mode-list .card-product-title {
    font-size: 24px !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.1 !important;
}

.nuclear-product-card.mode-list .card-meta-line {
    font-size: 13px !important;
    margin-bottom: 16px !important;
}

.nuclear-product-card.mode-list .card-price-row-nuclear {
    margin-top: 0 !important;
}

.nuclear-product-card.mode-list .card-list-actions {
    margin-left: auto !important;
}

.nuclear-product-card.mode-list .card-list-actions .tf-button {
    height: 52px !important;
    padding: 0 32px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
}

@media (max-width: 768px) {
    .nuclear-product-card.mode-list {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        padding: 16px !important;
    }

    .nuclear-product-card.mode-list .card-image-wrapper {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
    }

    .nuclear-product-card.mode-list .card-list-actions {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .nuclear-product-card.mode-list .card-list-actions .tf-button {
        width: 100% !important;
        justify-content: center !important;
    }
}


@media (max-width: 768px) {
    /* ULTIMATE GRID HAMMER: High Specificity 1-Column Enforcement */
    html body .woocommerce ul.products:not(.list),
    html body .woocommerce-page ul.products:not(.list),
    ul.products.products-nuclear:not(.list),
    .archive.taxonomy-product_cat ul.products:not(.list),
    .post-type-archive-product ul.products:not(.list),
    .tf-cart-recommendations-grid {
        grid-template-columns: 1fr !important; /* FORCED 1-COL MASTER GRID */
        gap: var(--tf-mobile-space-xl, 32px) !important; /* 32px Master Gap */
        padding: 0 !important; /* Edge-to-edge alignment */
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* FORCED CENTERED ARCHIVE HARDENING - EXTREME SPECIFICITY */
    html body .woocommerce ul.products li.product,
    html body .woocommerce-page ul.products li.product,
    html body .nuclear-product-card {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important; /* stretch lets ATC buttons span full width */
    }

    /* Keep text content centered while container stretches */
    html body .card-footer-nuclear {
        text-align: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 0 var(--tf-container-px-mobile, 16px) !important; /* Balanced internal breathing room */
    }

    html body .card-product-title,
    html body .card-meta-line,
    html body .card-price-row-nuclear {
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
    }

    /* Hide Quick View & Interaction Overlays on Mobile */
    .card-interaction-overlay,
    .interaction-buttons,
    .btn-nuke-quickview {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

@media (max-width: 480px) {
    .section-shop-header-block {
        padding: 140px 0 40px;
    }

    .shop-main-heading-nuclear {
        font-size: var(--tf-font-h1-mobile) !important;
        margin-bottom: var(--tf-mobile-space-xl) !important;
        line-height: var(--tf-lh-heading) !important;
    }

    .category-label {
        display: none;
    }
}

    
/* 11. FINAL LIST MODE OVERRIDE - ABSOLUTE SPECIFICITY (Image 1 Parity) */
html body.archive.post-type-archive-product .woocommerce ul.products.list,
html body.shop-page .woocommerce ul.products.list,
html body .woocommerce ul.products.list,
ul.products.list {
  display: block !important; /* Force block to kill grid/flex columns */
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body .woocommerce ul.products.list li.product,
html body.shop-page .woocommerce ul.products.list li.product,
ul.products.list li.product {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}

/* Ensure inner cards in list mode align horizontally */
.woocommerce ul.products.list .nuclear-product-card {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 32px !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* ============================================================
 * SHOP → FOOTER SECTION DISTINCTION
 * Clear visual separator between the product grid and footer.
 * ============================================================ */

/* Add bottom padding to the shop grid wrapper */
.archive.post-type-archive-product .site-main,
.woocommerce-shop .site-main,
.woocommerce-archive .site-main,
.tax-product_cat .site-main {
    padding-bottom: 120px !important; /* Massive breathing room */
}

/* Ensure the footer transition is premium and distinct */
.archive.post-type-archive-product .site-footer,
.woocommerce-shop .site-footer,
.woocommerce-archive .site-footer,
.tax-product_cat .site-footer,
body.woocommerce .tf-site-footer,
body.woocommerce-page .tf-site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
    /* Gradient glow at the top edge for dramatic separation */
    box-shadow: 0 -1px 0 rgba(124, 58, 237, 0.25), 0 -40px 80px rgba(0, 0, 0, 0.6) !important;
    padding-top: 120px !important;
}

@media (max-width: 768px) {
    .archive.post-type-archive-product .site-main,
    .woocommerce-shop .site-main,
    .woocommerce-archive .site-main,
    .tax-product_cat .site-main {
        padding-bottom: 80px !important;
    }
    .archive.post-type-archive-product .site-footer,
    .woocommerce-shop .site-footer,
    .woocommerce-archive .site-footer,
    .tax-product_cat .site-footer,
    body.woocommerce .tf-site-footer,
    body.woocommerce-page .tf-site-footer {
        padding-top: 80px !important;
    }
}


/* ============================================================
 * NUCLEAR MOBILE HARDENING: STRICT QUALITY PASS (320px - 480px)
 * ============================================================ */
@media (max-width: 480px) {
    /* Strict 1-Column Grid Protocol */
    html body .woocommerce ul.products:not(.list),
    html body .woocommerce-page ul.products:not(.list) {
        grid-template-columns: 1fr !important;
        gap: var(--tf-mobile-space-xl) !important; /* 32px Master Gap */
        padding: 0 !important;
    }

    /* Strict Typography Scaling */
    .shop-main-heading-nuclear,
    .truth-heading.shop-title,
    .truth-heading {
        font-size: var(--tf-font-h1-mobile) !important;
        line-height: var(--tf-lh-heading) !important;
        white-space: normal !important; /* Wrap long titles */
    }

    .shop-breadcrumbs-nuclear {
        font-size: var(--tf-font-micro-mobile) !important;
        margin-bottom: var(--tf-mobile-space-md) !important;
        flex-wrap: wrap !important;
        row-gap: 4px !important;
    }

    body.woocommerce-shop .tf-shop-hero-section,
    body.tax-product_cat .tf-shop-hero-section {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
        min-height: auto !important;
    }

    /* Filters Reset */
    .category-pill {
        padding: 8px 16px !important;
        font-size: 11px !important;
    }

    /* Controls Reset */
    html body .shop-sorting-row.minimal-sorting {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 12px 0 !important;
        text-align: left !important;
    }

    .sorting-controls-wrapper {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        gap: 12px !important;
    }

    .result-count-nuclear {
        text-align: center !important;
        margin-bottom: 8px !important;
    }

    .woocommerce-pagination ul {
        justify-content: center !important;
    }

    .view-toggle {
        display: flex !important;
        padding-left: 12px !important;
        gap: 4px !important;
    }
}

/* Final Nuclear Controls Override: Forced One-Line Layout */
@media (max-width: 480px) {
    html body .shop-sorting-row.minimal-sorting {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 12px 0 !important;
        width: 100% !important;
    }

    html body .shop-actions-left,
    html body .shop-actions-right {
        display: flex !important;
        flex: 0 1 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    html body .result-count-nuclear {
        text-align: left !important;
        margin: 0 !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }

    html body .sorting-controls-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: auto !important;
        gap: 6px !important;
    }

    html body .woocommerce-ordering {
        margin: 0 !important;
    }

    html body .woocommerce-ordering select {
        padding: 4px 16px 4px 6px !important;
        font-size: 10px !important;
        min-width: 80px !important;
        max-width: 110px !important;
    }

    /* Hide the sort icon on small mobile to save space */
    html body .sort-icon {
        display: none !important;
    }

    html body .view-toggle {
        display: flex !important;
        padding-left: 4px !important;
        gap: 4px !important;
    }

    html body .view-toggle .toggle-btn {
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
    }
}

/* ============================================================
 * PRODUCT GRID → FOOTER GAP (shop, archives, single product)
 * The zero-out block above strips padding-bottom from #primary
 * sitewide. These rules re-assert breathing room ONLY at the
 * bottom, using html body + ID for higher specificity.
 * ============================================================ */

/* /shop and collection archives */
html body.woocommerce-shop #primary,
html body.post-type-archive-product #primary,
html body.tax-product_cat #primary {
    padding-bottom: 80px !important;
}

/* Single product pages */
html body.single-product #primary {
    padding-bottom: 80px !important;
}

/* Mobile: reduce to 48px */
@media (max-width: 768px) {
    html body.woocommerce-shop #primary,
    html body.post-type-archive-product #primary,
    html body.tax-product_cat #primary,
    html body.single-product #primary {
        padding-bottom: 48px !important;
    }
}
