/*
Theme Name: TruthForge Nuclear
Theme URI: https://truthforgeapparel.com
Author: Nuclear Division
Author URI: https://truthforgeapparel.com
Description: High-conversion, dark-mode exclusive WooCommerce theme.
Version: 3.6.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: truthforgeapparel.com
Tags: woocommerce, dark-mode, minimal

================================================================================
CRITICAL PROTECTION PROTOCOL (@FR_PROTECTED)
================================================================================
Files and code blocks marked with @FR_PROTECTED are FINALIZED and APPROVED designs.
AI AGENTS: DO NOT modify marked sections unless explicitly instructed by the user.
Always check for these tags before performing any layout or aesthetic updates.
================================================================================
*/

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Oswald:wght@400;500;600;700;800&display=swap");

/* [Shared Brand Wordmark] */
.logo-wrap-parity {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    transition: transform 0.3s ease !important;
    text-decoration: none !important;
}

.logo-wrap-parity:hover {
    transform: scale(1.04) !important;
}

.logo-text-parity {
    font-family: 'Inter', sans-serif !important;
    font-weight: 900 !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    letter-spacing: -0.05em !important;
    color: #ffffff !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1 !important;
    font-size: 28px; /* Default size, can be overridden */
}

.logo-text-parity span {
    color: #A855F7 !important; /* Nuclear Purple */
}

.logo-subtext-parity {
    display: block !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8em !important;
    color: rgba(255, 255, 255, 0.4) !important;
    margin-top: 4px !important;
    margin-right: -0.8em !important; /* Offset the letter spacing for true centering */
    text-align: center !important;
    text-transform: uppercase !important;
}

:root {
  /* Core Foundation */
  --tf-bg-base: #000000;
  --tf-bg-surface: #0c0c0c;
  --tf-bg-input: #050505; /* Deeper for MagicPath feel */
  
  /* Brand DNA */
  --tf-brand-primary: #A855F7;
  --tf-brand-hover: #9333ea;
  --tf-brand-glow: rgba(168, 85, 247, 0.4);

  /* Typography */
  --tf-font-primary: "Inter", sans-serif;
  --tf-line-height-tight: 1.1;
  --tf-letter-spacing-wide: 0.12em;

  /* Borders & Dividers */
  --tf-border-subtle: rgba(255, 255, 255, 0.08);
  --tf-border-input: rgba(255, 255, 255, 0.15);
  --tf-border-solid: #1a1a1a;

  /* Spacing Rhythm */
  --tf-container-width: 1400px;
  --tf-space-section: 120px; /* Generous MagicPath spacing */
  --tf-space-card: 24px;

  /* Radii - Unified to 12px per User Global Rules */
  --tf-radius-md: 12px;
  --tf-radius-pill: 9999px;

  /* Transitions */
  --tf-transition-fast: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --tf-transition-smooth: 400ms cubic-bezier(0.4, 0, 0.2, 1);
}


html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  position: relative !important;
}

body {
  background-color: var(--tf-bg-base);
  background-image: radial-gradient(circle at 50% -20%, #1a1a1a 0%, var(--tf-bg-base) 80%);
  background-attachment: fixed;
  color: var(--tf-text-primary);
  font-family: var(--tf-font-primary);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: visible !important; /* Ensure sticky headers work by allowing Y overflow */
  line-height: 1.6;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.container {
  max-width: 1400px !important; /* Force 1400px master width sitewide */
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 768px) {
  .container {
    padding: 0 20px !important;
  }
}

/* Global Button Geometry Stabilization */
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt, 
.woocommerce #respond input#submit.alt,
.checkout-button,
.single_add_to_cart_button,
#place_order,
.btn-primary,
.button {
    border-radius: var(--tf-radius-md) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    transition: var(--tf-transition-smooth) !important;
    background-color: var(--tf-brand-primary) !important;
    color: var(--tf-text-primary) !important;
    border: none !important;
}

.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.checkout-button:hover,
.single_add_to_cart_button:hover,
#place_order:hover,
.button:hover {
    background-color: var(--tf-brand-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px var(--tf-brand-glow);
}

/* Global Mobile Navigation Guard: Transitioned to media queries in home.css */
.mobile-drawer {
    display: none;
}

/* Global Heading Reset - Enforce Inter 900 Bold Italic Uppercase (MagicPath Signature) */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--tf-font-primary) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  letter-spacing: var(--tf-letter-spacing-wide) !important;
  line-height: var(--tf-line-height-tight) !important;
  color: var(--tf-text-primary) !important;
}

h1 { font-size: clamp(1.75rem, 8vw, 4.5rem); }
h2 { font-size: clamp(1.5rem, 5vw, 3rem); }
h3 { font-size: clamp(1.25rem, 4vw, 2.2rem); }

/* Fix WordPress Block Constrained Widths */
.wp-block-group__inner-container,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 1400px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ensure WooCommerce Shortcode Grids use full width */
.woocommerce.columns-4 {
    max-width: 1400px !important;
    margin: 0 auto !important;
}

.home-nuclear-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: hidden;
}

/* Header & Navigation Core - Refined Scaling */
.site-header {
    position: absolute !important;
    top: 32px; /* Offset for utility bar height */
    left: 0;
    width: 100%;
    z-index: 1000 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 10px 40px !important; /* Slimmer + SYNCED: 40px padding */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.site-header.scrolled {
    position: fixed !important;
    top: 0 !important;
    background: rgba(0, 0, 0, 0.9) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    backdrop-filter: blur(15px) !important;
    padding: 6px 40px !important; /* Extremely Slim when scrolling */
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.nav-wrapper {
    background: transparent !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    height: auto !important; /* Removed fixed 85px height */
    gap: 32px !important;
}

/* Utility Bar - Nuclear Ticker */
.utility-bar-nuclear {
    background: #A855F7; /* Brand Purple */
    height: 32px;
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    z-index: 1001;
}

.marquee-track {
    display: flex;
    white-space: nowrap;
}

.utility-bar-nuclear:hover .marquee-content {
    animation-play-state: paused !important;
}

.marquee-content {
    display: flex;
    animation: marquee-scroll 40s linear infinite;
    transition: color 0.3s ease;
}

.utility-bar-nuclear:hover .marquee-content {
    color: rgba(255, 255, 255, 1) !important;
}

.marquee-content span {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    letter-spacing: 0.15em;
    padding: 0 40px;
}

@keyframes marquee-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.33%); }
}

@media (prefers-reduced-motion: reduce) {
    .marquee-content {
        animation: none;
        transform: translateX(0);
    }
}

/* Nav Item Scaling & Spacing */
.desktop-only ul {
    list-style: none;
    display: flex;
    gap: 32px;
    margin: 0;
    padding: 0;
}

.desktop-only ul li a {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    letter-spacing: 0.12em;
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.desktop-only ul li a:hover {
    opacity: 1;
}

/* Offset for WordPress Admin Bar */
.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

/* Navigation Link Styles */
.main-navigation ul {
    display: flex;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Desktop Navigation */
.main-navigation.desktop-only {
    flex: 1;
    display: flex;
    justify-content: flex-start;
}

.brand-identity {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    transition: transform var(--tf-transition-smooth);
}

.brand-identity:hover {
    transform: scale(1.05);
}

.header-icons {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 24px;
}

.logo-anchor {
    display: flex;
    align-items: center;
    text-decoration: none;
    line-height: 1;
}

.tf-main-logo-svg {
    width: 32px;
    height: 32px;
    display: block;
    color: var(--tf-text-primary);
    transition: transform 0.3s ease;
}

.logo-anchor:hover .tf-main-logo-svg {
    transform: scale(1.05);
}

.brand-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.site-logo {
    height: 140px !important; /* Aggressively increased further - Directive 4 */
    width: auto;
    display: block;
    mix-blend-mode: normal !important;
    filter: none !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: -27px; /* Pull it up to center the content within the 85px header */
    margin-bottom: -27px;
    position: relative;
    z-index: 1001;
}

.logo-anchor:hover .site-logo {
    transform: scale(1.04);
}

.main-navigation {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}

.main_menu ul {
  display: flex;
  list-style: none;
  gap: 30px;
  margin: 0;
  padding: 0;
}

.main_menu a {
  color: #fff !important;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 9999;
  display: block;
}

.main_menu a:hover {
  color: var(--neon-purple-hover) !important;
}

.logo .site-title,
.logo a {
  color: #fff !important;
  font-size: 1.5rem;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
}

.protocol-tag {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 8px; /* Slightly smaller for density */
    letter-spacing: 0.5px;
    color: #444; 
    white-space: nowrap;
    border-left: 1px solid #222;
    padding-left: 16px; /* Reduced padding */
    height: 20px;
}

.status-marker {
    width: 4px;
    height: 4px;
    background-color: var(--tf-brand-primary);
    border-radius: 50%;
    opacity: 0.4;
    animation: systemPulse 3s infinite ease-in-out;
}

@keyframes systemPulse {
    0% { opacity: 0.2; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.5); }
    100% { opacity: 0.2; transform: scale(1); }
}

.logo,
.logo a,
.custom-logo-link,
.logo img,
.tf-main-logo {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.logo img,
.site-logo {
  height: 24px !important; /* SLIMMED: 24px Wordmark height */
  width: auto;
  display: block;
  object-fit: contain;
  mix-blend-mode: normal !important; 
  filter: none !important;
}

/* Navigation Refinement - Directive 3 (Center Zone) */
.main-navigation {
    flex: 1 1 auto; /* Allow some shrinking to prevent overflow */
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0; /* Important for flex-shrink */
}

.main-navigation ul {
    display: flex;
    list-style: none;
    gap: 32px; /* Directive 4 & 9 */
    margin: 0;
    padding: 0;
}

.nav-index {
    display: none; /* Directive 5: Remove numeric prefixes */
}

.nav-label {
    display: flex;
    align-items: center;
    height: 48px; /* Directive 4: Click target */
    font-weight: 500; /* Directive 6: Secondary items */
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
    position: relative;
}

/* Primary Hierarchy - Directive 6 */
.menu-item-shop .nav-label,
.main-navigation ul li:first-child .nav-label,
.current-menu-item .nav-label,
.current-page-ancestor .nav-label,
/* URL-based fallback for /shop/ to handle domain mapping issues */
body.archive.post-type-archive-product .menu-item-shop .nav-label,
body.single-product .menu-item-shop .nav-label {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 800 !important;
    color: #fff !important;
    opacity: 1;
}

.main-navigation ul li a {
    font-family: 'Oswald', sans-serif !important;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.6) !important; /* Muted secondary */
    transition: var(--tf-transition-smooth);
    display: block;
    text-transform: uppercase; /* Ensure All CAPS */
}

.main-navigation ul li a:hover .nav-label {
    color: #A855F7 !important; /* Deeper Neon Purple Hover */
    opacity: 1;
}

/* Page Indicator - Directive 8 */
.current-menu-item .nav-label::after,
.current-page-ancestor .nav-label::after,
body.archive.post-type-archive-product .menu-item-shop .nav-label::after,
body.single-product .menu-item-shop .nav-label::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
}


