/**
 * Truthforge NUCLEAR: Product Transaction Studio V5
 * Rebuilt to match wondrously-path-5389 design reference.
 *
 * Layout: Thumbnail sidebar + main image | Info column with trust grid + fabric summary.
 * Aesthetic: Deep black (var(--tf-bg-base)), purple accent (#9333ea), dense typography.
 */

:root {
    --nuclear-accent: var(--tf-brand-primary);
    --nuclear-accent-light: var(--tf-brand-hover);
    --nuclear-accent-glow: rgba(124, 58, 237, 0.35);
    --nuclear-bg: var(--tf-bg-base);
    --nuclear-card: var(--tf-bg-surface);
    --nuclear-border: var(--tf-border-solid);
    --nuclear-border-light: var(--tf-border-input);
    --nuclear-text-muted: var(--tf-text-muted);
    --nuclear-text-dim: #9ca3af;
    --nuclear-emerald: #10b981;
}

/* NUCLEAR LOCKOUT: REMOVED for navigation consistency */
/*
.single-product .site-header,
.single-product .tf-utility-bar {
    display: none !important;
}
*/

.single-product .tf-site-footer {
    padding-top: 0 !important;
    border-top: 1px solid var(--nuclear-border);
}

.single-product #colophon .tf-footer-motto {
    font-size: 14px !important;
    letter-spacing: 0.2em !important;
    margin-top: var(--tf-space-md) !important;
    opacity: 0.5;
}

/* Clean Sidebar Overrides */
.single-product #sidebar,
.single-product .widget-area {
    display: none !important;
}

/* ================================================================
   2. NUCLEAR GRID: Two-column product layout
   ================================================================ */
/* ================================================================
   2. NUCLEAR GRID: Two-column product layout (LOCKDOWN)
   ================================================================ */
.product-top-grid-nuclear {
    display: grid !important;
    grid-template-columns: 1fr 480px !important;
    gap: 80px !important;
    align-items: start !important;
    max-width: 1400px;
    margin: 0 auto !important;
    padding: 0 40px 60px !important; /* Top padding handled by 90px sitewide anchor protocol */
    border-bottom: 1px solid var(--nuclear-border);
}

/* BRUTE FORCE LOCKOUT: No Archive Banner on Single Products */
.single-product .tf-shop-hero-section {
    display: none !important;
}

.tf-product-info-breadcrumbs-nuclear .tf-product-breadcrumb-strict {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    opacity: 0.6;
}

.tf-product-info-breadcrumbs-nuclear .tf-product-breadcrumb-strict a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
}

.tf-product-info-breadcrumbs-nuclear .tf-product-breadcrumb-strict a:hover {
    color: var(--nuclear-accent) !important;
    border-bottom-color: var(--nuclear-accent);
}

.tf-product-info-breadcrumbs-nuclear .tf-product-breadcrumb-strict .tf-bread-sep {
    color: #333 !important;
    font-weight: 300;
}

.tf-product-info-breadcrumbs-nuclear .tf-product-breadcrumb-strict .tf-bread-current {
    color: #666 !important;
    font-weight: 400;
}

/* Mobile Lockdown Overridden below in section 12 */

