/*
Theme Name: Themify Shoppe Child
Description: A child theme of Themify Shoppe
Template: themify-shoppe
Author: eagleresearchlabs@gmail.com (eagleresearchlabs@gmail.com)
*/
/**
 * Eagle Labs - Custom Style Override for WordPress/WooCommerce
 * This file overrides the Themify Shoppe theme with Eagle Labs branding
 * 
 * INSTRUCTIONS:
 * 1. Upload this file to your WordPress theme folder (same folder as style.css)
 * 2. It will automatically load after the main theme CSS
 * 3. All Eagle Labs design tokens and styles are included
 */

/* ============================================
   REMOVE FOCUS OUTLINE ON CLICK
   ============================================ */

/* Override parent theme's focus outline that appears after clicking */
:is(button,a,input,select,textarea,.button):focus {
  outline: none !important;
}

/* ============================================
   DESIGN TOKENS - OVERRIDE THEME VARIABLES
   ============================================ */

:root {
  /* Override Themify Theme Variables with Eagle Labs Colors */
  --theme_accent: #0EA5A7;
  --theme_accent_hover: #111827;
  --theme_accent_semi: rgba(14, 165, 167, 0.9);
  --theme_rounded: 12px;
  --theme_input_rounded: 8px;
  --theme_btn_rounded: 8px;
  
  /* Eagle Labs Design Tokens */
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-text: #1A1A1A;
  --color-muted: #6B7280;
  --color-border: #E5E7EB;
  
  /* Charcoal Palette */
  --color-charcoal-primary: #2D2D2D;
  --color-charcoal-hover: #1A1A1A;
  --color-charcoal-light: #F5F5F5;
  
  /* Slate Palette */
  --color-slate-primary: #475569;
  --color-slate-hover: #334155;
  --color-slate-light: #F8FAFC;
  
  /* Brand Accent */
  --color-accent: #0EA5A7;
  
  /* Semantic Colors */
  --color-success: #22C55E;
  --color-warning: #F59E0B;
  --color-error: #EF4444;
  
  /* Background Colors */
  --color-subtle: #FAFAFA;
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;
  
  /* Typography - Font Sizes (Increased for Teko font) */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.4rem;      /* Increased from 1.125rem for Teko */
  --font-size-xl: 1.75rem;     /* Increased from 1.25rem for Teko */
  --font-size-2xl: 2.1rem;     /* Increased from 1.5rem for Teko */
  --font-size-3xl: 2.6rem;     /* Increased from 1.875rem for Teko */
  --font-size-4xl: 3.2rem;     /* Increased from 2.25rem for Teko */
  --font-size-5xl: 4.2rem;     /* Increased from 3rem for Teko */
  --font-size-6xl: 5.25rem;    /* Increased from 3.75rem for Teko */
  
  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;
  --line-height-loose: 1.7;
  
  /* Spacing */
  --spacing-0: 0;
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
  --spacing-24: 6rem;
  
  /* Border Radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-full: 9999px;
  
  /* Shadows */
  --shadow-none: none;
  --shadow-hover: 0 4px 16px rgba(17, 24, 39, 0.06);
  --shadow-focus: 0 0 0 2px var(--color-accent);
  
  /* Motion */
  --duration-fast: 150ms;
  --duration-normal: 200ms;
  --duration-slow: 220ms;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  
  /* Z-Index */
  --z-base: 0;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-overlay: 1030;
  --z-modal: 1040;
  --z-toast: 1050;
}


/* ============================================
   TYPOGRAPHY OVERRIDES
   ============================================ */

body {
  color: var(--color-text);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.page-title {
  color: var(--color-gray-900);
  line-height: var(--line-height-tight);
}

.page-title, h1 {
  font-size: var(--font-size-5xl);
  font-weight: 700;
  letter-spacing: -0.03em;
}

h2 {
  font-size: var(--font-size-4xl);
  font-weight: 700;
  letter-spacing: -0.02em;
}

h3 {
  font-size: var(--font-size-3xl);
  font-weight: 600;
}

h4 {
  font-size: var(--font-size-2xl);
}

h5 {
  font-size: var(--font-size-xl);
}

h6 {
  font-size: var(--font-size-lg);
}

p {
  line-height: var(--line-height-loose);
}


/* ============================================
   HEADER STYLING
   ============================================ */

#headerwrap {
  background-color: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid var(--color-gray-200);
}

/* Only apply backdrop-filter on desktop to avoid mobile menu stacking context issues */
@media (min-width: 1261px) {
  #headerwrap {
    backdrop-filter: blur(10px);
  }
}

/* Logo Styling */
.eagle-logo-text,
#site-logo a {
  font-size: var(--font-size-xl);
  font-weight: 600;
  color: var(--color-gray-900);
}

/* Main Navigation */
#main-nav a {
  color: var(--color-gray-700);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  transition: color var(--duration-normal) var(--ease);
  position: relative;
}

/* Reset/hide default Themify nav underline */
#main-nav > li > a:before,
#main-nav > .current-menu-item > a:before,
#main-nav > .current_page_item > a:before,
#main-nav > li:hover > a:before {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 2px !important;
  background-color: var(--color-gray-900) !important;
  border: none !important;
  border-bottom: none !important;
  margin: 0 !important;
  transform: scaleX(0);
  transition: transform var(--duration-normal) var(--ease);
}

#main-nav a:hover {
  color: var(--color-gray-900);
}

#main-nav > li:hover > a:before {
  transform: scaleX(1) !important;
}

#main-nav > .current-menu-item > a,
#main-nav > .current_page_item > a {
  color: var(--color-gray-900);
}

#main-nav > .current-menu-item > a:before,
#main-nav > .current_page_item > a:before {
  transform: scaleX(1) !important;
}

/* Dropdown Menus */
#main-nav li > .sub-menu,
.icon-menu li > .sub-menu {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-hover);
}

#main-nav ul a {
  color: var(--color-gray-700);
  border-bottom: 1px solid var(--color-gray-200);
}

#main-nav ul a:hover {
  color: var(--color-gray-900);
}

/* Mobile Submenu Styling - Match slideout menu */
@media (max-width: 1100px) {
  #mobile-menu #main-nav .sub-menu {
    background-color: var(--color-gray-50) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: var(--spacing-2) !important;
  }

  #mobile-menu #main-nav .sub-menu li {
    border-bottom: 1px solid var(--color-gray-200) !important;
  }

  #mobile-menu #main-nav .sub-menu li:last-child {
    border-bottom: none !important;
  }

  #mobile-menu #main-nav .sub-menu a {
    padding: var(--spacing-3) var(--spacing-4) !important;
    font-size: var(--font-size-sm) !important;
    color: var(--color-gray-700) !important;
    background-color: transparent !important;
    border-bottom: none !important;
  }

  #mobile-menu #main-nav .sub-menu a:hover {
    color: var(--color-gray-900) !important;
    background-color: var(--color-gray-100) !important;
  }
}

.icon-menu em, .tf_search_lightbox .tf_close_search {
    border-radius: 12%;
}

/* ============================================
   BUTTONS - WordPress Builder Pattern
   ============================================ */

/* Base button styles for standard buttons */
button,
input[type="submit"],
input[type="reset"],
.button,
.btn,
a.button,
.more-link,
.load-more-button {
  background-color: var(--color-gray-900);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-weight: 500;
  font-size: var(--font-size-sm);
  padding: 0.8em 1.7em;
  transition: all var(--duration-normal) var(--ease);
  letter-spacing: 0.02em;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
}

button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
.btn:hover,
a.button:hover {
  background-color: var(--color-gray-800);
  color: var(--color-white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

/* WordPress Builder Pattern: .buttons parent class with child button IDs */

/* Themify Builder Button Reset - Override default builder styles */
.module-buttons.buttons .ui.builder_button,
.module-buttons .ui.builder_button,
.buttons .ui.builder_button,
.buttons button,
.buttons a.builder_button,
.buttons a {
  /* Reset Themify defaults */
  background-color: var(--color-gray-900) !important;
  background-image: none !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  
  /* Eagle Labs styling */
  font-weight: 500 !important;
  font-size: var(--font-size-sm) !important;
  padding: 0.6rem 1.5rem !important;
  transition: all var(--duration-normal) var(--ease) !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  height: auto !important;
  min-height: auto !important;
  line-height: 1.5 !important;
  position: relative !important;
}

.module-buttons.buttons .ui.builder_button:hover,
.module-buttons .ui.builder_button:hover,
.buttons .ui.builder_button:hover,
.buttons button:hover,
.buttons a.builder_button:hover,
.buttons a:hover {
  background-color: var(--color-gray-700) !important;
  background-image: none !important;
  color: var(--color-white) !important;
  transform: none !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  border: none !important;
}

/* Primary Button (default for .buttons) */
.module-buttons.buttons #button-primary,
.module-buttons.buttons .ui.builder_button[id*="primary"],
.buttons #eagle-btn-primary,
.buttons button[id*="primary"],
.buttons a[id*="primary"] {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.module-buttons.buttons #button-primary:hover,
.module-buttons.buttons .ui.builder_button[id*="primary"]:hover,
.buttons #eagle-btn-primary:hover,
.buttons button[id*="primary"]:hover,
.buttons a[id*="primary"]:hover {
  background-color: var(--color-gray-700) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

/* Secondary Button */
.module-buttons.buttons .ui.builder_button[id*="secondary"],
.buttons #eagle-btn-secondary,
.buttons button[id*="secondary"],
.buttons a[id*="secondary"] {
  background-color: var(--color-gray-600) !important;
  color: var(--color-white) !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.module-buttons.buttons .ui.builder_button[id*="secondary"]:hover,
.buttons #eagle-btn-secondary:hover,
.buttons button[id*="secondary"]:hover,
.buttons a[id*="secondary"]:hover {
  background-color: var(--color-gray-500) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

/* Outline Button */
.module-buttons.buttons #button-outline,
.module-buttons.buttons .ui.builder_button[id*="outline"],
.buttons #eagle-btn-outline,
.buttons button[id*="outline"],
.buttons a[id*="outline"] {
  background-color: transparent !important;
  border: 1px solid var(--color-gray-200) !important;
  color: var(--color-gray-900) !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.module-buttons.buttons #button-outline:hover,
.module-buttons.buttons .ui.builder_button[id*="outline"]:hover,
.buttons #eagle-btn-outline:hover,
.buttons button[id*="outline"]:hover,
.buttons a[id*="outline"]:hover {
  background-color: var(--color-gray-50) !important;
  color: var(--color-gray-900) !important;
  border-color: var(--color-gray-300) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

/* Ghost Button */
.module-buttons.buttons .ui.builder_button[id*="ghost"],
.buttons #eagle-btn-ghost,
.buttons button[id*="ghost"],
.buttons a[id*="ghost"] {
  background-color: transparent !important;
  border: none !important;
  color: var(--color-gray-700) !important;
}

.module-buttons.buttons .ui.builder_button[id*="ghost"]:hover,
.buttons #eagle-btn-ghost:hover,
.buttons button[id*="ghost"]:hover,
.buttons a[id*="ghost"]:hover {
  background-color: var(--color-gray-100) !important;
  color: var(--color-gray-900) !important;
  transform: translateY(0) !important;
  box-shadow: none !important;
}

/* Button Sizes within .buttons container */
.buttons #eagle-btn-sm,
.buttons button[id*="-sm"],
.buttons a[id*="-sm"] {
  padding: 0.4rem 1rem !important;
  font-size: var(--font-size-xs) !important;
}

.buttons #eagle-btn-md,
.buttons button[id*="-md"],
.buttons a[id*="-md"] {
  padding: 0.6rem 1.5rem !important;
  font-size: var(--font-size-sm) !important;
}

.buttons #eagle-btn-lg,
.buttons button[id*="-lg"],
.buttons a[id*="-lg"] {
  padding: 0.75rem 2rem !important;
  font-size: var(--font-size-base) !important;
}

.buttons #eagle-btn-icon,
.buttons button[id*="icon"],
.buttons a[id*="icon"] {
  padding: 0.6rem !important;
  width: auto !important;
  aspect-ratio: 1 !important;
}

/* Button container flexbox layout */
.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-4);
  align-items: center;
}

/* Standalone ID selectors (for use without .buttons parent) */
#eagle-btn-primary {
  background-color: var(--color-gray-900);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-weight: 500;
  padding: 0.8em 1.7em;
  transition: all var(--duration-normal) var(--ease);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

#eagle-btn-primary:hover {
  background-color: var(--color-gray-800);
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

#eagle-btn-outline {
  background-color: transparent;
  border: 1px solid var(--color-gray-200);
  color: var(--color-gray-900);
  border-radius: var(--radius-md);
  font-weight: 500;
  padding: 0.8em 1.7em;
  transition: all var(--duration-normal) var(--ease);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

#eagle-btn-outline:hover {
  background-color: var(--color-gray-50);
  transform: translateY(-2px);
}

#eagle-btn-ghost {
  background-color: transparent;
  border: none;
  color: var(--color-gray-700);
  border-radius: var(--radius-md);
  font-weight: 500;
  padding: 0.8em 1.7em;
  transition: all var(--duration-normal) var(--ease);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

#eagle-btn-ghost:hover {
  background-color: var(--color-gray-100);
}


/* ============================================
   FORMS & INPUTS
   ============================================ */

input:not([type="radio"]):not([type="checkbox"]),
select,
textarea {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: 0.6em 0.8em;
  color: var(--color-gray-900);
  background-color: var(--color-white);
  transition: border-color var(--duration-normal) var(--ease);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: var(--shadow-focus);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-muted);
}

/* ============================================
   WHOLESALE PAGE STYLING
   ============================================ */

/* Wholesale Header Section */
.wholesale-header,
.module_row.wholesale-header {
  background-color: var(--color-white) !important;
  padding: 0 0 var(--spacing-6) 0 !important;
}

.wholesale-header .module-text {
  text-align: center !important;
}

.wholesale-header h1 {
  margin-bottom: var(--spacing-4) !important;
}

.wholesale-header p {
  color: var(--color-gray-600) !important;
  margin: 0 !important;
}

/* Wholesale Content Section */
.wholesale-text,
.module_row.wholesale-text {
  background-color: var(--color-white) !important;
  padding: 0 0 var(--spacing-16) 0 !important;
}

.wholesale-text .module_column {
  max-width: 768px !important;
  margin: 0 auto !important;
  padding: 0 var(--spacing-6) !important;
}

/* Wholesale Content Box - Light bordered container for WordPress */
.wholesale-text .module-text {
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-10) !important;
  background-color: var(--color-white) !important;
  margin-bottom: var(--spacing-6) !important;
}

.wholesale-text .module-text h3 {
  text-align: center !important;
  margin: 0 0 var(--spacing-6) 0 !important;
}

.wholesale-text .module-text p {
  color: var(--color-gray-700) !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Wholesale Button Styling */
.wholesale-text .module-buttons,
.wholesale-text .buttons {
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .wholesale-header {
    padding: var(--spacing-10) 0 var(--spacing-4) 0 !important;
  }
  
  .wholesale-text {
    padding: 0 0 var(--spacing-12) 0 !important;
  }
  
  .wholesale-text .module-text {
    padding: var(--spacing-8) var(--spacing-6) !important;
  }
}

/* ============================================
   SUPPORT PAGE STYLING - WordPress Form
   ============================================ */

/* Support Page Header Section */
.support-form-row,
.module_row.support-form-row {
  background-color: var(--color-white) !important;
  padding: var(--spacing-12) 0 var(--spacing-6) 0 !important;
}

.support-form-row .module_column {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Support Page Title Section - Match form width */
.support-form-row .module_row.tb_f960479 .module_column,
.support-form-row .themify_builder_row.tb_f960479 .module_column {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 var(--spacing-6) !important;
  text-align: center !important;
}

/* Support Page Title Styling */
.support-form-row h1,
.support-form-row .module-text h1 {
  text-align: center !important;
  margin: 0 0 var(--spacing-4) 0 !important;
}

/* Support Page Subtitle */
.support-form-row .module-text p,
.support-form-row .tb_text_wrap p {
  text-align: center !important;
  color: var(--color-gray-600) !important;
  margin: 0 !important;
}

/* WPForms Container - Card-like design */
.wpforms-container,
#wpforms-462 {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
  padding: var(--spacing-8) !important;
  margin: 0 auto !important;
  margin-top: 0 !important;
}

/* Form Header - Add Card Header Style - Only for main container, not nested elements */
.wpforms-container.wpforms-container-full:before {
  content: "Send us a message" !important;
  display: block !important;
  font-size: var(--font-size-2xl) !important;
  font-weight: 500 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-6) !important;
  padding-bottom: var(--spacing-6) !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Ensure name field rows don't inherit the ::before */
.wpforms-field-name .wpforms-field-row:before,
.wpforms-field-row:before {
  content: none !important;
  display: none !important;
}

/* Field Container */
.wpforms-field-container {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--spacing-6) !important;
}

/* Form Fields - Remove default WPForms padding */
.wpforms-field,
.wpforms-container .wpforms-field,
.wp-core-ui div.wpforms-container .wpforms-field {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* Field Labels */
.wpforms-field-label,
.wpforms-field legend {
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-2) !important;
  display: block !important;
}

/* Required Indicators */
.wpforms-required-label {
  color: var(--color-error) !important;
}

/* Form Inputs - Modern styling */
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field textarea,
.wpforms-field select {
  width: 100% !important;
  padding: 0.75rem !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-md) !important;
  background-color: var(--color-white) !important;
  color: var(--color-gray-900) !important;
  font-size: var(--font-size-base) !important;
  line-height: 1.5 !important;
  transition: all var(--duration-normal) var(--ease) !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
}

.wpforms-field input[type="text"]:focus,
.wpforms-field input[type="email"]:focus,
.wpforms-field textarea:focus,
.wpforms-field select:focus {
  outline: none !important;
  border-color: var(--color-gray-500) !important;
  box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.1) !important;
}

/* Name Field - Two column layout with proper alignment */
.wpforms-field-name .wpforms-field-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--spacing-4) !important;
  width: 100% !important;
}

.wpforms-field-name .wpforms-field-row-block {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

.wpforms-field-name input {
  width: 100% !important;
  margin-bottom: var(--spacing-1) !important;
}
.wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block {
  padding: 0 !important;
}
.wpforms-field-sublabel {
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-600) !important;
  margin-top: var(--spacing-1) !important;
  order: 2 !important;
}

/* Select Field Styling - Fixed for proper text display and click area */
.wpforms-field-select select {
  background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'><polyline points='6,9 12,15 18,9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 1rem !important;
  padding-right: 3rem !important;
  padding-left: 0.75rem !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
  height: 48px !important;
  min-height: 48px !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Ensure select dropdown options are visible */
.wpforms-field-select select option {
  padding: 0.5rem 0.75rem !important;
  background-color: var(--color-white) !important;
  color: var(--color-gray-900) !important;
}

/* Textarea Specific */
.wpforms-field textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* Hidden Honeypot Fields */
.wpforms-field[style*="absolute"],
.wpforms-field[style*="display: none"],
.wpforms-field[aria-hidden="true"] {
  display: none !important;
}

/* Submit Container */
.wpforms-submit-container {
  margin-top: var(--spacing-8) !important;
  padding-top: var(--spacing-6) !important;
  border-top: 1px solid var(--color-gray-200) !important;
  text-align: center !important;
}

/* Submit Button - Matching shadcn style */
.wpforms-submit,
button.wpforms-submit,
input.wpforms-submit {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.75rem 2rem !important;
  font-size: var(--font-size-base) !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--spacing-2) !important;
  min-width: 140px !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.wpforms-submit:hover,
button.wpforms-submit:hover,
input.wpforms-submit:hover {
  background-color: var(--color-gray-800) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.wpforms-submit:active,
button.wpforms-submit:active,
input.wpforms-submit:active {
  transform: translateY(0) !important;
}

/* Loading Spinner */
.wpforms-submit-spinner {
  margin-left: var(--spacing-2) !important;
  width: 16px !important;
  height: 16px !important;
  opacity: 0.7 !important;
}

/* Error Styling */
.wpforms-error {
  color: var(--color-error) !important;
  font-size: var(--font-size-xs) !important;
  margin-top: var(--spacing-1) !important;
}

.wpforms-field.wpforms-has-error input,
.wpforms-field.wpforms-has-error textarea {
  border-color: var(--color-error) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* Success Message */
.wpforms-confirmation-container {
  background-color: var(--color-success) !important;
  color: var(--color-white) !important;
  padding: var(--spacing-4) !important;
  border-radius: var(--radius-md) !important;
  text-align: center !important;
  margin: var(--spacing-4) 0 !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .wpforms-container,
  #wpforms-462 {
    padding: var(--spacing-6) var(--spacing-4) !important;
    margin: 0 !important;
  }
  
  .wpforms-field-name .wpforms-field-row {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-4) !important;
  }
}
.wpforms-field-checkbox input[type=checkbox]:before {
  transform: none !important;
}

/* ============================================
   WOOCOMMERCE ACCOUNT PAGES STYLING
   ============================================ */

/* ============================
   LOGIN PAGE ONLY - Before User is Logged In
   ============================== */

/* Target only the login page (not logged in state) */
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-account .woocommerce-form-login {
  max-width: 480px !important;
  margin: 40px auto !important;
  padding: var(--spacing-8) var(--spacing-4) !important;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

/* Login Page Title */
body.woocommerce-account:not(.logged-in) .woocommerce h2 {
  color: var(--color-gray-900);
  text-align: center;
  margin-bottom: var(--spacing-8);
  letter-spacing: -0.02em;
}

/* Login Form Container */
.woocommerce-form-login {
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-8) !important;
  box-shadow: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

/* Login Form Rows */
.woocommerce-form-login .form-row {
  margin-bottom: var(--spacing-6);
}

.woocommerce-form-login .form-row:last-child {
  margin-bottom: 0;
}

/* Login Form Labels */
.woocommerce-form-login label {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
  margin-bottom: var(--spacing-2);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.woocommerce-form-login .required {
  color: var(--color-red-500);
  margin-left: 2px;
}

/* Login Form Inputs */
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login .woocommerce-Input {
  width: 100%;
  padding: 12px 16px;
  font-size: var(--font-size-base);
  color: var(--color-gray-900);
  background: var(--color-white);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  transition: all 0.15s ease;
  font-family: var(--font-family-base);
}

.woocommerce-form-login input[type="text"]:focus,
.woocommerce-form-login input[type="password"]:focus,
.woocommerce-form-login .woocommerce-Input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(217, 195, 154, 0.1);
}

/* Password Input Container */
.woocommerce-form-login .password-input {
  position: relative;
  display: flex;
  align-items: center;
}

.woocommerce-form-login .password-input input {
  padding-right: 48px;
}

.woocommerce-form-login .show-password-input {
  position: absolute;
  right: 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--color-gray-500);
  transition: color 0.15s ease;
}

.woocommerce-form-login .show-password-input:hover {
  color: var(--color-gray-700);
}

/* Remember Me Checkbox */
.woocommerce-form-login .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  font-weight: 400;
  cursor: pointer;
  margin-bottom: var(--spacing-4);
}

.woocommerce-form-login input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-sm);
  cursor: pointer;
}

/* Login Submit Button */
.woocommerce-form-login .woocommerce-button,
.woocommerce-form-login button[type="submit"] {
  width: 100%;
  padding: 14px 24px;
  font-size: var(--font-size-base);
  font-weight: 600;
  font-family: var(--font-family-heading);
  color: var(--color-gray-900);
  background: var(--color-primary);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: var(--spacing-4);
}

.woocommerce-form-login .woocommerce-button:hover,
.woocommerce-form-login button[type="submit"]:hover {
  background: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(217, 195, 154, 0.3);
}

.woocommerce-form-login .woocommerce-button:active,
.woocommerce-form-login button[type="submit"]:active {
  transform: translateY(0);
}

/* Lost Password Link */
.woocommerce-form-login .woocommerce-LostPassword {
  text-align: center;
  margin-top: var(--spacing-6);
  padding-top: var(--spacing-6);
  border-top: 1px solid var(--color-gray-200);
}

.woocommerce-form-login .woocommerce-LostPassword a {
  color: var(--color-primary-dark);
  font-size: var(--font-size-sm);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s ease;
}

.woocommerce-form-login .woocommerce-LostPassword a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

/* Mobile Responsive for Login */
@media (max-width: 640px) {
  body.woocommerce-account:not(.logged-in) .woocommerce,
  body.woocommerce-account .woocommerce-form-login {
    margin: var(--spacing-6) auto !important;
  }

  .woocommerce-form-login {
    padding: var(--spacing-6);
  }

  body.woocommerce-account:not(.logged-in) .woocommerce h2 {
    font-size: 2rem;
    margin-bottom: var(--spacing-6);
  }
}

/* ============================
   LOGGED IN ACCOUNT PAGES
   ============================== */

/* Account Page Container */
.woocommerce-account .woocommerce {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--spacing-8) var(--spacing-4);
}

/* Force grid layout on desktop */
@media (min-width: 1024px) {
  body.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 2.5rem !important;
    align-items: start;
  }
}

/* Account Navigation Sidebar */
.woocommerce-MyAccount-navigation {
  width: 100%!important;
  background: var(--color-white);
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 40px !important;
  box-shadow: none;
  overflow: visible;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border: 1px solid var(--color-gray-200) !important;
  margin: .75em 0 0;
  padding: 0;
  border-radius: var(--radius-lg) !important;
  list-style: none;
  background: var(--color-white);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden;
}

.woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-MyAccount-navigation li:not(:last-child) {
  border-bottom: 1px solid var(--color-gray-200) !important;
}

.woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  padding: 14px 20px !important;
  color: var(--color-gray-700) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 500 !important;
  text-decoration: none;
  transition: all 0.15s ease;
  position: relative;
}

.woocommerce-MyAccount-navigation a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: transparent;
  transition: background 0.15s ease;
}

.woocommerce-MyAccount-navigation a:hover {
  background: var(--color-gray-50) !important;
  color: var(--color-gray-900) !important;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a[aria-current="page"] {
  background: var(--color-gray-50) !important;
  color: var(--color-gray-900) !important;
  font-weight: 700 !important;
}

.woocommerce-MyAccount-navigation li.is-active a::before,
.woocommerce-MyAccount-navigation a[aria-current="page"]::before {
  background: var(--color-gray-900) !important;
}

/* Account Content Area */
.woocommerce-MyAccount-content {
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  min-height: 400px;
}

/* Account Form Styling */
.woocommerce-EditAccountForm,
.woocommerce-form {
  max-width: 100%;
}

.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important;
  margin: 32px 0 !important;
  background: var(--color-subtle);
}

.woocommerce-EditAccountForm legend {
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  padding: 0 12px !important;
  margin-bottom: 0;
  letter-spacing: -0.01em;
}

/* Form Rows */
.woocommerce-form-row,
.form-row {
  margin-bottom: 16px !important;
}

.woocommerce-form-row:last-child,
.form-row:last-child {
  margin-bottom: 0 !important;
}

.form-row-first,
.form-row-last {
  width: 100%;
}

@media (min-width: 768px) {
  .form-row-first {
    width: calc(50% - 1rem);
    float: left;
    margin-right: 2rem;
  }
  
  .form-row-last {
    width: calc(50% - 1rem);
    float: left;
  }
}

/* Form Labels */
.woocommerce-EditAccountForm label,
.woocommerce-form label {
  display: block;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.01em;
  text-align: left !important;
}

.woocommerce-EditAccountForm .required,
.woocommerce-form .required {
  color: var(--color-error);
  margin-left: 2px;
}

/* Form Inputs */
.woocommerce-Input,
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-EditAccountForm select,
.woocommerce-form input[type="text"],
.woocommerce-form input[type="email"],
.woocommerce-form input[type="password"],
.woocommerce-form select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  font-size: var(--font-size-base) !important;
  line-height: 1.5 !important;
  color: var(--color-gray-900) !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-300) !important;
  border-radius: var(--radius-md) !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.woocommerce-Input:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-EditAccountForm select:focus,
.woocommerce-form input:focus,
.woocommerce-form select:focus {
  outline: none !important;
  border-color: var(--color-gray-900) !important;
  box-shadow: 0 0 0 1px var(--color-gray-900) !important;
  background: var(--color-white) !important;
}

.woocommerce-Input::placeholder,
.woocommerce-EditAccountForm input::placeholder,
.woocommerce-form input::placeholder {
  color: var(--color-gray-500) !important;
  opacity: 1 !important;
}

/* Password Input Container */
.password-input {
  position: relative;
  display: block;
  width: 100%;
}

.password-input input {
  padding-right: 3rem !important;
}

.show-password-input {
  position: absolute;
  right: 12px !important;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  padding: 8px !important;
  cursor: pointer;
  color: var(--color-gray-500) !important;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.show-password-input:hover {
  color: var(--color-gray-900) !important;
}

/* Select Dropdown */
.woocommerce-EditAccountForm select,
.woocommerce-form select,
#wcpay_selected_currency {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px !important;
  padding-right: 3rem !important;
  cursor: pointer !important;
}

/* Checkbox Styling */
.woocommerce-form__label-for-checkbox,
.woocommerce-EditAccountForm .checkbox label {
  display: inline-flex;
  align-items: center;
  font-weight: 400 !important;
  cursor: pointer;
  margin-bottom: 0;
  padding: 8px 0 !important;
}

.woocommerce-EditAccountForm input[type="checkbox"],
.woocommerce-form input[type="checkbox"] {
  width: auto !important;
  min-height: auto !important;
  margin-right: 10px !important;
  cursor: pointer;
  transform: scale(1.1);
}

/* Helper Text */
.woocommerce-EditAccountForm em,
.woocommerce-EditAccountForm span em,
#account_display_name_description,
.woocommerce-EditAccountForm .woocommerce-form-row span {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-600) !important;
  margin-top: 8px !important;
  font-style: normal;
  line-height: 1.5;
}

/* Submit Button */
.woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-form .woocommerce-Button,
.woocommerce-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto !important;
  min-height: 40px !important;
  padding: 0.6rem 1.5rem !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.07em !important;
  color: var(--color-white) !important;
  background: var(--color-gray-900) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease) !important;
  margin-top: 32px !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}

.woocommerce-EditAccountForm .woocommerce-Button:hover,
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-form .woocommerce-Button:hover,
.woocommerce-form button[type="submit"]:hover {
  background: var(--color-gray-800) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-hover) !important;
}

.woocommerce-EditAccountForm .woocommerce-Button:active,
.woocommerce-EditAccountForm button[type="submit"]:active,
.woocommerce-form .woocommerce-Button:active,
.woocommerce-form button[type="submit"]:active {
  transform: translateY(0);
}

/* Clear fix */
.woocommerce-EditAccountForm .clear,
.woocommerce-form .clear {
  clear: both;
  height: 0;
  line-height: 0;
}

/* Remove paragraph margin in edit account form */
.woocommerce-EditAccountForm.edit-account p {
  margin-bottom: 0 !important;
}

/* Account Page Links */
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):not(.edit) {
  color: var(--theme_accent) !important;
  text-decoration: none !important;
  transition: color var(--duration-normal) var(--ease) !important;
}

.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):not(.edit):hover {
  color: var(--color-gray-600) !important;
}

/* Account Page Buttons - All variations */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content a.woocommerce-Button,
.woocommerce-MyAccount-content .wc-forward {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  padding: 0.65rem 1.5rem !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.07em !important;
  color: var(--color-white) !important;
  background: var(--color-gray-900) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content a.woocommerce-Button:hover,
.woocommerce-MyAccount-content .wc-forward:hover {
  background: var(--color-gray-800) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-hover) !important;
  color: var(--color-white) !important;
}

/* Edit Address Links */
.woocommerce-Address-title a.edit {
  color: var(--theme_accent) !important;
  font-size: var(--font-size-sm) !important;
  text-decoration: none !important;
  transition: color var(--duration-normal) var(--ease) !important;
  font-weight: 400 !important;
}

.woocommerce-Address-title a.edit:hover {
  color: var(--color-gray-600) !important;
}

/* Mobile Responsive */
@media (max-width: 1023px) {
  .woocommerce-account .woocommerce {
    display: block !important;
    grid-template-columns: none !important;
  }
  
  .woocommerce-MyAccount-navigation {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    padding: 0 !important;
  }
  
  .woocommerce-MyAccount-content {
    padding: 24px !important;
  }
  
  .woocommerce-EditAccountForm fieldset {
    padding: 24px !important;
    margin: 24px 0 !important;
  }
  
  .form-row-first,
  .form-row-last {
    width: 100% !important;
    float: none;
    margin-right: 0 !important;
    margin-bottom: 24px !important;
  }
  
  .woocommerce-MyAccount-navigation a {
    padding: 12px 16px !important;
    font-size: var(--font-size-sm) !important;
  }
  
  .woocommerce-EditAccountForm .woocommerce-Button,
  .woocommerce-EditAccountForm button[type="submit"] {
    width: 100%;
    padding: 14px 24px !important;
  }
}

/* ============================
   ORDER RECEIVED / CHECKOUT THANK YOU PAGE
   ============================== */

/* Main Order Container */
.woocommerce-order {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--spacing-8) var(--spacing-4);
}

/* Thank You Message */
.woocommerce-thankyou-order-received,
.woocommerce-notice--success {
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-left: 4px solid var(--color-success) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-6) var(--spacing-6) !important;
  margin-bottom: var(--spacing-8) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: 500 !important;
  color: var(--color-gray-900) !important;
  text-align: center;
}

/* Order Overview List */
.woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: var(--spacing-4) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--spacing-8) 0 !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-order-overview li {
  padding: var(--spacing-6) !important;
  margin: 0 !important;
  border-right: 1px solid var(--color-gray-200);
  background: var(--color-white);
}

.woocommerce-order-overview li:last-child {
  border-right: none;
}

.woocommerce-order-overview li::before {
  content: none !important;
}

.woocommerce-order-overview li strong {
  display: block;
  margin-top: var(--spacing-2);
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  letter-spacing: -0.01em;
}

/* Section Headers */
.woocommerce-order-details__title,
.woocommerce-order-downloads__title,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
  font-size: var(--font-size-2xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 var(--spacing-6) 0 !important;
  padding-bottom: var(--spacing-4);
  border-bottom: 2px solid var(--color-gray-200);
  letter-spacing: -0.02em;
}

/* Order Sections */
.woocommerce-order-details,
.woocommerce-order-downloads,
.woocommerce-customer-details {
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-8) !important;
  margin-bottom: var(--spacing-6) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

/* Tables */
.woocommerce-table,
.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  background: var(--color-white) !important;
}

.woocommerce-table thead th,
.shop_table thead th {
  padding: var(--spacing-4) var(--spacing-4) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--color-gray-700) !important;
  background: var(--color-gray-50) !important;
  border-bottom: 2px solid var(--color-gray-200) !important;
  text-align: left !important;
}

.woocommerce-table tbody td,
.shop_table tbody td {
  padding: var(--spacing-4) var(--spacing-4) !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-gray-900) !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  vertical-align: top;
}

.woocommerce-table tbody tr:last-child td,
.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-table tfoot th,
.woocommerce-table tfoot td,
.shop_table tfoot th,
.shop_table tfoot td {
  padding: var(--spacing-4) var(--spacing-4) !important;
  font-size: var(--font-size-base) !important;
  border-top: 2px solid var(--color-gray-200) !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  background: var(--color-gray-50) !important;
}

.woocommerce-table tfoot tr:last-child th,
.woocommerce-table tfoot tr:last-child td,
.shop_table tfoot tr:last-child th,
.shop_table tfoot tr:last-child td {
  border-bottom: none !important;
  font-weight: 700 !important;
  font-size: var(--font-size-lg) !important;
  background: var(--color-white) !important;
}

.woocommerce-table tfoot th {
  text-align: left !important;
  font-weight: 600 !important;
}

/* Product Links in Table */
.woocommerce-table a,
.shop_table a {
  color: var(--color-gray-900) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.woocommerce-table a:hover,
.shop_table a:hover {
  color: var(--color-primary-dark) !important;
}

/* Product Quantity */
.product-quantity {
  color: var(--color-gray-600) !important;
  font-weight: 400 !important;
}

/* Download Buttons */
.woocommerce-MyAccount-downloads-file,
.woocommerce-table .download-file a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: auto !important;
  padding: 10px 20px !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--color-gray-900) !important;
  background: var(--color-primary) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer;
  transition: all 0.15s ease !important;
  text-decoration: none !important;
}

.woocommerce-MyAccount-downloads-file:hover,
.woocommerce-table .download-file a:hover {
  background: var(--color-primary-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(217, 195, 154, 0.3) !important;
  color: var(--color-gray-900) !important;
}

/* Order Again Button */
.order-again {
  margin-top: var(--spacing-6) !important;
  padding-top: var(--spacing-6) !important;
  border-top: 1px solid var(--color-gray-200) !important;
}

.order-again .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: auto !important;
  padding: 12px 32px !important;
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--color-white) !important;
  background: var(--color-gray-900) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer;
  transition: all 0.15s ease !important;
  text-decoration: none !important;
}

.order-again .button:hover {
  background: var(--color-gray-800) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

/* Customer Details Section */
.woocommerce-customer-details address {
  font-style: normal !important;
  line-height: 1.8 !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-gray-700) !important;
  padding: var(--spacing-4) !important;
  background: var(--color-gray-50) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--color-gray-200) !important;
}

.woocommerce-customer-details--email {
  margin-top: var(--spacing-3) !important;
  padding-top: var(--spacing-3) !important;
  border-top: 1px solid var(--color-gray-200) !important;
  font-weight: 500 !important;
}

/* Additional Information Section */
.wc-block-order-confirmation-additional-fields-wrapper {
  margin-top: var(--spacing-6) !important;
}

.wc-block-order-confirmation-additional-fields-wrapper h2 {
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 var(--spacing-4) 0 !important;
  padding-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-gray-200);
}

.wc-block-components-additional-fields-list {
  margin: 0 !important;
  padding: var(--spacing-4) !important;
  background: var(--color-gray-50) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--color-gray-200) !important;
}

.wc-block-components-additional-fields-list dt {
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-2) !important;
  font-size: var(--font-size-sm) !important;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.wc-block-components-additional-fields-list dd {
  margin: 0 0 var(--spacing-4) 0 !important;
  color: var(--color-gray-700) !important;
  font-size: var(--font-size-base) !important;
}

.wc-block-components-additional-fields-list dd:last-child {
  margin-bottom: 0 !important;
}

/* Responsive Table */
@media (max-width: 768px) {
  .woocommerce-order {
    padding: var(--spacing-6) var(--spacing-3);
  }

  .woocommerce-order-overview {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-order-overview li {
    border-right: none !important;
    border-bottom: 1px solid var(--color-gray-200);
  }

  .woocommerce-order-overview li:last-child {
    border-bottom: none;
  }

  .woocommerce-order-details,
  .woocommerce-order-downloads,
  .woocommerce-customer-details {
    padding: var(--spacing-6) var(--spacing-4) !important;
  }

  /* Hide table headers on mobile */
  .woocommerce-table thead,
  .shop_table thead {
    display: none !important;
  }

  /* Downloads Table - Mobile */
  .woocommerce-order-downloads .woocommerce-table tbody tr,
  .woocommerce-order-downloads .shop_table tbody tr {
    display: block;
    border-radius: var(--radius-md);
    background: var(--color-white);
  }

  .woocommerce-order-downloads .woocommerce-table tbody td,
  .woocommerce-order-downloads .shop_table tbody td {
    display: block;
    text-align: left !important;
    padding: var(--spacing-2) 0 !important;
    border: none !important;
  }

  .woocommerce-order-downloads .woocommerce-table tbody td::before,
  .woocommerce-order-downloads .shop_table tbody td::before {
    content: attr(data-title) ": ";
    font-weight: 700;
    color: var(--color-gray-700);
    text-transform: uppercase;
    font-size: var(--font-size-xs);
    letter-spacing: 0.05em;
  }

  /* Order Details Table - Mobile Optimized */
  .woocommerce-table--order-details tbody,
  .order_details tbody {
    display: block !important;
    background: transparent !important;
    border: none !important;
  }

  .woocommerce-table--order-details tbody tr,
  .order_details tbody tr {
    display: block !important;
    margin-bottom: var(--spacing-3) !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  .woocommerce-table--order-details tbody tr:last-child,
  .order_details tbody tr:last-child {
    margin-bottom: 0 !important;
    padding-bottom: var(--spacing-4) !important;
    border-bottom: none !important;
  }

  /* Product name cell */
  .woocommerce-table--order-details .product-name,
  .order_details .product-name {
    display: block !important;
    padding: var(--spacing-3) 0 var(--spacing-2) 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: var(--font-size-base) !important;
  }

  .woocommerce-table--order-details .product-name::before,
  .order_details .product-name::before {
    display: none !important;
  }

  .woocommerce-table--order-details .product-name a,
  .order_details .product-name a {
    font-weight: 600 !important;
    font-size: var(--font-size-base) !important;
  }

  .woocommerce-table--order-details .product-quantity,
  .order_details .product-quantity {
    color: var(--color-gray-600) !important;
    font-weight: 400 !important;
    margin-left: var(--spacing-2);
  }

  /* Product total cell */
  .woocommerce-table--order-details .product-total,
  .order_details .product-total {
    display: block !important;
    padding: 0 0 var(--spacing-4) 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: left !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
    margin-bottom: var(--spacing-4) !important;
  }

  .woocommerce-table--order-details .product-total::before,
  .order_details .product-total::before {
    content: "PRICE: " !important;
    font-weight: 600 !important;
    color: var(--color-gray-700) !important;
    font-size: var(--font-size-xs) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: var(--spacing-1);
  }

  .woocommerce-table--order-details .product-total .woocommerce-Price-amount,
  .order_details .product-total .woocommerce-Price-amount {
    font-weight: 700 !important;
    color: var(--color-gray-900) !important;
  }

  /* Table Footer - Totals */
  .woocommerce-table--order-details tfoot,
  .order_details tfoot {
    display: block !important;
    margin-top: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  .woocommerce-table--order-details tfoot tr,
  .order_details tfoot tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: var(--spacing-3) 0 !important;
    border: none !important;
    background: transparent !important;
  }

  .woocommerce-table--order-details tfoot tr:not(:last-child),
  .order_details tfoot tr:not(:last-child) {
    border-bottom: 1px solid var(--color-gray-200) !important;
    padding-bottom: var(--spacing-3) !important;
    margin-bottom: 0 !important;
  }

  .woocommerce-table--order-details tfoot th,
  .order_details tfoot th {
    display: block !important;
    text-align: left !important;
    font-weight: 700 !important;
    font-size: var(--font-size-xs) !important;
    color: var(--color-gray-700) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  .woocommerce-table--order-details tfoot td,
  .order_details tfoot td {
    display: block !important;
    text-align: right !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    font-size: var(--font-size-base) !important;
    font-weight: 400 !important;
    color: var(--color-gray-900) !important;
  }

  /* Make the final total row stand out */
  .woocommerce-table--order-details tfoot tr:last-child,
  .order_details tfoot tr:last-child {
    padding-top: var(--spacing-4) !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--color-gray-300) !important;
    border-bottom: none !important;
  }

  .woocommerce-table--order-details tfoot tr:last-child th,
  .order_details tfoot tr:last-child th {
    font-size: var(--font-size-sm) !important;
    font-weight: 700 !important;
    color: var(--color-gray-900) !important;
  }

  .woocommerce-table--order-details tfoot tr:last-child td,
  .order_details tfoot tr:last-child td {
    font-weight: 700 !important;
    color: var(--color-gray-900) !important;
  }
}

/* ============================================
   WOOCOMMERCE PRODUCTS
   ============================================ */

/* Product Grid */
.collection-products ul.products,
.collection-products ul.products.masonry,
.collection-products ul.products.tbp_masonry,
.collection-products .loops-wrapper.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--spacing-8) !important;
  margin: var(--spacing-2) 0 !important;
  padding: 0 !important;
  list-style: none !important;
  height: auto !important;
  position: relative !important;
}

/* Remove masonry pseudo-elements that create ghost grid items */
.collection-products ul.products::before,
.collection-products ul.products::after,
.collection-products ul.products.masonry::before,
.collection-products ul.products.masonry::after,
.collection-products ul.products.tbp_masonry::before,
.collection-products ul.products.tbp_masonry::after {
  display: none !important;
  content: none !important;
}

/* Override masonry positioning - FORCE relative positioning */
.collection-products ul.products li.product,
.collection-products ul.products.masonry li.product,
.collection-products ul.products.tbp_masonry li.product {
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure first product is always visible and positioned correctly */
.collection-products ul.products li.product:first-child,
.collection-products ul.products.masonry li.product:first-child,
.collection-products ul.products.tbp_masonry li.product:first-child {
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Hide gutter sizer */
.collection-products .gutter-sizer {
  display: none !important;
}

/* Product Card */
.collection-products ul.products li.product {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--duration-normal) var(--ease);
  width: 100% !important;
  max-width: 100% !important;
  display: flex;
  flex-direction: column;
}

.collection-products ul.products li.product:hover {
  border-color: var(--color-gray-300);
  box-shadow: 0 2px 8px rgba(17, 24, 39, 0.04);
}

/* Product Card Inner Wrapper */
.collection-products ul.products li.product .tbp_advanced_archive_wrap {
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.collection-products ul.products li.product .module_row {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.collection-products ul.products li.product .row_inner {
  padding: 0;
  display: flex;
  flex-direction: column;
}

.collection-products ul.products li.product .module_column {
  padding: var(--spacing-4);
  display: flex;
  flex-direction: column;
}

/* Product Image Container - Themify Builder & Standard WooCommerce */
.collection-products ul.products li.product .post-image,
.collection-products ul.products li.product .product-image,
.collection-products ul.products li.product .module-product-image,
.collection-products ul.products li.product .module-product-image .product-image,
.collection-products ul.products li.product .module-product-image figure {
  position: relative;
  aspect-ratio: 1 / 1;
  background-color: var(--color-gray-50);
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 0;
  margin-left: -16px !important;
  margin-right: -16px !important;
  margin-top: -16px !important;
  width: calc(100% + 32px) !important;
}

/* Product Image - Target all possible image locations */
.collection-products ul.products li.product .post-image img,
.collection-products ul.products li.product .product-image img,
.collection-products ul.products li.product .module-product-image img,
.collection-products ul.products li.product .module-product-image figure img,
.collection-products ul.products li.product .image-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease);
  border-radius: 0;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Override WooCommerce default product image constraints for main product page */
.product-page-row .woocommerce div.product div.images,
.product-page-row .woocommerce-page div.product div.images,
.product-page-row .woocommerce #content div.product div.images {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.collection-products ul.products li.product:hover .post-image img,
.collection-products ul.products li.product:hover .product-image img,
.collection-products ul.products li.product:hover .module-product-image img {
  transform: scale(1.02);
}

/* Themify Builder specific overrides */
.collection-products .module-product-image {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.collection-products .module-product-image figure,
.collection-products .module-product-image .product-image {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Product Title - Increased for Teko font */
.collection-products ul.products li.product .product-title,
.collection-products ul.products li.product .tbp_title,
.collection-products ul.products li.product .module-product-title h2,
.collection-products ul.products li.product h2,
.collection-products ul.products li.product h3,
.woocommerce-loop-product__title,
.product_title a {
  font-size: var(--font-size-xl) !important;  /* Increased from base (1rem) to 1.75rem for Teko */
  font-weight: 600;
  color: var(--color-gray-900);
  line-height: 1.2;  /* Reduced from 1.4 for tighter spacing with Teko */
  margin: var(--spacing-2) 0 var(--spacing-2);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 0;  /* Removed min-height to eliminate empty space with Teko font */
}

.collection-products ul.products li.product .module-product-title {
  padding-top: var(--spacing-3);
  order: 1;
}

.collection-products ul.products li.product .product-title a,
.collection-products ul.products li.product .tbp_title a,
.collection-products ul.products li.product .module-product-title a,
.collection-products ul.products li.product h2 a,
.collection-products ul.products li.product h3 a {
  color: var(--color-gray-900);
  text-decoration: none;
  transition: color var(--duration-normal) var(--ease);
}

.collection-products ul.products li.product .product-title a:hover,
.collection-products ul.products li.product .tbp_title a:hover,
.collection-products ul.products li.product .module-product-title a:hover {
  color: var(--color-gray-700);
}

/* Product Price */
.collection-products ul.products li.product .price,
.collection-products ul.products li.product .woocommerce-Price-amount,
.collection-products ul.products li.product .module-product-price {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-gray-900);
  margin-bottom: var(--spacing-4);
}

.collection-products ul.products li.product .module-product-price {
  margin-top: var(--spacing-2);
  order: 2;
}

.collection-products ul.products li.product .module-product-price .price {
  margin: 0;
  line-height: 1;
}

/* Add spacing before cart button */
.collection-products ul.products li.product .module-add-to-cart {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  order: 3;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--spacing-2) !important;
  width: 100% !important;
}

.collection-products .price del {
  opacity: 0.5;
  font-weight: 400;
  font-size: var(--font-size-base);
  margin-right: var(--spacing-2);
}

.collection-products .price ins {
  text-decoration: none;
  color: var(--color-gray-900);
  font-weight: 700;
}

/* Product Badges */
.collection-products .onsale,
.collection-products .product-badge {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  color: var(--color-gray-900);
  border-radius: var(--radius-full);
  padding: var(--spacing-1) var(--spacing-3);
  font-size: var(--font-size-xs);
  font-weight: 500;
  position: absolute;
  top: var(--spacing-3);
  left: var(--spacing-3);
  z-index: 10;
}

/* Responsive adjustments for collection product badges */
  .collection-products .onsale,
  .collection-products .product-badge {
    font-size: .9em !important;
    left: 12px !important;
    top: 8px !important;
  }

/* Global onsale styling */
span.onsale {
  position: absolute !important;
  z-index: 10 !important;
  transform: rotate(0deg) !important;
  margin: -6px 0 0 0 !important;
  padding: .3em 2.25em !important;
}

.woocommerce span.onsale:before {
  border-radius: 0 0 12px 0;
  height: 3.8em;
}

/* Product page specific - just override line-height */
.product-page-row span.onsale,
.product-page-row .woocommerce span.onsale,
.product-page-row .onsale {
  line-height: 3.4em !important;
}

/* Out of Stock Badge - Collection Products */
.collection-products .out-of-stock-badge,
.collection-products li.product .out-of-stock-badge,
.collection-products .stock.out-of-stock {
  background-color: rgba(254, 242, 242, 0.95) !important;
  backdrop-filter: blur(8px) !important;
  color: #991B1B !important;
  border: 1px solid rgba(220, 38, 38, 0.2) !important;
  border-radius: var(--radius-full) !important;
  padding: var(--spacing-1) var(--spacing-3) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 500 !important;
  position: absolute !important;
  top: var(--spacing-3) !important;
  right: var(--spacing-3) !important;
  z-index: 10 !important;
  text-transform: capitalize !important;
}

/* Hide Add to Cart for Out of Stock Products */
.collection-products li.product.outofstock .add_to_cart_button,
.collection-products li.product.out-of-stock .add_to_cart_button {
  display: none !important;
}


/* Add to Cart Button */
.collection-products .add_to_cart_button,
.collection-products .product_type_simple,
.collection-products .product_type_variable,
.collection-products ul.products li.product .module-add-to-cart a,
.collection-products .module-add-to-cart .button {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.75em 1.5em !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  transition: all var(--duration-normal) var(--ease) !important;
  text-transform: none !important;
  letter-spacing: 0.07em !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

.collection-products .add_to_cart_button:hover,
.collection-products ul.products li.product .module-add-to-cart a:hover,
.collection-products .module-add-to-cart .button:hover {
  background-color: var(--color-gray-700) !important;
  color: var(--color-white) !important;
  transform: none !important;
  box-shadow: 0 1px 3px rgba(17, 24, 39, 0.12) !important;
}

/* Loading state for Add to Cart */
.collection-products .add_to_cart_button.loading {
  opacity: 0.7 !important;
  pointer-events: none !important;
}

.add_to_cart_button.added {
  background-color: var(--color-success) !important;
}

.add_to_cart_button.added:hover {
  background-color: var(--color-success) !important;
}

/* View Cart Button - appears after adding to cart */
.added_to_cart,
a.added_to_cart,
.woocommerce a.added_to_cart,
.module-add-to-cart .added_to_cart {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.75em 1.5em !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  transition: all var(--duration-normal) var(--ease) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  margin-top: var(--spacing-2) !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

.added_to_cart:hover,
a.added_to_cart:hover,
.woocommerce a.added_to_cart:hover {
  background-color: var(--color-gray-700) !important;
  color: var(--color-white) !important;
  transform: none !important;
  box-shadow: 0 1px 3px rgba(17, 24, 39, 0.12) !important;
}

/* Hide the dimension/size tooltips that appear on buttons */
.added_to_cart::before,
.added_to_cart::after,
a.added_to_cart::before,
a.added_to_cart::after {
  display: none !important;
  content: none !important;
}

/* Hide screen reader text and ARIA descriptions that might show visually */
.screen-reader-text,
[id*="woocommerce_loop_add_to_cart_link_describedby"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border-width: 0 !important;
  visibility: hidden !important;
}

/* Style the button container when both buttons are present */
.collection-products ul.products li.product .module-add-to-cart {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--spacing-2) !important;
}

/* Ensure both buttons take full width */
.collection-products .module-add-to-cart .add_to_cart_button,
.collection-products .module-add-to-cart .added_to_cart {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Alternative styling: Make VIEW CART outlined/secondary */
.added_to_cart.alt-style,
a.added_to_cart.alt-style {
  background-color: transparent !important;
  border: 1px solid var(--color-gray-300) !important;
  color: var(--color-gray-900) !important;
}

.added_to_cart.alt-style:hover,
a.added_to_cart.alt-style:hover {
  background-color: var(--color-gray-50) !important;
  border-color: var(--color-gray-400) !important;
}

/* ============================================
   RESPONSIVE: COLLECTION PRODUCTS GRID
   ============================================ */

/* Tablet - 2 columns */
@media (max-width: 1024px) {
  .collection-products ul.products,
  .collection-products ul.products.masonry,
  .collection-products ul.products.tbp_masonry,
  .collection-products .loops-wrapper.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--spacing-6) !important;
  }
}

/* Mobile - 1 column */
@media (max-width: 640px) {
  .collection-products ul.products,
  .collection-products ul.products.masonry,
  .collection-products ul.products.tbp_masonry,
  .collection-products .loops-wrapper.products {
    grid-template-columns: repeat(1, 1fr) !important;
    gap: var(--spacing-4) !important;
  }
}


/* ============================================
   CART & CHECKOUT
   ============================================ */

/* Shopping Cart Icon */
.icon-shopping-cart svg {
  color: var(--color-gray-900);
}

/* Cart Item Count Badge */
.icon-menu-count, 
.icon-menu .icon-menu-count {
    background-color: var(--color-gray-900) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 600 !important;
    min-width: 12px !important;
    height: 20px !important;
    display: flex !important
;
    align-items: center !important;
    justify-content: center !important;
}

/* Cart Dropdown Container */
#cart-wrap {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.05) !important;
  overflow: hidden !important;
  min-width: 380px !important;
  max-width: 420px !important;
  padding-bottom: 74px;
}

/* Cart Items List Container */
#cart-list {
  overflow-y: auto !important;
  padding: 0 !important;
  background-color: var(--color-white) !important;
}
.top-icon-wrap #cart-list {
  padding-bottom: 8px !important;
}