/* Utility Zone - Directive 7 */
.header-icons {
    flex: 0 1 auto; /* Responsive utility zone */
    display: flex;
    justify-content: flex-end;
    gap: 24px; /* Premium gap */
    align-items: center;
    padding-right: 0;
}

.icon-svg {
  width: 24px;
  height: 24px;
  color: #fff;
  vertical-align: middle;
  transition:
    transform 0.2s ease,
    color 0.2s ease;
}

.header-icons a:hover .icon-svg {
  color: #9333ea;
  transform: scale(1.05);
}

.cart-contents {
  position: relative;
  text-decoration: none;
  color: var(--tf-text-primary);
}

.cart-count {
  background: var(--neon-purple);
  color: #fff;
  font-size: 0.7rem;
  padding: 2px 6px;
  border-radius: 50%;
  position: absolute;
  top: -10px;
  right: -10px;
  font-weight: 700;
  min-width: 18px;
  text-align: center;
  line-height: 1.4;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* Hide the badge when cart is empty — span always lives in DOM for JS updates */
.cart-count:empty,
.cart-count--empty {
  opacity: 0;
  transform: scale(0);
  pointer-events: none;
}

.site-footer, .tf-site-footer {
  background: #000;
  color: #fff;
  padding: 40px 0 50px;       /* Reduced from 80px */
  border-top: 1px solid #222;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 60px;
}

.footer-about-text {
  font-size: 0.95rem;
  color: var(--tf-text-muted);
  line-height: 1.6;
  margin-top: 20px;
}

.footer-bottom {
  margin-top: 80px;
  text-align: center;
  border-top: 1px solid #111;
  padding-top: 30px;
  font-size: 0.8rem;
  color: #444;
}

/* Global Shopify Parity Styles */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
  transition: var(--tf-transition-smooth);
}
button,
.btn,
.button {
  cursor: pointer;
  border: none;
  transition: var(--tf-transition-smooth);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

/* Utility Animations */
.animate-rise {
  opacity: 0;
  animation: cinematicRise 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* =========================================================================
   WOOCOMMERCE UI TYPOGRAPHY: Force 'Inter'
   Overrides generic fallback loops for forms, selects, and breadcrumbs
   ========================================================================= */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a,
.woocommerce-ordering select,
.woocommerce-result-count,
.select2-container--default .select2-selection--single,
.select2-results__option, #add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500;
}

.woocommerce-ordering select {
    padding: 10px 14px;
    border: 1px solid #333;
    background-color: #0d0d0d;
    color: #fff;
    border-radius: 4px;
}

/* Buttons */
.btn-primary,
.button {
  background-color: var(--tf-brand-primary);
  color: var(--tf-text-primary);
  padding: 12px 30px;
}

.btn-primary:hover,
.button:hover {
  background-color: var(--tf-brand-hover);
  transform: scale(1.02);
  box-shadow: 0 0 20px rgba(113, 23, 163, 0.4);
}

/* =========================================================================
   GLOBAL BRAND CTA: Nuclear Purple Standardization
   Forces the exact 'Elite' DNA across all primary buttons sitewide.
   Overrides 'Times New Roman', ghost styles, and off-brand purples.
   ========================================================================= */
/* Wrapper Neutralizer: Prevents double-background nesting in Gutenberg buttons */
.wp-block-button.btn-purple-solid {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* The actual interactive element style */
.btn-purple-solid .wp-block-button__link,
.btn-purple-solid.wp-block-button__link,
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple,
.woocommerce button.button.alt,
.woocommerce-page button.button.alt,
.wp-block-button__link,
.wpcf7-submit,
button[type="submit"],
input[type="submit"] {
  background: var(--nuclear-gradient-primary) !important;
  color: var(--tf-text-primary) !important;
  border: none !important; 
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border-radius: var(--tf-radius-md) !important;
  padding: 16px 36px !important;
  font-size: 0.9rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 15px rgba(124, 58, 237, 0.2) !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* Enhanced Hover State: Nuclear Glow Expansion */
.btn-purple-solid .wp-block-button__link:hover,
.btn-purple-solid.wp-block-button__link:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.alt:hover,
.wpcf7-submit:hover,
button[type="submit"]:hover {
    background: linear-gradient(135deg, #8b5cf6 0%, #5b21b6 100%) !important;
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 8px 30px rgba(124, 58, 237, 0.4) !important;
}

/* =========================================================================
   SINGLE PRODUCT PAGE STANDARDIZATION
   Enforces 'Nuclear' brand DNA on the product detail page
   ========================================================================= */
.single-product h1.product_title {
    font-family: 'Impact', 'Anton', sans-serif !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.single-product .price,
.single-product .woocommerce-Price-amount {
    color: var(--tf-text-primary) !important;
    font-weight: 700 !important;
}

.single-product .whatsapp-btn,
a.whatsapp-btn,
button.whatsapp-checkout-btn,
.single-product .single_add_to_cart_button {
    border-radius: 4px !important;
}

.single-product .quantity .qty {
    border: 1px solid var(--tf-border-input) !important;
    background-color: var(--tf-bg-input) !important;
    color: var(--tf-text-primary) !important;
    border-radius: var(--tf-radius-md) !important;
    padding: 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.btn-purple-solid:hover,
.btn-purple-solid .wp-block-button__link:hover,
.btn-purple-solid.wp-block-button__link:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce a.button.product_type_simple:hover,
.woocommerce button.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.wp-block-button__link:hover,
.wpcf7-submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: var(--tf-brand-hover) !important;  /* #9333ea */
  border-color: var(--tf-brand-hover) !important;
  box-shadow: 0 0 30px rgba(113, 23, 163, 0.45) !important;
  transform: translateY(-2px) !important;
  color: var(--tf-text-primary) !important;
}

/* Stage 2: Hero Layout & Atmosphere */
.tf-hero-exact {
    min-height: 85vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    position: relative;
    overflow: hidden;
    background-color: #000;
}

.tf-hero-exact .tf-hero-content-inner {
    padding-top: 140px !important; /* Deeper push-down for cinematic centering */
    z-index: 5;
}

.tf-hero-exact .hero-main-title {
  animation: forgeReveal 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
  opacity: 0;
  font-size: clamp(2.5rem, 8vw, 5.5rem) !important;
  line-height: 0.95 !important;
  margin-bottom: 30px !important;
}

.tf-hero-exact .hero-main-subtitle {
  animation: cinematicRise 1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.4s forwards;
  opacity: 0;
  font-size: 1.25rem !important;
  color: #ccc !important;
  margin-bottom: 24px !important; /* Tightened rhythm for cohesive block */
}

.tf-hero-exact .wp-block-buttons {
  animation: cinematicRise 1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.6s forwards;
  opacity: 0;
  margin-bottom: 60px !important;
}

.tf-hero-exact .hero-inline-features {
  animation: cinematicRise 1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.8s forwards;
  opacity: 0;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: #888;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 20px;
  margin-top: 0 !important;
}

/* --- ELITE HERO CTA --- */
/* Matches global visual language but scaled for Hero impact */
/* --- HIGH-SPECIFICITY RECLAMATION: Force 'Inter' and KILL Glitches --- */
#tf-stage-2-hero .wp-block-button__link {
    font-family: 'Inter', sans-serif !important; /* Win specificity war vs base.css */
    padding: 18px 52px !important;
    font-size: 1.15rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    border-radius: 4px !important;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    box-shadow: 0 0 30px rgba(107, 33, 168, 0.4) !important;
    background-color: var(--tf-brand-primary) !important;
    text-transform: uppercase !important;
}

/* Eliminate ANY vertical notch or marker protrusions ('T' glitch) */
#tf-stage-2-hero .wp-block-button__link::before,
#tf-stage-2-hero .wp-block-button::before,
#tf-stage-2-hero .tf-reveal::before,
#tf-stage-2-hero .tf-reveal-container::before {
    display: none !important;
    content: none !important;
}

.tf-hero-btn .wp-block-button__link:hover {
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 0 50px rgba(107, 33, 168, 0.6) !important;
    background-color: var(--tf-brand-hover) !important;
}

/* Premium Button Enhancements */
.btn-purple-solid .wp-block-button__link {
  position: relative;
  overflow: hidden;
  box-shadow: var(--neon-bloom) !important;
}

.btn-purple-solid .wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    to right,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transform: skewX(-25deg);
  transition: none;
}

.btn-purple-solid .wp-block-button__link:hover::after {
  animation: laserGlint 0.8s ease-in-out;
}

.tf-hero-exact .btn-purple-solid .wp-block-button__link {
  animation: glowPulse 3s infinite alternate;
}

/* E-commerce UI */
.price {
  color: var(--tf-brand-hover);
  font-weight: 900;
  font-size: 1.2rem;
}

.product-title {
  transition: var(--tf-transition-smooth);
}

.product-card:hover .product-title {
  color: var(--tf-brand-hover);
}

.product-card:hover {
  border-color: var(--tf-brand-primary) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
}

/* WooCommerce Overrides */
.woocommerce-loop-product__title {
  font-family: "Inter", sans-serif !important;
  text-transform: uppercase;
}

.dark-variation-select {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid #333 !important;
  padding: 10px !important;
  width: 100%;
}

.reset_variations {
  font-size: 0.8rem;
  color: var(--tf-text-muted);
  margin-top: 5px;
  display: inline-block;
}

.single_add_to_cart_button {
  width: 100%;
  margin-top: 20px;
}

.onsale {
  background: var(--tf-brand-primary) !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 5px 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

/* Form UI - Nuclear Standards */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid #333 !important;
  padding: 12px 15px !important;
  font-size: 1rem !important;
  width: 100%;
  margin-bottom: 10px;
  transition: var(--tf-transition-smooth);
}

input:focus,
textarea:focus {
  border-color: var(--tf-brand-primary) !important;
  outline: none;
  box-shadow: 0 0 10px rgba(75, 23, 142, 0.3);
}

label {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 1px;
  color: var(--tf-text-muted);
}

/* Checkout Progress */
.woocommerce-checkout h3 {
  border-bottom: 1px solid #333;
  padding-bottom: 15px;
  margin-bottom: 25px;
}

#payment {
  background: transparent !important;
  border: 0 !important;
}

.wc_payment_method label {
  color: var(--tf-text-primary) !important;
  font-size: 1rem !important;
}

.payment_box {
  background: #1a1a1a !important;
  color: var(--tf-text-muted) !important;
  padding: 20px !important;
  margin-top: 10px !important;
}

/* --- Phase 5 Refinement: Component Classes --- */

/* Trust Bar */
.tf-trust-bar {
  background: var(--tf-bg-surface);
  padding: 40px 0;
  border-bottom: 1px solid #1a1a1a;
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
}
.trust-item {
  text-align: center;
}
.trust-item h3 {
  font-size: 1rem;
  margin-bottom: 10px;
}
.trust-item p {
  font-size: 0.9rem;
  color: var(--tf-text-muted);
}

/* Product Grid & Cards */
.product-card {
  background: var(--nuclear-gradient-surface), var(--tf-bg-surface) !important;
  border: 1px solid var(--tf-border-subtle);
  padding: 24px;
  transition: var(--tf-transition-smooth);
  position: relative;
  overflow: hidden;
  list-style: none;
  border-radius: var(--tf-radius-md);
}
.product-card:hover {
  border-color: var(--tf-brand-primary);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
  transform: translateY(-4px);
}
.product-image-wrapper {
  margin-bottom: 20px;
  overflow: hidden;
}
.product-info-wrapper {
  text-align: left;
}
.product-card-footer {
  margin-top: 15px;
}

.product-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--tf-text-primary);
}