.product-info-column-nuclear {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Related Products Section: Full Width Lockdown @FR_PROTECTED */
.shop-products-section-total-grid {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 40px auto !important; /* Balanced Spacing */
    padding: 0 20px !important; /* Unified Mobile Padding */
    display: block !important;
    clear: both !important;
}

.shop-products-section-total-grid .grid-container-parity {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px !important;
    width: 100% !important;
}

@media (max-width: 900px) {
    .shop-products-section-total-grid .grid-container-parity {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .shop-products-section-total-grid .grid-container-parity {
        grid-template-columns: 1fr !important;
    }
}

/* ================================================================
   3. GALLERY COLUMN: Thumbnail sidebar + main image
   ================================================================ */
.product-gallery-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

/* Desktop only: pin the gallery so it doesn't end early and leave a dead void
   below it when the info column (title/price/selectors/trust/accordion) runs
   taller than a single product image. Mobile stacks the columns (see
   product-mobile.css), so sticky positioning is scoped to the 2-column layout. */
@media (min-width: 1101px) {
    .product-gallery-column {
        position: sticky !important;
        top: 84px !important;
        /* Stretch the grid item to the row's full height (matching the taller
           info column) so the sticky box has room to travel/stick in. Flex
           children (the image) stay flush at the top of that box via the
           default flex-start justify-content — the extra height is inert
           space behind the pinned image, not a visible gap. */
        align-self: stretch !important;
    }
}

/* Horizontal Thumbnail Strip (Reference: daring-dusk-5790) */
.gallery-thumbnails-horizontal {
    display: flex;
    flex-direction: row;
    gap: 12px;
    overflow-x: auto;
}

.gallery-thumb {
    width: 80px;
    aspect-ratio: 1;
    border: 1.5px solid var(--nuclear-border);
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 0.5;
}

.gallery-thumb:hover {
    opacity: 0.9;
    border-color: var(--nuclear-border-light);
}

.gallery-thumb.active {
    border-color: var(--nuclear-accent);
    opacity: 1;
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Main Image */
.gallery-main-image {
    position: relative;
    width: 100%;
    border-radius: var(--tf-radius-md);
    overflow: hidden;
}

.gallery-main-image img {
    width: 100%;
    height: auto;
    display: block;
    transition: opacity 0.3s ease;
    position: relative;
    z-index: 10;
}

/* NUCLEAR LOCKOUT: Strictly NO hover effects on gallery images to prevent stretching */
.gallery-main-image:hover img,
.woocommerce-product-gallery__image:hover img,
.gallery-main-image img,
.woocommerce-product-gallery__image img {
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    transition: none !important; /* Kill any transition-induced jitter */
}

/* NUCLEAR LOCKOUT: Re-enabling with proper styling */
.single-product .woocommerce-product-gallery {
    display: block !important;
    position: relative !important;
    width: 100% !important;
}

/* Hide the default WooCommerce magnifying glass trigger */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
    margin: 0 0 30px 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--nuclear-border) !important;
    position: relative !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    border-radius: 12px !important;
    width: 100% !important;
    display: block !important;
}

/* Thumbnails: Ensure they are below and not floating */
.woocommerce div.product div.images .flex-control-thumbs {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 20px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    z-index: 50 !important;
    width: 100% !important;
    justify-content: flex-start !important;
    float: none !important;
    clear: both !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 80px !important;
    margin: 0 !important;
    flex: 0 0 80px !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: 4px !important;
    border: 1.5px solid var(--nuclear-border) !important;
    opacity: 0.5;
    transition: all 0.2s ease;
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
    opacity: 1;
    border-color: var(--nuclear-accent) !important;
}

.single-product .product-gallery-column .woocommerce-product-gallery {
    display: block !important; /* Re-enable ONLY IF nested, but usually better to kill standard hooks */
}


/* Hero Badges (overlay on main image) */
.product-hero-badges {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hero-badge {
    display: inline-block;
    padding: 6px 14px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-radius: 20px;
}

.badge-pill {
    background: #fff;
    color: #000;
}

/* Single image fallback: No thumbnails, image fills column */
.product-gallery-column:not(:has(.gallery-thumbnails)) {
    grid-template-columns: 1fr;
}

/* ================================================================
   4. INFO COLUMN: Product details, CTA, trust architecture
   ================================================================ */
.product-info-column {
    position: sticky;
    top: 40px;
    padding: var(--tf-space-md) 0;
}

/* Breadcrumb @FR_PROTECTED */
/* BREADCRUMB SYSTEM SUPPRESSION: Handled by navigation.css */
.tf-product-breadcrumb-strict,
.tf-bread-sep,
.tf-bread-current {
    display: none !important;
}

/* Title (Reference: daring-dusk-5790) */
h1.product_title {
    font-family: 'Inter', sans-serif !important;
    font-size: 72px !important;
    line-height: 0.85 !important;
    font-weight: 950 !important;
    font-style: italic !important;
    letter-spacing: -0.05em !important;
    margin: 0 0 24px 0 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    position: relative !important;
}

@media (max-width: 768px) {
    h1.product_title {
        font-size: 42px !important;
    }
}

@media (max-width: 480px) {
    h1.product_title {
        font-size: 32px !important;
    }
}

.product_title.uppercase-italic {
    font-style: italic !important;
}


@media (max-width: 1400px) {
    h1.product_title {
        font-size: 64px !important;
    }
}

@media (max-width: 768px) {
    h1.product_title {
        font-size: 42px !important;
    }
}

@media (max-width: 480px) {
    h1.product_title {
        font-size: 32px !important;
    }
}

/* Collection Eyebrow (Reference: daring-dusk-5790) */
.product-collection-eyebrow {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.25em !important;
    color: var(--nuclear-accent);
    margin-bottom: 8px !important;
}

/* Price Row with Sold count */
.price-sold-row {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}

.product-sold-count {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--nuclear-text-dim);
    margin-left: 12px;
    opacity: 0.8;
}

/* Subline replacement (Eyebrow is already there) */
.product-subline {
    display: none !important;
}

/* Price */
.product-cinematic-wrapper .price {
    font-size: 26px !important;
    font-weight: 900 !important;
    color: var(--tf-text-primary) !important;
    margin-bottom: 0 !important;
    letter-spacing: -0.02em;
    display: flex !important;
    align-items: center;
    gap: 12px;
}

/* Show sale price inline with original + discount badge */
.product-cinematic-wrapper .price del {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--nuclear-text-muted) !important;
    text-decoration: line-through !important;
    display: inline !important;
}

.product-cinematic-wrapper .price ins {
    text-decoration: none !important;
    color: var(--tf-text-primary) !important;
}

/* Hide Stock availability text only */
.product-cinematic-wrapper .stock {
    display: none !important;
}