/* Custom scrollbar for cart list */
#cart-list::-webkit-scrollbar {
  width: 6px !important;
}

#cart-list::-webkit-scrollbar-track {
  background: var(--color-gray-100) !important;
  border-radius: var(--radius-full) !important;
}

#cart-list::-webkit-scrollbar-thumb {
  background-color: var(--color-gray-300) !important;
  border-radius: var(--radius-full) !important;
}

#cart-list::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-gray-400) !important;
}

/* Individual Cart Product Item */
#cart-list .product {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--spacing-3) !important;
  padding: var(--spacing-3) !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  position: relative !important;
  transition: background-color var(--duration-normal) var(--ease) !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: 0 !important;
}

#cart-list .product:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

#cart-list .product:hover {
  background-color: var(--color-gray-50) !important;
}

/* Remove Item Button */
#cart-list .product .remove-item,
#cart-list .product .remove_from_cart_button {
  position: absolute !important;
  top: var(--spacing-2) !important;
  right: var(--spacing-2) !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  color: var(--color-gray-400) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  font-size: var(--font-size-base) !important;
  line-height: 1 !important;
  padding: 0 !important;
}

#cart-list .product .remove-item:hover,
#cart-list .product .remove_from_cart_button:hover {
  background-color: transparent !important;
  color: var(--color-gray-900) !important;
  transform: scale(1.1) !important;
}

/* Product Image */
#cart-list .product .product-image {
  flex-shrink: 0 !important;
  width: 80px !important;
  height: 80px !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  background-color: var(--color-gray-50) !important;
  margin: 0 !important;
}

#cart-list .product .product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#cart-list .product .product-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Product Details */
#cart-list .product .product-details {
  flex: 1 !important;
  min-width: 0 !important;
  padding-right: var(--spacing-8) !important;
}

/* Product Title */
#cart-list .product .product-title {
  font-size: var(--font-size-lg) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 var(--spacing-2) 0 !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

#cart-list .product .product-title a {
  color: var(--color-gray-900) !important;
  text-decoration: none !important;
  transition: color var(--duration-normal) var(--ease) !important;
}

#cart-list .product .product-title a:hover {
  color: var(--color-gray-700) !important;
}

/* Quantity Count */
#cart-list .product .quantity-count {
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-600) !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

/* Cart Total & Checkout Wrapper */
.cart-total-checkout-wrap {
  background-color: var(--color-gray-50) !important;
  border-top: 1px solid var(--color-gray-200) !important;
  padding: var(--spacing-4) !important;
}

/* Cart Total */
.cart-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: var(--spacing-2) 0 !important;
  gap: var(--spacing-3) !important;
}

.cart-total .amount {
  font-size: var(--font-size-base) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  line-height: 1.2 !important;
  margin-right: auto !important;
}

.cart-total .woocommerce-Price-amount {
  font-size: var(--font-size-base) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  line-height: 1 !important;
}

/* View Cart Link */
.cart-total #view-cart,
.cart-total a {
  font-size: var(--font-size-xs) !important;
  font-weight: 500 !important;
  color: var(--color-gray-700) !important;
  text-decoration: none !important;
  transition: color var(--duration-normal) var(--ease) !important;
  border-bottom: 1px solid transparent !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
}

.cart-total #view-cart:hover,
.cart-total a:hover {
  color: var(--color-gray-900) !important;
  border-bottom-color: var(--color-gray-900) !important;
}

/* Checkout Button */
.checkout-button {
  margin: 0 !important;
  padding: 0 !important;
}

.checkout-button .button,
.checkout-button button {
  width: 100% !important;
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.75rem 1.25rem !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.checkout-button .button:hover,
.checkout-button button:hover {
  background-color: var(--color-gray-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

.checkout-button .button:active,
.checkout-button button:active {
  transform: translateY(0) !important;
}

/* Empty Cart State */
#cart-list:empty::before {
  content: 'Your cart is empty' !important;
  display: block !important;
  text-align: center !important;
  padding: var(--spacing-12) var(--spacing-4) !important;
  color: var(--color-gray-500) !important;
  font-size: var(--font-size-sm) !important;
}

/* Mobile Adjustments for Cart Dropdown */
@media (max-width: 480px) {
  #cart-wrap {
    min-width: 340px !important;
    max-width: calc(100vw - 32px) !important;
  }
  .cart-style-dropdown #cart-wrap {
    inset-inline-end: -48px !important;
  }
  
  #cart-list .product .product-image {
    width: 60px !important;
    height: 60px !important;
  }
  
  #cart-list .product .product-title {
    font-size: var(--font-size-lg) !important;
    margin-bottom: 0 !important;
  }
  /* Quantity Count */
#cart-list .product .quantity-count {
  font-size: var(--font-size-sm) !important;
}
  
  .cart-total .amount,
  .cart-total .woocommerce-Price-amount {
    font-size: var(--font-size-lg) !important;
  }
}

/* ============================================
   CART PAGE - WooCommerce Block Styling
   ============================================ */

/* Main Cart Container */
.wc-block-cart,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-filled-cart-block {
  font-family: var(--font-body) !important;
  color: var(--color-gray-900) !important;
}

/* Cart Layout - Two Column Grid */
.wc-block-components-sidebar-layout.wc-block-cart {
  display: grid !important;
  grid-template-columns: 1fr 420px !important;
  gap: 40px !important;
  align-items: start !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

/* Force proper widths and remove WordPress default padding */
.wc-block-components-sidebar-layout .wc-block-components-main {
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wc-block-components-sidebar {
  width: 100% !important;
  max-width: 100% !important;
}

/* ============================
   CART ITEMS TABLE
   ============================ */

/* Cart Items Main Column */
.wc-block-cart__main {
  background: var(--color-white) !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--color-gray-200) !important;
  overflow: visible !important;
}

/* Cart Table */
.wc-block-cart-items,
.wc-block-cart table.wc-block-cart-items {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
}

.wc-block-cart__main .wc-block-cart-items {
  border-bottom: 0 !important;
}

.wc-block-cart table.wc-block-cart-items td,
.wc-block-cart table.wc-block-cart-items th {
  margin: 0 !important;
}

/* Table Header */
.wc-block-cart-items__header {
  background-color: var(--color-gray-50) !important;
  border-bottom: 2px solid var(--color-gray-200) !important;
}

.wc-block-cart-items__header th {
  padding: 16px 20px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: var(--font-size-sm) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--color-gray-700) !important;
}

.wc-block-cart-items__header-image {
  width: 100px;
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image,
table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image {
  width: 80px !important;
}

.wc-block-cart-items__header-total {
  text-align: right;
  width: 120px;
}

/* Cart Item Rows */
.wc-block-cart-items__row {
  border-bottom: 1px solid var(--color-gray-100);
  transition: background-color 0.2s ease;
}

table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
  padding: 0 !important;
}

tr.wc-block-cart-items__row {
  padding: 20px !important;
}

.wc-block-cart-items__row:last-child {
  border-bottom: none;
}

.wc-block-cart-items__row:hover {
  background-color: var(--color-gray-50);
}

/* Product Image Cell */
.wc-block-cart-item__image {
  padding: 20px;
  width: 100px;
}

.wc-block-cart-item__image img {
  object-fit: cover;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-gray-200);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  aspect-ratio: 1/1 !important;
}

.wc-block-cart-items__row:hover .wc-block-cart-item__image img {
  transform: scale(1.01);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* Product Details Cell */
.wc-block-cart-item__product {
  padding: 20px;
  vertical-align: top;
}

.wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
}

/* Product Name */
.wc-block-components-product-name {
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-gray-900);
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
}

.wc-block-components-product-name:hover {
  color: var(--color-primary);
}

/* Product Price */
.wc-block-cart-item__prices .wc-block-components-product-price {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-gray-900);
}

.wc-block-formatted-money-amount {
  font-family: var(--font-body);
}

/* Product Description */
.wc-block-components-product-metadata__description {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  line-height: 1.5;
  margin-top: 4px;
}

.wc-block-components-product-metadata__description p {
  margin: 0;
}

/* Quantity Selector */
.wc-block-cart-item__quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.wc-block-components-quantity-selector {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  background: var(--color-white);
  overflow: hidden;
}

.wc-block-components-quantity-selector__input {
  width: 60px;
  text-align: center;
  border: none;
  padding: 8px 4px;
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-gray-900);
  background: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
}

.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.wc-block-components-quantity-selector__input:focus {
  outline: none;
  background: var(--color-gray-50);
}

.wc-block-components-quantity-selector__button {
  width: 32px;
  height: 36px;
  border: none;
  background: var(--color-gray-50);
  color: var(--color-gray-700);
  font-size: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--color-gray-100);
  color: var(--color-gray-900);
}

.wc-block-components-quantity-selector__button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.wc-block-components-quantity-selector__button--minus {
  border-right: 1px solid var(--color-gray-300);
}

.wc-block-components-quantity-selector__button--plus {
  border-left: 1px solid var(--color-gray-300);
}

/* Remove Item Link */
.wc-block-cart-item__remove-link {
  background: none;
  border: none;
  color: var(--color-error);
  font-size: var(--font-size-sm);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.wc-block-cart-item__remove-link:hover {
  color: #b91c1c;
  text-decoration: none;
}

/* Product Total Cell */
.wc-block-cart-item__total {
  padding: 20px;
  text-align: right;
  vertical-align: top;
}

.wc-block-cart-item__total .wc-block-components-product-price {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-gray-900);
}

/* ============================
   CART SIDEBAR / TOTALS
   ============================ */

.wc-block-cart__sidebar {
  position: sticky;
  top: 120px;
}

/* Cart Order Summary Container */
.wp-block-woocommerce-cart-order-summary-block {
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

/* Cart Totals Title */
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
  font-size: var(--font-size-base) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
}

/* Coupon Section */
.wc-block-components-totals-coupon {
  margin-bottom: 16px;
}

.wc-block-components-totals-coupon.wc-block-components-panel {
  padding-top: 16px !important;
}

/* Coupon Form */
.wc-block-components-totals-coupon__form {
  display: flex !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

/* Coupon Input Container */
.wc-block-components-text-input.wc-block-components-totals-coupon__input {
  flex: 1 !important;
  position: relative !important;
}

/* Coupon Input Field */
.wc-block-components-text-input input,
.wc-block-components-totals-coupon__input input {
  width: 100% !important;
  height: 44px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--color-gray-300) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-900) !important;
  background: var(--color-white) !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-totals-coupon__input input:focus {
  outline: none !important;
  border-color: var(--color-gray-900) !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
}

/* Coupon Input Label */
.wc-block-components-text-input label,
.wc-block-components-totals-coupon__input label {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--color-gray-500) !important;
  font-size: var(--font-size-sm) !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input input:not(:placeholder-shown) + label,
.wc-block-components-totals-coupon__input input:focus + label,
.wc-block-components-totals-coupon__input input:not(:placeholder-shown) + label {
  top: -8px !important;
  left: 12px !important;
  font-size: var(--font-size-xs) !important;
  background: var(--color-white) !important;
  padding: 0 4px !important;
  transform: none !important;
}

/* Apply Button */
.wc-block-components-totals-coupon__button,
button.wc-block-components-totals-coupon__button {
  height: 44px !important;
  padding: 0 24px !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.wc-block-components-totals-coupon__button:hover:not(:disabled),
button.wc-block-components-totals-coupon__button:hover:not(:disabled) {
  background: var(--color-gray-700) !important;
  transform: translateY(-1px) !important;
}

.wc-block-components-totals-coupon__button:disabled,
button.wc-block-components-totals-coupon__button:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

.wc-block-components-panel__button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  overflow: visible;
}
.wc-block-components-panel__button>.wc-block-components-panel__button-icon {
      transform: translate(-8px, -50%)!important;
}
.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-panel__button, .wc-block-components-panel__button:active, .wc-block-components-panel__button:focus, .wc-block-components-panel__button:hover,
.wc-block-components-panel__button {
  padding: 12px 16px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.wc-block-components-panel__button:hover {
  background: var(--color-gray-100);
  border-color: var(--color-gray-400);
  color: var(--color-gray-900);
}

/* Extra specific override for WordPress default padding-left: 0 */
.wp-block-woocommerce-cart .wc-block-components-panel__button,
.wp-block-woocommerce-cart .wc-block-components-panel__button:active,
.wp-block-woocommerce-cart .wc-block-components-panel__button:focus,
.wp-block-woocommerce-cart .wc-block-components-panel__button:hover,
div.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon.wc-block-components-panel .wc-block-components-panel__button {
  padding: 12px 16px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.wc-block-components-panel__button-icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
  transition: transform 0.2s ease;
}

.wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon {
  transform: rotate(180deg);
}

/* Totals Wrapper */
.wc-block-components-totals-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 !important;
}

/* Totals Item */
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid var(--color-gray-100) !important;
}

.wc-block-components-totals-item:last-child {
  border-bottom: none !important;
}

.wc-block-components-totals-item__label {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-700) !important;
  font-weight: 500 !important;
}

.wc-block-components-totals-item__value {
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
}

/* Footer Total */
.wc-block-components-totals-footer-item {
  border-bottom: none !important;
  margin-top: 8px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}

/* ============================
   PROCEED TO CHECKOUT BUTTON
   ============================ */

.wc-block-cart__submit {
  margin-top: 24px;
}

.wc-block-cart__submit-container {
  width: 100%;
}

.wc-block-cart__submit-button,
.wc-block-cart__submit-button.wc-block-components-button,
a.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a {
  width: 100% !important;
  padding: 0.75em 1.5em !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-body) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: none !important;
  letter-spacing: 0.07em !important;
  line-height: 1.2 !important;
}

.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--color-gray-800) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-1px);
}

.wc-block-cart__submit-button:active,
a.wc-block-cart__submit-button:active,
.wp-block-woocommerce-proceed-to-checkout-block a:active {
  transform: translateY(0);
  box-shadow: none !important;
}

.wc-block-components-button__text {
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

/* ============================
   MOBILE RESPONSIVE
   ============================ */

@container (max-width: 699px) {
    .wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
        display: block!important;
        font-size: var(--font-size-2xl) !important;
    }
}

@media (max-width: 1200px) {
  .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: 1fr 380px !important;
    gap: 32px !important;
  }
}

@media (max-width: 1024px) {
  .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .wc-block-cart__sidebar {
    position: static !important;
    max-width: 500px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 768px) {
  /* Stack vertically on tablet like mobile */
  .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Hide table headers */
  .wc-block-cart-items__header {
    display: none !important;
  }

  /* Add padding to cart items */
  .wc-block-cart__main .wc-block-cart-items {
    padding: 20px !important;
  }

  /* Each cart row - flex row layout */
  .wc-block-cart-items__row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 16px !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
    padding: 0 0 20px 0 !important;
    margin-bottom: 20px !important;
  }

  .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
  }

  /* Product image */
  .wc-block-cart-item__image {
    flex-shrink: 0 !important;
    width: 100px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wc-block-cart-item__image img {
    width: 100px !important;
    height: 100px !important;
    border-radius: var(--radius-md) !important;
  }

  /* Product details */
  .wc-block-cart-item__product {
    flex: 1 !important;
    width: auto !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  /* Product name */
  .wc-block-components-product-name {
    font-size: var(--font-size-lg) !important;
    font-weight: 600 !important;
  }

  /* Quantity selector */
  .wc-block-cart-item__quantity {
    order: 3 !important;
    width: auto !important;
    margin: 8px 0 0 0 !important;
  }

  /* Remove item */
  .wc-block-cart-item__remove-link {
    order: -1 !important;
    align-self: flex-end !important;
    font-size: var(--font-size-sm) !important;
  }

  /* Hide redundant subtotal */
  .wc-block-cart-item__total {
    display: none !important;
  }

  /* Sidebar */
  .wp-block-woocommerce-cart-order-summary-block {
    padding: 20px !important;
  }
}

@media (max-width: 640px) {
  /* Force single column layout on mobile */
  .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Add padding to cart items container */
  .wc-block-cart__main .wc-block-cart-items {
    padding: 20px !important;
  }

  /* Hide table headers */
  .wc-block-cart-items__header {
    display: none !important;
  }

  /* Each cart row - clean layout with bottom border */
  .wc-block-cart-items__row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
    padding: 0 0 20px 0 !important;
    margin-bottom: 20px !important;
  }

  .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
  }

  /* Product image - compact on left */
  .wc-block-cart-item__image {
    flex-shrink: 0 !important;
    width: 100px !important;
    margin: 0 !important;
  }

  .wc-block-cart-item__image img {
    width: 100px !important;
    height: 100px !important;
    border-radius: var(--radius-md) !important;
  }

  /* Product details - flex grow to fill space */
  .wc-block-cart-item__product {
    flex: 1 !important;
    width: auto !important;
    text-align: left !important;
    margin: 0 !important;
  }

  .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  /* Product name */
  .wc-block-components-product-name {
    font-size: var(--font-size-lg) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  /* Product price */
  .wc-block-cart-item__prices {
    order: 1 !important;
  }

  .wc-block-cart-item__prices .wc-block-components-product-price {
    font-size: var(--font-size-base) !important;
    font-weight: 600 !important;
    color: var(--color-gray-900) !important;
  }

  /* Product description - smaller and subtle */
  .wc-block-components-product-metadata__description {
    order: 2 !important;
  }

  .wc-block-components-product-metadata__description p {
    font-size: var(--font-size-sm) !important;
    color: var(--color-gray-600) !important;
    margin: 0 !important;
  }

  /* Quantity selector - compact and below description */
  .wc-block-cart-item__quantity {
    order: 3 !important;
    width: auto !important;
    margin: 8px 0 0 0 !important;
  }

  .wc-block-components-quantity-selector {
    justify-content: flex-start !important;
  }

  .wc-block-components-quantity-selector__input {
    width: 50px !important;
    height: 36px !important;
    font-size: var(--font-size-sm) !important;
  }

  .wc-block-components-quantity-selector__button {
    width: 36px !important;
    height: 36px !important;
    font-size: var(--font-size-lg) !important;
  }

  /* Remove item - positioned at top right of product details */
  .wc-block-cart-item__remove-link {
    order: -1 !important;
    align-self: flex-end !important;
    font-size: var(--font-size-sm) !important;
    padding: 4px 8px !important;
    margin: 0 !important;
  }

  /* HIDE the redundant per-item subtotal */
  .wc-block-cart-item__total {
    display: none !important;
  }

  /* Sidebar adjustments */
  .wc-block-cart__sidebar {
    max-width: 100% !important;
  }

  .wp-block-woocommerce-cart-order-summary-block {
    padding: 20px !important;
  }

  /* Coupon form mobile layout */
  .wc-block-components-totals-coupon__form {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .wc-block-components-text-input.wc-block-components-totals-coupon__input {
    width: 100% !important;
  }

  .wc-block-components-totals-coupon__button {
    width: 100% !important;
    height: 48px !important;
  }

  /* Proceed to checkout button - larger on mobile */
  .wc-block-cart__submit-button {
    width: 100% !important;
    font-size: var(--font-size-base) !important;
    padding: 16px 24px !important;
    height: 56px !important;
  }
}

/* Cart Table - Classic Form (fallback) */
.woocommerce-cart-form table {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
}

.woocommerce-cart-form th {
  background-color: var(--color-gray-50);
  color: var(--color-gray-900);
  font-weight: 600;
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  letter-spacing: 0.05em;
}


/* ============================================
   CHECKOUT ORDER PAY PAGE STYLING
   ============================================ */

/* Order Review Form Container */
#order_review {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  transition: all 0.2s ease;
}

/* Order Review Table */
#order_review table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 32px;
  box-shadow: none;
  border: none;
}

#order_review table.shop_table thead th {
  padding: 16px 20px;
  background: var(--color-gray-50);
  text-align: left;
  font-weight: 700;
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-gray-900);
}

#order_review table.shop_table tbody td {
  padding: 20px;
  color: var(--color-gray-900);
  font-size: var(--font-size-base);
  background: white;
}


#order_review table.shop_table tfoot th,
#order_review table.shop_table tfoot td {
  padding: 16px 20px;
  font-weight: 600;
  background: white;
  color: var(--color-gray-900);
  font-size: var(--font-size-base);
}