/* Narrative Section */
.tf-narrative {
  padding: 120px 0;
  text-align: center;
  background: var(--tf-bg-base);
}
.narrative-inner {
  max-width: 800px;
  margin: 0 auto;
}
.narrative-inner h2 {
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 40px;
}
.narrative-inner p {
  font-size: 1.2rem;
  color: var(--tf-text-muted);
  line-height: 1.8;
}

/* Cart & Checkout Headers */
.section-header-banner {
  background: var(--tf-bg-base);
  padding-top: 64px !important;
  padding-bottom: 0 !important;
  margin-bottom: 32px !important; /* Heading -> Content Gap */
  border-bottom: 1px solid #111;
}
.section-header-banner h1 {
  font-size: 3.5rem;
  font-weight: 900;
  margin: 0;
}

/* WooCommerce Overrides Refined */
/* Block removed - Consolidated above for visual stabilization */
.product-image-wrapper {
  margin-bottom: 20px;
  overflow: hidden;
}
.product-info-wrapper {
  text-align: left;
}
.product-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--tf-text-primary);
}

/* Cinematic Product */
/* Product Page - Cinematic Layout */
.product-cinematic-wrapper {
  display: flex;
  gap: 60px;
  padding: 100px 0;
  flex-wrap: wrap;
}
.product-gallery-column,
.product-info-column {
  flex: 1;
  min-width: 400px;
}

.product-badge.pill {
  display: inline-block;
  background: #1a1a1a;
  color: var(--tf-text-muted);
  padding: 5px 15px;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: 20px;
  border: 1px solid #333;
}

.product-subline {
  margin: 30px 0 10px;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--tf-text-primary);
}

.product-note {
  color: var(--tf-text-muted);
  margin-bottom: 40px;
  font-size: 0.9rem;
}

.product-features-row {
  display: flex;
  gap: 30px;
  margin: 40px 0;
  border-top: 1px solid #1a1a1a;
  padding-top: 40px;
}

.feature-col {
  flex: 1;
}
.feature-icon-outline {
  margin-bottom: 15px;
}
.feature-name {
  font-size: 0.85rem;
  font-weight: 800;
  margin-bottom: 5px;
}
.feature-desc {
  font-size: 0.75rem;
  color: var(--tf-text-muted);
  line-height: 1.4;
}

/* Product Accordion */
.product-accordion-section {
  margin-top: 60px;
  border-top: 1px solid #1a1a1a;
}
.accordion-item {
  border-bottom: 1px solid #1a1a1a;
}
.accordion-header {
  width: 100%;
  background: transparent;
  border: 0;
  color: var(--tf-text-primary);
  padding: 25px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 2px;
}
.accordion-content {
  display: none;
  padding-bottom: 30px;
  color: var(--tf-text-muted);
  line-height: 1.6;
}
.spacing-wide {
  letter-spacing: 4px;
}

/* Checkout Grid - Corrected (Moved to woocommerce.css) */
.shipping-details {
  margin-top: 40px;
}
.col-2.order-review {
  background: var(--tf-bg-surface);
  padding: 40px;
  border: 1px solid #1a1a1a;
  align-self: start;
}

/* My Account Area */
.account-login-container {
  padding: 100px 0;
}

.account-heading {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 20px;
}

.account-divider {
  width: 40px;
  height: 4px;
  background: var(--tf-brand-primary);
  margin-bottom: 40px;
}

.login-card,
.register-card {
  background: var(--tf-bg-surface);
  padding: 50px;
  border: 1px solid #1a1a1a;
}

.register-intro {
  color: var(--tf-text-muted);
  margin-bottom: 30px;
}

.my-account-wrapper {
  padding: 80px 0;
}

.my-account-grid {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 60px;
}

.account-nav-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.account-nav-column li {
  /* --- Product Grid & Cards --- */
.product-card.tf-card {
    background: transparent;
    transition: var(--tf-transition-smooth);
}

.product-media {
    position: relative;
    aspect-ratio: 1 / 1.2;
    overflow: hidden;
    border-radius: var(--tf-radius-standard);
    background: #111;
    margin-bottom: 16px;
}

.product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.product-card:hover .product-image {
    transform: scale(1.05);
}

.product-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
}

.product-card:hover .product-overlay {
    opacity: 1;
}

.product-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 80%;
    transform: translateY(20px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.product-card:hover .product-actions {
    transform: translateY(0);
}

.product-details {
    padding: 0 4px;
}

.product-title {
    font-size: 0.95rem;
    margin-bottom: 4px;
    color: var(--tf-text-primary);
}

.product-price {
    font-family: var(--tf-font-primary);
    font-weight: 700;
    font-size: 1rem;
    color: var(--tf-brand-primary);
}

/* WooCommerce Price Overrides */
.product-price ins {
    text-decoration: none;
    color: var(--tf-brand-primary);
}

.product-price del {
    color: var(--tf-text-muted);
    font-size: 0.8em;
    margin-right: 8px;
}
  border-bottom: 1px solid #1a1a1a;
}

.account-nav-column a {
  display: block;
  padding: 15px 0;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 1px;
}

/* --- Homepage: Hero Section --- */
.tf-hero-section {
    position: relative;
    height: 85vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000;
}

.tf-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.tf-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
}

.tf-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.8) 100%);
}

.tf-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 900px;
}

.tf-hero-title {
    font-size: clamp(3rem, 10vw, 6rem);
    line-height: 0.9;
    margin-bottom: 24px;
    color: var(--tf-text-primary);
}

.tf-hero-subtitle {
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: var(--tf-text-muted);
    max-width: 600px;
    margin: 0 auto 40px;
}

.tf-hero-actions {
    display: flex;
    gap: 20px;
    justify-content: center;
}