/* Trust List (Reference: daring-dusk-5790) */
.product-trust-list {
    margin-top: 40px;
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    background: var(--nuclear-card);
    border-radius: 12px;
    border: 1px solid var(--nuclear-border);
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: var(--nuclear-text-dim);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.trust-item svg {
    color: var(--nuclear-accent);
    flex-shrink: 0;
}

/* Made to Order Note */
.product-note {
    color: var(--nuclear-text-dim);
    margin-bottom: var(--tf-space-md);
    font-size: 13px;
    font-style: italic;
}

/* ================================================================
   5. ADD TO CART ROW: Qty, ATC + WhatsApp
   ================================================================ */

/* ================================================================
   5. BUY BOX: Variations, Buttons & Grid
   ================================================================ */

/* Selection Area (Variations) */
.variations_form {
    margin-bottom: 40px !important;
}

.variations {
    width: 100% !important;
    border-collapse: collapse !important;
}

.variations tr {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 32px !important;
}

.variations td.label,
.variations th.label {
    padding: 0 0 16px 0 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: var(--nuclear-text-dim) !important;
}

/* Glassmorphism Action Row (Qty, ATC, WhatsApp) */
html body.single-product .tf-atc-row {
    display: flex !important;
    gap: 8px !important;
    margin-top: 24px !important;
    width: 100% !important;
    align-items: center !important;
    --tf-cta-height: 56px;
}

/* NUCLEAR NEUTRALIZER: WooCommerce wrappers break the row with margins */
body.single-product .tf-atc-row .single_variation_wrap,
body.single-product .tf-atc-row .woocommerce-variation-add-to-cart,
body.single-product .tf-atc-row .woocommerce-variation-add-to-cart-enabled {
    display: contents !important;
}

/* Ensure children of 'display: contents' parents don't inherit hidden margins */
body.single-product .tf-atc-row .quantity,
body.single-product .tf-atc-row .single_add_to_cart_button,
body.single-product .tf-atc-row .tf-whatsapp-btn {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* Push price out of the CTA row */
.single_variation {
    grid-column: 1 / -1 !important;
    margin-bottom: 12px !important;
}

/* Quantity Universal - Minimalist Row */
.product-cinematic-wrapper .quantity {
    display: flex !important;
    align-items: center !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    height: var(--tf-cta-height, 56px) !important;
    padding: 0 4px !important;
    min-width: 130px !important;
    max-width: 150px !important;
}

.product-cinematic-wrapper .quantity .qty-btn {
    width: 40px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.6;
    transition: opacity 0.2s ease !important;
}

.product-cinematic-wrapper .quantity .qty-btn:hover {
    opacity: 1;
}

.product-cinematic-wrapper .quantity input.qty {
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
    padding: 0 !important; /* Killer of vertical misalignment */
    margin: 0 !important;
    appearance: none !important;
    -moz-appearance: textfield !important;
}

/* ABSOLUTE SPECIFICITY LOCK: Primary ATC Color & Style */
/* Force row wrapping in the product form with absolute priority */
html body.single-product #primary div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

.tf-atc-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    flex: 0 0 100% !important;
}

@media (max-width: 480px) {
    /* ULTIMATE STACKING HAMMER: High Specificity to override lockdown desktop logic */
    html body.single-product #primary div.product form.cart .tf-atc-row,
    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        grid-template-areas: none !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        gap: 12px !important;
    }
    
    .tf-atc-row > * {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}
    html body.single-product #primary div.product form.cart .tf-atc-row .quantity,
    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 0 !important;
    }
    
    html body.single-product #primary div.product form.cart .tf-atc-row .single_add_to_cart_button,
    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button {
        width: 100% !important;
        flex: none !important;
        height: 60px !important;
        margin: 0 !important;
    }
}

html body.single-product #primary div.product form.cart .single_add_to_cart_button {
    flex: 1 !important;
    min-width: 0 !important;
    height: var(--tf-cta-height) !important;
    background: #7c3aed !important;
    color: #ffffff !important;
    font-weight: 950 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    border-radius: 6px !important;
    border: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
}

/* Bag Icon injection for ATC */
html body.single-product #primary div.product form.cart .single_add_to_cart_button::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'%3E%3C/path%3E%3Cpath d='M3 6h18'%3E%3C/path%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E") no-repeat center !important;
    background-size: contain !important;
}