#order_review table.shop_table tfoot tr:last-child th,
#order_review table.shop_table tfoot tr:last-child td {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-gray-900);
  padding: 20px;
  background: white;
}

/* Payment Methods Container */
#order_review #payment {
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  border: none;
}

#order_review .wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

#order_review .wc_payment_method {
  margin-bottom: 20px;
  padding: 0;
  background: white;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  transition: all 0.2s ease;
  overflow: hidden;
}

#order_review .wc_payment_method:last-child {
  margin-bottom: 0;
}

#order_review .wc_payment_method label {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: var(--font-size-base);
  color: var(--color-gray-900);
  cursor: pointer;
  margin-bottom: 0;
}

#order_review .wc_payment_method input[type="radio"] {
  display: inline-block !important;
  width: 18px;
  height: 18px;
  margin: 12px 4px 12px 16px;
  cursor: pointer;
  appearance: none;
  border: 2px solid var(--color-gray-300);
  border-radius: 50%;
  position: relative;
  background: white;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

#order_review .wc_payment_method input[type="radio"]:hover {
  border-color: var(--color-gray-900);
}

#order_review .wc_payment_method input[type="radio"]:checked {
  border-color: var(--color-gray-900);
  background: white;
}

#order_review .wc_payment_method input[type="radio"]:checked::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-gray-900);
}

#order_review .payment_box {
  margin-top: 0;
  padding: 24px;
  background: var(--color-gray-50);
  border-radius: 0;
  border: none;
  border-top: 1px solid var(--color-gray-200);
}

#order_review .payment_box p {
  margin-bottom: 12px;
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
  line-height: 1.6;
}

#order_review .payment_box p:last-child {
  margin-bottom: 0;
}

/* Terms and Conditions Section */
#order_review .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 24px;
  padding: 24px;
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
}

#order_review .woocommerce-privacy-policy-text {
  margin-bottom: 20px;
}

#order_review .woocommerce-privacy-policy-text p {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  line-height: 1.6;
  margin: 0;
}

#order_review .woocommerce-privacy-policy-text a {
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: 1px solid var(--color-accent);
  transition: all 0.2s ease;
}

#order_review .woocommerce-privacy-policy-text a:hover {
  color: var(--color-gray-700);
  border-bottom-color: var(--color-gray-700);
}

#order_review .woocommerce-terms-and-conditions {
  padding: 20px;
  background: var(--color-white);
  border-radius: var(--radius-md);
  margin-bottom: 20px;
  border: 1px solid var(--color-gray-200);
}

/* Terms Checkbox */
#order_review .validate-required {
  margin-bottom: 0;
}

#order_review .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: var(--font-size-sm);
  line-height: 1.6;
  margin: 0;
  color: var(--color-gray-900);
}

#order_review .woocommerce-form__input-checkbox {
  appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--color-gray-300);
  border-radius: 4px;
  cursor: pointer;
  margin: 2px 0 0 0;
  background: white;
  position: relative;
  transition: all 0.2s ease;
}

#order_review .woocommerce-form__input-checkbox:hover {
  border-color: var(--color-gray-900);
}

#order_review .woocommerce-form__input-checkbox:checked {
  background: var(--color-gray-900);
  border-color: var(--color-gray-900);
}

#order_review .woocommerce-form__input-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  width: 4px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

#order_review .woocommerce-terms-and-conditions-checkbox-text a {
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: 1px solid var(--color-accent);
}

#order_review .woocommerce-terms-and-conditions-checkbox-text a:hover {
  color: var(--color-gray-700);
  border-bottom-color: var(--color-gray-700);
}

#order_review .required {
  color: #dc2626;
  margin-left: 2px;
  font-weight: 600;
}

/* Newsletter Opt-in */
#order_review .hostinger-reach-optin {
  margin-bottom: 32px;
  padding: 0;
}

#order_review .hostinger-reach-optin label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: var(--font-size-sm);
  margin: 0;
  font-weight: 400;
  color: var(--color-gray-900);
}

#order_review .hostinger-reach-optin input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--color-gray-300);
  border-radius: 4px;
  cursor: pointer;
  background: white;
  position: relative;
  transition: all 0.2s ease;
  margin: 2px 0 0 0;
}

#order_review .hostinger-reach-optin input[type="checkbox"]:hover {
  border-color: var(--color-gray-900);
}

#order_review .hostinger-reach-optin input[type="checkbox"]:checked {
  background: var(--color-gray-900);
  border-color: var(--color-gray-900);
}

#order_review .hostinger-reach-optin input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  width: 4px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Place Order Button */
#order_review #place_order,
#order_review button.alt,
#order_review button[type="submit"] {
  width: 100% !important;
  padding: 18px 32px !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  font-family: var(--font-heading) !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

#order_review #place_order:hover,
#order_review button.alt:hover,
#order_review button[type="submit"]:hover {
  background: var(--color-gray-800) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

#order_review #place_order:active,
#order_review button.alt:active,
#order_review button[type="submit"]:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Error Messages */
.woocommerce-error {
  background: #fef2f2;
  border-left: 4px solid #dc2626;
  padding: 20px 24px;
  margin-bottom: 32px;
  border-radius: var(--radius-md);
  list-style: none;
  color: #991b1b;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.woocommerce-error li {
  margin: 0;
  padding: 0;
  font-size: var(--font-size-sm);
  line-height: 1.6;
  font-weight: 500;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  #order_review {
    padding: 20px 16px;
  }

  #order_review table.shop_table thead th,
  #order_review table.shop_table tbody td,
  #order_review table.shop_table tfoot th,
  #order_review table.shop_table tfoot td {
    padding: 16px;
    font-size: var(--font-size-sm);
  }

  #order_review .woocommerce-terms-and-conditions-wrapper {
    padding: 16px;
  }
  
  #order_review .wc_payment_method {
    padding: 16px;
  }
}

@media (max-width: 640px) {
  #order_review table.shop_table {
    font-size: var(--font-size-sm);
  }

  #order_review table.shop_table .product-quantity {
    text-align: center;
  }

  #order_review #place_order,
  #order_review button.alt {
    padding: 16px 24px;
    font-size: var(--font-size-sm);
  }
}

/* Place Order Button */
#order_review #place_order,
#order_review button.alt {
  width: 100%;
  padding: 16px 24px;
  background: var(--color-primary);
  color: white;
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  font-weight: 600;
  font-family: var(--font-heading);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#order_review #place_order:hover,
#order_review button.alt:hover {
  background: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

#order_review #place_order:active,
#order_review button.alt:active {
  transform: translateY(0);
}

/* Error Messages */
.woocommerce-error {
  background: #fef2f2;
  border-left: 3px solid #dc2626;
  padding: 16px 20px;
  margin-bottom: 24px;
  border-radius: 0;
  list-style: none;
  color: #7f1d1d;
}

.woocommerce-error li {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.5;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  #order_review table.shop_table thead th,
  #order_review table.shop_table tbody td,
  #order_review table.shop_table tfoot th,
  #order_review table.shop_table tfoot td {
    padding: 12px;
    font-size: var(--font-size-sm);
  }

  #order_review .woocommerce-terms-and-conditions-wrapper {
    padding: 12px;
  }
}

@media (max-width: 640px) {
  #order_review table.shop_table {
    font-size: var(--font-size-sm);
  }

  #order_review table.shop_table .product-quantity {
    display: none;
  }

  #order_review #place_order,
  #order_review button.alt {
    padding: 12px 16px;
    font-size: var(--font-size-sm);
  }
}


/* ============================================
   CHECKOUT PAGE STYLING
   ============================================ */

/* Main Checkout Container */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
  padding: 0 !important;
}

/* Checkout Layout - Two Column Grid */
.wc-block-components-sidebar-layout.wc-block-checkout {
  display: grid !important;
  grid-template-columns: 1fr 420px !important;
  gap: 40px !important;
  align-items: start !important;
}

/* Main Form Column */
.wc-block-components-main.wc-block-checkout__main {
  background: var(--color-white) !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--color-gray-200) !important;
  padding: 32px !important;
  overflow: visible !important;
}

/* Checkout Form */
.wc-block-components-form.wc-block-checkout__form {
  width: 100% !important;
}

/* Checkout Step Sections */
.wc-block-components-checkout-step {
  border: none !important;
  margin: 0 0 32px 0 !important;
}

.wc-block-components-checkout-step:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Step Headings */
.wc-block-components-checkout-step__title {
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 16px 0 !important;
}

.wc-block-components-checkout-step__description {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-600) !important;
  margin: 0 0 24px 0 !important;
}

/* Form Inputs */
.wc-block-components-text-input input,
.wc-blocks-components-select__select {
  min-height: 48px !important;
  padding: 12px 16px !important;
  font-size: var(--font-size-base) !important;
  line-height: 1.5 !important;
  border: 1px solid var(--color-gray-300) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-white) !important;
  color: var(--color-gray-900) !important;
  transition: border-color 0.2s ease !important;
  width: 100% !important;
}

.wc-block-components-text-input input::placeholder {
  color: transparent !important;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus {
  outline: none !important;
  border-color: var(--color-gray-900) !important;
  box-shadow: 0 0 0 1px var(--color-gray-900) !important;
}

/* Floating Labels */
.wc-block-components-text-input {
  position: relative !important;
}

.wc-block-components-text-input label,
.wc-blocks-components-select__label {
  position: absolute !important;
  top: 50% !important;
  left: 16px !important;
  transform: translateY(-50%) !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-gray-500) !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  background: var(--color-white) !important;
  padding: 0 4px !important;
  z-index: 1 !important;
}

.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input input:not(:placeholder-shown) + label,
.wc-block-components-text-input input[value]:not([value=""]) + label {
  top: 0 !important;
  transform: translateY(-50%) !important;
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
}

/* Select dropdown labels - always show at top since select shows selected value */
.wc-blocks-components-select__select ~ label,
.wc-blocks-components-select__label {
  top: 0 !important;
  transform: translateY(-50%) !important;
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
}

/* Select dropdowns */
.wc-blocks-components-select {
  position: relative !important;
}

.wc-blocks-components-select__container {
  position: relative !important;
}

.wc-blocks-components-select__select {
  appearance: none !important;
  padding-right: 40px !important;
}

.wc-blocks-components-select__expand {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  fill: var(--color-gray-500) !important;
}

/* Address Form Wrapper */
.wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

.wc-block-components-address-form__email,
.wc-block-components-address-form__address_1,
.wc-block-components-address-form__country,
.wc-block-components-address-form__phone {
  grid-column: 1 / -1 !important;
}

/* Address toggle link */
.wc-block-components-address-form__address_2-toggle {
  grid-column: 1 / -1 !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-700) !important;
  cursor: pointer !important;
  margin-top: -8px !important;
  margin-bottom: 8px !important;
}

.wc-block-components-address-form__address_2-toggle:hover {
  color: var(--color-gray-900) !important;
  text-decoration: underline !important;
}

/* Payment Method Radio Options */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-radius: var(--radius-md) !important;
}

.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--color-gray-800) !important;
}

/* Checkout Step Content */
.wc-block-components-checkout-step__content {
  border-radius: var(--radius-md) !important;
}

/* Checkboxes */
.wc-block-components-checkbox {
  margin: 16px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
}

.wc-block-components-checkbox label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
}

.wc-block-components-checkbox__input {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border: 2px solid var(--color-gray-300) !important;
  border-radius: var(--radius-sm) !important;
  margin: 2px 0 0 0 !important;
  cursor: pointer !important;
  position: relative !important;
  appearance: none !important;
  background: var(--color-white) !important;
}

.wc-block-components-checkbox__input:checked {
  border-color: var(--color-gray-900) !important;
}

.wc-block-components-checkbox__mark {
  display: none !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  fill: white !important;
}

.wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark {
  display: block !important;
}

.wc-block-components-checkbox__label {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-700) !important;
  line-height: 1.5 !important;
  flex: 1 !important;
}

/* Sidebar */
.wc-block-components-sidebar.wc-block-checkout__sidebar {
  position: sticky !important;
  top: 100px !important;
  background: var(--color-white) !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--color-gray-200) !important;
  padding: 24px !important;
}

/* Order Summary Block - Remove border */
.wp-block-woocommerce-checkout-order-summary-block {
  border: none !important;
}

.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
  border: none !important;
}

/* Order Summary Title */
.wc-block-components-checkout-order-summary__title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  margin-bottom: 0 !important;
  cursor: pointer !important;
}

.wc-block-components-checkout-order-summary__title-text {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin: 0 !important;
}

.wc-block-components-checkout-order-summary__title-price {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
}

/* Order Summary Items */
.wc-block-components-order-summary-item {
  display: flex !important;
  gap: 12px !important;
  padding: 16px 0!important;
  border-bottom: 1px solid var(--color-gray-100) !important;
  align-items: flex-start !important;
}

.wc-block-components-order-summary-item:first-child {
  padding-top: 16px !important;
}

.wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
  padding-bottom: 16px !important;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
  padding-bottom: 0 !important;
}

.wc-block-components-order-summary-item__image {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 64px !important;
  height: 64px !important;
}

.wc-block-components-order-summary-item__image img {
  width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  border-radius: var(--radius-md) !important;
  object-fit: cover !important;
}

.wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  min-width: 12px !important;
  width: 12px !important;
  height: 24px !important;
  border-radius: 12% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
}

.wc-block-components-order-summary-item__description {
  flex: 1 !important;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 4px 0 !important;
}

.wc-block-components-order-summary-item__individual-prices {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-600) !important;
}

.wc-block-components-order-summary-item__total-price {
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
}

/* Product description in order summary - hide or make smaller */
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
  display: none !important;
}

/* Totals */
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  padding: 12px 0 !important;
  font-size: var(--font-size-sm) !important;
}

.wc-block-components-totals-item__label {
  color: var(--color-gray-600) !important;
}

.wc-block-components-totals-item__value {
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
}

.wc-block-components-totals-footer-item {

  padding-top: 16px !important;
  margin-top: 8px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
}

/* Coupon Panel in Checkout */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
  padding: 12px 0 !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-700) !important;
  background: transparent !important;
  border: none !important;
}

/* Hide the mobile order summary in the actions area on desktop */
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper {
  display: none !important;
}

/* Place Order Button in Actions */
.wc-block-checkout__actions_row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.wc-block-components-checkout-return-to-cart-button {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-700) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.wc-block-components-checkout-return-to-cart-button svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}

.wc-block-components-checkout-return-to-cart-button:hover {
  color: var(--color-gray-900) !important;
}

.wc-block-components-checkout-place-order-button {
  flex: 1 !important;
  height: 52px !important;
  padding: 0 32px !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-checkout-place-order-button:hover {
  background: var(--color-gray-800) !important;
  transform: translateY(-1px) !important;
}

/* Terms and Conditions */
.wc-block-checkout__terms {
  padding: 20px 0 24px 0 !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-600) !important;
  border-top: 1px solid var(--color-gray-200) !important;
  margin-top: 24px !important;
  line-height: 1.6 !important;
}

.wc-block-checkout__terms a {
  color: var(--theme_accent) !important;
  text-decoration: underline !important;
}

.wc-block-checkout__terms a:hover {
  color: var(--color-gray-600) !important;
}

/* Guest checkout notice */
#wc-guest-checkout-notice {
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-500) !important;
  margin-top: 16px !important;
}

/* Error notices */
.wc-block-checkout__no-payment-methods-notice {
  padding: 16px !important;
  border-radius: var(--radius-md) !important;
  margin: 16px 0 !important;
}

.wc-block-components-notice-banner__content {
  font-size: var(--font-size-sm) !important;
}

/* Responsive Checkout */
@media (max-width: 1024px) {
  .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: 1fr 340px !important;
    gap: 24px !important;
  }

  .wc-block-components-main.wc-block-checkout__main {
    padding: 24px !important;
  }
}

@media (max-width: 768px) {
  .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .wc-block-components-main.wc-block-checkout__main {
    padding: 20px !important;
  }

  .wc-block-components-sidebar.wc-block-checkout__sidebar {
    position: relative !important;
    top: 0 !important;
  }

  /* Hide sidebar order summary on mobile, show the one in actions area */
  .wc-block-components-sidebar.wc-block-checkout__sidebar {
    display: none !important;
  }

  .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper {
    display: block !important;
  }

  .wc-block-checkout__actions_row {
    flex-direction: column !important;
  }

  .wc-block-components-checkout-return-to-cart-button {
    order: 2 !important;
  }

  .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    order: 1 !important;
  }
}

@media (max-width: 640px) {
  .wc-block-components-address-form {
    grid-template-columns: 1fr !important;
  }

  .wc-block-components-main.wc-block-checkout__main {
    padding: 16px !important;
  }

  .wc-block-components-sidebar.wc-block-checkout__sidebar {
    padding: 16px !important;
  }
}

/* ================================================
   WCPAY MULTI-CURRENCY SELECTOR
   ================================================ */

#wcpay_selected_currency,
.wcpay-multi-currency-selector select,
select[name="wcpay_selected_currency"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}


/* ============================================
   STICKY BUY BAR - Matching Cart Dropdown Design
   ============================================ */

/* Main Sticky Buy Container */
body #tf_sticky_buy,
body.woocommerce #tf_sticky_buy,
body.single-product #tf_sticky_buy {
  background-color: var(--color-white) !important;
  background: var(--color-white) !important;
  border-top: 1px solid var(--color-gray-200) !important;
  box-shadow: 0 -10px 25px rgba(0, 0, 0, 0.1), 0 -4px 8px rgba(0, 0, 0, 0.05) !important;
  padding: 16px 0 !important;
  color: var(--color-gray-900) !important;
}

body #tf_sticky_buy.tf_st_show,
body.woocommerce #tf_sticky_buy.tf_st_show {
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.04), 0 -2px 4px rgba(0, 0, 0, 0.02) !important;
}

/* Product Container */
body #tf_sticky_buy .product,
body #tf_sticky_buy div.product {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

/* Product Image Wrapper */
body #tf_sticky_buy div.product div.tf_sticky_prod_img {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  flex-grow: 1 !important;
}

/* Product Image */
body #tf_sticky_buy div.product div.tf_sticky_prod_img div.images,
body #tf_sticky_buy .tf_sticky_prod_img .images {
  margin: 0 12px 0 0 !important;
  box-shadow: none !important;
  float: none !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

body #tf_sticky_buy div.product div.tf_sticky_prod_img div.images img,
body #tf_sticky_buy .tf_sticky_prod_img .images img {
  max-height: 60px !important;
  max-width: 60px !important;
  min-height: 60px !important;
  min-width: 60px !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 8px !important;
  background-color: var(--color-gray-50) !important;
  object-fit: cover !important;
}

/* Product Summary/Details */
body #tf_sticky_buy div.product div.tf_sticky_prod_img div.summary,
body #tf_sticky_buy .tf_sticky_prod_img .summary {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

/* Product Title */
body #tf_sticky_buy div.product .product_title,
body #tf_sticky_buy div.product .tbp_title,
body #tf_sticky_buy .tbp_title {
  font-family: 'Teko', sans-serif !important;
  font-size: var(--font-size-lg) !important;  /* Updated for Teko font - was 14px */
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;  /* Tighter for Teko */
  padding: 0 !important;
}

body #tf_sticky_buy div.product .product_title a,
body #tf_sticky_buy div.product .tbp_title a,
body #tf_sticky_buy .tbp_title a {
  color: var(--color-gray-900) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

body #tf_sticky_buy div.product .product_title a:hover,
body #tf_sticky_buy div.product .tbp_title a:hover,
body #tf_sticky_buy .tbp_title a:hover {
  color: var(--color-gray-700) !important;
}

/* Product Price */
body #tf_sticky_buy div.product .price,
body #tf_sticky_buy .price {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin: 0 !important;
}

body #tf_sticky_buy div.product .price .woocommerce-Price-amount,
body #tf_sticky_buy .price .woocommerce-Price-amount {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
}

body #tf_sticky_buy div.product .price .woocommerce-Price-currencySymbol,
body #tf_sticky_buy .price .woocommerce-Price-currencySymbol {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
}

/* Form Cart Container */
body #tf_sticky_buy div.product .cart,
body #tf_sticky_buy div.product form.cart,
body #tf_sticky_buy form.cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  flex-wrap: nowrap !important;
}

body #tf_sticky_buy div.product form.cart .quantity,
body #tf_sticky_buy form.cart .quantity {
  margin: 0 !important;
  margin-bottom: 0 !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

/* Quantity Input */
body #tf_sticky_buy .quantity .qty,
body #tf_sticky_buy input.qty,
body #tf_sticky_buy .qty.text,
body.woocommerce #tf_sticky_buy .quantity .qty {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-900) !important;
  border: 1px solid var(--color-gray-300) !important;
  border-radius: 8px !important;
  padding: 0.6em 0.8em !important;
  background-color: var(--color-white) !important;
  background: var(--color-white) !important;
  transition: all 0.2s ease !important;
  width: 90px !important;
  max-width: 90px !important;
  min-width: 90px !important;
  text-align: center !important;
  height: auto !important;
  min-height: 40px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

body #tf_sticky_buy .quantity .qty:focus,
body #tf_sticky_buy input.qty:focus {
  outline: none !important;
  border-color: var(--color-gray-500) !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
}

/* Add to Cart Button */
body #tf_sticky_buy div.product form.cart .button,
body #tf_sticky_buy div.product form.cart .single_add_to_cart_button,
body #tf_sticky_buy form.cart .button,
body #tf_sticky_buy .single_add_to_cart_button,
body #tf_sticky_buy button.single_add_to_cart_button {
  background-color: var(--color-gray-900) !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0.6rem 1.5rem !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  height: auto !important;
  min-height: 40px !important;
  line-height: 1.2 !important;
}

body #tf_sticky_buy div.product form.cart .button:hover,
body #tf_sticky_buy div.product form.cart .single_add_to_cart_button:hover,
body #tf_sticky_buy form.cart .button:hover,
body #tf_sticky_buy .single_add_to_cart_button:hover,
body #tf_sticky_buy button.single_add_to_cart_button:hover {
  background-color: var(--color-gray-700) !important;
  background: var(--color-gray-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

body #tf_sticky_buy div.product form.cart .button:active,
body #tf_sticky_buy div.product form.cart .single_add_to_cart_button:active,
body #tf_sticky_buy form.cart .button:active,
body #tf_sticky_buy .single_add_to_cart_button:active,
body #tf_sticky_buy button.single_add_to_cart_button:active {
  transform: translateY(0) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Mobile Adjustments for Sticky Buy - Stacked Layout */
@media (max-width: 768px) {
  body #tf_sticky_buy,
  body.woocommerce #tf_sticky_buy {
    padding: 16px 0 !important;
  }
  
  /* Stack the product container */
  body #tf_sticky_buy .product,
  body #tf_sticky_buy div.product {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  
  /* Top row: Image + Title + Price */
  body #tf_sticky_buy div.product div.tf_sticky_prod_img {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    gap: 12px !important;
  }
  
  body #tf_sticky_buy div.product div.tf_sticky_prod_img div.images,
  body #tf_sticky_buy .tf_sticky_prod_img .images {
    margin: 0 !important;
    flex-shrink: 0 !important;
    order: 1 !important;
    width: 80px !important;
    max-width: 80px !important;
    min-width: 80px !important;
  }
  
  body #tf_sticky_buy div.product div.tf_sticky_prod_img div.images img,
  body #tf_sticky_buy .tf_sticky_prod_img .images img {
    max-height: 80px !important;
    max-width: 80px !important;
    min-height: 80px !important;
    min-width: 80px !important;
    width: 80px !important;
    height: 80px !important;
  }
  
  body #tf_sticky_buy div.product div.tf_sticky_prod_img div.summary,
  body #tf_sticky_buy .tf_sticky_prod_img .summary {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    order: 2 !important;
  }
  
  body #tf_sticky_buy div.product .product_title,
  body #tf_sticky_buy div.product .tbp_title,
  body #tf_sticky_buy .tbp_title {
    margin: 0 0 6px 0 !important;
  }
  
  body #tf_sticky_buy div.product .price,
  body #tf_sticky_buy .price {
    font-size: var(--font-size-xl) !important;
    margin: 0 !important;
  }
  
  /* Bottom row: Quantity + Add to Cart (full width) */
  body #tf_sticky_buy div.product .cart,
  body #tf_sticky_buy div.product form.cart,
  body #tf_sticky_buy form.cart {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
  }
  
  body #tf_sticky_buy .quantity,
  body #tf_sticky_buy div.product form.cart .quantity {
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
  
  body #tf_sticky_buy .quantity .qty,
  body #tf_sticky_buy input.qty {
    width: 80px !important;
    max-width: 80px !important;
    min-width: 80px !important;
    padding: 12px 16px !important;
    font-size: var(--font-size-base) !important;
  }
  
  body #tf_sticky_buy div.product form.cart .button,
  body #tf_sticky_buy div.product form.cart .single_add_to_cart_button,
  body #tf_sticky_buy form.cart .button,
  body #tf_sticky_buy .single_add_to_cart_button,
  body #tf_sticky_buy button.single_add_to_cart_button {
    flex: 1 !important;
    width: 100% !important;
    padding: 12px 20px !important;
    font-size: var(--font-size-sm) !important;
    margin: 0 !important;
    justify-content: center !important;
  }
}


/* ============================================
   BADGES & LABELS
   ============================================ */