/* Animations */
.animate-up {
    animation: tfFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-up-delayed {
    opacity: 0;
    animation: tfFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}

.animate-up-delayed-more {
    opacity: 0;
    animation: tfFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
}

@keyframes tfFadeUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Homepage: Brand Value Ticker --- */
.tf-ticker-wrapper {
    background: var(--tf-brand-primary);
    padding: 15px 0;
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.tf-ticker {
    display: flex;
    white-space: nowrap;
}

.tf-ticker-track {
    display: flex;
    align-items: center;
    animation: tfTickerScroll 40s linear infinite;
}

.tf-ticker-item {
    font-family: var(--tf-font-primary);
    font-weight: 900;
    font-style: italic;
    font-size: 1.1rem;
    color: #fff;
    padding: 0 40px;
}

.tf-ticker-divider {
    color: rgba(255,255,255,0.3);
    font-weight: 300;
}

@keyframes tfTickerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --- Homepage: Sections --- */
.site-main {
    background: var(--tf-bg-base);
}

.account-nav-column li.is-active a {
  color: var(--tf-brand-hover);
}

.account-content-card {
  background: var(--tf-bg-surface);
  padding: 40px;
  border: 1px solid #1a1a1a;
}

.full-width {
  width: 100%;
}

.btn-outline {
  background: transparent;
  border: 2px solid var(--tf-brand-primary);
  color: var(--tf-text-primary);
  padding: 12px 30px;
}

.btn-outline:hover {
  background: var(--tf-brand-primary);
  color: #fff;
}

/* Cart & Checkout Refinements */
.cart-section {
  padding: 80px 0;
}

.shop_table.cart th {
  background: transparent !important;
  border: 0 !important;
  color: var(--tf-text-muted) !important;
}

.cart_item td {
  padding: 20px !important;
}

.remove {
  color: var(--tf-text-muted) !important;
}

.product-name a {
  font-weight: 700;
  color: var(--tf-text-primary);
}

.cart_totals {
  background: var(--tf-bg-surface);
  padding: 40px;
  border: 1px solid #1a1a1a;
}

.cart_totals h2 {
  font-size: 1.5rem;
  letter-spacing: 2px;
  margin-bottom: 30px;
}

.cart_totals .shop_table th,
.cart_totals .shop_table td {
  background: transparent !important;
  border: 0 !important;
  padding: 10px 0 !important;
}

.cart_totals .order-total {
  border-top: 1px solid #333 !important;
}

.cart_totals .order-total th {
  padding: 20px 0 !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
}

.cart_totals .order-total td {
  padding: 20px 0 !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  color: var(--tf-text-primary) !important;
}

.wc-proceed-to-checkout {
  margin-top: 30px;
  display: grid;
  gap: 15px;
}

.whatsapp-checkout-btn {
  background: #25d366 !important;
  color: #fff !important;
  text-align: center;
  padding: 15px !important;
  font-weight: 800 !important;
}

.coupon {
  display: flex;
  gap: 10px;
}

.cart-collaterals {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 60px;
}

/* Checkout Specifics */
.checkout-section {
  padding: 80px 0;
}

.woocommerce-checkout-review-order-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  background: transparent !important;
  border: 0 !important;
}

.woocommerce-checkout-review-order-table thead th {
  padding: 10px 0;
  text-align: left;
  color: var(--tf-text-muted);
}

.woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right;
}

.woocommerce-checkout-review-order-table .cart_item td {
  padding: 15px 0 !important;
  font-weight: 700;
}

.woocommerce-checkout-review-order-table .cart_item .product-total {
  text-align: right;
  color: var(--tf-brand-hover);
}

.woocommerce-checkout-review-order-table tfoot th {
  text-align: left;
  text-transform: uppercase;
  padding: 10px 0;
}

.woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  padding: 10px 0;
}

.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .order-total {
  border-top: 1px solid #333 !important;
}

.woocommerce-checkout-review-order-table .order-total th {
  padding: 20px 0;
  font-size: 1.2rem;
  font-weight: 900;
}

.woocommerce-checkout-review-order-table .order-total td {
  padding: 20px 0;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--tf-text-primary);
}

.billing-shipping {
  animation-delay: 0.2s;
}

/* Hero Animations */
.tf-hero-heading {
  animation-delay: 0.2s;
}
.tf-hero-subtext {
  animation-delay: 0.4s;
}
.tf-hero-content .button {
  animation-delay: 0.6s;
}

/* Content Area */
.content-area {
  padding: 50px 0;
}

/* Shop Archive */
.shop-products-section {
  padding-top: 64px !important;
  padding-bottom: 72px !important;
}

/* Single Product */
.product-gallery-column {
  animation-delay: 0.2s;
}
.product-info-column {
  animation-delay: 0.4s;
}

/* Variations Table */
.variations {
  width: 100%;
  border: 0;
  box-shadow: none;
}
.variations th.label {
  text-align: left;
  padding: 10px 0;
}
.variations th.label label {
  font-size: 0.9rem;
  letter-spacing: 1px;
}
.variations td.value {
  padding: 10px 0;
}

/* Thank You Page */
.error-icon {
  color: red !important;
}

/* 404 Page */
.error-404 {
  padding: 150px 0;
  text-align: center;
}
.error-404 h1 {
  font-size: 5rem;
  font-weight: 900;
  margin: 0;
}
.error-404 h2 {
  letter-spacing: 5px;
  margin-bottom: 20px;
}
.error-404 p {
  color: #888;
  margin-bottom: 40px;
}
.error-404 .button {
  background: var(--tf-brand-primary);
  color: #fff;
  padding: 15px 40px;
  font-weight: 800;
  border-radius: 0;
}

/* WhatsApp Integration */
.whatsapp-btn {
  background: #25d366 !important;
  color: #fff !important;
  display: block;
  text-align: center;
  padding: 10px;
  margin-top: 10px;
  font-weight: bold;
}

/* --- Shopify Parity Grid --- */
.ai-premium-grid {
  display: grid !important;
}