/* Real wishlist button (TI WooCommerce Wishlist plugin) — compact icon-only, inline in the buy-box row (heart icon slot) */
html body.single-product .tinv-wraper {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    background: transparent !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .tinv-wraper {
    width: 56px !important;
    height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tinv-wraper a.tinvwl_add_to_wishlist_button {
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    border: 1px solid var(--nuclear-border) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 18px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.tinv-wraper a.tinvwl_add_to_wishlist_button:hover {
    background: rgba(124, 58, 237, 0.08) !important;
    border-color: var(--nuclear-accent) !important;
    color: var(--nuclear-accent-light) !important;
}

.tinv-wraper .tinvwl_add_to_wishlist-text,
.tinv-wraper .tinvwl_remove_from_wishlist-text,
.tinv-wraper .tinvwl_already_on_wishlist-text,
.tinv-wraper .tinvwl-tooltip {
    display: none !important;
}

html body.single-product #primary div.product form.cart .tf-atc-row .single_add_to_cart_button:hover {
    background: #6d28d9 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.3) !important;
}

/* --- NUCLEAR BUY BOX LOCKDOWN V10: THE FINAL STACK --- */

/* ================================================================
   5. NUCLEAR BUY BOX LOCKDOWN V11: ABSOLUTE SPECIFICITY
   ================================================================ */

/* price-sold-row forced visibility */
html body.single-product .price-sold-row-nuclear {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    margin-bottom: 32px !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: 'Inter', sans-serif !important;
}

html body.single-product .price-sold-row-nuclear .price,
html body.single-product .price-sold-row-nuclear .woocommerce-Price-amount {
    font-family: 'Inter', sans-serif !important;
}

html body.single-product .sold-count-badge-nuclear {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: rgba(124, 58, 237, 0.12) !important;
    padding: 5px 12px 5px 10px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(124, 58, 237, 0.45) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #c084fc !important; /* lighter purple — readable on dark background */
    visibility: visible !important;
    white-space: nowrap !important;
}

/* Number is the hero — larger than the label */
html body.single-product .sold-count-badge-nuclear .sold-number {
    font-size: 14px !important;
    font-weight: 950 !important;
    color: #ffffff !important;
    line-height: 1 !important;
}

html body.single-product .sold-count-badge-nuclear .sold-label {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #c084fc !important;
    letter-spacing: 0.12em !important;
}

/* Buy Box Container */
/* ================================================================
   5. NUCLEAR BUY BOX LOCKDOWN V15: THE ABSOLUTE RESOLUTION
   ================================================================ */

/* Global Viewport & Overflow Kill */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    position: relative !important;
}

/* Info Column Lockdown */
.product-info-column-nuclear {
    width: 100% !important;
    max-width: 480px !important; 
    margin: 0 auto 0 0 !important;
    padding-right: 0 !important;
}

/* Hide Duplicate Variation Price */
.woocommerce-variation-price, 
.woocommerce-variation-description {
    display: none !important;
}

/* 56px Height Lockdown - THE LAW */
html body.single-product .tf-buy-box-container-lockdown .quantity,
html body.single-product .tf-buy-box-container-lockdown .quantity-controls,
html body.single-product .tf-buy-box-container-lockdown .single_add_to_cart_button,
html body.single-product .tf-buy-box-container-lockdown .tinv-wraper,
html body.single-product .tf-buy-box-container-lockdown .tf-whatsapp-btn {
    height: 56px !important;
    min-height: 56px !important;
    line-height: normal !important;
    max-height: 56px !important;
    box-sizing: border-box !important;
}

/* Row 1: The Triple Threat (Qty | ATC | Heart) - RIGID GRID (Desktop Only) */
@media (min-width: 769px) {
    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row {
        display: grid !important;
        grid-template-columns: 140px 1fr 56px !important; /* Qty | Add to Cart | Wishlist heart icon */
        gap: 12px !important;
        width: 100% !important;
        margin: 0 0 12px 0 !important;
        align-items: stretch !important;
        justify-content: stretch !important;
    }
}

/* Container Breakout: Ensure the .cart form doesn't use flex-row */
html body.single-product .tf-buy-box-container-lockdown form.cart,
html body.single-product .tf-buy-box-container-lockdown .woocommerce-variation-add-to-cart {
    display: block !important;
    width: 100% !important;
}

/* Row 1 Components */
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity {
    width: 140px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity .quantity-controls {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--nuclear-border) !important;
    border-radius: 4px !important;
    padding: 0 4px !important;
    height: 56px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity input.qty {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    box-shadow: none !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity input::-webkit-outer-spin-button,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity .qty-btn,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .quantity input[type="button"] {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    width: 40px !important;
    height: 100% !important;
    min-width: 40px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button {
    height: 56px !important;
    width: 100% !important;
    background-color: var(--nuclear-accent) !important;
	border: none !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    position: relative !important;
}

/* Force removal of any icons/pseudo elements that might be generating the bag icon */
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button::before,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button::after,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button i,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button svg,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button span::before,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button span::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Remove stray Bag Icons or pseudo elements injected by theme/WooCommerce */
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button::before,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button::after,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button i,
html body.single-product .tf-buy-box-container-lockdown .tf-atc-row .single_add_to_cart_button svg {
    display: none !important;
    content: none !important;
}

/* Row 2: WhatsApp (TRUE FULL WIDTH BLOCK) */
html body.single-product .tf-buy-box-container-lockdown .tf-whatsapp-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
}

html body.single-product .tf-buy-box-container-lockdown .tf-whatsapp-btn {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

/* Final Variation Cleanup */
.tf-buy-box-container-lockdown .woocommerce-variation-add-to-cart-enabled > .quantity,
.tf-buy-box-container-lockdown .woocommerce-variation-add-to-cart-enabled > .single_add_to_cart_button {
    display: none !important;
}

.tf-buy-box-container-lockdown .tf-whatsapp-btn:hover {
    background: rgba(37, 211, 102, 0.05) !important;
    border-color: #25D366 !important;
}

/* Clean UI Overrides */
.single-product .product-cinematic-wrapper .quantity {
    display: flex !important; /* Ensure secondary quantity blocks don't verticalize */
    flex-direction: row !important;
}

#tf-whatsapp-order-btn,
.tf-whatsapp-btn {
    height: 52px !important;
    background: transparent !important;
    border: 1.5px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    gap: 12px !important;
    width: 100% !important;
    opacity: 0.8;
}

/* Disabled state: variable product with no valid variation selected yet.
   Toggled by JS in inc/whatsapp-integration.php via WooCommerce's native
   found_variation/reset_data events — mirrors the WC core ATC button's own
   enabled/disabled behavior instead of inventing a parallel state machine. */
#tf-whatsapp-order-btn.tf-wa-disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
}

#tf-whatsapp-order-btn:hover {
    background: rgba(37, 211, 102, 0.05) !important;
    border-color: #25D366 !important;
    color: #25D366 !important;
    opacity: 1 !important;
}

#tf-whatsapp-order-btn svg {
    color: #25D366 !important;
}

#tf-whatsapp-order-btn:hover,
.tf-whatsapp-btn:hover {
    background: rgba(37, 211, 102, 0.1) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.2) !important;
}

/* Override standard WooCommerce button layout if needed */
.woocommerce-variation-add-to-cart {
    display: contents !important;
}

/* Swatch Styling (Plugin compatibility) */
.variations .value .variable-item,
.variations .value .swatch,
.variations .value .vi-color-item {
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    margin-right: 12px !important;
    border: 2px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    padding: 2px !important;
    transition: all 0.2s ease !important;
}

.variations .value .variable-item.selected,
.variations .value .swatch.selected,
.variations .value .vi-color-item.selected {
    border-color: #7c3aed !important;
    box-shadow: 0 0 12px rgba(124, 58, 237, 0.4) !important;
}

/* Size Pill styling for plugin swatches */
.variations .value .variable-item:not(.variable-item-color),
.variations .value .vi-button-item {
    border-radius: 6px !important;
    width: auto !important;
    min-width: 54px !important;
    height: 48px !important;
    padding: 0 16px !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .tf-atc-row {
        grid-template-columns: 1fr 1fr !important;
    }
    
    .product-cinematic-wrapper .quantity {
        grid-column: span 2 !important;
    }
}

@media (max-width: 480px) {
    .tf-atc-row {
        grid-template-columns: 1fr !important;
    }
    
    .product-cinematic-wrapper .quantity {
        grid-column: span 1 !important;
    }
}