.badge,
.label,
.tag {
  display: inline-flex;
  align-items: center;
  padding: var(--spacing-1) var(--spacing-3);
  font-size: var(--font-size-xs);
  font-weight: 500;
  border-radius: var(--radius-full);
  background-color: var(--color-gray-100);
  color: var(--color-gray-900);
}

.badge.primary {
  background-color: var(--color-gray-900);
  color: var(--color-white);
}

.badge.accent {
  background-color: var(--color-accent);
  color: var(--color-white);
}


/* ============================================
   FOOTER STYLING
   ============================================ */

/* Footer Container */
#footerwrap,
#tbp_footer,
footer#tbp_footer {
  background-color: var(--color-gray-900);
  border-top: 1px solid var(--color-gray-300);
}

#footer {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--spacing-6);
}

/* Footer Top Section */
.themify_builder_row.tb_dkex149 {
  padding-bottom: var(--spacing-12);
  padding-top: var(--spacing-12)!important;
  border-bottom: 1px solid var(--color-gray-300);
}

/* Back to Top Icon */
.module-icon.tb_jqd8817 em {
  background-color: var(--color-gray-800);
  border: 1px solid var(--color-gray-700);
  border-radius: var(--radius-md);
  padding: var(--spacing-3);
  transition: all var(--duration-normal) var(--ease);
}

.module-icon.tb_jqd8817 em:hover {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}

.module-icon.tb_jqd8817 svg {
  color: var(--color-white);
  width: 20px;
  height: 20px;
}

/* Footer Logo */
.module-site-logo.tb_7w5a45 {
  margin-bottom: var(--spacing-6);
}

/* Widget Titles */
.footer-widgets .widgettitle,
#tbp_footer .widgettitle,
#footerwrap .widgettitle,
.widget .widgettitle {
  font-size: var(--font-size-base);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: var(--spacing-5);
}

/* Footer Subrow */
.module_subrow.themify_builder_sub_row.tf_w.col_align_top.tb_col_count_3.tb_tk3c143 {
  padding-left: 1em !important;
}

/* Navigation Lists */
.footer-widgets .widget ul,
#tbp_footer .widget ul,
#footerwrap .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}


/* Footer Links */
.footer-widgets .widget li a,
#tbp_footer .widget li a,
#footerwrap .widget li a,
#tbp_footer .menu a,
#footerwrap .menu a {
  color: var(--color-gray-500);
  font-size: var(--font-size-sm);
  transition: color var(--duration-normal) var(--ease);
  text-decoration: none;
}

.footer-widgets .widget li a:hover,
#tbp_footer .widget li a:hover,
#footerwrap .widget li a:hover,
#tbp_footer .menu a:hover,
#footerwrap .menu a:hover {
  color: var(--color-accent);
}

/* Copyright Section */
.footer-text,
#tbp_footer .module-text p,
#footerwrap .module-text p {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  text-align: center;
  margin: 0;
}

/* Mobile Responsive */
@media (max-width: 768px) {  
  .themify_builder_row.tb_dkex149 {
    padding-bottom: var(--spacing-8);
  }
  
  #footer {
    padding: 0 var(--spacing-4);
  }
  
  .footer-widgets .widgettitle,
  #tbp_footer .widgettitle,
  #footerwrap .widgettitle,
  .widget .widgettitle {
    font-size: var(--font-size-lg) !important;
  }
}


/* ============================================
   ANNOUNCEMENT BAR
   ============================================ */

.themify_announcement {
  background-color: var(--color-gray-900);
  color: var(--color-white);
  text-align: center;
  padding: var(--spacing-2) var(--spacing-4);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-relaxed);
}

.themify_announcement a {
  color: var(--color-white);
  text-decoration: underline;
}


/* ============================================
   BREADCRUMBS
   ============================================ */

.breadcrumb,
.woocommerce-breadcrumb {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-bottom: var(--spacing-6);
}

.breadcrumb a,
.woocommerce-breadcrumb a {
  color: var(--color-gray-600);
  text-decoration: none;
  transition: color var(--duration-normal) var(--ease);
}

.breadcrumb a:hover,
.woocommerce-breadcrumb a:hover {
  color: var(--color-gray-900);
}


/* ============================================
   CARDS & CONTAINERS
   ============================================ */

.card,
.box,
.panel {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-6);
  transition: box-shadow var(--duration-normal) var(--ease);
}

.card:hover {
  box-shadow: var(--shadow-hover);
}


/* ============================================
   PRODUCT ACCORDION
   ============================================ */

/* Accordion Container */
.product-accordion-description {
  background-color: transparent !important;
  border: none !important;
  margin: var(--spacing-8) 0 var(--spacing-16) !important;
  padding: 0 !important;
}

.product-accordion-description .ui.module-accordion {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Only target the main accordion list, not nested lists */
.product-accordion-description > .ui.module-accordion > ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Each accordion item with subtle border and hover effect - only direct children */
.product-accordion-description > .ui.module-accordion > ul > li {
  border-top: 1px solid var(--color-gray-200) !important;
  border-bottom: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: all var(--duration-normal) var(--ease) !important;
}

.product-accordion-description > .ui.module-accordion > ul > li:first-child {
  border-top: 1px solid var(--color-gray-200) !important;
}

.product-accordion-description > .ui.module-accordion > ul > li:last-child {
  border-bottom: 1px solid var(--color-gray-200) !important;
}

/* Accordion Title/Header - Modern, clean */
.product-accordion-description .accordion-title {
  padding: 0 !important;
  margin: 0 !important;
  background-color: transparent !important;
  transition: background-color var(--duration-normal) var(--ease) !important;
}

.product-accordion-description .accordion-title:hover {
  background-color: var(--color-gray-50) !important;
}

.product-accordion-description .accordion-title a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.375rem 1.25rem !important;
  font-size: var(--font-size-lg) !important;
  font-weight: 500 !important;
  color: var(--color-gray-900) !important;
  text-decoration: none !important;
  transition: all var(--duration-normal) var(--ease) !important;
  cursor: pointer !important;
  letter-spacing: -0.02em !important;
  line-height: 1.4 !important;
}

.product-accordion-description .accordion-title a:hover {
  color: var(--color-gray-700) !important;
  padding-left: 1.5rem !important;
}

/* Active state - different styling when open */
.product-accordion-description .accordion-title a[aria-expanded="true"] {
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  padding-bottom: 1.125rem !important;
}

/* Accordion Title Text */
.product-accordion-description .accordion-title-wrap {
  flex: 1 !important;
  letter-spacing: -0.02em !important;
}

/* Accordion Icons - Modern, smooth */
.product-accordion-description .accordion-icon,
.product-accordion-description .accordion-active-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
  margin-left: var(--spacing-4) !important;
  border-radius: var(--radius-full) !important;
  background-color: transparent !important;
  transition: all var(--duration-normal) var(--ease) !important;
}

.product-accordion-description .accordion-title:hover .accordion-icon,
.product-accordion-description .accordion-title:hover .accordion-active-icon {
  background-color: var(--color-gray-100) !important;
}

.product-accordion-description .accordion-icon svg,
.product-accordion-description .accordion-active-icon svg {
  width: 12px !important;
  height: 12px !important;
  color: var(--color-gray-700) !important;
  transition: transform var(--duration-normal) var(--ease) !important;
}

/* Hide the active icon by default */
.product-accordion-description .accordion-active-icon {
  display: none !important;
}

/* Remove bottom padding from product template */
.tbp_template.product {
  padding-bottom: 0 !important;
}

/* Rotate chevron when open with scale effect */
.product-accordion-description .accordion-title a[aria-expanded="true"] .accordion-icon svg {
  transform: rotate(180deg) !important;
}

.product-accordion-description .accordion-title a[aria-expanded="true"] .accordion-icon {
  background-color: var(--color-gray-900) !important;
}

.product-accordion-description .accordion-title a[aria-expanded="true"] .accordion-icon svg {
  color: var(--color-white) !important;
}

/* Accordion Content - Better spacing and readability */
.product-accordion-description .accordion-content {
  background-color: transparent !important;
  border-top: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.product-accordion-description .accordion-content .sub_column {
  padding: 0 !important;
  margin: 0 !important;
}

.product-accordion-description .accordion-content .module-text {
  padding: 0 !important;
  margin: 0 !important;
}

.product-accordion-description .accordion-content .module-text a {
    color: var(--color-accent) !important;
}

.product-accordion-description .accordion-content .module-text a:hover {
  color: var(--color-gray-600) !important;
}

/* Text content within accordion - Enhanced readability */
.product-accordion-description .accordion-content .tb_text_wrap {
  font-size: var(--font-size-sm) !important;
  line-height: 1.75 !important;
  color: var(--color-gray-700) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.product-accordion-description .accordion-content p {
  margin: 0 0 var(--spacing-4) 0 !important;
  line-height: 1.75 !important;
  color: var(--color-gray-700) !important;
}

.product-accordion-description .accordion-content p:last-child {
  margin-bottom: 0 !important;
}

/* List styling within accordion - Modern bullets */
.product-accordion-description .accordion-content ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.875rem !important;
}

.product-accordion-description .accordion-content ul li {
  position: relative !important;
  padding: 0 0 0 1.5rem !important;
  margin: 0 !important;
  border: none !important;
  line-height: 1.75 !important;
  color: var(--color-gray-700) !important;
  display: block !important;
  list-style: none !important;
  transition: transform var(--duration-fast) var(--ease) !important;
}

.product-accordion-description .accordion-content ul li:before {
  content: "" !important;
  position: absolute !important;
  left: 0.375rem !important;
  top: 0.625rem !important;
  width: 5px !important;
  height: 5px !important;
  background-color: var(--color-gray-900) !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

/* Mobile responsiveness - Optimized spacing */
@media (max-width: 768px) {
  .product-accordion-description {
    margin: var(--spacing-12) 0 var(--spacing-16) !important;
  }
  
  .product-accordion-description .accordion-title a {
    padding: 1.125rem 1rem !important;
    font-size: var(--font-size-base) !important;
  }
  
  .product-accordion-description .accordion-title a:hover {
    padding-left: 1rem !important;
  }
  
  .product-accordion-description .accordion-title a[aria-expanded="true"] {
    padding-bottom: 0.875rem !important;
  }
  
  .product-accordion-description .accordion-content .module_subrow {
    padding: 1rem 1rem 1.5rem 1rem !important;
  }
  .product-accordion-description .accordion-content .module_subrow.supplement-table {
    padding: 0 !important;
  }
  
  
  .product-accordion-description .accordion-content .tb_text_wrap {
    font-size: var(--font-size-sm) !important;
  }
  
  .product-accordion-description .accordion-content ul {
    gap: 0.75rem !important;
  }
  
  .product-accordion-description .accordion-content ul li {
    padding-left: 1.25rem !important;
  }
}


/* ============================================
   PRODUCT SORTING DROPDOWN
   ============================================ */

/* Sort Dropdown Container */
.woocommerce-ordering,
.eagle-sort-dropdown,
form.woocommerce-ordering {
  margin: 0 0 var(--spacing-2) 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
}

/* Sort Dropdown Select - Override all theme styles */
.woocommerce-ordering select,
.eagle-sort-dropdown select,
form.woocommerce-ordering select,
select.orderby {
  /* Reset default browser styling */
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  
  /* Eagle Labs styling */
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  color: var(--color-gray-900) !important;
  line-height: 1.5 !important;
  
  background-color: var(--color-white) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%232D2D2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right var(--spacing-3) center !important;
  background-size: 16px !important;
  
  border: 1px solid var(--color-gray-300) !important;
  border-radius: var(--radius-md) !important;
  
  padding: var(--spacing-3) var(--spacing-10) var(--spacing-3) var(--spacing-4) !important;
  min-width: 200px !important;
  height: auto !important;
  
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Remove default select arrow in IE */
.woocommerce-ordering select::-ms-expand,
.eagle-sort-dropdown select::-ms-expand,
select.orderby::-ms-expand {
  display: none !important;
}

/* Hover state */
.woocommerce-ordering select:hover,
.eagle-sort-dropdown select:hover,
select.orderby:hover {
  border-color: var(--color-gray-900) !important;
  background-color: var(--color-white) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
}

/* Focus state */
.woocommerce-ordering select:focus,
.eagle-sort-dropdown select:focus,
select.orderby:focus {
  outline: none !important;
  border-color: var(--color-gray-900) !important;
  box-shadow: 0 0 0 3px rgba(45, 45, 45, 0.1) !important;
  background-color: var(--color-white) !important;
}

/* Active/Open state */
.woocommerce-ordering select:active,
.eagle-sort-dropdown select:active,
select.orderby:active {
  border-color: var(--color-gray-900) !important;
  background-color: var(--color-white) !important;
}

/* Disabled state */
.woocommerce-ordering select:disabled,
.eagle-sort-dropdown select:disabled,
select.orderby:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  background-color: var(--color-gray-100) !important;
}

/* Option styling - limited browser support */
/* Note: The dropdown options list itself is controlled by the OS and cannot be fully customized */
.woocommerce-ordering select option,
.eagle-sort-dropdown select option,
select.orderby option {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-900) !important;
  padding: var(--spacing-2) var(--spacing-3) !important;
  background-color: var(--color-white) !important;
}

.woocommerce-ordering select option:hover,
.eagle-sort-dropdown select option:hover,
select.orderby option:hover {
  background-color: var(--color-gray-50) !important;
}

.woocommerce-ordering select option:checked,
.eagle-sort-dropdown select option:checked,
select.orderby option:checked {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
}

/* Mobile optimization */
@media (max-width: 640px) {
  .woocommerce-ordering select,
  .eagle-sort-dropdown select,
  select.orderby {
    width: 100% !important;
    min-width: unset !important;
    font-size: var(--font-size-base) !important;
  }
}


/* ============================================
   PRODUCT FILTER SIDEBAR - WPF Plugin
   ============================================ */

/* Filter Parent Module - Make the container sticky */
.collection-filter .module-plain-text:has(.wpf_form),
.collection-filter.module-plain-text:has(.wpf_form) {
  position: sticky !important;
  top: 120px !important;
  align-self: flex-start !important;
  z-index: 10 !important;
  max-height: calc(100vh - 140px) !important;
  overflow-y: auto !important;
  margin-top: 0 !important;
  
  /* Custom scrollbar styling */
  scrollbar-width: thin !important;
  scrollbar-color: var(--color-gray-300) transparent !important;
}

/* Webkit scrollbar styling for filter module */
.collection-filter .module-plain-text:has(.wpf_form)::-webkit-scrollbar,
.collection-filter.module-plain-text:has(.wpf_form)::-webkit-scrollbar {
  width: 6px !important;
}

.collection-filter .module-plain-text:has(.wpf_form)::-webkit-scrollbar-track,
.collection-filter.module-plain-text:has(.wpf_form)::-webkit-scrollbar-track {
  background: transparent !important;
}

.collection-filter .module-plain-text:has(.wpf_form)::-webkit-scrollbar-thumb,
.collection-filter.module-plain-text:has(.wpf_form)::-webkit-scrollbar-thumb {
  background-color: var(--color-gray-300) !important;
  border-radius: var(--radius-full) !important;
}

.collection-filter .module-plain-text:has(.wpf_form)::-webkit-scrollbar-thumb:hover,
.collection-filter.module-plain-text:has(.wpf_form)::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-gray-400) !important;
}

/* Filter Container */
.collection-filter .wpf_items_wrapper {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-4) !important;
  margin-bottom: var(--spacing-6) !important;
}

.collection-filter .wpf_layout_vertical {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--spacing-4) !important;
}

/* Filter Item */
.collection-filter .wpf_item {
  border-bottom: 1px solid var(--color-gray-200) !important;
  padding-bottom: var(--spacing-4) !important;
  margin-bottom: 0 !important;
}

.collection-filter .wpf_item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Filter Labels/Headers */
.mobile-collection-filter  .wpf_item_name,
.mobile-collection-filter  .wpf_grouped_label {
    font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: block !important;
}
.collection-filter .wpf_item_name,
.collection-filter .wpf_grouped_label {
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-3) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: block !important;
}

/* Filter Items Group */
.collection-filter .wpf_items_group {
  margin-top: var(--spacing-2) !important;
}

/* Checkbox List */
.collection-filter .wpf_column_horizontal {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--spacing-2) !important;
}

.collection-filter .wpf_column_horizontal li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Custom Checkbox Styling */
.collection-filter .wpf_column_horizontal input[type="checkbox"],
.collection-filter .wpf_instock_wrapp input[type="checkbox"] {
  /* Hide default checkbox */
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  
  /* Custom checkbox style */
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border: 2px solid var(--color-gray-300) !important;
  border-radius: var(--radius-sm) !important;
  background-color: var(--color-white) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: all var(--duration-normal) var(--ease) !important;
  margin: 0 var(--spacing-3) 0 0 !important;
  flex-shrink: 0 !important;
}

/* Checkbox hover */
.collection-filter .wpf_column_horizontal input[type="checkbox"]:hover,
.collection-filter .wpf_instock_wrapp input[type="checkbox"]:hover {
  border-color: var(--color-gray-900) !important;
  background-color: var(--color-gray-50) !important;
}

/* Checkbox checked state */
.collection-filter .wpf_column_horizontal input[type="checkbox"]:checked,
.collection-filter .wpf_instock_wrapp input[type="checkbox"]:checked {
  background-color: var(--color-gray-900) !important;
  border-color: var(--color-gray-900) !important;
}

/* Checkbox checkmark */
.collection-filter .wpf_column_horizontal input[type="checkbox"]:checked::after,
.collection-filter .wpf_instock_wrapp input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 5px !important;
  top: 2px !important;
  width: 5px !important;
  height: 9px !important;
  border: solid var(--color-white) !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

/* Checkbox focus */
.mobile-collection-filter  .wpf_column_horizontal input[type="checkbox"]:focus,
.mobile-collection-filter  .wpf_instock_wrapp input[type="checkbox"]:focus,
.collection-filter .wpf_column_horizontal input[type="checkbox"]:focus,
.collection-filter .wpf_instock_wrapp input[type="checkbox"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 45, 45, 0.1) !important;
}

/* Checkbox Labels */
.mobile-collection-filter  .wpf_column_horizontal label,
.mobile-collection-filter  .wpf_instock_wrapp label,
.collection-filter .wpf_column_horizontal label,
.collection-filter .wpf_instock_wrapp label {
  font-size: var(--font-size-sm) !important;
  font-weight: 400 !important;
  color: var(--color-gray-700) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  transition: color var(--duration-normal) var(--ease) !important;
  user-select: none !important;
}

.mobile-collection-filter .wpf_item.wpf_item_instock {
  display: inline-block !important;
  display: -webkit-inline-box !important;
}
.collection-filter .wpf_column_horizontal label:hover,
.collection-filter .wpf_instock_wrapp label:hover {
  color: var(--color-gray-900) !important;
}

/* Price Slider Container */
.collection-filter .wpf_item_price .wpf_items_group {
  padding: var(--spacing-4) var(--spacing-2) var(--spacing-2) var(--spacing-2) !important;
}

/* Price Slider */
.mobile-collection-filter .wpf_slider.ui-slider,
.collection-filter .wpf_slider.ui-slider {
  background-color: var(--color-gray-200) !important;
  border: none !important;
  border-radius: var(--radius-full) !important;
  height: 6px !important;
  margin: var(--spacing-4) var(--spacing-3) var(--spacing-3) var(--spacing-3) !important;
}

/* Slider Range (active part) */
.mobile-collection-filter .wpf_slider .ui-slider-range,
.collection-filter .wpf_slider .ui-slider-range {
  background-color: var(--color-gray-900) !important;
  border-radius: var(--radius-full) !important;
}

/* Slider Handles */
.mobile-collection-filter .wpf_slider .ui-slider-handle,
.collection-filter .wpf_slider .ui-slider-handle {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background-color: var(--color-white) !important;
  border: 2px solid var(--color-gray-900) !important;
  cursor: pointer !important;
  top: -7px !important;
  margin-left: -9px !important;
  transition: all var(--duration-normal) var(--ease) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.mobile-collection-filter  .wpf_slider .ui-slider-handle:hover,
.mobile-collection-filter  .wpf_slider .ui-slider-handle:focus,
.collection-filter .wpf_slider .ui-slider-handle:hover,
.collection-filter .wpf_slider .ui-slider-handle:focus {
  transform: scale(1.15) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) !important;
  outline: none !important;
}
.mobile-collection-filter  .wpf_slider .ui-slider-handle:active,
.collection-filter .wpf_slider .ui-slider-handle:active {
  transform: scale(1.05) !important;
}

/* Price Label */
.mobile-collection-filter .wpf-slider-label,
.collection-filter .wpf-slider-label {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--spacing-2) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin-top: var(--spacing-3) !important;
}

.mobile-collection-filter .wpf-slider-label .woocommerce-Price-amount,
.collection-filter .wpf-slider-label .woocommerce-Price-amount {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
}

.mobile-collection-filter .wpf-slider-label .woocommerce-Price-currencySymbol,
.collection-filter .wpf-slider-label .woocommerce-Price-currencySymbol {
  font-weight: 600 !important;
}

/* Remove underscores and improve separator between price values */
.collection-filter .wpf-slider-label::before {
  content: '' !important;
}

.collection-filter .wpf-slider-label {
  white-space: nowrap !important;
}

/* Style the price range separator */
.collection-filter .wpf_price_range_label,
.collection-filter .wpf-slider-label span {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--spacing-2) !important;
}

/* Hide or replace underscores in price display */
.collection-filter .wpf-slider-label::after {
  display: none !important;
}

.collection-filter .wpf_price_range_label::before,
.collection-filter .wpf_price_range_label::after {
  display: none !important;
}

/* In Stock Toggle */
.collection-filter .wpf_instock_wrapp {
  display: flex !important;
  align-items: center !important;
  gap: var(--spacing-3) !important;
}

/* Clear/Reset Button Container */
.collection-filter .wpf_reset_btn {
  margin-top: var(--spacing-3) !important;
  padding: 0 !important;
  display: block !important;
}

/* Hide the X icon that WPF adds */
.collection-filter .wpf_reset_btn::before,
.collection-filter .wpf_reset_btn::after {
  display: none !important;
  content: none !important;
}

/* Clear/Reset Button */
.collection-filter .wpf_reset_btn input[type="reset"],
.collection-filter button[type="reset"],
.collection-filter .wpf_clear_btn {
  background-color: transparent !important;
  color: var(--color-gray-600) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-md) !important;
  padding: 0.4rem 1rem !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  margin: 0 !important;
  width: auto !important;
  display: inline-block !important;
  text-align: center !important;
  line-height: 1.5 !important;
}

.collection-filter .wpf_reset_btn input[type="reset"]:hover,
.collection-filter button[type="reset"]:hover,
.collection-filter .wpf_clear_btn:hover {
  background-color: var(--color-gray-50) !important;
  border-color: var(--color-gray-300) !important;
  color: var(--color-gray-900) !important;
  transform: none !important;
}

/* WPF Submit/Search Button */
.collection-filter .wpf_item_submit,
.collection-filter .wpf_item.wpf_item_submit {
  border-bottom: none !important;
  padding-top: var(--spacing-4) !important;
  padding-bottom: 0 !important;
  margin-top: var(--spacing-2) !important;
}

.collection-filter .wpf_search_button,
.collection-filter .wpf_item_submit button[type="submit"],
.collection-filter .wpf_item_submit .wpf_search_button,
.collection-filter button.wpf_search_button {
  width: 100% !important;
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.4rem 1rem !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  line-height: 1.5 !important;
}

.collection-filter .wpf_search_button:hover,
.collection-filter .wpf_item_submit button[type="submit"]:hover,
.collection-filter button.wpf_search_button:hover {
  background-color: var(--color-gray-700) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

.collection-filter .wpf_search_button:active,
.collection-filter .wpf_item_submit button[type="submit"]:active,
.collection-filter button.wpf_search_button:active {
  transform: translateY(0) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.collection-filter .wpf_search_button:focus,
.collection-filter .wpf_item_submit button[type="submit"]:focus,
.collection-filter button.wpf_search_button:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 45, 45, 0.1) !important;
}

/* Filter Count Badge */
.collection-filter .wpf_filter_count {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border-radius: var(--radius-full) !important;
  padding: 2px 8px !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
  margin-left: var(--spacing-2) !important;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  .collection-filter .wpf_items_wrapper {
    padding: var(--spacing-4) !important;
  }
  
  .collection-filter .wpf_layout_vertical {
    gap: var(--spacing-4) !important;
  }
  
  .collection-filter .wpf_item {
    padding-bottom: var(--spacing-4) !important;
  }
}


/* ============================================
   PAGINATION
   ============================================ */

/* Themify Pagination Container */
.pagenav,
.pagination,
.woocommerce-pagination,
.wpf-pagination,
.wpf-pagination nav,
.woocommerce-pagination nav,
.woocommerce nav.woocommerce-pagination {
  display: flex !important;
  justify-content: flex-end !important;
  gap: var(--spacing-2) !important;
  margin: var(--spacing-8) 0 !important;
  align-items: center !important;
  border: none !important;
  background: transparent !important;
}

/* Reset ul.page-numbers styling - no border on the container */
.wpf-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers,
.woocommerce nav.woocommerce-pagination ul,
ul.page-numbers {
  display: flex !important;
  justify-content: flex-end !important;
  gap: var(--spacing-2) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  border: none !important;
  background: transparent !important;
}