/* Mobile & Tablet (matching 750px/990px) */
@media screen and (max-width: 989px) {
  .grid--2-col-tablet-down {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (min-width: 990px) {
  .grid--4-col-desktop {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Hard override for mobile if specifically requested (index.json says 2) */
@media screen and (max-width: 749px) {
  .grid--2-col-tablet-down {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

.tf-split-exact {
  display: flex;
  background: #000;
}
.tf-split-exact.reverse {
  flex-direction: row-reverse;
}
.tf-split-media,
.tf-split-text-box {
  flex: 1;
}
.tf-split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tf-split-text-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8% 8%;
  align-items: flex-start;
}
.split-subtext {
  color: #6b21a8;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 2px;
  margin-bottom: 2rem;
  font-family: "Inter", sans-serif !important;
}
.split-heading {
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-family: "Inter", sans-serif !important;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 2.5rem;
  letter-spacing: 1px;
  color: #fff;
}
.split-desc {
  font-size: 1rem;
  color: #a3a3a3;
  margin-bottom: 3.5rem;
  max-width: 450px;
  font-family: "Inter", sans-serif !important;
  line-height: 1.6;
}
.btn-purple-outline {
  border: 2px solid #6b21a8;
  color: #fff !important;
  padding: 13px 35px;
  font-weight: 800;
  display: inline-block;
  transition: var(--transition);
  font-family: "Inter", sans-serif !important;
  letter-spacing: 1px;
}
.btn-purple-outline:hover {
  background: #6b21a8;
  color: #fff;
}

.tf-product-grid-section {
  background: #000;
  padding: 80px 0;
}
.grid-header {
  margin-bottom: 60px;
  text-align: left;
}
.grid-title {
  font-size: 2.5rem;
  font-family: "Inter", sans-serif !important;
  font-weight: 800;
  margin: 0 0 15px;
  letter-spacing: 2px;
  color: #fff;
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.grid-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #6b21a8, rgba(107, 33, 168, 0));
  margin-top: 10px;
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(107, 33, 168, 0.8);
}
.purple-text {
  color: #9333ea;
}
.grid-subtitle {
  color: #ddd;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  margin-top: 0;
}
.tf-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Product Card Parity */
.product-card {
  text-align: left;
}
.product-image-wrapper {
  background: #1a1a1a;
  border-radius: 8px;
  margin-bottom: 15px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.product-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
  transition: var(--transition);
}
.product-card:hover .product-image-wrapper img {
  opacity: 1;
  transform: scale(1.03);
}
.product-info-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.star-rating {
  font-size: 0.8rem;
  color: #555;
  margin-bottom: 5px;
}
.product-title {
  font-size: 0.85rem;
  font-family: "Inter", sans-serif !important;
  font-weight: 800;
  color: #fff;
  margin: 0;
  letter-spacing: 1px;
}
.price {
  font-size: 0.95rem;
  font-family: "Inter", sans-serif !important;
  font-weight: 800;
  color: #fff;
}
.tf-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.tf-manifesto-exact {
  background: #0a0a0a;
  padding: 100px 0;
}
.manifesto-container {
  display: flex;
  justify-content: center;
}
.manifesto-box {
  background: #111;
  border: 1px solid transparent;
  padding: 60px 80px;
  width: 100%;
  max-width: 1100px;
  position: relative;
  transition: all 0.3s ease;
  text-align: left;
  display: block;
  text-decoration: none;
  cursor: pointer;
}
.manifesto-box:hover {
  border-color: #6b21a8;
}
.manifesto-heading {
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-family: "Inter", sans-serif !important;
  font-weight: 900;
  margin: 0 0 15px;
  color: #fff;
  letter-spacing: 2px;
}
.manifesto-subheading {
  color: #999;
  font-size: 1.1rem;
  margin-bottom: 40px;
}
.manifesto-bullets {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.m-bullet {
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 1px;
  color: #fff;
  font-family: "Inter", sans-serif !important;
}
.purple-separator {
  color: #9333ea;
  font-weight: 600;
  font-style: italic;
  font-size: 0.9rem;
}
.manifesto-link {
  position: absolute;
  bottom: 30px;
  right: 40px;
  color: #9333ea;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.manifesto-link:hover {
  text-decoration: underline;
}
.manifesto-box:hover .manifesto-link {
  opacity: 1;
}

@media (max-width: 1024px) {
  .tf-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tf-split-exact {
    flex-direction: column;
  }
  .tf-split-exact.reverse {
    flex-direction: column;
  }
  .tf-split-media {
    min-height: 400px;
  }
}
@media (max-width: 768px) {
  .tf-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .hero-main-title {
    font-size: 2.5rem;
  }
  .tf-hero-content-inner {
    text-align: center;
  }
  .tf-hero-overlay {
    background: rgba(0, 0, 0, 0.6);
    pointer-events: none;
  }
  .tf-split-text-box {
    align-items: center;
    text-align: center;
    padding: 15% 5%;
  }

  .manifesto-box {
    padding: 40px 20px;
  }
  .manifesto-link {
    position: relative;
    display: block;
    margin-top: 20px;
    opacity: 1;
    text-align: right;
    bottom: 0px;
    right: 0px;
  }
  .manifesto-bullets {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .purple-separator {
    display: none;
  }
}

/* --- TRUTHFORGE EXACT FOOTER --- */
.tf-site-footer {
  background: #000;
  color: #fff;
  padding: 0;
  border-top: 2px solid #333; /* Strong separation from grid */
}

.tf-footer-top {
  padding-top: 30px;
  margin-bottom: 50px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  text-align: center;
}

/* Issue 1: Primary headline — dominant */
.tf-footer-motto {
  font-size: clamp(1.4rem, 3.5vw, 2.2rem);
  font-weight: 800;
  letter-spacing: 0.15em;
  color: #ffffff;
  text-align: center;
  margin-bottom: 12px;
}

.tf-footer-main {
  display: grid;
  grid-template-columns: 1fr; /* Mobile (Issue: Stacks cleanly) */
  gap: 40px;
  margin: 0 0 50px; /* Explicitly zero out horizontal margins for parity */
}

@media (min-width: 600px) {
  .tf-footer-main {
    grid-template-columns: repeat(2, 1fr); /* Tablet (Issue: 2 columns) */
    gap: 30px;
  }
}

@media (min-width: 1024px) {
  .tf-footer-main {
    grid-template-columns: 1.8fr 1.2fr 1.2fr 1.2fr; /* Desktop (Issue: 4 columns) */
    /* About column narrowed slightly to help wrap text to 3-4 lines */
  }
}

/* --- NUCLEAR UTILITY BAR (#000000) --- */
.utility-bar-nuclear {
    background-color: #8a2be2; /* Moment of Truth Purple */
    color: #ffffff;
    height: 38px; /* Slightly taller for premium feel */
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #1a1a1a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    width: 100%;
}

.utility-bar-content {
    white-space: nowrap; /* Force single line */
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Hide duplicate trust line on homepage when utility bar is present */
.home .trust-bar,
.home .trust-line,
.home .hero-inline-features,
.home .wp-block-group.trust-line,
.home [class*="trust-line"],
.home [class*="features-bar"],
.home .tf-top-utility-bar:not(.utility-bar-nuclear) {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Consolidating styles into top definitions to avoid CSS specificity issues */

/* --- HEADER ICONS & CART --- */
.header-icons {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    margin-left: auto;
}

.header-icons .icon-svg {
    color: #ffffff !important;
    width: 22px !important;
    height: 22px !important;
    display: block !important;
}

.header-icons .icon-account,
.header-icons .icon-search,
.header-icons .cart-contents {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    transition: color 0.2s ease;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.header-icons a:hover .icon-svg,
.header-icons button:hover .icon-svg {
    color: #9b30ff !important;
}

.cart-contents {
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none !important;
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -10px;
    background: #9b30ff !important;
    color: #ffffff !important;
    font-size: 10px;
    font-weight: 900 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #000000 !important;
    line-height: 1 !important;
    z-index: 2;
    box-sizing: content-box !important;
}

/* --- MOBILE MENU BUTTON --- */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    padding: 10px 0;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .mobile-menu-toggle {
        display: block;
    }
}

.hamburger-box {
    width: 24px;
    height: 18px;
    display: inline-block;
    position: relative;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 24px;
    height: 2px;
    background-color: #ffffff;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}

.hamburger-inner {
    top: 50%;
    transform: translateY(-50%);
}

.hamburger-inner::before {
    content: "";
    top: -8px;
}

.hamburger-inner::after {
    content: "";
    bottom: -8px;
}

/* --- MOBILE DRAWER --- */
/* Mobile drawer styles moved to consolidated section at bottom for visual stabilization */

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(4px);
    z-index: 10000;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-menu-overlay.active {
    display: block;
    opacity: 1;
}

.mobile-menu-overlay {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px); /* Safari support */
}

.no-scroll {
    overflow: hidden !important;
}

.drawer-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
}

.close-drawer {
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
}

/* Block removed - Consolidated in mobile media query */

body.menu-open {
    overflow: hidden;
}

/* --- DRAWER OVERLAY --- */
.drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
}

.drawer-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Tablet/Desktop layout was here, moved to main section definition for clarity or updated elsewhere */

.tf-footer-heading {
  font-size: 1rem;
  font-weight: 900; /* Increased weight slightly - Issue: Column title weight */
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  color: #ffffff;
}

.tf-footer-col:first-child .tf-footer-text {
  max-width: 380px; /* Refined for better block balance */
}

.tf-footer-text p,
.tf-footer-text,
.tf-footer-menu li a {
  color: #a0a0a0;
  line-height: 1.6;
  font-size: 0.95rem;
  margin-bottom: 8px;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important; /* Force Title Case/Normal */
}

.tf-footer-text a {
  color: #a0a0a0;
  text-decoration: none;
  transition: color 0.3s ease;
}

.tf-footer-text a:hover {
  color: #9333ea;
}

/* Final Nuclear Typography Enforcement */
/* Removed .site-header selectors to allow Oswald font */
.site-header .mobile-drawer a,
.tf-footer-heading,
.tf-footer-menu li a,
.tf-footer-text,
.tf-footer-copyright,
.trust-text {
    font-family: 'Inter', sans-serif !important;
}

/* Hide duplicate trust row in homepage content if it's already in footer */
.home .entry-content .tf-trust-row-exact,
.home [data-wp-block-name="wp:shortcode"] .tf-trust-row-exact {
    display: none !important;
}

/* --- Homepage: Featured Products --- */
.tf-featured-products .section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}

.tf-featured-products .section-title {
    font-size: 2.5rem;
    margin: 0;
}

.view-all-link {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--tf-text-muted);
    text-decoration: none;
    border-bottom: 1px solid var(--tf-border-subtle);
    padding-bottom: 4px;
    transition: var(--tf-transition-fast);
}

.view-all-link:hover {
    color: var(--tf-brand-primary);
    border-color: var(--tf-brand-primary);
}

.tf-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

@media (max-width: 1024px) {
    .tf-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .tf-featured-products .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

.tf-site-footer {
    background: var(--tf-bg-base);
    padding: 100px 0 60px;
    border-top: 1px solid var(--tf-border-subtle);
}

.tf-footer-main {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 60px;
    margin-bottom: 80px;
}

.footer-brand {
    margin-bottom: 24px;
}

.footer-logo {
    height: 32px;
    width: auto;
}

.mission-statement {
    font-family: var(--tf-font-primary);
    font-weight: 900;
    font-style: italic;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
    color: var(--tf-text-primary);
}

.tf-footer-heading {
    font-size: 0.85rem;
    letter-spacing: 0.15em;
    margin-bottom: 24px;
    color: var(--tf-text-primary);
    opacity: 0.5;
}

.tf-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tf-footer-menu li {
    margin-bottom: 12px;
}

.tf-footer-menu a {
    font-size: 0.95rem;
    color: var(--tf-text-muted);
    transition: var(--tf-transition-fast);
}

.tf-footer-menu a:hover {
  color: #ffffff;
  padding-left: 4px;
}

.tf-footer-social {
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  margin-bottom: 30px;
}

.tf-social-icons {
  display: flex;
  justify-content: center;
  gap: 24px;
}

.tf-social-icons a {
  color: #ffffff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
}

.tf-social-icons a:hover {
  color: #9333ea;
  transform: translateY(-3px);
  opacity: 1;
}

.tf-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.tf-payment-icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  opacity: 0.6;
  filter: grayscale(1) invert(1);
  transition: opacity 0.3s ease;
}

.tf-payment-icons:hover {
  opacity: 1;
}

.tf-payment-icons img,
.tf-payment-icons svg {
  height: 24px;
  width: auto;
}

.tf-footer-copyright {
  font-size: 0.8rem;
  color: #555;
  letter-spacing: 0.05em;
  text-align: center;
}

.tf-footer-contact-link {
    color: #fff !important;
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* --- HOMEPAGE SECTION RHYTHM: Clear Visual Separation ---
   Each section has a distinct background tone and a hairline top border
   so sections read as independent "zones", not a single merged scroll.    */
.home .tf-product-grid-section,
.home .tf-stage-5-products-primary,
.home .tf-stage-7-products-secondary,
.home .tf-stage-8-products-tertiary {
    background: #000 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
}

/* Philosophy & banner sections: darkest backdrop for contrast punch */
.home .tf-stage-4-philosophy,
.home .tf-stage-9-final-close {
    background: #000 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
}

/* Standardized Premium Trust Row */
.tf-footer-trust-wrapper {
    background-color: #000; /* Unified black with footer */
    border-top: 1px solid rgba(255,255,255,0.05);
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding: 60px 0 30px; /* Reduced bottom padding for tighter rhythm */
}

/* --- HOMEPAGE WOOCOMMERCE GRID OVERRIDES (PHASE 3) --- */

/* Global Grid Hygiene: Hide specific metadata if they accidentally render */
.home .tf-products .wc-block-components-product-rating,
.home .tf-products .star-rating,
.home .tf-products .woocommerce-review-link,
.home .tf-products .woocommerce-product-rating,
.home .tf-products .wc-block-components-product-sku,
.home .tf-products .sku_wrapper,
.home .tf-products .wc-block-components-product-metadata,
.home .tf-products .posted_in {
    display: none !important;
}

/* Ensure only one CTA is visible */
.home .tf-products .wp-block-button:not(:first-of-type),
.home .tf-products .add_to_cart_button ~ .added_to_cart {
    display: none !important;
}

/* Stage 5 & 7 Static Subtitle Styling */
.home .tf-products .tf-product-subtitle {
    font-size: 0.85rem;
    color: #666;
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

/* Stage 7 tighter spacing */
.home .tf-products--discipline .tf-controlled-grid,
.home .tf-products--discipline ul.products {
    gap: 1.25rem !important; /* Tighter than default */
}

/* --- HOMEPAGE V2 PHASE 4: VISUAL SYSTEM & CRO --- */

/* 1. Global Container System */
.home .container, .home .wp-block-group.container {
    max-width: 1400px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;           /* Neutralize overflow */
    box-sizing: border-box !important; /* Prevent padding from pushing width */
}

@media (max-width: 768px) {
    .home .container, .home .wp-block-group.container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* --- GLOBAL UI DNA UTILITIES (Elite Version) --- */
@keyframes tf-shimmer {
    to { background-position: 200% center; }
}

@keyframes tf-kenburns {
    0% { transform: scale(1); }
    100% { transform: scale(1.15); }
}

/* 1. Metallic Shimmer Utility */
.tf-shimmer-text {
    background: linear-gradient(
        to right, 
        #fff 20%, 
        #A855F7 40%, 
        #A855F7 60%, 
        #fff 80%
    );
    background-size: 200% auto;
    color: #fff !important;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: tf-shimmer 5s linear infinite;
    display: inline-block;
}

/* 2. Brutalist Corner Brackets (Global) */
.tf-section-frame {
    position: relative !important;
}

.tf-section-frame::before,
.tf-section-frame::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 60px;
    border: 2px solid rgba(245, 245, 240, 0.3); /* Bone White contrast */
    pointer-events: none;
    transition: all 1s cubic-bezier(0.2, 0.8, 0.2, 1);
    z-index: 2;
    filter: drop-shadow(0 0 5px rgba(107, 33, 168, 0.2)); /* Subtle purple glow */
}

.tf-section-frame::before {
    top: 32px;
    left: 48px;
    border-right: 0;
    border-bottom: 0;
}

.tf-section-frame::after {
    bottom: 32px;
    right: 48px;
    border-left: 0;
    border-top: 0;
}

/* 3. Forge-Burn Product Cards */
.tf-product-card-forge {
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    position: relative;
    border: 1px solid transparent;
}

.tf-product-card-forge:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(75, 23, 142, 0.5) !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5), 
                0 0 20px rgba(107, 33, 168, 0.2);
}

/* 4. Atmosphere Hero */
.tf-hero-bg {
    animation: tf-kenburns 30s ease-in-out infinite alternate;
}

/* 5. Reveal System: Sitewide Reveal & Stagger */
.tf-reveal {
    opacity: 0;
    transform: translateY(40px);
    letter-spacing: 0.5em !important;
    transition: opacity 1.2s cubic-bezier(0.2, 0.8, 0.2, 1), 
                transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1),
                letter-spacing 1.5s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    will-change: opacity, transform, letter-spacing;
}

.tf-revealed {
    opacity: 1 !important;
    transform: translateY(0) !important;
    letter-spacing: inherit !important;
}

/* Stagger Children Support (applied via JS) */
.tf-reveal-container .grid-item,
.tf-reveal-container .product,
.tf-reveal-container .wp-block-column {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.tf-reveal-container.tf-revealed .grid-item,
.tf-reveal-container.tf-revealed .product,
.tf-reveal-container.tf-revealed .wp-block-column {
    opacity: 1;
    transform: translateY(0);
}

/* --- SECTION SPECIFIC REFINEMENTS --- */
.tf-stage-4-philosophy {
    text-align: center;
    padding: 120px 0 !important;
}

.philosophy-heading {
    font-size: clamp(2rem, 5vw, 4rem) !important;
    letter-spacing: 0.2em !important;
    font-weight: 900 !important;
    margin-bottom: 2rem !important;
    text-shadow: 0 0 20px rgba(107, 33, 168, 0.3) !important;
}

/* 2. Vertical Rhythm Lock */
.home .tf-stage-4-philosophy,
.home .tf-stage-5-products-primary,
.home .tf-stage-7-products-secondary,
.home .tf-stage-8-products-tertiary {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
}
.home .tf-stage-3-micro-1,
.home .tf-stage-6-micro-2 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.home .tf-stage-9-final-close {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
    min-height: 0 !important;
    height: auto !important;
}
.home .tf-stage-10-trust-row {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.home .wp-block-group.container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* 4. Micro Banners */
.home .tf-micro-banner-exact {
    background-color: #000 !important;
}
.home .tf-micro-banner-exact h2 {
    font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    letter-spacing: 0.15em !important;
    text-align: center !important;
    margin: 0 !important;
}

/* 5. Product Grid Consistency */
.home .tf-products li {
    background-color: var(--card-bg, #111) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    text-align: center;
    border-radius: 4px;
    padding-bottom: 15px;
}
.home .tf-products li:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4) !important;
}
.home .tf-products .wc-block-components-product-title {
    margin-bottom: 10px !important;
    font-size: 1.1rem !important;
}

/* 6. Final Close Balance */
.home .tf-stage-9-final-close .conversion-content {
    max-width: 800px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}
.home .tf-stage-9-final-close .wp-block-buttons {
    justify-content: flex-start !important;
}

/* 7. Trust Row Simplification */
/* -------------------------------------------------------------------------
   HEADER & NAVIGATION: Floating Ultra-Minimalist Transparency
   ------------------------------------------------------------------------- */
.site-header {
    position: absolute !important;
    top: 32px !important; /* Offset for Ticker if present */
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    background: transparent !important; /* ELITE: ABSOLUTE TRANSPARENCY */
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 10px 0 !important;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    box-shadow: none !important;
}

@media screen and (max-width: 900px) {
    .site-header {
        top: 0 !important; /* Force to top on mobile for floating feel */
        position: absolute !important; 
    }
}

.site-header.scrolled {
    background: rgba(0, 0, 0, 0.8) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    backdrop-filter: blur(15px) !important;
    top: 0 !important;
    padding: 8px 0 !important;
}

.header-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 40px !important; /* SYNCED: 40px site-wide padding */
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
.home .tf-stage-10-trust-row .trust-grid {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 0 !important; /* Remove gap; equal flex widths handle spacing */
    align-items: center !important;
}
.home .tf-stage-10-trust-row .trust-grid .wp-block-column {
    flex: 1 1 0 !important;   /* Equal width for all 4 columns */
    min-width: 0 !important;
    text-align: center !important;
}
.home .tf-stage-10-trust-row .trust-text {
    font-size: 0.85rem !important;
    font-weight: 700 !important;          /* Firm trust signal weight */
    letter-spacing: 0.08em !important;    /* Compact — was 0.15em */
    text-align: center !important;
    margin: 0 !important;
    color: #ccc !important;
    text-transform: uppercase !important;
}

/* 8. Mobile CRO Test (Responsive) */
@media (max-width: 768px) {
    .home .tf-products ul.wc-block-grid__products {
        display: grid !important;
        grid-template-columns: 1fr !important; /* FORCED 1-COL MASTER GRID */
        gap: var(--tf-mobile-space-xl) !important; /* 32px Master Gap */
        padding: 0 !important; /* Redundant: handled by global site-main padding */
    }
    .home .tf-stage-9-final-close .conversion-content {
        padding-top: var(--tf-mobile-space-xl) !important;
        margin: 0 auto !important;
        text-align: center !important;
    }
    .home .tf-stage-9-final-close .wp-block-buttons {
        justify-content: center !important;
    }
}

@media (max-width: 480px) {
    .home .tf-products ul.wc-block-grid__products {
        grid-template-columns: 1fr !important;
        gap: var(--tf-mobile-space-xl) !important;
        padding: 0 !important;
    }
    .home .tf-products .wp-block-button,
    .home .tf-products .wp-block-button__link {
        width: 100% !important;
        text-align: center !important;
        display: block !important;
    }
    /* Trust row: 2 columns on mobile (not 4 tiny, not 1 stacked) */
    .home .tf-stage-10-trust-row .trust-grid {
        flex-wrap: wrap !important;
        gap: var(--tf-mobile-space-lg) 0 !important;
    }
    .home .tf-stage-10-trust-row .trust-grid .wp-block-column {
        flex: 1 1 50% !important;  /* 2 columns on mobile/tablet */
        max-width: 50% !important;
    }
}

/* --- MOBILE NAVIGATION DRAWER & TOGGLE (NUCLEAR REMEDIATION) --- */
.mobile-menu-toggle {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 1001;
    position: relative;
    width: 44px;
    height: 44px;
}

.hamburger-box {
    width: 24px;
    height: 18px;
    display: inline-block;
    position: relative;
}

.hamburger-inner, 
.hamburger-inner::before, 
.hamburger-inner::after {
    width: 24px;
    height: 2px;
    background-color: var(--white);
    position: absolute;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* ELITE TRANSITION */
}

.hamburger-inner {
    top: 50%;
    transform: translateY(-50%);
}

.hamburger-inner::before {
    content: "";
    top: -8px;
}

.hamburger-inner::after {
    content: "";
    bottom: -8px;
}

/* HAMBURGER TO X ANIMATION (NUCLEAR V2) */
body.menu-open .hamburger-inner {
    background-color: transparent !important;
}

body.menu-open .hamburger-inner::before {
    transform: translateY(8px) rotate(45deg) !important;
}

body.menu-open .hamburger-inner::after {
    transform: translateY(-8px) rotate(-45deg) !important;
}

/* Block removed - Consolidated below for visual stabilization */

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

body.no-scroll {
    overflow: hidden !important;
}

/* Block removed - Consolidated in mobile media query */

@media screen and (max-width: 1024px) {
    .desktop-only {
        display: none !important;
    }
    .mobile-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Homepage QA fix: the country/currency switcher in .header-icons has no
   mobile hide rule, so below ~650px it pushes .mobile-menu-toggle off-canvas
   and the hamburger becomes unclickable. Hide it on the homepage under 768px
   (matches the existing single-product mobile breakpoint in product-mobile.css). */
@media (max-width: 768px) {
    body.home .header-icons .tf-country-switcher {
        display: none;
    }
}

/* --- HOMEPAGE V2 PHASE 5: CONVERSION PATH ALIGNMENT --- */

/* 1. Global E-Commerce Noise Removal */
.woocommerce-product-rating,
.star-rating,
.woocommerce-review-link,
.sku_wrapper,
.posted_in,
.tagged_as,
.product_meta,
.woocommerce-tabs,
.up-sells,
.related.products,
.yith-wcwl-add-to-wishlist,
.recently-viewed-products,
.woocommerce-form-coupon-toggle {
    display: none !important;
}

/* 2. Single Product Layout */
.single-product .product-cinematic-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-top: 40px;
    margin-bottom: 60px;
}
.single-product .product-gallery-column {
    position: sticky;
    top: 40px;
}
.single-product .tf-product-reassurance {
    display: block;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #333;
    font-size: 0.85rem;
    color: #999;
}
.single-product .single_add_to_cart_button {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 4px;
}

/* 3. Cart Layout */
.woocommerce-cart .woocommerce {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start;
    margin-top: 40px;
    margin-bottom: 80px;
}
.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    float: none !important;
    background: var(--card-bg);
    padding: 30px;
    border-radius: var(--tf-radius-md);
    border: 1px solid var(--tf-border-subtle);
    position: sticky;
    top: 40px;
}
.tf-cart-reassurance {
    background: #1a1a1a;
    border: 1px solid #333;
    padding: 15px;
    text-align: center;
    border-radius: 4px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    color: #ccc;
}
.tf-cart-reassurance strong {
    color: var(--neon-purple);
}

.woocommerce-checkout .place-order .button,
#place_order {
    border-radius: var(--tf-radius-md) !important;
    background: var(--nuclear-gradient-primary) !important;
    box-shadow: var(--nuclear-button-glow) !important;
    border: none !important;
    padding: 20px !important;
    height: auto !important;
    line-height: 1.2 !important;
}
.woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
}
.woocommerce-checkout #order_review {
    /* No padding/background here: #order_review lives inside .tf-static-summary-card
       (nuclear-checkout.css), which already supplies the card's padding and background.
       Stacking this legacy padding on top of it was starving the mobile order-summary
       row of width, collapsing the product name column to 0px. */
    background: transparent;
    padding: 0;
    border-radius: 0;
}

/* 5. Thank You Page (Order Received) */
.woocommerce-order {
    max-width: 800px;
    margin: 60px auto;
    text-align: center;
}
.woocommerce-order .woocommerce-notice--success {
    font-size: 1.5rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--neon-purple);
    margin-bottom: 10px;
    border: none;
    background: transparent;
}
.woocommerce-order .woocommerce-order-details {
    text-align: left;
    background: #111;
    padding: 30px;
    border-radius: 8px;
    margin-top: 30px;
}
.woocommerce-order .woocommerce-customer-details {
    text-align: left;
}