/* Selection Items (Swatches/Buttons) */
.variations .value .variable-item:not(.variable-item-color) {
    width: auto !important;
    min-width: 52px !important;
    height: 52px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--nuclear-card) !important;
    border: 1.5px solid var(--nuclear-border) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 0 16px !important;
    margin-right: 10px !important;
    margin-bottom: 10px !important;
}

/* Fix for variation selection being cramped */
.variations td.value {
    padding-bottom: 20px !important;
}

/* Mobile: Stack buttons */
@media (max-width: 480px) {
    .single-product form.cart,
    .single-product .woocommerce-variation-add-to-cart {
        grid-template-areas: 
            "qty qty"
            "atc atc"
            "wa wa" !important;
    }
}



/* ================================================================
   5c. VARIATION SWATCHES (NUCLEAR PREMIUM)
   ================================================================ */
/* Swatches: Premium Rectangular (Nuclear Default) */
.variations .value .variable-items-wrapper {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.variations .value .variable-item {
    border-radius: 6px !important;
    border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.variations .value .variable-item.selected {
    border-color: var(--nuclear-accent) !important;
    background: rgba(124, 58, 237, 0.05) !important;
    box-shadow: 0 0 12px var(--nuclear-accent-glow) !important;
}

.variations .value .variable-item:hover {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background: rgba(255, 255, 255, 0.02) !important;
}

.variations .value .variable-item-contents {
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--tf-text-primary) !important;
}


/* ATC Button Overlays/Tooltips suppression */
.single-product .hint--top::after,
.single-product .hint--top::before {
    display: none !important;
}



/* Redundant quantity block removed - consolidated at line 409 */

.product-cinematic-wrapper .quantity input[type="number"] {
    width: 60px !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    color: var(--tf-text-primary) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.product-cinematic-wrapper .quantity input::-webkit-outer-spin-button,
.product-cinematic-wrapper .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
}

/* Trust Grid removed - replaced by list above */
.trust-grid-product, 
.fabric-summary, 
.product-features-row {
    display: none !important;
}

/* ================================================================
   9. PRODUCT DETAILS & TRUST BADGES (V16)
   ================================================================ */

/* Short Persuasive Text */
.tf-nuclear-short-description {
    color: var(--nuclear-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
    letter-spacing: 0.02em !important;
}

.tf-nuclear-short-description p {
    margin: 0 !important;
}

/* Trust Badges Structure */
.tf-trust-badges-box-nuclear {
    margin: 24px 0 !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--nuclear-border) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.tf-trust-badges-box-nuclear .trust-badge-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.tf-trust-badges-box-nuclear .trust-icon {
    width: 18px !important;
    height: 18px !important;
    color: var(--nuclear-accent) !important;
    flex-shrink: 0 !important;
}

.tf-trust-badges-box-nuclear span {
    font-size: 13px !important;
    color: var(--nuclear-text-dim) !important;
    font-weight: 500 !important;
}

/* Product Details Fixed Section */
.product-details-fixed {
    margin-top: 32px !important;
    padding-top: 32px !important;
    border-top: 1px solid var(--nuclear-border) !important;
}

/* ================================================================
   10. STRICT BREADCRUMBS & ACCORDION (V22)
   ================================================================ */
.tf-product-breadcrumb-strict {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #6B7280 !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 700 !important;
}

.tf-product-breadcrumb-strict a {
    color: #6B7280 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.tf-product-breadcrumb-strict a:hover {
    color: #ffffff !important;
}

.tf-product-breadcrumb-strict .tf-bread-sep {
    color: #4B5563 !important;
}

.tf-product-breadcrumb-strict .tf-bread-current {
    color: #7C3AED !important;
}

/* Accordions */
.product-details-accordion-wrapper {
    margin-top: 32px !important;
    border-top: 1px solid var(--nuclear-border) !important;
}

.tf-accordion-item {
    border-bottom: 1px solid var(--nuclear-border) !important;
}

.tf-accordion-header {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 0 !important;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.15em !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    font-family: inherit !important;
}

.tf-accordion-icon {
    width: 14px !important;
    height: 14px !important;
    position: relative !important;
}

.tf-accordion-icon::before,
.tf-accordion-icon::after {
    content: '' !important;
    position: absolute !important;
    background-color: var(--nuclear-text-dim) !important;
    transition: transform 0.3s ease !important;
}

.tf-accordion-icon::before {
    top: 6px !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
}

.tf-accordion-icon::after {
    top: 0 !important;
    left: 6px !important;
    width: 2px !important;
    height: 100% !important;
}

.tf-accordion-item.open .tf-accordion-icon::after {
    transform: rotate(90deg) !important;
}

.tf-accordion-item.open .tf-accordion-icon::before,
.tf-accordion-item.open .tf-accordion-icon::after {
    background-color: #ffffff !important;
}

.tf-accordion-content {
    display: none; /* Changed by JS */
}

.tf-accordion-inner {
    padding-bottom: 20px !important;
    font-size: 14px !important;
    color: var(--nuclear-text-dim) !important;
    line-height: 1.65 !important;
}

.tf-accordion-inner p {
    margin: 0 0 12px 0 !important;
}

.tf-accordion-inner p:last-child {
    margin-bottom: 0 !important;
}

/* The DESCRIPTION panel renders editorial post content (the_content()) which
   can include sub-headings (e.g. "Product Features", "Size & Fit"). Cap them
   so they read as in-panel structure, not a second poster-sized headline
   next to 14px body copy. Also caps any Gutenberg large/huge font-size
   utility classes an editor might apply, so future content can't blow past
   the accordion's compact scale. */
.tf-accordion-inner h1,
.tf-accordion-inner h2,
.tf-accordion-inner h3,
.tf-accordion-inner h4,
.tf-accordion-inner h5,
.tf-accordion-inner h6 {
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
    line-height: 1.4 !important;
    margin: 20px 0 10px 0 !important;
}

.tf-accordion-inner h1:first-child,
.tf-accordion-inner h2:first-child,
.tf-accordion-inner h3:first-child,
.tf-accordion-inner h4:first-child {
    margin-top: 0 !important;
}

.tf-accordion-inner .has-small-font-size,
.tf-accordion-inner .has-normal-font-size,
.tf-accordion-inner .has-medium-font-size,
.tf-accordion-inner .has-large-font-size,
.tf-accordion-inner .has-x-large-font-size,
.tf-accordion-inner .has-huge-font-size {
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.tf-accordion-inner ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tf-accordion-inner ul li {
    padding: 6px 0 6px 20px !important;
    position: relative !important;
}

.tf-accordion-inner ul li::before {
    content: '•' !important;
    color: var(--nuclear-accent) !important;
    position: absolute !important;
    left: 0 !important;
    top: 6px !important;
}

/* ================================================================
   10. CROSS-SELL: "More From Collection" section
   ================================================================ */
.shop-products-section {
    margin-top: 0 !important;
    padding: 100px 0 80px !important;
    border-top: 1px solid var(--nuclear-border) !important;
}

.shop-products-section .grid-container-parity {
    grid-template-columns: repeat(3, 1fr) !important;
}

.tf-related-eyebrow {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase;
    color: var(--nuclear-accent) !important;
    margin-bottom: 12px !important;
    display: block;
}

.tf-related-heading {
    font-size: 42px !important;
    letter-spacing: -0.03em !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    line-height: 0.95 !important;
    margin-bottom: 8px !important;
    color: var(--tf-text-primary) !important;
}

.tf-related-heading .purple-text {
    color: var(--nuclear-accent) !important;
    font-style: italic;
}

.grid-subtitle {
    font-size: 12px;
    color: var(--nuclear-text-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 48px !important;
}

/* ================================================================
   11. BADGE: "MOST EARNED" pill override
   ================================================================ */
.product-badge.pill {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.2em !important;
    color: var(--nuclear-accent) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
}

/* ================================================================
   12. MOBILE RESPONSIVE — ABSOLUTE LOCKDOWN
   ================================================================ */
@media (max-width: 1100px) {
    .product-top-grid-nuclear {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 40px 20px !important;
        margin: 0 auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .shop-products-section-total-grid {
        padding: 0 20px !important;
        margin: 40px 0 !important; /* Neutralize auto if causing shifts */
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .shop-products-section-total-grid .grid-container-parity {
        grid-template-columns: 1fr !important; /* ONE PRODUCT: Single-column lockdown for mobile */
        gap: 32px !important; 
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

@media (max-width: 768px) {
    .product-top-grid-nuclear {
        padding: 30px 20px !important; /* Tighter mobile stack */
    }

    .product-gallery-column {
        flex-direction: column;
        display: block !important;
    }
    
    .gallery-thumbnails-horizontal {
        gap: 8px;
        margin-top: 15px !important;
    }
    
    .gallery-thumb {
        min-width: 60px;
        max-width: 60px;
    }

    .shop-products-section {
        padding: 40px 0 !important;
    }

    .tf-grid-heading-wrapper {
        display: flex !important; /* PARITY: Flex for side-by-side header/button */
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        text-align: left !important;
        margin-bottom: 30px !important;
        padding: 0 20px !important;
        position: relative;
    }

    .tf-grid-heading-wrapper > div {
        flex: 1;
        min-width: 0;
    }

    .tf-related-eyebrow {
        display: flex !important; /* PARITY: Flex for line prefix */
        align-items: center;
        text-align: left !important;
        margin: 0 0 8px !important;
    }

    .tf-related-eyebrow::before {
        content: "";
        display: inline-block;
        width: 32px;
        height: 1px;
        background: #7c3aed;
        margin-right: 12px;
    }

    .tf-related-heading {
        font-size: 32px !important; /* High-impact scale */
        text-align: left !important;
        margin-bottom: 8px !important;
        font-family: 'Inter', sans-serif !important;
        font-weight: 950 !important;
        font-style: italic !important;
    }

    .grid-subtitle {
        text-align: left !important;
        padding-left: 0 !important;
    }
}

    .tf-view-all-link-nuke {
        font-size: 11px !important;
        font-weight: 800 !important;
        color: rgba(255, 255, 255, 0.4) !important;
        text-decoration: none !important;
        letter-spacing: 0.1em !important;
        transition: color 0.3s ease !important;
        padding-bottom: 5px;
    }

    .tf-view-all-link-nuke:hover {
        color: #7c3aed !important;
    }

    .tf-continue-shopping-nuke {
        display: inline-block !important;
        margin-top: 16px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        color: rgba(255, 255, 255, 0.5) !important;
        text-decoration: none !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        padding-bottom: 2px !important;
        transition: all 0.2s ease !important;
    }

    .tf-continue-shopping-nuke:hover {
        color: #fff !important;
        border-bottom-color: #7c3aed !important;
    }

    /* Scaling typography for 1-column impact */
    .shop-products-section-total-grid .card-product-title {
        font-size: 20px !important;
        margin-bottom: 12px !important;
    }

    .shop-products-section-total-grid .card-price-value {
        font-size: 18px !important;
    }
}

/* ================================================================
   13. PREMIUM SCAN EFFECT (Gallery) & WISHLIST BUTTON
   ================================================================ */

/* Wishlist "Love" Button Active State (TI Wishlist plugin's own "already on wishlist" class) */
.tinv-wraper a.tinvwl_add_to_wishlist_button.tinvwl-product-already-on-wishlist {
    color: #ef4444 !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    filter: drop-shadow(0 0 5px rgba(239, 68, 68, 0.4)) !important;
}

/* ================================================================
 * NUCLEAR IMAGE STABILITY PROTOCOL — SINGLE PRODUCT PAGE ONLY
 *
 * Eliminates ALL hover effects on the main product image.
 * This block is scoped STRICTLY to body.single-product.
 *
 * Effect sources eliminated:
 *   1. CSS transform / scale / translate on hover
 *   2. Opacity shift on hover
 *   3. ::before / ::after pseudo-element overlays
 *   4. WooCommerce product gallery zoom hover states
 *   5. .image-magnify-hover / .image-magnify-full-size (Dawn artifact)
 *   6. Laser scan overlay animation
 *   7. cursor change on gallery image hover
 *
 * DO NOT modify selector scope. Locked to body.single-product.
 * ================================================================ */

/* --- 0. Gallery container fade-in failsafe ---
 * WooCommerce fades .woocommerce-product-gallery from opacity:0 to 1 via JS
 * once its init script finishes. If any other script on the page throws
 * before that point, the gallery is left permanently invisible. Force it
 * visible from CSS so a JS error elsewhere never hides the product image. */
body.single-product .woocommerce-product-gallery {
    opacity: 1 !important;
}

/* --- 1. WooCommerce Main Gallery: Absolute Static Lock --- */
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__image:hover img,
body.single-product .woocommerce-product-gallery__wrapper img,
body.single-product .woocommerce-product-gallery__wrapper:hover img,
body.single-product .gallery-main-image img,
body.single-product .gallery-main-image:hover img,
body.single-product .product__modal-opener img,
body.single-product .product__modal-opener:hover img {
    transform: none !important;
    scale: none !important;
    translate: none !important;
    filter: none !important;
    opacity: 1 !important;
    transition: none !important;
    animation: none !important;
    cursor: default !important;
}

/* --- 2. Container-level: No scale, no transform on wrapper hover --- */
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image:hover,
body.single-product .gallery-main-image,
body.single-product .gallery-main-image:hover,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__wrapper:hover {
    transform: none !important;
    scale: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
    overflow: hidden; /* Prevent zoomed image from bleeding outside container */
}

/* --- 3. Pseudo-element lockout + Premium Scan Effect --- */
body.single-product .woocommerce-product-gallery__image::before,
body.single-product .gallery-main-image::before {
    display: none !important;
    content: none !important;
    animation: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Rebuild the ::after element into a premium, non-distorting scan effect.
 * Autoplays continuously (not hover-gated) so it's visible on touch devices
 * too, not just desktop mouse-over. */
body.single-product .woocommerce-product-gallery__image::after,
body.single-product .gallery-main-image::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(124, 58, 237, 0) 45%,
        rgba(124, 58, 237, 0.3) 49%,
        rgba(124, 58, 237, 0.8) 50%,
        rgba(255, 255, 255, 0.9) 51%,
        rgba(124, 58, 237, 0.8) 52%,
        rgba(124, 58, 237, 0.3) 53%,
        rgba(124, 58, 237, 0) 55%,
        transparent 100%
    ) !important;
    z-index: 10 !important;
    pointer-events: none !important;
    opacity: 0 !important;
    display: block !important;
    transform: translateY(-100%) !important;
    animation: premiumNuclearScan 6s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}

@keyframes premiumNuclearScan {
    0% { transform: translateY(-100%); opacity: 0; }
    8% { opacity: 1; }
    45% { opacity: 1; }
    50% { transform: translateY(100%); opacity: 0; }
    100% { transform: translateY(100%); opacity: 0; }
}

/* --- 4. image-magnify & zoomImg overlay — complete suppression --- */
body.single-product .image-magnify-full-size,
body.single-product img.zoomImg {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important; /* Cannot intercept mouse events even if injected */
    position: absolute !important;
    z-index: -9999 !important;
    transform: none !important;
    animation: none !important;
}

body.single-product .image-magnify-hover {
    cursor: default !important; /* Remove zoom-in cursor hint */
}

body.single-product .image-magnify-hover:hover {
    cursor: default !important;
}

/* --- 5. Laser scan overlay: Fully killed on single product page --- */
body.single-product .laser-scan-overlay,
body.single-product .nuclear-product-card:hover .laser-scan-overlay,
body.single-product .tf-product-card-rebuilt:hover .laser-scan-overlay,
body.single-product .tf-product-card-exact:hover .laser-scan-overlay {
    animation: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* --- 6. Related / Cross-sell product cards on single product page --- */
body.single-product .nuclear-product-card,
body.single-product .tf-product-card-rebuilt,
body.single-product .tf-product-card-exact {
    transform: none !important;
    transition: none !important;
}

body.single-product .nuclear-product-card:hover .card-main-image,
body.single-product .tf-product-card-rebuilt:hover .card-main-image,
body.single-product .tf-product-card-exact:hover .card-main-image {
    transform: none !important;
    transition: none !important;
    filter: none !important;
}

/* --- 7. WooCommerce zoom trigger icon: Hidden (already declared, reinforced here) --- */
body.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
    pointer-events: none !important;
}

/* --- 8. Generic product image hover on single product (catch-all) --- */
body.single-product div.product img:hover,
body.single-product #primary div.product img:hover {
    transform: none !important;
    scale: none !important;
    filter: none !important;
    opacity: 1 !important;
    transition: none !important;
}

/* Breadcrumb UI/UX Refinement (Nuclear Standard) */
.shop-breadcrumbs-nuclear {
    font-family: 'Inter', sans-serif !important;
    gap: 4px;
    align-items: center;
}

.shop-breadcrumbs-nuclear a, 
.shop-breadcrumbs-nuclear span {
    font-size: 10px !important; /* Slightly smaller for premium look */
    letter-spacing: 0.15em !important;
}

.breadcrumb-current {
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: middle;
}



/* NUCLEAR MOBILE HARDENING: STRICT QUALITY PASS (320px - 480px) */
@media (max-width: 480px) {
    /* Strict Typography Scaling */
    html body.single-product .product_title {
        font-size: 32px !important;
        line-height: 1.1 !important;
        margin-bottom: 20px !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Force ATC Stacking (Ultimate Direct Authority) */
    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 0 !important;
        grid-template-columns: none !important; /* Kill any leftover grid */
    }

    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row > * {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    /* Enforce Safety Gutters */
    .product-info-column-nuclear {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }
}

/* ================================================================
 * PDP UI FIX 1: VARIATION GROUP GAP
 * Increases spacing between size swatches and color swatches so
 * the last size pill (e.g. XL) doesn't crowd the color row below it.
 * ================================================================ */

/* Breathing room between variation groups (size row → color row).
   28px is enough to clear a wrapped swatch line without feeling like
   a section break. Reduced from 48px. */
html body.single-product .variations tr {
    margin-bottom: 28px !important;
}

/* Extra padding below the swatch wrapper so the gap is clear even
   when swatches wrap to a second line */
html body.single-product .variations td.value {
    padding-bottom: 0 !important;
}

/* Ensure the label row (SIZE / COLOR heading) sits closer to its swatches
   and not to the previous group's swatches */
html body.single-product .variations td.label,
html body.single-product .variations th.label {
    padding-bottom: 12px !important;
}


/* ================================================================
 * PDP UI FIX 2: REMOVE PURPLE CONTAINER BACKGROUND FROM BUY BOX
 * WooCommerce .button.alt or a theme global is colouring the
 * .tf-buy-box-container-lockdown container purple. The ATC button
 * itself is purple — that's correct. The surrounding box should be
 * transparent / no decoration.
 * ================================================================ */

html body.single-product .tf-buy-box-container-lockdown,
html body.single-product .tf-buy-box-container-lockdown > form.cart,
html body.single-product .tf-buy-box-container-lockdown > .woocommerce-variation-add-to-cart,
html body.single-product .tf-buy-box-container-lockdown > .variations_button,
html body.single-product .tf-buy-box-container-lockdown .woocommerce-variation-add-to-cart {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Catch WooCommerce .button.alt colouring the container via inheritance */
html body.single-product .tf-buy-box-container-lockdown.button,
html body.single-product .tf-buy-box-container-lockdown.alt {
    background: transparent !important;
    background-color: transparent !important;
}


/* ================================================================
 * PDP UI FIX 3: GALLERY SLIDE CLIP — ONE IMAGE AT A TIME
 * The WooCommerce flexslider slides were overflowing the gallery
 * column, causing subsequent product images to appear stacked
 * below the main image. Lock overflow: hidden at every container
 * level so only the active slide is visible.
 * ================================================================ */

/* Primary clip: the gallery column itself */
body.single-product .product-gallery-column {
    overflow: hidden !important;
}

/* Secondary clip: the WooCommerce gallery component */
body.single-product .woocommerce-product-gallery {
    overflow: hidden !important;
}

/* Tertiary clip: the flexslider UL wrapper */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    overflow: hidden !important;
}

/* Ensure the slide LI items don't force the column taller than the main image */
body.single-product .woocommerce-product-gallery__image:not(:first-child) {
    display: none;
}

/* Let flexslider JS re-show/hide slides via its own mechanism once it boots */
body.single-product .flex-viewport .woocommerce-product-gallery__image {
    display: block !important;
}

/* ================================================================
 * PRODUCT TRUST LINE — compact proof strip below ATC buttons
 * (.product-trust-line rendered by woocommerce_after_add_to_cart_form hook)
 * Had NO CSS at all — defaulted to black text on dark background.
 * ================================================================ */
body.single-product .product-trust-line {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.38) !important; /* muted — supporting text, not hero */
    padding: 14px 0 4px !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* ================================================================
 * PDP UI FIX: TIGHT DETAILS FLOW (Resolve Floating Whitespace)
 * Reduces vertical gaps between title, price, description, 
 * variation selectors, and add to cart buttons for a tighter, 
 * more cohesive layout on both desktop and mobile.
 * ================================================================ */
html body.single-product h1.product_title {
    margin: 0 0 12px 0 !important;
}

html body.single-product .price-sold-row-nuclear {
    margin-bottom: 16px !important;
}

html body.single-product .tf-nuclear-short-description {
    margin-bottom: 16px !important;
}

html body.single-product .variations_form {
    margin-bottom: 20px !important;
}

html body.single-product .variations tr {
    margin-bottom: 16px !important;
}

html body.single-product .variations td.label,
html body.single-product .variations th.label {
    padding-bottom: 6px !important;
}

/* ================================================================
   SINGLE PRODUCT GALLERY RELATED & VARIANT IMAGES THUMBNAILS
   ================================================================ */
/* Hide the default WooCommerce flex-control-thumbs if our custom thumbnails exist */
.woocommerce div.product div.images .flex-control-thumbs {
    display: none !important;
}

.tf-product-related-images-container {
    margin-top: 20px !important;
    width: 100% !important;
    clear: both !important;
}

.tf-product-thumbnails-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    justify-content: flex-start !important;
}

.tf-product-thumbnail-item {
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    border: 1.5px solid var(--nuclear-border) !important;
    background: #111 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    opacity: 0.55 !important;
}

.tf-product-thumbnail-item:hover {
    opacity: 0.85 !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}

.tf-product-thumbnail-item.active {
    opacity: 1 !important;
    border-color: var(--nuclear-accent, #9333ea) !important;
    box-shadow: 0 0 8px rgba(147, 51, 234, 0.4) !important;
}

.tf-product-thumbnail-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}