.wpf-pagination ul.page-numbers li,
.woocommerce nav.woocommerce-pagination ul li,
ul.page-numbers li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Themify Pagination - Style page number links and current page */
.pagenav a.number,
.pagenav span.number,
.pagenav span.current,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
ul.page-numbers li a,
ul.page-numbers li span,
ul.page-numbers li a.page-numbers,
ul.page-numbers li span.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0.5rem !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-gray-700) !important;
  text-decoration: none !important;
  transition: all var(--duration-normal) var(--ease) !important;
  font-weight: 500 !important;
  font-size: var(--font-size-base) !important;
  background-color: var(--color-white) !important;
  background: var(--color-white) !important;
  background-image: none !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

/* Hover state for page numbers */
.pagenav a.number:hover,
.pagenav a.number:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus,
ul.page-numbers li a:hover,
ul.page-numbers li a:focus,
ul.page-numbers li a.page-numbers:hover,
ul.page-numbers li a.page-numbers:focus {
  background-color: var(--color-gray-100) !important;
  background: var(--color-gray-100) !important;
  background-image: none !important;
  color: var(--color-gray-900) !important;
  border-color: var(--color-gray-300) !important;
}

/* Current/Active page number */
.pagenav span.current,
.pagenav span.number.current,
.woocommerce nav.woocommerce-pagination ul li span.current,
ul.page-numbers li span.current,
ul.page-numbers span.current {
  background-color: var(--color-gray-900) !important;
  background: var(--color-gray-900) !important;
  background-image: none !important;
  color: var(--color-white) !important;
  border-color: var(--color-gray-900) !important;
  font-weight: 600 !important;
}

/* Next/Previous arrows */
.pagenav a.next,
.pagenav a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev,
ul.page-numbers li a.next,
ul.page-numbers li a.prev {
  font-weight: 400 !important;
}

/* Hide Load More button when using numbered pagination */
.tf_load_more,
p.tf_load_more,
.load-more-button {
  display: none !important;
}


/* ============================================
   NOTICES & ALERTS
   ============================================ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-left: 4px solid;
  border-radius: var(--radius-md);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-4);
  background-color: var(--color-gray-50);
}

.woocommerce-message {
  border-left-color: var(--color-success);
  background-color: rgba(34, 197, 94, 0.1);
}

.woocommerce-info {
  border-left-color: var(--color-accent);
  background-color: rgba(14, 165, 167, 0.1);
}

.woocommerce-error {
  border-left-color: var(--color-error);
  background-color: rgba(239, 68, 68, 0.1);
}


/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
  .page-title, h1 {
    font-size: var(--font-size-5xl);
  }
  
  h2 {
    font-size: var(--font-size-4xl);
  }
  
  h3 {
    font-size: var(--font-size-3xl);
  }
  
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--spacing-4) !important;
  }
  
  ul.products li.product .module_column {
    padding: var(--spacing-3);
  }
  
  ul.products li.product .product-title,
  ul.products li.product .tbp_title {
    font-size: var(--font-size-sm);
  }
  
  .price,
  ul.products li.product .module-product-price {
    font-size: var(--font-size-base);
  }
  
  .single-product .product {
    grid-template-columns: 1fr;
  }
  
  .single-product .product-title {
    font-size: var(--font-size-4xl);
  }
}

@media (max-width: 480px) {
  .page-title, h1 {
    font-size: var(--font-size-4xl);
  }
  
  h2 {
    font-size: var(--font-size-3xl);
  }
  
  h3 {
    font-size: var(--font-size-2xl);
  }
  
  ul.products {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================
   MODERN CONTAINER WIDTH SYSTEM
   ============================================ */

/* Modern breakpoint system with fluid container widths */
:root {
  /* Container max-widths for different breakpoints */
  --container-sm: 640px;   /* Small devices */
  --container-md: 768px;   /* Medium devices */
  --container-lg: 1024px;  /* Large devices */
  --container-xl: 1280px;  /* Extra large devices */
  --container-2xl: 1400px; /* 2X large devices */
  --container-3xl: 1600px; /* 3X large devices - modern wide screens */
  --container-full: 1920px; /* Full HD and above */
  
  /* Responsive padding for containers */
  --container-padding-mobile: var(--spacing-4);
  --container-padding-tablet: var(--spacing-6);
  --container-padding-desktop: var(--spacing-8);
  --container-padding-wide: var(--spacing-10);
}

/* Ensure themify_builder_content is full width */
.themify_builder_content {
  width: 100% !important;
  max-width: 100% !important;
}

/* Fullwidth rows inside builder content should not have max-width constraints */
.themify_builder_content .module_row.fullwidth .row_inner {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Override Themify's default row_inner max-width (1160px) with modern responsive system */
/* Only target top-level row_inner, NOT those inside product cards or fullwidth rows */
.themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--container-padding-mobile) !important;
  padding-right: var(--container-padding-mobile) !important;
  width: 100% !important;
}

/* Tablet: 768px+ */
@media (min-width: 768px) {
  .themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
    max-width: var(--container-md) !important;
    padding-left: var(--container-padding-tablet) !important;
    padding-right: var(--container-padding-tablet) !important;
  }
}

/* Desktop: 1024px+ */
@media (min-width: 1024px) {
  .themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
    max-width: var(--container-lg) !important;
    padding-left: var(--container-padding-desktop) !important;
    padding-right: var(--container-padding-desktop) !important;
  }
}

/* Large Desktop: 1280px+ */
@media (min-width: 1280px) {
  .themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
    max-width: var(--container-xl) !important;
  }
}

/* Extra Large: 1440px+ */
@media (min-width: 1440px) {
  .themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
    max-width: var(--container-xl) !important;
    padding-left: var(--container-padding-wide) !important;
    padding-right: var(--container-padding-wide) !important;
  }
}

/* Wide Screens: 1680px+ */
@media (min-width: 1680px) {
  .themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
    max-width: var(--container-2xl) !important;
  }
}

/* Ultra-wide Screens: 1920px+ (Full HD and above) */
@media (min-width: 1920px) {
  .themify_builder_content > .module_row:not(.fullwidth) > .row_inner:not(.tbp_advanced_archive_wrap .row_inner) {
    max-width: var(--container-3xl) !important;
  }
}

/* Ensure product card internals remain untouched */
.tbp_advanced_archive_wrap .module_row > .row_inner {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* ============================================
   HOMEPAGE SECTIONS - Modern Clean UI
   ============================================ */

/* Hero Section */
.home-hero-row {
  padding: var(--spacing-16) 0 var(--spacing-20) !important;
  background: linear-gradient(to bottom, var(--color-white) 0%, var(--color-gray-50) 100%) !important;
}

.home-hero-row .row_inner {
  gap: var(--spacing-12) !important;
  align-items: center !important;
}

.home-hero-row h1 {
  margin-bottom: var(--spacing-6) !important;
  line-height: 1.15 !important;
}

.home-hero-row .module-text p {
  font-size: var(--font-size-lg) !important;
  line-height: var(--line-height-loose) !important;
  color: var(--color-gray-600) !important;
}

.home-hero-row .module-buttons {
  margin-top: var(--spacing-4) !important;
}

.home-hero-row .module-image {
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(17, 24, 39, 0.08), 
              0 4px 12px rgba(17, 24, 39, 0.04) !important;
}

/* Banner Row (Trust Badges/Features) - Clean Vertical Layout */
.home-banner-row {
  background-color: var(--color-white) !important;
  border-top: 1px solid var(--color-gray-200) !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  padding: var(--spacing-12) 0 !important;
}

.home-banner-row .row_inner {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: var(--spacing-12) !important;
  flex-wrap: wrap !important;
}

/* Feature Column Container */
.home-banner-row .module_column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  flex: 1 !important;
  min-width: 200px !important;
  max-width: 300px !important;
}

/* Icon Module - Vertical Stacking */
.home-banner-row .module-icon {
  margin-bottom: var(--spacing-4) !important;
  width: 100% !important;
}

.home-banner-row .module-icon-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--spacing-4) !important;
  width: 100% !important;
}

/* Icon Circle - Smaller and crisper */
.home-banner-row .module-icon em {
  width: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background-color: var(--color-gray-100) !important;
  flex-shrink: 0 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.home-banner-row .module-icon em:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
  background-color: var(--color-gray-50) !important;
}

/* Icon SVG */
.home-banner-row .module-icon em svg {
  width: 26px !important;
  height: 26px !important;
  color: var(--color-gray-700) !important;
}

/* Icon Label/Title */
.home-banner-row .module-icon span {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}

/* Description Text Module */
.home-banner-row .module-text {
  width: 100% !important;
  max-width: 280px !important;
  margin: 0 auto !important;
}

.home-banner-row .module-text p {
  font-size: var(--font-size-sm) !important;
  line-height: 1.6 !important;
  color: var(--color-gray-600) !important;
  margin: 0 !important;
}

/* Featured Categories Section */
.home-featured-categories {
  padding: var(--spacing-20) 0 !important;
  background-color: var(--color-white) !important;
}

.home-featured-categories h2 {
  text-align: left !important;
  margin-bottom: var(--spacing-12) !important;
  font-size: var(--font-size-3xl) !important;
  font-weight: 700 !important;
}

.home-featured-categories .loops-wrapper.products {
  gap: var(--spacing-6) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.home-featured-categories .product-category {
  position: relative !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  background-color: var(--color-gray-50) !important;
  transition: all var(--duration-normal) var(--ease) !important;
  height: 240px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  border: 1px solid var(--color-gray-200) !important;
  padding: var(--spacing-8) var(--spacing-6) !important;
}

.home-featured-categories .product-category:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08) !important;
  border-color: var(--color-gray-300) !important;
  background-color: var(--color-white) !important;
}

.home-featured-categories .product-category > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
}

.home-featured-categories .product-category img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.08 !important;
  transition: opacity var(--duration-normal) var(--ease) !important;
  z-index: 0 !important;
}

.home-featured-categories .product-category:hover img {
  opacity: 0.12 !important;
}

.home-featured-categories .product-category h3 {
  position: relative !important;
  z-index: 1 !important;
  font-size: var(--font-size-xl) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin: 0 !important;
  text-align: center !important;
  transition: color var(--duration-normal) var(--ease) !important;
  line-height: 1.3 !important;
}

.home-featured-categories .product-category:hover h3 {
  color: var(--color-gray-900) !important;
}

/* Featured Products Section */
.home-featured-products-row {
  padding: var(--spacing-20) 0 !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(249, 250, 251, 1) 50%,
    rgba(255, 255, 255, 1) 100%
  ) !important;
  position: relative !important;
}

.home-featured-products-row::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(220, 170, 46, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(220, 170, 46, 0.02) 0%, transparent 50%) !important;
  pointer-events: none !important;
}

.home-featured-products-row .row_inner {
  max-width: 100% !important;
}

.home-featured-products-row h2 {
  text-align: left !important;
  margin-bottom: var(--spacing-12) !important;
  font-size: var(--font-size-3xl) !important;
  font-weight: 700 !important;
}

/* Featured products - override default product grid */
.home-featured-products-row .module-products {
  width: 100% !important;
}

.home-featured-products-row .module-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--spacing-8) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.home-featured-products-row .module-products ul.products li.product {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  transition: all var(--duration-normal) var(--ease) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  width: 100% !important;
}

.home-featured-products-row .module-products ul.products li.product:hover {
  border-color: var(--color-gray-300) !important;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08) !important;
  transform: translateY(-4px) !important;
}

/* Product images in featured section */
.home-featured-products-row .product-image,
.home-featured-products-row .post-image {
  aspect-ratio: 1 / 1 !important;
  background-color: var(--color-gray-50) !important;
  overflow: hidden !important;
  margin: 0 !important;
  width: 100% !important;
  position: relative !important;
}

/* Sale badge full width for featured products */
.home-featured-products-row .onsale {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: var(--spacing-2) var(--spacing-3) !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  z-index: 10 !important;
  line-height: 2.5 !important;
  transform: none !important;
}
.home-featured-products-row span.onsale:before {
  border-radius: 12px 12px 0 0 !important;
}
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
  color: var(--color-white) !important;
}
@media (max-width: 680px) {
    .woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
        font-size: .9em;
    }
}
.home-featured-products-row .product-image img,
.home-featured-products-row .post-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform var(--duration-slow) var(--ease) !important;
  display: block !important;
}

.home-featured-products-row .product:hover .product-image img,
.home-featured-products-row .product:hover .post-image img {
  transform: scale(1.05) !important;
}

/* Product content in featured section */
.home-featured-products-row .product-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  overflow: hidden !important;
}

.home-featured-products-row .product-content-inner-wrapper {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
}

.home-featured-products-row .product-content-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
}

.home-featured-products-row .product_title,
.home-featured-products-row .woocommerce-loop-product__title {
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin: 0 0 var(--spacing-3) 0 !important;
  line-height: 1.4 !important;
}

.home-featured-products-row .product_title a,
.home-featured-products-row .woocommerce-loop-product__title a {
  color: var(--color-gray-900) !important;
  text-decoration: none !important;
  transition: color var(--duration-normal) var(--ease) !important;
}

.home-featured-products-row .product_title a:hover,
.home-featured-products-row .woocommerce-loop-product__title a:hover {
  color: var(--color-gray-700) !important;
}

.home-featured-products-row .price {
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-4) !important;
}

.home-featured-products-row .add-to-cart-button {
  margin-top: auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.home-featured-products-row .add-to-cart-button .button,
.home-featured-products-row .add_to_cart_button {
  width: 100% !important;
  max-width: 100% !important;
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.75em 1.5em !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: all var(--duration-normal) var(--ease) !important;
  display: block !important;
  text-align: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.home-featured-products-row .add-to-cart-button .button:hover,
.home-featured-products-row .add_to_cart_button:hover {
  background-color: var(--color-gray-700) !important;
  transform: translateY(0) !important;
  box-shadow: 0 2px 4px rgba(17, 24, 39, 0.12) !important;
}

/* Hide edit buttons and other admin elements */
.home-featured-products-row .edit-button {
  display: none !important;
}

/* COA/Testing Section */
.home-coa-row {
  padding: var(--spacing-20) 0 var(--spacing-24) !important;
  background-color: var(--color-white) !important;
}

.home-coa-row .row_inner {
  gap: var(--spacing-16) !important;
  align-items: center !important;
}

.home-coa-row .module-image {
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(17, 24, 39, 0.08), 
              0 4px 12px rgba(17, 24, 39, 0.04) !important;
}

.home-coa-row h2 {
  margin-bottom: var(--spacing-6) !important;
  line-height: 1.2 !important;
}

.home-coa-row .module-text p {
  font-size: var(--font-size-lg) !important;
  line-height: var(--line-height-loose) !important;
  color: var(--color-gray-600) !important;
  margin-bottom: var(--spacing-8) !important;
}

.home-coa-row .module-buttons {
  margin-top: var(--spacing-4) !important;
}

/* Section Headers */
.module-text h2:has(+ .module-product-categories),
.module-text h2:has(+ .module-products) {
  font-size: var(--font-size-3xl) !important;
  font-weight: 700 !important;
  margin-bottom: var(--spacing-8) !important;
  text-align: left !important;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
  .home-hero-row {
    padding: var(--spacing-12) 0 var(--spacing-16) !important;
  }
  
  .home-hero-row .row_inner {
    gap: var(--spacing-8) !important;
  }
  
  .home-hero-row h1 {
    font-size: var(--font-size-5xl) !important;
    margin-bottom: var(--spacing-4) !important;
  }
  
  .home-hero-row .module-text p {
    font-size: var(--font-size-base) !important;
  }
  
  .home-banner-row {
    padding: var(--spacing-10) 0 !important;
  }
  
  .home-banner-row .row_inner {
    flex-direction: column !important;
    gap: var(--spacing-10) !important;
  }
  
  .home-banner-row .module_column {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .home-banner-row .module-icon em {
    width: 52px !important;
    height: 52px !important;
  }
  
  .home-banner-row .module-icon em svg {
    width: 24px !important;
    height: 24px !important;
  }
  
  .home-banner-row .module-icon span {
    font-size: var(--font-size-base) !important;
  }
  
  .home-banner-row .module-text {
    max-width: 100% !important;
  }
  
  .home-banner-row .module-text p {
    font-size: var(--font-size-sm) !important;
  }
  
  .home-featured-categories,
  .home-featured-products-row,
  .home-coa-row {
    padding: var(--spacing-12) 0 !important;
  }
  
  .home-featured-categories h2,
  .home-featured-products-row h2 {
    font-size: var(--font-size-4xl) !important;
    margin-bottom: var(--spacing-8) !important;
  }
  
  .home-featured-categories .loops-wrapper.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--spacing-4) !important;
  }
  
  .home-featured-categories .product-category {
    padding: var(--spacing-6) var(--spacing-4) !important;
    min-height: 160px !important;
  }
  
  .home-featured-categories .product-category h3 {
    font-size: var(--font-size-base) !important;
  }
  
  .home-featured-products-row .module-products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--spacing-4) !important;
  }
  
  .home-coa-row .row_inner {
    gap: var(--spacing-8) !important;
  }
  
  .home-coa-row h2 {
    font-size: var(--font-size-4xl) !important;
    margin-bottom: var(--spacing-4) !important;
  }
  
  .home-coa-row .module-text p {
    font-size: var(--font-size-base) !important;
    margin-bottom: var(--spacing-6) !important;
  }
}

@media (max-width: 480px) {
  .home-hero-row h1 {
    font-size: var(--font-size-4xl) !important;
  }
  
  .home-featured-categories h2,
  .home-featured-products-row h2,
  .home-coa-row h2 {
    font-size: var(--font-size-3xl) !important;
  }
  
  .home-featured-categories .loops-wrapper.products {
    grid-template-columns: 1fr !important;
  }
  
  .home-featured-products-row .module-products ul.products {
    grid-template-columns: 1fr !important;
  }
  
  .home-banner-row .module_column {
    width: 100% !important;
  }
}

/* ============================================
   UTILITY CLASSES (for custom pages)
   ============================================ */

/* Default Eagle container - matches the 2XL breakpoint for modern feel */
.eagle-container {
  max-width: var(--container-2xl);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
  width: 100%;
}