/* Responsive Overrides */
@media (max-width: 768px) {
    /* Single Product */
    .single-product .product-cinematic-wrapper {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .single-product .product-gallery-column {
        position: relative;
        top: 0;
    }
    .single-product form.cart .button {
        width: 100% !important;
    }

    /* Cart */
    .woocommerce-cart .woocommerce {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .woocommerce-cart .cart-collaterals {
        position: relative;
        top: 0;
        padding: 20px;
    }
    .woocommerce-cart .checkout-button,
    .woocommerce-checkout .place-order .button {
        width: 100% !important;
        background: var(--nuclear-gradient-primary) !important;
        border: none !important;
        box-shadow: var(--nuclear-button-glow) !important;
    }

    /* Checkout */
    .woocommerce-checkout .woocommerce {
        display: flex;
        flex-direction: column-reverse; /* Force Order Summary to top */
        gap: 40px;
    }
    .woocommerce-checkout #order_review {
        position: relative;
        top: 0;
        padding: 0;
    }
    .woocommerce-checkout .place-order .button {
        width: 100% !important;
    }
}

/* =========================================================================
   PHASE 7: FOOTER EMAIL CAPTURE & VERTICAL RHYTHM
   ========================================================================= */
.tf-footer-top {
    padding-top: 0 !important;   /* Eliminate redundant stack */
}

.tf-footer-motto {
    margin-top: 10px !important; /* Tighten gap under trust row */
    margin-bottom: 30px;
}
.tf-footer-subscribe {
    max-width: 650px;           /* Tightened for balanced UI */
    margin: 40px auto 0;
    text-align: center;
}

/* Issue 1: Secondary sub-line — lighter, smaller */
.tf-subscribe-title {
    font-size: 0.85rem;
    font-weight: 400;
    color: #666;
    margin-bottom: 20px;
    letter-spacing: 0.02em;
    text-transform: none;
}

.tf-subscribe-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tf-subscribe-form input[type="email"] {
    width: 100%;
    height: 60px;
    padding: 0 32px;
    background-color: var(--black);
    border: 1px solid #222;
    color: var(--white);
    font-family: inherit;
    font-size: 1rem;
    border-radius: 0;
    margin-bottom: 0 !important; /* Force reset for alignment */
    transition: var(--transition);
    box-sizing: border-box;
    display: block;
}

.tf-subscribe-form input[type="email"]:focus {
    border-color: var(--purple);
    outline: none;
    background-color: #000;
}

.tf-subscribe-form .btn-purple-solid {
    width: 100%;
    padding: 0 32px !important;
    height: 60px;
    border: none;
    cursor: pointer;
    background-color: var(--purple);
    color: var(--white);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 0.9rem;          /* Slightly smaller for better fit */
    letter-spacing: 0.12em;     /* Refined spacing */
    border-radius: 0;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-sizing: border-box;
    margin: 0 !important;       /* Force reset */
}

.tf-subscribe-form .btn-purple-solid:hover {
    background-color: var(--purple-light);
    box-shadow: 0 0 20px rgba(75, 23, 142, 0.4);
}

/* Elite Desktop Layout: Proportional Flex Strategy */
@media (min-width: 768px) {
    .tf-subscribe-form {
        flex-direction: row;
        gap: 0;                /* Seamless join for compact elite feel */
        align-items: stretch;
        width: 100%;
        margin: 0 auto;
    }
    
    .tf-subscribe-form input[type="email"] {
        flex: 1.5;             /* Refined Proportionality */
        min-width: 200px;      /* Safeguard for mobile-to-desktop transitions */
        border-right: none !important;
    }
    
    .tf-subscribe-form .btn-purple-solid {
        flex: 1;               /* Balanced Companion */
        min-width: 200px;
        flex-shrink: 0;
        font-size: 0.85rem;    /* Refined for compact look */
    }
}

/* --- GLOBAL WOOCOMMERCE ARCHIVE REFINEMENTS --- */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    margin: 40px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important; /* Remove float clearers */
}