@media (min-width: 768px) {
  .eagle-container {
    padding-left: var(--container-padding-tablet);
    padding-right: var(--container-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .eagle-container {
    padding-left: var(--container-padding-desktop);
    padding-right: var(--container-padding-desktop);
  }
}

@media (min-width: 1440px) {
  .eagle-container {
    padding-left: var(--container-padding-wide);
    padding-right: var(--container-padding-wide);
  }
}

/* Container size variants for flexibility */
.eagle-container-sm {
  max-width: var(--container-sm);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

.eagle-container-md {
  max-width: var(--container-md);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

.eagle-container-lg {
  max-width: var(--container-lg);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

.eagle-container-xl {
  max-width: var(--container-xl);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

.eagle-container-2xl {
  max-width: var(--container-2xl);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

.eagle-container-3xl {
  max-width: var(--container-3xl);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

.eagle-container-full {
  max-width: var(--container-full);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

/* Full-width container with no max-width constraint */
.eagle-container-fluid {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-mobile);
  padding-right: var(--container-padding-mobile);
}

@media (min-width: 768px) {
  .eagle-container-sm,
  .eagle-container-md,
  .eagle-container-lg,
  .eagle-container-xl,
  .eagle-container-2xl,
  .eagle-container-3xl,
  .eagle-container-full,
  .eagle-container-fluid {
    padding-left: var(--container-padding-tablet);
    padding-right: var(--container-padding-tablet);
  }
}

@media (min-width: 1024px) {
  .eagle-container-sm,
  .eagle-container-md,
  .eagle-container-lg,
  .eagle-container-xl,
  .eagle-container-2xl,
  .eagle-container-3xl,
  .eagle-container-full,
  .eagle-container-fluid {
    padding-left: var(--container-padding-desktop);
    padding-right: var(--container-padding-desktop);
  }
}

@media (min-width: 1440px) {
  .eagle-container-sm,
  .eagle-container-md,
  .eagle-container-lg,
  .eagle-container-xl,
  .eagle-container-2xl,
  .eagle-container-3xl,
  .eagle-container-full,
  .eagle-container-fluid {
    padding-left: var(--container-padding-wide);
    padding-right: var(--container-padding-wide);
  }
}

.eagle-section {
  padding: var(--spacing-16) 0;
}

.eagle-section-bg-subtle {
  background-color: var(--color-gray-50);
}

.text-center {
  text-align: center;
}

.mb-4 { margin-bottom: var(--spacing-4); }
.mb-6 { margin-bottom: var(--spacing-6); }
.mb-8 { margin-bottom: var(--spacing-8); }

.mt-4 { margin-top: var(--spacing-4); }
.mt-6 { margin-top: var(--spacing-6); }
.mt-8 { margin-top: var(--spacing-8); }

.margin-auto {
  margin-left: auto;
  margin-right: auto;
}


/* ============================================
   ACCESSIBILITY
   ============================================ */

*:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}


/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
  #headerwrap,
  #footer,
  .add_to_cart_button,
  .button {
    display: none;
  }
  
  body {
    font-size: var(--font-size-base);
  }
}


/* ============================================
   COLLECTION/ARCHIVE TITLE - MODERN DESIGN
   ============================================ */

/* Collection Row Container */
.collection-row,
.module_row.collection-row {
  background-color: var(--color-white) !important;
  border-bottom: 1px solid var(--color-gray-200) !important;
  margin-top: var(--spacing-4) !important;
  margin-bottom: var(--spacing-6) !important;
  padding: 0 !important;
}

/* Collection row inner container */
.collection-row .row_inner {
  padding: var(--spacing-6) var(--container-padding-mobile) !important;
}

@media (min-width: 768px) {
  .collection-row .row_inner {
    padding: var(--spacing-8) var(--container-padding-tablet) !important;
  }
}

@media (min-width: 1024px) {
  .collection-row .row_inner {
    padding: var(--spacing-8) var(--container-padding-desktop) !important;
  }
}

/* Collection Title Module */
.collection-title,
.module-archive-title.collection-title {
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Main Title (H1) */
.collection-title h1 {
  font-size: var(--font-size-4xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  line-height: var(--line-height-tight) !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Optional: Add a subtitle or description if needed */
.collection-title .archive-description,
.collection-title p {
  font-size: var(--font-size-base) !important;
  font-weight: 400 !important;
  color: var(--color-gray-600) !important;
  line-height: var(--line-height-relaxed) !important;
  margin-top: var(--spacing-3) !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Responsive adjustments for collection title */
@media (max-width: 768px) {
  .collection-row {
    margin-top: var(--spacing-6) !important;
    margin-bottom: var(--spacing-6) !important;
  }
  
  .collection-row .row_inner {
    padding: var(--spacing-6) var(--container-padding-mobile) !important;
  }
  
  .collection-title h1 {
    font-size: var(--font-size-3xl) !important;
  }
}

@media (max-width: 480px) {
  .collection-row {
    margin-top: var(--spacing-4) !important;
    margin-bottom: var(--spacing-4) !important;
  }
  
  .collection-row .row_inner {
    padding: var(--spacing-4) var(--spacing-4) !important;
  }
  
  .collection-title h1 {
    font-size: var(--font-size-2xl) !important;
  }
}


/* ============================================
   PRODUCT PAGE MODERNIZATION
   ============================================ */

/* ===================================
   PRODUCT PAGE STYLES
   =================================== */

/* Main Container - Responsive spacing from header */
.product-page-row {
  margin-top: 6rem !important;
}

/* Grid and column layout removed - use Themify Builder instead */

/* === LEFT COLUMN: PRODUCT IMAGE === */
.product-page-row .main-product-image,
.product-page-row .module-product-image {
  background: var(--color-gray-50) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
  transition: all var(--duration-normal) var(--ease) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

.product-page-row .main-product-image:hover,
.product-page-row .module-product-image:hover {
  border-color: var(--color-gray-300) !important;
  box-shadow: 0 2px 8px rgba(17, 24, 39, 0.04) !important;
}

/* Override Themify's .rounded and .bordered classes on product page */
.product-page-row .module-product-image.rounded,
.product-page-row .module-product-image.bordered,
.product-page-row .main-product-image.rounded,
.product-page-row .main-product-image.bordered {
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--color-gray-200) !important;
}

/* Hide zoom trigger */
.product-page-row .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* === RIGHT COLUMN: PRODUCT INFO === */
.product-page-row .module_column.last {
  display: flex !important;
  flex-direction: column !important;
}

/* Title */
.product-page-row .module-product-title {
  margin: 0 0 0.5rem 0 !important;
  order: 1 !important;
}

.product-page-row .module-product-title .tbp_title {
  font-size: var(--font-size-3xl) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  color: #111 !important;
}

.product-page-row .module-product-title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Price */
.product-page-row .module-product-price {
  margin: 0 0 1.5rem 0 !important;
  order: 2 !important;
}

.product-page-row .module-product-price .price {
  font-size: var(--font-size-2xl) !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin: 0 !important;
}

/* Short Description */
.product-page-row .module-product-description {
  margin: 0 0 1.5rem 0 !important;
  order: 3 !important;
}

.product-page-row .woocommerce-product-details__short-description p {
  font-size: var(--font-size-base) !important;
  line-height: 1.6 !important;
  color: #666 !important;
  margin: 0 !important;
}

/* Stock Status */
.product-page-row .module-product-stock-status {
  margin: 0 0 1rem 0 !important;
  order: 4 !important;
}

/* In Stock Status */
.product-page-row .tbp_product_in_stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  background: #E8F5E9 !important;
  border-radius: 6px !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  color: #2E7D32 !important;
  text-transform: capitalize !important;
}

.product-page-row .tbp_product_in_stock::before {
  content: "●" !important;
  color: #4CAF50 !important;
  font-size: var(--font-size-xs) !important;
}

/* Out of Stock Status */
.product-page-row .tbp_product_out_of_stock,
.product-page-row .stock.out-of-stock,
.product-page-row p.out-of-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  background: #FEF2F2 !important;
  border-radius: 6px !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  color: #991B1B !important;
  text-transform: capitalize !important;
  margin: 0 !important;
}

.product-page-row .tbp_product_out_of_stock::before,
.product-page-row .stock.out-of-stock::before,
.product-page-row p.out-of-stock::before {
  content: "●" !important;
  color: #DC2626 !important;
  font-size: var(--font-size-xs) !important;
}

/* Hide duplicate out-of-stock message in add-to-cart module */
.product-page-row .module-add-to-cart .stock.out-of-stock,
.product-page-row .module-add-to-cart p.out-of-stock,
.product-page-row .module-add-to-cart .stock.in-stock,
.product-page-row .module-add-to-cart p.in-stock {
  display: none !important;
}

/* Add to Cart */
.product-page-row .module-add-to-cart {
  margin: 0 !important;
  order: 5 !important;
}
/* Cart Form */
.product-page-row form.cart,
.product-page-row .cart {
  display: flex !important;
  gap: 0.75rem !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

/* Quantity */
.product-page-row .quantity,
.product-page-row form.cart .quantity {
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-white) !important;
  display: inline-block !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all var(--duration-normal) var(--ease) !important;
  position: relative !important;
  width: 90px !important;
  height: auto !important;
  min-height: 40px !important;
}

/* Hide quantity buttons that WooCommerce might add */
.product-page-row .quantity .qty-button,
.product-page-row .quantity button,
.product-page-row .quantity .plus,
.product-page-row .quantity .minus,
.product-page-row .quantity .quantity-button {
  display: none !important;
}

.product-page-row .quantity label {
  display: none !important;
}

.product-page-row .quantity .qty,
.product-page-row .quantity input[type="number"],
.product-page-row form.cart .quantity .qty {
  width: 100% !important;
  height: auto !important;
  min-height: 40px !important;
  text-align: center !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  border: none !important;
  background: transparent !important;
  color: var(--color-gray-900) !important;
  padding: 0.6em 0.8em !important;
  margin: 0 !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
}

/* Force Chrome to show native number input spinners */
.product-page-row .quantity .qty::-webkit-inner-spin-button,
.product-page-row .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: auto !important;
  opacity: 1 !important;
  cursor: pointer !important;
  width: 20px !important;
  height: 28px !important;
}

.product-page-row .quantity .qty:focus {
  outline: none !important;
}

.product-page-row .quantity:has(.qty:focus) {
  border-color: var(--color-gray-900) !important;
  box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.1) !important;
}

/* Add to Cart Button */
.product-page-row .single_add_to_cart_button {
  flex: 1 !important;
  height: auto !important;
  min-height: 40px !important;
  padding: 0.6rem 1.5rem !important;
  background: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all var(--duration-normal) var(--ease) !important;
  text-transform: none !important;
  letter-spacing: 0.07em !important;
  min-width: 0 !important;
  line-height: 1.2 !important;
}

.product-page-row .single_add_to_cart_button:hover {
  background: var(--color-gray-800) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-hover) !important;
}

/* Hide product share wrap inside cart form */
.product-page-row form.cart .product-share-wrap {
  display: none !important;
}

/* === ACCORDION SECTION === */
.product-page-row.product-accordion-container,
.product-accordion-container {
  max-width: 100% !important;
  margin: 2rem 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Ensure row_inner inside accordion container is full width */
.product-accordion-container .row_inner {
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Allow product-description module to be full width */
.product-accordion-container .module-product-description {
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Ensure the description wrapper takes full width */
.product-accordion-container .module-product-description .product-description {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.product-page-row .module-accordion,
.product-accordion-container .module-accordion {
  background: transparent !important;
  border: none !important;
}

.product-page-row .module-accordion > ul,
.product-accordion-container .module-accordion > ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.product-page-row .module-accordion > ul > li,
.product-accordion-container .module-accordion > ul > li {
  border-bottom: 1px solid var(--color-gray-200) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.product-page-row .module-accordion > ul > li:first-child,
.product-accordion-container .module-accordion > ul > li:first-child {
  border-top: 1px solid var(--color-gray-200) !important;
}

.product-page-row .module-accordion .accordion-title,
.product-accordion-container .module-accordion .accordion-title {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.product-page-row .module-accordion .accordion-title a,
.product-accordion-container .module-accordion .accordion-title a {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 1rem !important;
  align-items: center !important;
  padding: 1.25rem 0 !important;
  font-size: var(--font-size-base) !important;
  font-weight: 500 !important;
  color: var(--color-gray-900) !important;
  text-decoration: none !important;
  transition: color var(--duration-normal) var(--ease) !important;
}

.product-page-row .module-accordion .accordion-title a:hover,
.product-accordion-container .module-accordion .accordion-title a:hover {
  color: var(--color-gray-700) !important;
}

.product-page-row .module-accordion .accordion-title-wrap,
.product-accordion-container .module-accordion .accordion-title-wrap {
  order: 1 !important;
  text-align: left !important;
}

.product-page-row .module-accordion .accordion-icon,
.product-page-row .module-accordion .accordion-active-icon,
.product-accordion-container .module-accordion .accordion-icon,
.product-accordion-container .module-accordion .accordion-active-icon {
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-500) !important;
  transition: transform var(--duration-normal) var(--ease) !important;
  order: 0 !important;
}

.product-page-row .module-accordion li[aria-expanded="true"] .accordion-icon,
.product-accordion-container .module-accordion li[aria-expanded="true"] .accordion-icon {
  transform: rotate(180deg) !important;
}

.product-page-row .module-accordion .accordion-content,
.product-accordion-container .module-accordion .accordion-content {
  padding: 0 0 1.5rem 0 !important;
  margin-left: 1.75rem !important;
}

.product-page-row .module-accordion .accordion-content p,
.product-accordion-container .module-accordion .accordion-content p {
  font-size: var(--font-size-sm) !important;
  line-height: var(--line-height-relaxed) !important;
  color: var(--color-gray-600) !important;
  margin: 0 0 0.5rem 0 !important;
}

.product-page-row .module-accordion .accordion-content p:last-child,
.product-accordion-container .module-accordion .accordion-content p:last-child {
  margin-bottom: 0 !important;
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
  .product-page-row .row_inner {
    gap: 4rem !important;
  }
}

@media (max-width: 768px) {
  .product-page-row {
    padding: 2rem 0 !important;
  }

  .product-page-row .row_inner,
  .product-accordion-container {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    padding: 0 1.5rem !important;
  }

  .product-page-row .main-product-image {
    padding: 2rem !important;
  }

  .product-page-row .module-product-title .tbp_title {
    font-size: var(--font-size-2xl) !important;
  }

  .product-page-row .module-product-price .price {
    font-size: var(--font-size-xl) !important;
  }

  .product-page-row .cart {
    flex-direction: column !important;
  }

  .product-page-row .quantity {
    width: 100% !important;
  }

  .product-page-row .quantity .qty {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .product-page-row .row_inner,
  .product-accordion-container {
    padding: 0 1rem !important;
  }

  .product-page-row .main-product-image {
    padding: 1.5rem !important;
  }

  .product-page-row .module-product-title .tbp_title {
    font-size: var(--font-size-xl) !important;
  }

  .product-page-row .module-product-price .price {
    font-size: var(--font-size-2xl) !important;
  }
}


/* Meta Information */
.product-page-row .product_meta {
  padding: var(--spacing-6) 0;
  border-top: 1px solid var(--color-gray-200);
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
}

.product-page-row .product_meta > span {
  display: block;
  margin-bottom: var(--spacing-2);
}

.product-page-row .product_meta a {
  color: var(--color-gray-900);
  text-decoration: none;
  transition: color var(--duration-normal) var(--ease);
}

.product-page-row .product_meta a:hover {
  color: var(--color-accent);
}

/* Product Share */
.product-page-row .product-share-wrap {
  display: flex;
  gap: var(--spacing-3);
  padding: var(--spacing-4) 0;
}

/* Badge for sale items */
.product-page-row .onsale {
  position: absolute;
  top: var(--spacing-4);
  right: var(--spacing-4);
  background-color: var(--color-error);
  color: var(--color-white);
  font-size: var(--font-size-sm);
  font-weight: 700;
  padding: var(--spacing-2) var(--spacing-3);
  border-radius: var(--radius-md);
  z-index: 10;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Responsive Design for Product Page */
@media (max-width: 1200px) {
  .product-page-row {
    margin-top: 5rem !important;
  }
  
  .product-page-row .row_inner {
    gap: 2.5rem !important;
  }
  
  .product-page-row .module-product-title .tbp_title,
  .product-page-row .module-product-title h2 {
    font-size: var(--font-size-3xl) !important;
  }
}

@media (max-width: 1024px) {
  .product-page-row {
    margin-top: 4rem !important;
  }
  
  .product-page-row .row_inner {
    gap: 2rem !important;
  }
  
  /* Keep quantity and button inline on tablet - same size as desktop */
  .product-page-row form.cart,
  .product-page-row .cart {
    display: flex !important;
    flex-direction: row !important;
    gap: 0.75rem !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
  }
  
  .product-page-row .quantity,
  .product-page-row form.cart .quantity,
  .product-page-row .module-add-to-cart .quantity {
    width: 90px !important;
    height: auto !important;
    min-height: 40px !important;
  }
  
  .product-page-row .quantity .qty {
    height: auto !important;
    min-height: 40px !important;
    line-height: 1.2 !important;
  }
  
  .product-page-row .single_add_to_cart_button,
  .product-page-row form.cart .single_add_to_cart_button,
  .product-page-row .module-add-to-cart .single_add_to_cart_button {
    flex: 1 !important;
    height: auto !important;
    min-height: 40px !important;
    padding: 0.6rem 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .product-page-row {
    margin-top: 2rem !important;
    padding: 0 !important;
  }

  .product-page-row .row_inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
  }

  .product-page-row .module_column.first {
    position: relative !important;
    top: 0 !important;
    padding: 0 !important;
  }

  .product-page-row .main-product-image {
    padding: 0 !important;
    border-radius: 0 !important;
    background: #f8f8f8 !important;
    border: none !important;
    margin-bottom: 0 !important;
  }

  .product-page-row .module_column.last {
    padding: 1rem 1rem 1.5rem !important;
  }

  /* Title */
  .product-page-row .module-product-title {
    margin-bottom: 0.625rem !important;
    order: 1 !important;
  }
  
  .product-page-row .module-product-title .tbp_title,
  .product-page-row .module-product-title h2 {
    font-size: var(--font-size-4xl) !important;
    line-height: 1.25 !important;
    margin-bottom: 0 !important;
    letter-spacing: -0.01em !important;
    font-weight: 700 !important;
    color: #000 !important;
  }

  /* Description */
  .product-page-row .module-product-description {
    margin-bottom: 1.25rem !important;
    font-size: var(--font-size-sm) !important;
    line-height: 1.5 !important;
    color: #666 !important;
    order: 2 !important;
  }

  /* Price */
  .product-page-row .module-product-price {
    margin-bottom: 1rem !important;
    order: 3 !important;
  }
  
  .product-page-row .module-product-price .price {
    font-size: var(--font-size-xl) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #000 !important;
  }

  /* Product Meta (variations, stock) */
  .product-page-row .module-product-meta {
    margin-bottom: 1rem !important;
    order: 4 !important;
  }

  /* Stock Status */
  .product-page-row .stock {
    margin-bottom: 1.25rem !important;
    padding: 0.5rem 1rem !important;
    font-size: var(--font-size-sm) !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    color: #16a34a !important;
    font-weight: 500 !important;
    order: 5 !important;
  }

  .product-page-row .stock::before {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    background: #16a34a !important;
    border-radius: 50% !important;
    display: inline-block !important;
  }

  /* Variations / Select Size */
  .product-page-row .variations {
    margin-bottom: 1rem !important;
    order: 6 !important;
  }

  .product-page-row .variations label,
  .product-page-row .variations th {
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: #000 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
  }

  .product-page-row .variations select {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    font-size: var(--font-size-sm) !important;
    color: #000 !important;
    background: #fff !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    cursor: pointer !important;
  }

  /* Quantity Label */
  .product-page-row .quantity label,
  .product-page-row form.cart > label {
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: #000 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
  }

  /* Tablet: Keep quantity and button inline, same size as desktop */
  .product-page-row form.cart,
  .product-page-row .cart,
  .product-page-row .module-add-to-cart form.cart {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.75rem !important;
    align-items: stretch !important;
    margin-top: 0 !important;
    order: 7 !important;
  }
  
  /* Quantity Input - same as desktop */
  .product-page-row .quantity,
  .product-page-row form.cart .quantity,
  .product-page-row .module-add-to-cart .quantity {
    width: 90px !important;
    max-width: 90px !important;
    min-width: 90px !important;
    flex: 0 0 90px !important;
    height: auto !important;
    min-height: 40px !important;
    border-radius: 8px !important;
    border: 1px solid #e5e5e5 !important;
    background: #fff !important;
  }
  
  .product-page-row .quantity .qty {
    width: 100% !important;
    height: auto !important;
    min-height: 40px !important;
    font-size: var(--font-size-sm) !important;
    padding: 0.6em 0.8em !important;
    border-radius: 8px !important;
    border: none !important;
    text-align: center !important;
    font-weight: 500 !important;
    color: #000 !important;
    background: transparent !important;
  }

  /* Add to Cart Button - flex to fill remaining space */
  .product-page-row .single_add_to_cart_button,
  .product-page-row form.cart .single_add_to_cart_button,
  .product-page-row .module-add-to-cart .single_add_to_cart_button {
    flex: 1 !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 40px !important;
    padding: 0.6rem 1.5rem !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    letter-spacing: 0 !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    text-transform: none !important;
    transition: background 0.2s ease !important;
  }

  .product-page-row .single_add_to_cart_button:hover {
    background: #000 !important;
  }

  /* Accordions */
  .product-accordion-container {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  .product-page-row .accordion-item,
  .product-page-row .accordion {
    border-bottom: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
  }

  .product-page-row .accordion-title,
  .product-page-row .accordion-title a {
    padding: 1rem !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: #000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}

@media (max-width: 480px) {
  .product-page-row {
    margin-top: 1.5rem !important;
    padding: 0 !important;
  }
  
  .product-page-row .row_inner {
    padding: 0 !important;
    gap: 0 !important;
  }

  .product-page-row .main-product-image {
    padding: 0 !important;
    border-radius: 0 !important;
    background: #f8f8f8 !important;
    border: none !important;
    margin-bottom: 0 !important;
  }

  .product-page-row .module_column.last {
    padding: 1rem !important;
  }

  /* Title */
  .product-page-row .module-product-title {
    margin-bottom: 0.5rem !important;
  }
  
  .product-page-row .module-product-title .tbp_title,
  .product-page-row .module-product-title h2 {
    font-size: var(--font-size-3xl) !important;
    line-height: 1.3 !important;
  }

  /* Description */
  .product-page-row .module-product-description {
    font-size: var(--font-size-xs) !important;
    margin-bottom: 0.875rem !important;
  }

  /* Price */
  .product-page-row .module-product-price {
    margin-bottom: 1rem !important;
  }
  
  .product-page-row .module-product-price .price {
    font-size: var(--font-size-lg) !important;
  }

  /* Stock Status */
  .product-page-row .stock {
    margin-bottom: 0.875rem !important;
    font-size: var(--font-size-xs) !important;
  }

  /* Out of Stock - Mobile */
  .product-page-row .tbp_product_out_of_stock,
  .product-page-row .stock.out-of-stock,
  .product-page-row p.out-of-stock {
    font-size: var(--font-size-xs) !important;
    padding: 0.375rem 0.75rem !important;
  }

  /* Variations */
  .product-page-row .variations {
    margin-bottom: 0.875rem !important;
  }

  .product-page-row .variations label,
  .product-page-row .variations th {
    font-size: var(--font-size-xs) !important;
    margin-bottom: 0.375rem !important;
  }

  .product-page-row .variations select {
    padding: 0.625rem 0.875rem !important;
    font-size: var(--font-size-sm) !important;
  }

  /* Form - Mobile: Stack quantity and button */
  .product-page-row form.cart,
  .product-page-row .cart,
  .product-page-row .module-add-to-cart form.cart,
  .module-add-to-cart form.cart {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    margin-top: 0 !important;
    gap: 0.625rem !important;
  }

  /* Quantity - Full width on mobile */
  .product-page-row .quantity,
  .product-page-row form.cart .quantity,
  .product-page-row .module-add-to-cart .quantity,
  .module-add-to-cart .quantity {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 1 0 100% !important;
    height: auto !important;
    min-height: 40px !important;
  }
  
  .product-page-row .quantity .qty,
  .module-add-to-cart .quantity .qty {
    width: 100% !important;
    height: auto !important;
    min-height: 40px !important;
    font-size: var(--font-size-sm) !important;
  }
  
  /* Button - Full width on mobile */
  .product-page-row .single_add_to_cart_button,
  .product-page-row form.cart .single_add_to_cart_button,
  .product-page-row .module-add-to-cart .single_add_to_cart_button,
  .module-add-to-cart .single_add_to_cart_button {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 0 100% !important;
    height: auto !important;
    min-height: 40px !important;
    font-size: var(--font-size-sm) !important;
  }

  .product-page-row .accordion-title,
  .product-page-row .accordion-title a {
    padding: 0.875rem 1rem !important;
    font-size: var(--font-size-sm) !important;
  }
}

/* ============================================
   AGE GATE
   ============================================ */

.age-gate {
  border-radius: var(--radius-lg);
}

/* ============================================
   PRODUCT IMAGE GALLERY - MODERN THUMBNAILS
   ============================================ */

/* Main Gallery Container */
.module-product-image .woocommerce-product-gallery {
  position: relative;
}

/* Thumbnail Navigation - Modern Inline Style */
.module-product-image .flex-control-thumbs,
.module-product-image ol.flex-control-thumbs {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px !important;
  list-style: none !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
}

/* Individual Thumbnail Items */
.module-product-image .flex-control-thumbs li {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  display: block !important;
  float: none !important;
  clear: none !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Thumbnail Images */
.module-product-image .flex-control-thumbs li img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--color-gray-200) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: block !important;
  box-shadow: none !important;
  background-color: var(--color-gray-50) !important;
  padding: 0 !important;
}

/* Thumbnail Hover State */
.module-product-image .flex-control-thumbs li:hover img {
  border-color: var(--color-gray-300) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Active Thumbnail */
.module-product-image .flex-control-thumbs li img.flex-active,
.module-product-image .flex-control-thumbs li.flex-active-slide img {
  border-color: var(--color-gray-500) !important;
  box-shadow: 0 0 0 1px var(--color-gray-400) !important;
}

/* Main Image Styling */
.module-product-image .woocommerce-product-gallery__wrapper {
  border-radius: 12px !important;
  background-color: var(--color-white) !important;
}

.module-product-image .flex-viewport {
  overflow: hidden !important;
  position: relative !important;
}

.module-product-image .woocommerce-product-gallery__image img {
  border-radius: 12px !important;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .module-product-image .flex-control-thumbs li img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 6px !important;
  }
  
  .module-product-image .flex-control-thumbs {
    gap: 8px !important;
    margin: 12px 0 0 0 !important;
  }
}

@media (max-width: 480px) {
  .module-product-image .flex-control-thumbs li img {
    width: 56px !important;
    height: 56px !important;
  }
  
  .module-product-image .flex-control-thumbs {
    gap: 6px !important;
  }
}

/* Override any conflicting Themify Builder Pro styles */
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-thumbs li {
  max-width: none !important;
}

.module-product-image.thumb-img-bottom .flex-control-thumbs {
  width: 100% !important;
  float: none !important;
}

/* ============================================
   SUPPLEMENT FACTS TABLE
   ============================================ */

.supplement-facts {
  margin: var(--spacing-6) 0 !important;
  padding: var(--spacing-5) !important;
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
}

.supplement-facts p {
  font-size: var(--font-size-sm) !important;
  color: var(--color-gray-700) !important;
  line-height: var(--line-height-relaxed) !important;
  margin: 0 0 var(--spacing-3) 0 !important;
}

.supplement-facts p strong {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
}

.supplement-facts table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: var(--spacing-4) 0 !important;
  font-size: var(--font-size-sm) !important;
  background-color: var(--color-white) !important;
}

.supplement-facts table thead {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
}

.supplement-facts table thead th {
  padding: var(--spacing-3) var(--spacing-4) !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: var(--font-size-sm) !important;
  border: none !important;
  color: var(--color-white) !important;
}

.supplement-facts table thead th:first-child {
  border-radius: var(--radius-md) 0 0 0 !important;
}

.supplement-facts table thead th:last-child {
  border-radius: 0 var(--radius-md) 0 0 !important;
}

.supplement-facts table tbody tr {
  border-bottom: 1px solid var(--color-gray-200) !important;
  transition: background-color var(--duration-fast) var(--ease) !important;
}

.supplement-facts table tbody tr:last-child {
  border-bottom: none !important;
}

.supplement-facts table tbody tr:hover {
  background-color: var(--color-gray-50) !important;
}

.supplement-facts table tbody td {
  padding: var(--spacing-3) var(--spacing-4) !important;
  color: var(--color-gray-700) !important;
  font-size: var(--font-size-sm) !important;
  line-height: var(--line-height-normal) !important;
  border: none !important;
}

.supplement-facts table tbody td:first-child {
  color: var(--color-gray-900) !important;
  font-weight: 500 !important;
}

.supplement-facts table tbody td:nth-child(2),
.supplement-facts table tbody td:nth-child(3) {
  font-variant-numeric: tabular-nums !important;
}

.supplement-facts small {
  display: block !important;
  font-size: var(--font-size-xs) !important;
  color: var(--color-gray-600) !important;
  line-height: var(--line-height-relaxed) !important;
  margin-top: var(--spacing-4) !important;
  padding-top: var(--spacing-4) !important;
  border-top: 1px solid var(--color-gray-200) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .supplement-facts {
    padding: var(--spacing-4) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .supplement-facts table {
    font-size: var(--font-size-xs) !important;
    min-width: 100% !important;
    display: block !important;
    overflow-x: auto !important;
  }
  
  .supplement-facts table thead,
  .supplement-facts table tbody {
    display: table !important;
    width: 100% !important;
  }
  
  .supplement-facts table thead th,
  .supplement-facts table tbody td {
    padding: var(--spacing-2) var(--spacing-3) !important;
    font-size: var(--font-size-xs) !important;
    white-space: nowrap !important;
  }
  
  .supplement-facts table tbody td:first-child {
    white-space: normal !important;
    min-width: 120px !important;
    max-width: 200px !important;
  }
}

@media (max-width: 480px) {
  .supplement-facts {
    padding: var(--spacing-3) !important;
    margin-left: calc(var(--spacing-4) * -1) !important;
  }
  
  .supplement-facts table thead th,
  .supplement-facts table tbody td {
    padding: var(--spacing-2) !important;
    font-size: 0.7rem !important;
  }
  
  .supplement-facts table tbody td:first-child {
    min-width: 100px !important;
    max-width: 150px !important;
  }
}

/* ============================================
   HOME COLLECTION CARDS - 1:1 ASPECT RATIO
   ============================================ */

/* Row spacing */
.home-collection-row {
  margin-bottom: var(--spacing-12, 3rem);
  padding: var(--spacing-24, 6rem) 0 var(--spacing-8, 2rem) !important;
}

.home-collection-row .module_column {
  margin-bottom: var(--spacing-6, 1.5rem);
}

/* Override any theme defaults for link blocks in this section */
.home-collection-card.module-link-block {
  margin-bottom: 0;
}

/* Responsive spacing adjustments */
@media (max-width: 768px) {
  .home-collection-row {
    margin-bottom: var(--spacing-8, 2rem);
    padding: var(--spacing-16, 4rem) 0 var(--spacing-6, 1.5rem) !important;
  }
}

@media (max-width: 480px) {
  .home-collection-row {
    margin-bottom: var(--spacing-6, 1.5rem);
    padding: var(--spacing-12, 3rem) 0 var(--spacing-4, 1rem) !important;
  }
}

/* Collection Card Container */
.home-collection-card .tb_link_block_container {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: var(--radius-lg, 12px);
  border: 1px solid var(--color-gray-200) !important;
  transition: all var(--duration-normal, 0.2s) var(--ease, ease);
  box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
  overflow: hidden;
  text-decoration: none !important;
  background-color: var(--color-gray-100, #F3F4F6);
  padding: 0 !important;
}

/* Fallback for older browsers */
@supports not (aspect-ratio: 1 / 1) {
  .home-collection-card .tb_link_block_container {
    padding-top: 100%;
    height: 0;
  }
  
  .home-collection-card .tf-lb-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
}

.home-collection-card .tb_link_block_container:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06));
}

/* Content Overlay - No overlay needed */
.home-collection-card .tf-lb-content {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: transparent !important;
  transition: background var(--duration-normal, 0.2s) var(--ease, ease);
  padding: 0 !important;
}

.home-collection-card .tb_link_block_container:hover .tf-lb-content {
  background: rgba(0, 0, 0, 0.03) !important;
}

/* Text Styling - Use site defaults */
.home-collection-card .tb_link_block_heading {
  color: var(--color-gray-900, #111827) !important;
  font-size: var(--font-size-xl, 1.25rem) !important;
  font-weight: 600 !important;
  text-align: center;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
  padding: 1.5rem !important;
  line-height: var(--line-height-tight, 1.25) !important;
  transition: all var(--duration-normal, 0.2s) var(--ease, ease);
}

.home-collection-card .tb_link_block_container:hover .tb_link_block_heading {
  transform: translateY(-1px);
  letter-spacing: 0.07em !important;
}

/* Accent underline - Eagle Labs teal */
.home-collection-card .tb_link_block_heading::after {
  content: '';
  display: block;
  width: 50px;
  height: 2px;
  /*background: var(--color-accent, #0EA5A7);*/
  margin: 0.5rem auto 0;
  border-radius: 1px;
  opacity: 0;
  transform: scaleX(0);
  transition: all var(--duration-normal, 0.2s) var(--ease, ease);
}

.home-collection-card .tb_link_block_container:hover .tb_link_block_heading::after {
  opacity: 1;
  transform: scaleX(1);
}

/* Focus state */
.home-collection-card .tb_link_block_container:focus {
  outline: 2px solid var(--color-accent, #0EA5A7);
  outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .home-collection-card .tb_link_block_heading {
    font-size: var(--font-size-lg, 1.125rem) !important;
    padding: 1.25rem !important;
  }
  
  .home-collection-card .tf-lb-content {
    padding: 1.5rem;
  }
}

@media (max-width: 768px) {
  .home-collection-card .tb_link_block_heading {
    font-size: var(--font-size-lg, 1.125rem) !important;
    padding: 1rem !important;
  }
  
  .home-collection-card .tf-lb-content {
    padding: 1.25rem;
  }
}

@media (max-width: 480px) {
  .home-collection-card .tb_link_block_heading {
    font-size: var(--font-size-lg, 1.125rem) !important;
    padding: 1rem !important;
    letter-spacing: 0.05em;
  }
  
  .home-collection-card .tf-lb-content {
    padding: 1rem;
  }
}

/* Focus state for accessibility */
.home-collection-card .tb_link_block_container:focus {
  outline: 3px solid var(--theme_accent, #dcaa2e);
  outline-offset: 3px;
}

.home-collection-card .tb_link_block_container:focus .tf-lb-content {
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.7) 100%
  );
}


/* ========================================
   HOME ETHOS SECTION - MODERN REDESIGN
   ======================================== */

.home-ethos.tb_zce0672 {
  background: #FAFAFA;
  padding: 100px 0 !important;
  position: relative;
  overflow: hidden;
}

/* Top border accent */
.home-ethos.tb_zce0672::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 3px;
  background: #0EA5A7;
  border-radius: 0 0 2px 2px;
}

.home-ethos .row_inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

.home-ethos .tb_xq7i434 {
  margin-bottom: 24px !important;
}

.home-ethos .tb_xq7i434 h3 {
  font-family: 'Teko', sans-serif !important;
  font-size: clamp(2.25rem, 4vw, 3rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: #1A1A1A !important;
  margin-bottom: 0 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.home-ethos .tb_6dll719 p {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: clamp(1rem, 1.5vw, 1.125rem) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: #6B7280 !important;
  max-width: 800px;
  margin: 0 auto !important;
  padding: 0 20px;
  letter-spacing: 0 !important;
  text-align: center !important;
}

/* Remove default Themify styles */
.home-ethos .module-text {
  margin-bottom: 0 !important;
}


/* ========================================
   HOME NANOTECHNOLOGY SECTION - MODERN REDESIGN
   ======================================== */

.home-nanotech.tb_7qjl925 {
  background: #ffffff;
  padding: 100px 0 !important;
  position: relative;
}

/* Divider line at top */
.home-nanotech.tb_7qjl925::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #E5E7EB 20%, #E5E7EB 80%, transparent 100%);
}

.home-nanotech .row_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

/* Header Section */
.home-nanotech .tb_axct925 {
  margin-bottom: 64px !important;
  text-align: center;
}

.home-nanotech .tb_46wy925 h3 {
  font-family: 'Teko', sans-serif !important;
  font-size: clamp(2.25rem, 4vw, 3rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: #1A1A1A !important;
  margin-bottom: 12px !important;
  line-height: 1.1 !important;
}

.home-nanotech .tb_46wy925 p {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: var(--font-size-sm) !important;
  color: #0EA5A7 !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  margin-top: 0 !important;
}

/* Icon Cards Container */
.home-nanotech .tb_vx35925 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
  margin-top: 0 !important;
}

/* Reset Themify column styles for grid */
.home-nanotech .tb_vx35925 .module_column {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

/* Modern Icon Card Design */
.home-nanotech .module-icon {
  background: #ffffff;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
  padding: 40px 28px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: visible;
  height: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  text-align: center;
}

.home-nanotech .module-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06);
  border-color: #E5E7EB;
}

/* Icon styling */
.home-nanotech .module-icon em.tf_box {
  width: 64px !important;
  height: 64px !important;
  border-radius: 12px !important;
  background: #FAFAFA !important;
  border: 1px solid #F3F4F6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 20px !important;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.home-nanotech .module-icon:hover em.tf_box {
  /*background: #0EA5A7 !important;
  border-color: #0EA5A7 !important;*/
  background: #1A1A1A !important;
  border-color: #1A1A1A !important;
  transform: scale(1.05);
}

.home-nanotech .module-icon em.tf_box svg {
  width: 28px !important;
  height: 28px !important;
  color: #6B7280 !important;
  transition: color 0.3s ease;
}

.home-nanotech .module-icon:hover em.tf_box svg {
  color: #ffffff !important;
}

/* Text content */
.home-nanotech .module-icon span {
  display: block;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: var(--font-size-base) !important;
  line-height: 1.6 !important;
  color: #4B5563 !important;
  font-weight: 500 !important;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
}

/* Remove default Themify icon vertical spacing */
.home-nanotech .module-icon.icon_vertical {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}


/* ========================================
   RESPONSIVE DESIGN - ETHOS & NANOTECH
   ======================================== */

@media (max-width: 1024px) {
  .home-ethos.tb_zce0672,
  .home-nanotech.tb_7qjl925 {
    padding: 80px 0 !important;
  }
  
  .home-ethos .row_inner,
  .home-nanotech .row_inner {
    padding: 0 32px;
  }
  
  .home-nanotech .tb_vx35925 {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px !important;
  }
}

@media (max-width: 768px) {
  .home-ethos.tb_zce0672,
  .home-nanotech.tb_7qjl925 {
    padding: 64px 0 !important;
  }
  
  .home-ethos .row_inner,
  .home-nanotech .row_inner {
    padding: 0 24px;
  }
  
  .home-ethos .tb_xq7i434 h3,
  .home-nanotech .tb_46wy925 h3 {
    font-size: var(--font-size-2xl) !important;
  }
  
  .home-ethos .tb_6dll719 p {
    font-size: var(--font-size-base) !important;
    line-height: 1.65 !important;
  }
  
  .home-nanotech .tb_axct925 {
    margin-bottom: 48px !important;
  }
  
  .home-nanotech .tb_vx35925 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  
  .home-nanotech .module-icon {
    padding: 32px 24px !important;
  }
  
  .home-nanotech .module-icon em.tf_box {
    width: 56px !important;
    height: 56px !important;
  }
  
  .home-nanotech .module-icon em.tf_box svg {
    width: 24px !important;
    height: 24px !important;
  }
  
  .home-nanotech .module-icon span {
    font-size: var(--font-size-sm) !important;
  }
}

@media (max-width: 480px) {
  .home-ethos.tb_zce0672::before {
    width: 80px;
    height: 2px;
  }
  
  .home-ethos .tb_xq7i434 h3 {
    font-size: var(--font-size-xl) !important;
  }
  
  .home-nanotech .tb_46wy925 h3 {
    font-size: var(--font-size-xl) !important;
  }
  
  .home-nanotech .module-icon {
    padding: 28px 20px !important;
  }
}


/* ========================================
   ACCESSIBILITY ENHANCEMENTS
   ======================================== */

@media (prefers-reduced-motion: reduce) {
  .home-nanotech .module-icon,
  .home-nanotech .module-icon em.tf_box,
  .home-nanotech .module-icon::before {
    transition: none !important;
  }
  
  .home-nanotech .module-icon:hover {
    transform: none;
  }
  
  .home-nanotech .module-icon:hover em.tf_box {
    transform: none;
  }
}

/* Print styles */
@media print {
  .home-ethos.tb_zce0672::before,
  .home-nanotech.tb_7qjl925::before {
    display: none;
  }
  
  .home-nanotech .module-icon {
    border: 1px solid #000;
    box-shadow: none;
    page-break-inside: avoid;
  }
}


/* ============================================
   MOBILE MENU STYLING - PREMIUM DESIGN
   Inspired by cart dropdown and sticky buy bar
   Only applies on mobile/tablet viewports
   ============================================ */

/* Mobile menu styles - only on mobile/tablet */
@media (max-width: 1100px) {

/* Mobile Menu Container - Premium backdrop */
#mobile-menu.sidemenu {
  background-color: #FFFFFF !important;
  border-left: none !important;
  box-shadow: -12px 0 48px rgba(17, 24, 39, 0.12), 
              -4px 0 16px rgba(17, 24, 39, 0.08) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Close Button - Clean minimal design - Only in mobile menu */
#mobile-menu #menu-icon-close {
  background-color: var(--color-gray-50) !important;
  border-radius: 12px !important;
  color: var(--color-gray-700) !important;
  padding: 0 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  top: 28px !important;
  right: 28px !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  z-index: 10 !important;
}

#mobile-menu #menu-icon-close:hover {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  transform: rotate(90deg) !important;
}

/* Header Icons Section - Clean top bar */
#mobile-menu .header-icons {
  background-color: transparent !important;
  border-bottom: 1px solid var(--color-gray-100) !important;
  padding: 0 !important;
  margin: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  background: #FFFFFF !important;
}

/* Search Button - Full width at top */
#mobile-menu .search-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 20px 0 !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--color-gray-100) !important;
  border-radius: 0 !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 400 !important;
  color: var(--color-gray-600) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-align: left !important;
  gap: 12px !important;
}

#mobile-menu .search-button .tf_fa {
  color: var(--color-gray-400) !important;
  font-size: var(--font-size-lg) !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#mobile-menu .search-button .tf_fa svg {
  display: block !important;
  margin: 0 auto !important;
}

#mobile-menu .search-button:hover {
  background-color: var(--color-gray-50) !important;
}

#mobile-menu .search-button:hover .tf_fa {
  color: var(--color-gray-700) !important;
}

/* Hide top icon wrap - we don't need it */
#mobile-menu .top-icon-wrap {
  display: none !important;
}

/* Cart Icon in header - keep it simple */
#mobile-menu #cart-icon-count {
  display: none !important;
}

/* Main Navigation Section - Clean spacing */
#mobile-menu #main-nav-wrap {
  padding: 0 !important;
  background-color: transparent !important;
}

/* Navigation Menu */
#mobile-menu #main-nav {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#mobile-menu #main-nav li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Main Menu Links - Simple and clean */
#mobile-menu #main-nav > li > a {
  color: var(--color-gray-900) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  padding: 18px 28px !important;
  border: none !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
  display: block !important;
  text-transform: none !important;
  background-color: transparent !important;
  position: relative !important;
  border-bottom: 1px solid transparent !important;
}

#mobile-menu #main-nav > li:last-child > a {
  border-bottom: none !important;
}

#mobile-menu #main-nav > li > a:hover {
  background-color: var(--color-gray-50) !important;
  color: var(--color-gray-900) !important;
}

/* Active menu item - Subtle gray background */
#mobile-menu #main-nav > .current-menu-item > a,
#mobile-menu #main-nav > .current_page_item > a {
  background-color: var(--color-gray-100) !important;
  color: var(--color-gray-900) !important;
  font-weight: 500 !important;
  position: relative !important;
}

/* Small teal accent line for active item */
#mobile-menu #main-nav > .current-menu-item > a::before,
#mobile-menu #main-nav > .current_page_item > a::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 3px !important;
  height: 60% !important;
  border-radius: 0 3px 3px 0 !important;
  background-color: var(--color-accent) !important;
}

/* Submenu Styling - Indented */
#mobile-menu #main-nav .sub-menu {
  background-color: var(--color-gray-50) !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#mobile-menu #main-nav .sub-menu a {
  color: var(--color-gray-700) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 400 !important;
  padding: 14px 28px 14px 48px !important;
  border: none !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
  background-color: transparent !important;
}

#mobile-menu #main-nav .sub-menu a:hover {
  background-color: var(--color-white) !important;
  color: var(--color-gray-900) !important;
}

/* Child Arrow (for submenus) - Minimal design */
#mobile-menu .menu-item .child-arrow {
  color: var(--color-gray-400) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border: 1.5px solid var(--color-gray-300) !important;
  top: 24px !important;
}




/* Shopping Cart Dropdown in Mobile Menu - Match cart dropdown style */
#mobile-menu .shopdock {
  border-radius: 16px !important;
  margin: 12px 24px !important;
  background-color: var(--color-white) !important;
  border: 2px solid var(--color-gray-200) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
}

#mobile-menu #cart-wrap {
  padding: 20px !important;
  background-color: var(--color-white) !important;
}

#mobile-menu .empty-shopdock {
  color: var(--color-gray-600) !important;
  font-size: var(--font-size-sm) !important;
  text-align: center !important;
  padding: 2rem 1.5rem !important;
  font-weight: 500 !important;
}

#mobile-menu .empty-shopdock a {
  color: var(--color-accent) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--color-accent) !important;
  padding-bottom: 2px !important;
  transition: all 0.2s ease !important;
}

#mobile-menu .empty-shopdock a:hover {
  color: var(--color-gray-900) !important;
  border-color: var(--color-gray-900) !important;
}

/* Top Bar Widgets */
#mobile-menu .top-bar-widgets {
   border-top: 1px solid var(--color-gray-200) !important;
  padding: 24px !important;
  margin-top: 24px !important;
}

#mobile-menu .top-bar-widgets .widget {
  margin-bottom: 1.5rem !important;
}

#mobile-menu .top-bar-widgets .widgettitle {
  color: var(--color-gray-900) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 1rem !important;
}

/* Smooth Entrance Animation */
#mobile-menu.sidemenu-on {
  animation: slideInFromRight 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes slideInFromRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Premium Body Overlay - Frosted glass effect */
.mobile-menu-visible .body-overlay {
  background: linear-gradient(135deg, 
    rgba(17, 24, 39, 0.4) 0%, 
    rgba(31, 41, 55, 0.5) 100%) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Ensure proper z-index layering */
#mobile-menu.sidemenu {
  z-index: 1100 !important;
}

.body-overlay {
  z-index: 1000 !important;
}

/* Mobile Menu Responsiveness */
@media (max-width: 480px) {
  #mobile-menu.sidemenu {
    right: -100% !important;
  }
  
  #mobile-menu.sidemenu-on {
    right: 0 !important;
  }
  
  #mobile-menu #main-nav > li > a {
    font-size: var(--font-size-base) !important;
    padding: 20px 24px !important;
  }
  
  #mobile-menu .search-button {
    padding: 20px 0 !important;
  }
  
  #mobile-menu #menu-icon-close {
    top: 24px !important;
    right: 24px !important;
  }
}

/* Extra premium touches */
#mobile-menu::-webkit-scrollbar {
  width: 6px !important;
}

#mobile-menu::-webkit-scrollbar-track {
  background: transparent !important;
}

#mobile-menu::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1) !important;
  border-radius: 10px !important;
}

#mobile-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.2) !important;
}

} /* End mobile menu styles max-width: 1000px */

/* ============================================
   MENU ICON STYLES
   ============================================ */

#headerwrap #menu-icon {
  border-radius: 12px !important;
}

#headerwrap #menu-icon:hover {
  background-color: hsla(0, 0%, 78%, .25);
}

#headerwrap a:hover {
  color: #000 !important;
}

/* ============================================
   CERTIFICATES OF ANALYSIS PAGE - MODERN DESIGN
   ============================================ */

/* Page Header Section */
.module-gallery.coas ~ .module-text h1 {
  font-size: var(--font-size-4xl) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-4) !important;
  letter-spacing: -0.02em !important;
}

/* Introductory Text */
.module-gallery.coas ~ .module-text p {
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-loose) !important;
  color: var(--color-gray-600) !important;
  max-width: 800px !important;
  margin-bottom: var(--spacing-3) !important;
}

.module-gallery.coas ~ .module-text p:last-child {
  margin-bottom: var(--spacing-10) !important;
}

/* Gallery Container */
.module-gallery.coas {
  margin-top: var(--spacing-8) !important;
}

.module-gallery.coas .module-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: var(--spacing-6) !important;
  padding: 0 !important;
}

/* Individual Certificate Items */
.module-gallery.coas .gallery-item {
  margin: 0 !important;
  width: 100% !important;
  list-style: none !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-gray-200);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 
              0 1px 2px rgba(0, 0, 0, 0.03) !important;
  transition: all var(--duration-normal) var(--ease) !important;
}

.module-gallery.coas .gallery-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(17, 24, 39, 0.08),
              0 4px 8px rgba(17, 24, 39, 0.04) !important;
}

/* Certificate Image */
.module-gallery.coas .gallery-icon {
  margin: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--color-gray-50) !important;
}

.module-gallery.coas .gallery-icon a {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
}

.module-gallery.coas .gallery-icon img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  aspect-ratio: 3/4 !important;
  object-fit: cover !important;
  transition: transform var(--duration-slow) var(--ease) !important;
}

.module-gallery.coas .gallery-item:hover .gallery-icon img {
  transform: scale(1.05) !important;
}

/* Hover Overlay Effect */
.module-gallery.coas .gallery-icon a::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(17, 24, 39, 0.35) !important;
  opacity: 0 !important;
  transition: opacity var(--duration-normal) var(--ease) !important;
  pointer-events: none !important;
}

.module-gallery.coas .gallery-item:hover .gallery-icon a::after {
  opacity: 1 !important;
}

/* View Icon on Hover */
.module-gallery.coas .gallery-icon a::before {
  content: '🔍' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(0.8) !important;
  font-size: var(--font-size-4xl) !important;
  z-index: 2 !important;
  opacity: 0 !important;
  transition: all var(--duration-normal) var(--ease) !important;
  pointer-events: none !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3)) !important;
}

.module-gallery.coas .gallery-item:hover .gallery-icon a::before {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
}

/* Certificate Label/Badge */
.module-gallery.coas .gallery-item::after {
  content: 'HPLC ASSAY' !important;
  position: absolute !important;
  top: var(--spacing-3) !important;
  right: var(--spacing-3) !important;
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  padding: var(--spacing-1) var(--spacing-3) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  z-index: 3 !important;
  box-shadow: 0 2px 8px rgba(14, 165, 167, 0.25) !important;
  transition: all var(--duration-normal) var(--ease) !important;
}

.module-gallery.coas .gallery-item:hover::after {
  transform: scale(1.05) !important;
  box-shadow: 0 4px 12px rgba(14, 165, 167, 0.35) !important;
}

/* Certificate Title from Alt Text */
.module-gallery.coas .gallery-icon img[alt]::after {
  content: attr(alt) !important;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
  .module-gallery.coas .module-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: var(--spacing-5) !important;
  }
}

@media (max-width: 768px) {
  .module-gallery.coas ~ .module-text h1 {
    font-size: var(--font-size-3xl) !important;
  }
  
  .module-gallery.coas .module-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: var(--spacing-4) !important;
  }
  
  .module-gallery.coas .gallery-icon a::before {
    font-size: var(--font-size-2xl) !important;
  }
}

@media (max-width: 480px) {
  .module-gallery.coas .module-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-4) !important;
  }
  
  .module-gallery.coas .gallery-item::after {
    font-size: var(--font-size-xs) !important;
    padding: 0.125rem var(--spacing-2) !important;
  }
}

/* Lightbox Improvements */
.mfp-wrap .mfp-content img {
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
}

/* Loading State */
.module-gallery.coas .gallery-icon img[loading="lazy"] {
  background: linear-gradient(90deg, 
    var(--color-gray-100) 0%, 
    var(--color-gray-200) 50%, 
    var(--color-gray-100) 100%) !important;
  background-size: 200% 100% !important;
  animation: shimmer 1.5s infinite !important;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* ============================================
   EMPTY CART PAGE STYLING
   ============================================ */

/* Empty Cart Title */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  font-size: var(--font-size-2xl) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-6) !important;
}

/* Empty Cart Icon */
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
  font-size: var(--font-size-3xl) !important;
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  margin-right: var(--spacing-3) !important;
}

/* Empty Cart Separator */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
  margin: var(--spacing-8) 0 !important;
}

/* Empty Cart Product Grid Heading */
.wp-block-woocommerce-empty-cart-block h2 {
  font-size: var(--font-size-xl) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  margin-bottom: var(--spacing-6) !important;
}

/* Empty Cart Product Grid */
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new {
  margin: var(--spacing-6) 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  gap: var(--spacing-8) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Adjust product card width to account for gap */
.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product {
  flex: 1 0 calc(25% - var(--spacing-6)) !important;
  max-width: calc(25% - var(--spacing-6)) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__product {
  flex: 1 0 calc(33.333% - var(--spacing-5-33)) !important;
  max-width: calc(33.333% - var(--spacing-5-33)) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-2-columns .wc-block-grid__product {
  flex: 1 0 calc(50% - var(--spacing-4)) !important;
  max-width: calc(50% - var(--spacing-4)) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-1-columns .wc-block-grid__product {
  flex: 1 0 100% !important;
  max-width: 100% !important;
}

/* Product Card */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  list-style: none !important;
  margin: 0 !important;
  padding: var(--spacing-4) !important;
  position: relative !important;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--duration-normal) var(--ease);
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  border-color: var(--color-gray-300);
  box-shadow: 0 2px 8px rgba(17, 24, 39, 0.04);
}

/* Product Link - contains image and title */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  text-decoration: none !important;
  color: inherit !important;
  display: flex !important;
  flex-direction: column !important;
  margin: -16px -16px 0 -16px !important;
}

/* Product Image Container */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  position: relative;
  aspect-ratio: 1 / 1;
  background-color: var(--color-gray-50);
  border-radius: 0;
  overflow: hidden;
  margin: 0 0 var(--spacing-2) 0 !important;
  width: 100% !important;
}

/* Product Image */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease);
  border-radius: 0;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: scale(1.02);
}

/* Product Link - contains image and title */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  text-decoration: none !important;
  color: inherit !important;
  display: flex !important;
  flex-direction: column !important;
  margin: -16px -16px 0 -16px !important;
}

/* Product Title */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  font-family: 'Teko', sans-serif !important;
  font-size: var(--font-size-xl) !important;
  font-weight: 600 !important;
  color: var(--color-gray-900) !important;
  line-height: 1.2 !important;
  margin: var(--spacing-2) 0 0 0 !important;
  padding: 0 var(--spacing-4) !important;
  text-align: left !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color var(--duration-normal) var(--ease);
  min-height: 0;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-title {
  color: var(--color-gray-700);
}

/* Product Price */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
  margin: var(--spacing-2) 0 var(--spacing-4) 0 !important;
  text-align: left !important;
  line-height: 1 !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-amount {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-gray-900) !important;
}

/* Add to Cart Button */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
  margin-top: auto !important;
  width: 100% !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button {
  margin: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a {
  background-color: var(--color-gray-900) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0.75em 1.5em !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  transition: all var(--duration-normal) var(--ease) !important;
  text-transform: none !important;
  letter-spacing: 0.07em !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a:hover {
  background-color: var(--color-gray-700) !important;
  color: var(--color-white) !important;
  transform: none !important;
  box-shadow: 0 1px 3px rgba(17, 24, 39, 0.12) !important;
}

/* Loading state for Add to Cart */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .add_to_cart_button.loading {
  opacity: 0.7 !important;
  pointer-events: none !important;
}

/* Responsive Layout */
@media (max-width: 1024px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    font-size: var(--font-size-2xl) !important;
  }
}

@media (max-width: 768px) {
  /* Force 2 columns on tablet */
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__product {
    flex: 1 0 calc(50% - var(--spacing-3)) !important;
    max-width: calc(50% - var(--spacing-3)) !important;
  }
  
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    gap: var(--spacing-6) !important;
  }
}

@media (max-width: 480px) {
  /* Force 1 column on mobile */
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__product,
  .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-2-columns .wc-block-grid__product {
    flex: 1 0 100% !important;
    max-width: 100% !important;
  }
  
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    gap: var(--spacing-4) !important;
  }
  
  .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    font-size: var(--font-size-xl) !important;
  }
  
  .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    font-size: var(--font-size-xl) !important;
  }
  
  .wp-block-woocommerce-empty-cart-block h2 {
    font-size: var(--font-size-lg) !important;
  }
}