.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    background: #111;
    padding: 20px;
    border-radius: 12px !important;
    display: flex;
    flex-direction: column;
    text-align: center;
    transition: transform 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
}

.woocommerce ul.products li.product .product-image-wrapper {
    position: relative !important;
    overflow: visible !important;
    margin-bottom: 20px;
}

.woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    border-radius: 2px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product .price {
    color: #9b30ff !important;
    font-weight: 800 !important;
    margin-bottom: 20px !important;
    display: block !important;
}

/* Sale Badge Cleanup */
.woocommerce ul.products li.product span.onsale {
    position: absolute !important;
    min-height: auto !important;
    min-width: auto !important;
    padding: 6px 12px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background-color: #A855F7 !important;
    color: #fff !important;
    border-radius: 12px !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    margin: 0 !important;
    line-height: 1 !important;
    z-index: 10 !important;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.5) !important;
    display: inline-block !important;
    width: auto !important;
}

@media (max-width: 1024px) {
    .woocommerce ul.products,
    .home .tf-controlled-grid,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .woocommerce ul.products,
    .home .tf-controlled-grid,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}

/* =========================================================================
   MOBILE RESPONSIVENESS: The Nuclear Guard (900px Breakpoint)
   ========================================================================= */
@media screen and (max-width: 900px) {
    .desktop-only {
        display: none !important;
    }

    .site-header {
        display: flex !important;
        height: 70px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .nav-wrapper {
        height: 70px !important;
        padding: 0 20px !important;
    }

    .brand-identity {
        flex: 1 1 auto !important;
    }

    .site-logo {
        height: 100px !important;
        margin-top: -15px !important;
        margin-bottom: -15px !important;
    }

    .header-icons {
        flex: 0 0 auto !important;
        gap: 16px !important;
    }

    /* Mobile Drawer: Initialized for Animation */
    .mobile-drawer {
        display: flex !important; 
        position: fixed !important; /* ELITE LOCKDOWN */
        top: 0 !important;
        right: -100% !important;
        width: 85% !important;
        max-width: 400px !important;
        height: 100vh !important; /* FORCE FULL VIEWPORT */
        min-height: 100vh !important;
        background: #000000 !important; /* FORCED SOLID: Prevents hero link overlap */
        z-index: 9999 !important; /* OVERRIDE EVERYTHING */
        transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
        padding: 40px 30px !important;
        flex-direction: column !important;
        border-left: 1px solid #1a1a1a !important;
        left: auto !important; 
        transform: none !important;
        visibility: hidden !important; 
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .mobile-drawer.active,
    .mobile-drawer.is-open {
        right: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: flex !important;
        pointer-events: auto !important;
    }

    /* Mobile Toggle Button: Restored for Mobile Viewports */
    .mobile-menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        padding: 10px;
        color: #fff;
        cursor: pointer;
        z-index: 1002;
    }

    .mobile-menu-overlay {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        z-index: 1999;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .mobile-menu-overlay.active {
        visibility: visible !important;
        opacity: 1 !important;
    }

    .hamburger-box {
        width: 24px;
        height: 18px;
        display: inline-block;
        position: relative;
    }

    .hamburger-inner,
    .hamburger-inner::before,
    .hamburger-inner::after {
        width: 24px;
        height: 2px;
        background-color: #fff;
        position: absolute;
        transition: transform 0.15s ease;
    }

    .hamburger-inner {
        top: 50%;
        margin-top: -1px;
    }

    .hamburger-inner::before {
        content: "";
        top: -8px;
    }

    .hamburger-inner::after {
        content: "";
        bottom: -8px;
    }

    .close-drawer {
        display: none !important; /* DEFAULT HIDE */
        background: none;
        border: none;
        color: #fff;
        padding: 10px;
        cursor: pointer;
    }

    .mobile-drawer.active .close-drawer {
        display: flex !important; /* SHOW ONLY IN DRAWER */
    }

    /* Remove redundant hamburger in active state if needed */
    body.menu-open .mobile-menu-toggle {
        display: none !important;
    }

    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        z-index: 1999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .mobile-menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .drawer-header {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 40px;
    }

    .close-drawer {
        background: none;
        border: none;
        color: #fff;
        padding: 10px;
    }

    .drawer-content ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .drawer-content li {
        margin-bottom: 25px;
    }

    .drawer-content li a {
        font-family: 'Oswald', sans-serif !important;
        font-size: 24px !important;
        font-weight: 800 !important;
        text-transform: uppercase;
        color: #fff !important;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .nav-index {
        font-size: 14px;
        color: #A855F7;
        font-family: 'Inter', sans-serif !important;
        font-weight: 500;
    }

    body.no-scroll {
        overflow: hidden !important;
    }
}

/* Hide toggle by default */
/* =========================================================================
   HEADER SEARCH BAR: The Forge Search
   ========================================================================= */
.header-search-bar {
    display: none !important; /* Force hide by default to match Moment of Truth */
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #111;
    border-bottom: 2px solid #A855F7;
    padding: 20px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 99;
}

.site-header.search-active .header-search-bar {
    display: block !important;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header-search-bar .search-form {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    padding: 0 20px;
}

.header-search-bar .search-field {
    width: 100%;
    background: #000;
    border: 1px solid #222;
    color: #fff;
    padding: 15px 60px 15px 20px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    outline: none;
    transition: border-color 0.3s ease;
}

.header-search-bar .search-field:focus {
    border-color: #A855F7;
}

/* Explicit placeholder color: the browser default (~#757575) sits right at
   the WCAG AA contrast floor against the black field background. */
.header-search-bar .search-field::placeholder {
    color: rgba(255, 255, 255, 0.65);
    opacity: 1;
}

/* =========================================================================
   SEARCH RESULTS PAGE
   ========================================================================= */
.search-results-grid {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.search-results-pages {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
}

.search-result-card {
    border: 1px solid #222;
    border-radius: 8px;
    overflow: hidden;
    background: #0a0a0a;
    transition: border-color 0.3s ease;
}

.search-result-card:hover {
    border-color: #A855F7;
}

.search-result-card-link {
    display: block;
    color: #ffffff;
    text-decoration: none;
}

.search-result-thumb img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.search-result-body {
    padding: 16px 20px;
}

.search-result-type {
    font-size: 11px;
    letter-spacing: 0.1em;
    color: #A855F7;
    font-weight: 700;
}

.search-result-title {
    margin: 8px 0;
    font-size: 18px;
}

.search-result-excerpt {
    margin: 0;
    font-size: 14px;
    color: #A3A3A3;
}

.search-no-results-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.search-collection-link {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    border: 1px solid #ffffff;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    transition: border-color 0.3s ease, color 0.3s ease;
}

.search-collection-link:hover {
    border-color: #A855F7;
    color: #A855F7;
}

.header-search-bar .search-submit,
.header-search-bar .search-close {
    /* Reset the sitewide CTA button rules (base.css / .btn-purple-solid family)
       which also match button[type="submit"] and were inflating this icon
       button to full-width with CTA padding/gradient/box-shadow. */
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    box-shadow: none !important;
    border: none !important;
    color: #A855F7 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    border-radius: 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 400 !important;
    display: inline-flex !important;
    cursor: pointer;
}

.header-search-bar .search-submit {
    right: 35px;
}

.header-search-bar .search-close {
    right: 4px;
    color: #ffffff !important;
}

.header-search-bar .search-close:hover {
    color: #A855F7 !important;
}

.header-search-bar .search-submit svg,
.header-search-bar .search-close svg {
    width: 20px;
    height: 20px;
}

.header-search-bar .search-form {
    padding-right: 70px;
}

@media screen and (max-width: 900px) {
    .header-search-bar {
        padding: 15px 0;
    }

    .header-search-bar .search-field {
        font-size: 14px;
        padding: 12px 50px 12px 15px;
    }

    .header-search-bar .search-submit {
        right: 30px;
    }

    .header-search-bar .search-close {
        right: 0;
    }
}

/* ========================================================================
   GLOBAL FRAMEWORK COMPONENTS (PHASE 1 STRUCTURAL QA)
   ======================================================================== */

/* 1. Global Input Fields */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input.input-text,
textarea,
select {
    width: 100%;
    background: var(--tf-bg-input) !important;
    border: 1px solid var(--tf-border-input) !important;
    padding: var(--tf-space-sm) !important;
    color: var(--tf-text-primary) !important;
    font-size: 14px !important;
    border-radius: var(--tf-radius-md) !important;
    transition: var(--transition) !important;
    height: auto !important;
    box-sizing: border-box !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: var(--tf-brand-primary) !important;
    background: var(--tf-bg-surface) !important;
}

/* 2. Global Surface Cards */
.tf-surface-card {
    background: var(--tf-bg-surface) !important;
    border: 1px solid var(--tf-border-subtle) !important;
    border-radius: var(--tf-radius-md) !important;
    padding: var(--tf-space-md);
    box-sizing: border-box;
}

/* 3. Global Core Buttons */
.tf-core-btn,
button.button,
a.button,
input.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--tf-brand-primary) !important;
    color: var(--tf-text-primary) !important;
    border: none !important;
    padding: var(--tf-space-sm) var(--tf-space-md) !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    cursor: pointer !important;
    transition: var(--transition) !important;
    text-decoration: none !important;
    min-height: 48px;
    box-sizing: border-box;
}

.tf-core-btn:hover,
button.button:hover,
a.button:hover,
input.button:hover {
    background: var(--tf-brand-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(124, 58, 237, 0.2);
}

.tf-core-btn.disabled,
.tf-core-btn[disabled],
button.button[disabled],
a.button.disabled,
input.button[disabled] {
    background: var(--tf-brand-muted) !important;
    color: var(--tf-text-muted) !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* 4. Global Quantity Selector (UX Remediation) */
.quantity.tf-qty {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tf-qty__wrapper {
    display: inline-flex !important;
    align-items: center !important;
    background: var(--tf-bg-input) !important;
    border: 1px solid var(--tf-border-input) !important;
    border-radius: var(--tf-radius-md) !important;
    overflow: hidden !important;
    height: 48px !important;
    box-sizing: border-box !important;
    transition: var(--transition) !important;
}

.tf-qty__wrapper:hover {
    border-color: var(--tf-border-solid) !important;
}

.tf-qty__btn {
    width: 40px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: var(--tf-text-primary) !important;
    cursor: pointer !important;
    font-size: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background 0.2s ease !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

.tf-qty__btn:hover {
    background: rgba(255, 255, 255, 0.05) !important;
}

.tf-qty__btn:active {
    background: rgba(255, 255, 255, 0.1) !important;
}

.tf-qty__input {
    width: 40px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: var(--tf-text-primary) !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.tf-qty__input::-webkit-outer-spin-button,
.tf-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

/* Specific fix for Cart Page table layout */
.woocommerce-cart-form__contents .product-quantity .quantity.tf-qty {
    display: flex !important;
    justify-content: center !important;
}

.woocommerce-cart-form__contents .product-quantity .tf-qty__wrapper {
    width: 120px !important; /* Fixed width for cart table consistency */
}


/* --- PHASE 1 FINAL QA FORCE --- */
.tf-checkout-header h1, 
.tf-checkout-title h1,
.woocommerce-checkout h1,
.entry-title,
.tf-section-title {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.quantity.tf-qty, 
.tf-qty__wrapper,
.filter-toggle-btn,
.tf-toggle-filter,
.tf-button,
.button,
.ajax_add_to_cart,
.add_to_cart_button,
.single_add_to_cart_button {
    border-radius: 12px !important;
}
