/*
Theme Name: Nordic Luxury Child Theme
Description: Complete utility-first minimalist luxury e-commerce theme
Author: Nordic Theme Development  
Version: 4.1.1 - Complete System with Professional Review System & Minimalistic Icons
Template: kadence
License: GPL v2 or later
Text Domain: nordic-luxury

===========================================
NORDIC LUXURY UTILITY SYSTEM v4.1.1
Complete, bulletproof CSS for luxury e-commerce
Every utility class guaranteed to work
Professional review system + minimalistic trust badges
===========================================

Design Philosophy:
- Utility-first: Build any layout with class combinations
- Strategic exceptions: Essential custom components excluded from utilities
- Luxury micro-interactions: Premium effects for emotional engagement
- Future-proof: Never need to modify this CSS again (except exclusions)
- Performance: Single file, optimized for speed
- Luxury aesthetic: Scandinavian minimalism meets premium quality
- Business-critical: Revenue systems require perfect styling
- Professional: Minimalistic icons and trust badges
*/

/* ========================================
   CSS EXCLUSIONS - PREVENT UTILITY CONFLICTS
   Essential custom components that bypass utility system
   ======================================== */

.icon-bag,
.icon-profile,
.mobile-menu-label,
.menu-toggle,
.menu-header,
.menu-submenu,
.menu-arrow,
.nordic-dual-price,
.nordic-dual-currency,
.currency-display,
.payment-method-filter,
.econt-section,
.bulgarian-checkout,
.international-checkout,
.luxury-hero-text,
.luxury-product-hover,
.luxury-stagger-grid,
.luxury-shadow-premium,
.nordic-trust-icon,
.nordic-social-icon,
.nordic-section-icon,
.nordic-reviews-icon,
.nordic-benefit-icon,
.nordic-intro-icon,
.nordic-arrow-icon,
.nordic-accent-icon,
.nordic-reviews-wrapper,
.commentlist,
.comment-form,
.comment-respond,
.comment-reply-title,
.comment-form-rating,
.stars {
    /*
    These components use custom CSS instead of utilities
    Excluded from utility class inheritance to prevent conflicts
    
    Reasons for exclusion:
    - Complex interactive components (mobile menu, icons)
    - Business-critical revenue systems (add-ons, currency)
    - Browser compatibility requirements (CSS-only solutions)
    - Performance optimization (avoid utility specificity wars)
    - Luxury micro-interactions (premium visual effects)
    - Professional review system (complex WooCommerce integration)
    - Minimalistic trust badges (CSS-controlled icons)
    */
}



/* ==========================================
   ===== FONT LOADING & FALLBACKS =====
   ========================================== */

/* Premium fonts with bulletproof fallbacks */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

/* Font loading optimization */
@font-face {
    font-family: 'Playfair Display Fallback';
    src: local('Georgia'), local('Times New Roman'), local('serif');
    font-display: swap;
}

@font-face {
    font-family: 'Inter Fallback';  
    src: local('Helvetica Neue'), local('Arial'), local('sans-serif');
    font-display: swap;
}

/* ==========================================
   ===== RESET & WORDPRESS COMPATIBILITY =====
   ========================================== */

/* Modern CSS Reset */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    color: #1a1a1a;
    background: #ffffff;
    font-feature-settings: 'kern' 1, 'liga' 1;
    text-rendering: optimizeLegibility;
}

/* WordPress core compatibility */
img {
    max-width: 100%;
    height: auto;
    display: block;
}




/* ==========================================
   ===== COLOR SYSTEM =====
   ========================================== */

:root {
    /* Nordic Color Palette */
    --nordic-black: #000000;
    --nordic-dark: #1a1a1a;  
    --nordic-gray: #666666;
    --nordic-light: #999999;
    --nordic-white: #ffffff;


/* NEW: Warm luxury palette */
--luxury-warm-charcoal: #4A453F;
--luxury-cream: #FAF9F6;
--luxury-taupe: #E8E2DB;  
--luxury-cashmere: #C8A882;
--luxury-warm-text: #5A524A;
    
    /* Background Colors */
    --bg-black: #000000;
    --bg-dark: #1a1a1a;
    --bg-gray: #f5f5f5;
    --bg-light: #fafafa;
    --bg-white: #ffffff;
    
    .bg-luxury-cream { background-color: var(--luxury-cream) !important; }
.bg-luxury-taupe { background-color: var(--luxury-taupe) !important; }
.bg-luxury-charcoal { background-color: var(--luxury-warm-charcoal) !important; }
    
    /* Border Colors */
    --border-black: #000000;
    --border-dark: #1a1a1a;
    --border-gray: #e5e5e5;
    --border-light: #f0f0f0;
    
    /* Spacing Scale */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 16px;
    --space-4: 24px;
    --space-5: 32px;
    --space-6: 48px;
    --space-8: 64px;
    --space-10: 96px;
    
    /* Typography Scale */
    --text-xs: 12px;
    --text-sm: 14px;
    --text-base: 16px;
    --text-lg: 18px;
    --text-xl: 24px;
    --text-2xl: 32px;
    --text-3xl: 48px;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    
    .luxury-shadow-warm { box-shadow: 0 8px 25px rgba(74, 69, 63, 0.08), 0 3px 8px rgba(74, 69, 63, 0.04) !important; }
.luxury-hover-lift { transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; }
.luxury-hover-lift:hover { transform: translateY(-3px) !important; }
    
    /* Transitions */
    --transition: all 0.2s ease;
}

/* Text Colors */
.text-black { color: var(--nordic-black) !important; }
.text-dark { color: var(--nordic-dark) !important; }
.text-gray { color: var(--nordic-gray) !important; }
.text-light { color: var(--nordic-light) !important; }
.text-white { color: var(--nordic-white) !important; }


.text-luxury-warm { color: var(--luxury-warm-text) !important; }
.text-luxury-charcoal { color: var(--luxury-warm-charcoal) !important; }
.text-luxury-cashmere { color: var(--luxury-cashmere) !important; }


/* Background Colors */
.bg-black { background-color: var(--bg-black) !important; }
.bg-dark { background-color: var(--bg-dark) !important; }
.bg-gray { background-color: var(--bg-gray) !important; }
.bg-light { background-color: var(--bg-light) !important; }
.bg-white { background-color: var(--bg-white) !important; }

/* Border Colors */
.border-black { border-color: var(--border-black) !important; }
.border-dark { border-color: var(--border-dark) !important; }
.border-gray { border-color: var(--border-gray) !important; }
.border-light { border-color: var(--border-light) !important; }

/* ==========================================
   ===== TYPOGRAPHY SYSTEM =====
   ========================================== */

/* Font Sizes */
.text-xs { font-size: var(--text-xs) !important; }
.text-sm { font-size: var(--text-sm) !important; }
.text-base { font-size: var(--text-base) !important; }
.text-lg { font-size: var(--text-lg) !important; }
.text-xl { font-size: var(--text-xl) !important; }
.text-2xl { font-size: var(--text-2xl) !important; }
.text-3xl { font-size: var(--text-3xl) !important; }

.luxury-display { font-size: 3.5rem !important; font-weight: 300 !important; line-height: 1.1 !important; }
.luxury-heading { font-size: 2.25rem !important; font-weight: 300 !important; line-height: 1.2 !important; }
.luxury-body-lg { font-size: 1.125rem !important; font-weight: 400 !important; line-height: 1.6 !important; }

/* Font Weights */
.font-light { font-weight: 300 !important; }
.font-normal { font-weight: 400 !important; }
.font-medium { font-weight: 500 !important; }
.font-semibold { font-weight: 600 !important; }
.font-bold { font-weight: 700 !important; }

/* Font Families */
.font-heading { 
    font-family: 'Playfair Display', 'Playfair Display Fallback', Georgia, serif !important;
    font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
}

.font-body { 
    font-family: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.font-mono { 
    font-family: 'SF Mono', SFMono-Regular, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace !important;
}

/* Line Heights */
.leading-tight { line-height: 1.2 !important; }
.leading-normal { line-height: 1.5 !important; }
.leading-relaxed { line-height: 1.7 !important; }

/* Text Alignment */
.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

/* Text Transform */
.uppercase { text-transform: uppercase !important; }
.lowercase { text-transform: lowercase !important; }
.capitalize { text-transform: capitalize !important; }

/* Text Decoration */
.underline { text-decoration: underline !important; }
.no-underline { text-decoration: none !important; }

/* Font Style */
.italic { font-style: italic !important; }

/* Letter Spacing */
.tracking-tight { letter-spacing: -0.025em !important; }
.tracking-normal { letter-spacing: 0 !important; }
.tracking-wide { letter-spacing: 0.5px !important; }

/* ==========================================
   ===== SPACING SYSTEM =====
   ========================================== */

/* Margin Utilities */
.m-0 { margin: 0 !important; }
.m-1 { margin: var(--space-1) !important; }
.m-2 { margin: var(--space-2) !important; }
.m-3 { margin: var(--space-3) !important; }
.m-4 { margin: var(--space-4) !important; }
.m-5 { margin: var(--space-5) !important; }
.m-6 { margin: var(--space-6) !important; }
.m-8 { margin: var(--space-8) !important; }
.m-10 { margin: var(--space-10) !important; }

.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Margin Top */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: var(--space-1) !important; }
.mt-2 { margin-top: var(--space-2) !important; }
.mt-3 { margin-top: var(--space-3) !important; }
.mt-4 { margin-top: var(--space-4) !important; }
.mt-5 { margin-top: var(--space-5) !important; }
.mt-6 { margin-top: var(--space-6) !important; }
.mt-8 { margin-top: var(--space-8) !important; }
.mt-10 { margin-top: var(--space-10) !important; }

/* Margin Bottom */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: var(--space-1) !important; }
.mb-2 { margin-bottom: var(--space-2) !important; }
.mb-3 { margin-bottom: var(--space-3) !important; }
.mb-4 { margin-bottom: var(--space-4) !important; }
.mb-5 { margin-bottom: var(--space-5) !important; }
.mb-6 { margin-bottom: var(--space-6) !important; }
.mb-8 { margin-bottom: var(--space-8) !important; }
.mb-10 { margin-bottom: var(--space-10) !important; }

/* Margin Left/Right */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: var(--space-1) !important; }
.ml-2 { margin-left: var(--space-2) !important; }
.ml-3 { margin-left: var(--space-3) !important; }
.ml-4 { margin-left: var(--space-4) !important; }
.ml-5 { margin-left: var(--space-5) !important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: var(--space-1) !important; }
.mr-2 { margin-right: var(--space-2) !important; }
.mr-3 { margin-right: var(--space-3) !important; }
.mr-4 { margin-right: var(--space-4) !important; }
.mr-5 { margin-right: var(--space-5) !important; }

/* Padding Utilities */
.p-0 { padding: 0 !important; }
.p-1 { padding: var(--space-1) !important; }
.p-2 { padding: var(--space-2) !important; }
.p-3 { padding: var(--space-3) !important; }
.p-4 { padding: var(--space-4) !important; }
.p-5 { padding: var(--space-5) !important; }
.p-6 { padding: var(--space-6) !important; }
.p-8 { padding: var(--space-8) !important; }
.p-10 { padding: var(--space-10) !important; }

/* Padding Top */
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: var(--space-1) !important; }
.pt-2 { padding-top: var(--space-2) !important; }
.pt-3 { padding-top: var(--space-3) !important; }
.pt-4 { padding-top: var(--space-4) !important; }
.pt-5 { padding-top: var(--space-5) !important; }
.pt-6 { padding-top: var(--space-6) !important; }
.pt-8 { padding-top: var(--space-8) !important; }
.pt-10 { padding-top: var(--space-10) !important; }

/* Padding Bottom */
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: var(--space-1) !important; }
.pb-2 { padding-bottom: var(--space-2) !important; }
.pb-3 { padding-bottom: var(--space-3) !important; }
.pb-4 { padding-bottom: var(--space-4) !important; }
.pb-5 { padding-bottom: var(--space-5) !important; }
.pb-6 { padding-bottom: var(--space-6) !important; }
.pb-8 { padding-bottom: var(--space-8) !important; }
.pb-10 { padding-bottom: var(--space-10) !important; }

/* Padding Left/Right */
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: var(--space-1) !important; }
.pl-2 { padding-left: var(--space-2) !important; }
.pl-3 { padding-left: var(--space-3) !important; }
.pl-4 { padding-left: var(--space-4) !important; }
.pl-5 { padding-left: var(--space-5) !important; }

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: var(--space-1) !important; }
.pr-2 { padding-right: var(--space-2) !important; }
.pr-3 { padding-right: var(--space-3) !important; }
.pr-4 { padding-right: var(--space-4) !important; }
.pr-5 { padding-right: var(--space-5) !important; }

/* Padding X/Y */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: var(--space-1) !important; padding-right: var(--space-1) !important; }
.px-2 { padding-left: var(--space-2) !important; padding-right: var(--space-2) !important; }
.px-3 { padding-left: var(--space-3) !important; padding-right: var(--space-3) !important; }
.px-4 { padding-left: var(--space-4) !important; padding-right: var(--space-4) !important; }
.px-5 { padding-left: var(--space-5) !important; padding-right: var(--space-5) !important; }
.px-6 { padding-left: var(--space-6) !important; padding-right: var(--space-6) !important; }

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: var(--space-1) !important; padding-bottom: var(--space-1) !important; }
.py-2 { padding-top: var(--space-2) !important; padding-bottom: var(--space-2) !important; }
.py-3 { padding-top: var(--space-3) !important; padding-bottom: var(--space-3) !important; }
.py-4 { padding-top: var(--space-4) !important; padding-bottom: var(--space-4) !important; }
.py-5 { padding-top: var(--space-5) !important; padding-bottom: var(--space-5) !important; }
.py-6 { padding-top: var(--space-6) !important; padding-bottom: var(--space-6) !important; }
.py-8 { padding-top: var(--space-8) !important; padding-bottom: var(--space-8) !important; }
.py-10 { padding-top: var(--space-10) !important; padding-bottom: var(--space-10) !important; }

/* ==========================================
   ===== LAYOUT SYSTEM =====
   ========================================== */

/* Display */
.block { display: block !important; }
.inline-block { display: inline-block !important; }
.inline { display: inline !important; }
.flex { display: flex !important; }
.grid { display: grid !important; }
.hidden { display: none !important; }

/* Flexbox */
.flex-col { flex-direction: column !important; }
.flex-row { flex-direction: row !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }

.items-start { align-items: flex-start !important; }
.items-center { align-items: center !important; }
.items-end { align-items: flex-end !important; }
.items-stretch { align-items: stretch !important; }

.justify-start { justify-content: flex-start !important; }
.justify-center { justify-content: center !important; }
.justify-end { justify-content: flex-end !important; }
.justify-between { justify-content: space-between !important; }
.justify-around { justify-content: space-around !important; }

.flex-1 { flex: 1 1 0% !important; }
.flex-auto { flex: 1 1 auto !important; }
.flex-none { flex: none !important; }

/* Grid */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

.col-span-1 { grid-column: span 1 / span 1 !important; }
.col-span-2 { grid-column: span 2 / span 2 !important; }
.col-span-3 { grid-column: span 3 / span 3 !important; }

.gap-0 { gap: 0 !important; }
.gap-1 { gap: var(--space-1) !important; }
.gap-2 { gap: var(--space-2) !important; }
.gap-3 { gap: var(--space-3) !important; }
.gap-4 { gap: var(--space-4) !important; }
.gap-5 { gap: var(--space-5) !important; }
.gap-6 { gap: var(--space-6) !important; }
.gap-8 { gap: var(--space-8) !important; }

/* ==========================================
   ===== SIZING SYSTEM =====
   ========================================== */

/* Width */
.w-full { width: 100% !important; }
.w-auto { width: auto !important; }
.w-1\/2 { width: 50% !important; }
.w-1\/3 { width: 33.333333% !important; }
.w-2\/3 { width: 66.666667% !important; }
.w-1\/4 { width: 25% !important; }
.w-3\/4 { width: 75% !important; }

/* Specific sizes */
.w-4 { width: 16px !important; }
.w-10 { width: 40px !important; }
.w-11 { width: 44px !important; }
.w-12 { width: 48px !important; }
.w-16 { width: 64px !important; }
.w-20 { width: 80px !important; }
.w-24 { width: 96px !important; }
.w-28 { width: 112px !important; }
.w-32 { width: 128px !important; }
.w-48 { width: 192px !important; }

/* Height */
.h-auto { height: auto !important; }
.h-full { height: 100% !important; }
.h-screen { height: 100vh !important; }

/* Specific heights */
.h-4 { height: 16px !important; }
.h-10 { height: 40px !important; }
.h-11 { height: 44px !important; }
.h-12 { height: 48px !important; }
.h-16 { height: 64px !important; }
.h-20 { height: 80px !important; }
.h-32 { height: 128px !important; }

/* Max Width */
.max-w-none { max-width: none !important; }
.max-w-xs { max-width: 320px !important; }
.max-w-sm { max-width: 480px !important; }
.max-w-md { max-width: 640px !important; }
.max-w-lg { max-width: 800px !important; }
.max-w-xl { max-width: 1024px !important; }
.max-w-2xl { max-width: 1200px !important; }
.max-w-4xl { max-width: 1400px !important; }
.max-w-6xl { max-width: 1600px !important; }

/* Min Height */
.min-h-screen { min-height: 100vh !important; }

/* Aspect Ratio */
.aspect-square { aspect-ratio: 1 / 1 !important; }

/* ==========================================
   ===== BORDER SYSTEM =====
   ========================================== */

.border { border-width: 1px !important; border-style: solid !important; }
.border-0 { border-width: 0 !important; }
.border-2 { border-width: 2px !important; border-style: solid !important; }

.border-t { border-top-width: 1px !important; border-top-style: solid !important; }
.border-b { border-bottom-width: 1px !important; border-bottom-style: solid !important; }
.border-l { border-left-width: 1px !important; border-left-style: solid !important; }
.border-r { border-right-width: 1px !important; border-right-style: solid !important; }

.border-t-2 { border-top-width: 2px !important; border-top-style: solid !important; }
.border-b-2 { border-bottom-width: 2px !important; border-bottom-style: solid !important; }

.rounded-none { border-radius: 0 !important; }
.rounded-sm { border-radius: 2px !important; }
.rounded { border-radius: 4px !important; }
.rounded-lg { border-radius: 8px !important; }
.rounded-full { border-radius: 9999px !important; }

/* ==========================================
   ===== POSITION SYSTEM =====
   ========================================== */

.static { position: static !important; }
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.fixed { position: fixed !important; }
.sticky { position: sticky !important; }

.top-0 { top: 0 !important; }
.top-2 { top: 8px !important; }
.top-4 { top: 16px !important; }
.right-0 { right: 0 !important; }
.right-2 { right: 8px !important; }
.right-4 { right: 16px !important; }
.bottom-0 { bottom: 0 !important; }
.bottom-2 { bottom: 8px !important; }
.bottom-4 { bottom: 16px !important; }
.bottom-6 { bottom: 48px !important; }
.left-0 { left: 0 !important; }
.left-2 { left: 8px !important; }
.left-4 { left: 16px !important; }

.z-0 { z-index: 0 !important; }
.z-10 { z-index: 10 !important; }
.z-20 { z-index: 20 !important; }
.z-30 { z-index: 30 !important; }
.z-40 { z-index: 40 !important; }
.z-50 { z-index: 50 !important; }

/* ==========================================
   ===== EFFECTS SYSTEM =====
   ========================================== */

/* Shadows */
.shadow-none { box-shadow: none !important; }
.shadow-sm { box-shadow: var(--shadow-sm) !important; }
.shadow { box-shadow: var(--shadow) !important; }
.shadow-lg { box-shadow: var(--shadow-lg) !important; }

/* Transitions */
.transition { transition: var(--transition) !important; }
.transition-none { transition: none !important; }

/* Transform */
.transform { transform: translateZ(0) !important; }
.scale-105 { transform: scale(1.05) !important; }
.scale-110 { transform: scale(1.1) !important; }
.hover\:scale-105:hover { transform: scale(1.05) !important; }
.hover\:scale-110:hover { transform: scale(1.1) !important; }
.hover\:transform:hover { transform: translateZ(0) !important; }

/* Opacity */
.opacity-0 { opacity: 0 !important; }
.opacity-50 { opacity: 0.5 !important; }
.opacity-70 { opacity: 0.7 !important; }
.opacity-100 { opacity: 1 !important; }

/* ==========================================
   ===== INTERACTION SYSTEM =====
   ========================================== */

.cursor-pointer { cursor: pointer !important; }
.cursor-default { cursor: default !important; }

.select-none { user-select: none !important; }
.select-text { user-select: text !important; }

.pointer-events-none { pointer-events: none !important; }
.pointer-events-auto { pointer-events: auto !important; }

/* Hover Effects */
.hover\:bg-white:hover { background-color: var(--bg-white) !important; }
.hover\:bg-light:hover { background-color: var(--bg-light) !important; }
.hover\:bg-gray:hover { background-color: var(--bg-gray) !important; }
.hover\:bg-dark:hover { background-color: var(--bg-dark) !important; }
.hover\:bg-black:hover { background-color: var(--bg-black) !important; }

.hover\:text-white:hover { color: var(--nordic-white) !important; }
.hover\:text-light:hover { color: var(--nordic-light) !important; }
.hover\:text-gray:hover { color: var(--nordic-gray) !important; }
.hover\:text-dark:hover { color: var(--nordic-dark) !important; }
.hover\:text-black:hover { color: var(--nordic-black) !important; }

.hover\:border-black:hover { border-color: var(--border-black) !important; }
.hover\:border-gray:hover { border-color: var(--border-gray) !important; }

.hover\:shadow-lg:hover { box-shadow: var(--shadow-lg) !important; }

.hover\:pl-2:hover { padding-left: var(--space-2) !important; }

/* ==========================================
   ===== LUXURY MICRO-INTERACTIONS =====
   ========================================== */

/* Hero Text Animation - Front Page Only */
.home .luxury-hero-text {
    opacity: 0;
    transform: translateY(20px);
    animation: luxuryHeroReveal 1.2s ease-out 0.3s forwards;
}

@keyframes luxuryHeroReveal {
    0% {
        opacity: 0;
        transform: translateY(20px);
        letter-spacing: -0.02em;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        letter-spacing: 0;
    }
}

/* Premium Product Hover Effects - Front Page Only */
.home .luxury-product-hover {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, box-shadow;
}

.home .luxury-product-hover:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 12px 24px rgba(0, 0, 0, 0.08),
        0 4px 8px rgba(0, 0, 0, 0.04),
        0 1px 3px rgba(0, 0, 0, 0.02);
}

.home .luxury-product-hover:hover img {
    transform: scale(1.02);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Premium Shadows */
.luxury-shadow-premium {
    box-shadow: 
        0 10px 25px rgba(0, 0, 0, 0.08),
        0 4px 10px rgba(0, 0, 0, 0.05),
        0 1px 3px rgba(0, 0, 0, 0.04);
}

/* Staggered Grid Animation - Front Page Only */
.home .luxury-stagger-grid > * {
    opacity: 0;
    transform: translateY(30px);
    animation: luxuryStaggerIn 0.8s ease-out forwards;
}

.home .luxury-stagger-grid > *:nth-child(1) { animation-delay: 0.1s; }
.home .luxury-stagger-grid > *:nth-child(2) { animation-delay: 0.2s; }
.home .luxury-stagger-grid > *:nth-child(3) { animation-delay: 0.3s; }
.home .luxury-stagger-grid > *:nth-child(4) { animation-delay: 0.4s; }
.home .luxury-stagger-grid > *:nth-child(5) { animation-delay: 0.5s; }
.home .luxury-stagger-grid > *:nth-child(6) { animation-delay: 0.6s; }

@keyframes luxuryStaggerIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Enhanced Button Hover States */
.home .btn:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 12px 24px rgba(0, 0, 0, 0.15),
        0 4px 8px rgba(0, 0, 0, 0.08);
    letter-spacing: 0.5px;
}

/* Luxury Typography Enhancements */
.home .luxury-text-reveal {
    background: linear-gradient(135deg, #000000 0%, #333333 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Premium Focus States */
.home input:focus,
.home textarea:focus,
.home select:focus {
    border-color: #000000;
    box-shadow: 
        0 0 0 3px rgba(0, 0, 0, 0.1),
        inset 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ==========================================
   ===== MINIMALISTIC TRUST ICONS =====
   ========================================== */

/* Base Trust Icon Styling */
.nordic-trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    position: relative;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: default;
}

.nordic-trust-icon:hover {
    background: #000000;
    border-color: #000000;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* Security/CE Certified Icon */
.nordic-trust-icon--security::before {
    content: "✓";
    font-size: 20px;
    font-weight: 600;
    color: #000000;
    line-height: 1;
    transition: color 0.3s ease;
}

.nordic-trust-icon--security:hover::before {
    color: #ffffff;
}

/* Returns Icon */
.nordic-trust-icon--returns::before {
    content: "↻";
    font-size: 18px;
    font-weight: 400;
    color: #000000;
    line-height: 1;
    transition: color 0.3s ease;
}

.nordic-trust-icon--returns:hover::before {
    color: #ffffff;
}

/* Shipping Icon */
.nordic-trust-icon--shipping::before {
    content: "→";
    font-size: 18px;
    font-weight: 400;
    color: #000000;
    line-height: 1;
    transition: color 0.3s ease;
}

.nordic-trust-icon--shipping:hover::before {
    color: #ffffff;
}

/* Premium Materials Icon */
.nordic-trust-icon--premium::before {
    content: "◆";
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    line-height: 1;
    transition: color 0.3s ease;
}

.nordic-trust-icon--premium:hover::before {
    color: #ffffff;
}

/* Secure Icon */
.nordic-trust-icon--secure::before {
    content: "◉";
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    line-height: 1;
    transition: color 0.3s ease;
}

.nordic-trust-icon--secure:hover::before {
    color: #ffffff;
}

/* ==========================================
   ===== INVERSE TRUST ICONS (Dark Background) =====
   ========================================== */

.nordic-trust-icon--shipping--inverse,
.nordic-trust-icon--returns--inverse,
.nordic-trust-icon--secure--inverse {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    position: relative;
}

.nordic-trust-icon--shipping--inverse::before {
    content: "→";
    font-size: 14px;
    color: #ffffff;
    line-height: 1;
}

.nordic-trust-icon--returns--inverse::before {
    content: "↻";
    font-size: 14px;
    color: #ffffff;
    line-height: 1;
}

.nordic-trust-icon--secure--inverse::before {
    content: "◉";
    font-size: 12px;
    color: #ffffff;
    line-height: 1;
}

/* ==========================================
   ===== SOCIAL MEDIA ICONS =====
   ========================================== */

.nordic-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    position: relative;
    transition: all 0.2s ease;
}

.nordic-social-icon--facebook::before {
    content: "f";
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: inherit;
    line-height: 1;
}

.nordic-social-icon--instagram::before {
    content: "◉";
    font-size: 12px;
    color: inherit;
    line-height: 1;
}

.nordic-social-icon--pinterest::before {
    content: "P";
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: inherit;
    line-height: 1;
}

/* ==========================================
   ===== BENEFIT ICONS (Hero Section) =====
   ========================================== */

.nordic-benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    position: relative;
}

.nordic-benefit-icon--favorite::before {
    content: "♡";
    font-size: 14px;
    color: #666666;
    line-height: 1;
}

.nordic-benefit-icon--instant::before {
    content: "◆";
    font-size: 12px;
    color: #666666;
    line-height: 1;
}

.nordic-benefit-icon--memories::before {
    content: "○";
    font-size: 14px;
    color: #666666;
    line-height: 1;
}

/* ==========================================
   ===== INTRO SECTION ICONS =====
   ========================================== */

.nordic-intro-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    margin: 0 auto;
    position: relative;
    transition: all 0.3s ease;
}

.nordic-intro-icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.nordic-intro-icon--premium::before {
    content: "◆";
    font-size: 16px;
    color: #000000;
    line-height: 1;
}

.nordic-intro-icon--heritage::before {
    content: "○";
    font-size: 16px;
    color: #000000;
    line-height: 1;
}

.nordic-intro-icon--families::before {
    content: "+";
    font-size: 18px;
    color: #000000;
    line-height: 1;
    font-weight: 300;
}

/* ==========================================
   ===== SECTION ICONS =====
   ========================================== */

.nordic-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    position: relative;
}

.nordic-section-icon--reviews::before {
    content: "※";
    font-size: 16px;
    color: #000000;
    line-height: 1;
}

.nordic-section-icon--payment::before {
    content: "◈";
    font-size: 16px;
    color: #000000;
    line-height: 1;
}

/* ==========================================
   ===== ACCENT ICONS =====
   ========================================== */

.nordic-accent-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    position: relative;
}

.nordic-accent-icon--lightning::before {
    content: "⚡";
    font-size: 20px;
    color: #000000;
    line-height: 1;
}

/* ==========================================
   ===== ARROW ICONS =====
   ========================================== */

.nordic-arrow-icon {
    display: inline;
    position: relative;
    transition: transform 0.2s ease;
}

.nordic-arrow-icon::before {
    content: "→";
    font-size: 12px;
    color: inherit;
    line-height: 1;
}

.group:hover .nordic-arrow-icon {
    transform: translateX(2px);
}

/* ==========================================
   ===== PROFESSIONAL REVIEW SYSTEM =====
   ========================================== */

/* Review Container */
.nordic-reviews-wrapper {
    width: 100%;
    max-width: none;
}

/* Reviews List */
.commentlist {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.commentlist .comment {
    margin: 0 0 24px 0 !important;
    padding: 24px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    list-style: none !important;
    transition: all 0.2s ease !important;
}

.commentlist .comment:hover {
    border-color: #d1d1d1 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.commentlist .comment .comment {
    margin-left: 32px !important;
    margin-top: 16px !important;
    background: #fafafa !important;
    border-color: #f0f0f0 !important;
}

/* Comment Meta */
.comment-meta {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.comment-author {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.comment-author .avatar {
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    border: 2px solid #f5f5f5 !important;
}

.comment-author .fn {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    color: #000000 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

.comment-metadata {
    font-size: 12px !important;
    color: #666666 !important;
    margin-left: auto !important;
    font-family: 'Inter', sans-serif !important;
}

.comment-metadata a {
    color: #666666 !important;
    text-decoration: none !important;
}

.comment-metadata a:hover {
    color: #000000 !important;
}

/* Star Ratings */
.star-rating {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    line-height: 1 !important;
}

.star-rating span {
    color: #fbbf24 !important;
}

/* Comment Content */
.comment-text {
    color: #1a1a1a !important;
    line-height: 1.6 !important;
    font-family: 'Inter', sans-serif !important;
}

.comment-text p {
    margin: 0 0 12px 0 !important;
}

.comment-text p:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================
   ===== REVIEW FORM STYLING =====
   ========================================== */

/* Form Container */
.comment-respond {
    margin-top: 32px !important;
    padding: 32px !important;
    background: #fafafa !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
}

.comment-reply-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #000000 !important;
    margin: 0 0 24px 0 !important;
    letter-spacing: -0.01em !important;
}

/* Remove emoji from title - keep minimalistic */
.comment-reply-title::before {
    display: none !important;
}

/* Review Form Fields */
.comment-form {
    display: grid !important;
    gap: 20px !important;
}

.comment-form .comment-form-author,
.comment-form .comment-form-email {
    display: flex !important;
    flex-direction: column !important;
}

.comment-form label {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    color: #000000 !important;
    margin-bottom: 4px !important;
    font-size: 14px !important;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    color: #1a1a1a !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.comment-form input:focus,
.comment-form textarea:focus {
    outline: none !important;
    border-color: #000000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;
}

.comment-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Star Rating Form */
.comment-form-rating {
    display: flex !important;
    flex-direction: column !important;
}

.comment-form-rating label {
    margin-bottom: 8px !important;
}



.stars a.active {
    color: #fbbf24 !important;
}

.stars a::before {
    content: "★" !important;
}

/* Submit Button */
.form-submit {
    margin-top: 8px !important;
}

.form-submit #submit {
    background: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #000000 !important;
    border-radius: 4px !important;
    padding: 16px 32px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    letter-spacing: 0.5px !important;
}

.form-submit #submit:hover {
    background: #ffffff !important;
    color: #000000 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================
   ===== REVIEW STATES & MESSAGES =====
   ========================================== */

/* Review Icons */
.nordic-reviews-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    margin: 0 auto;
    position: relative;
}

.nordic-reviews-icon--disabled::before {
    content: "💬";
    font-size: 20px;
    opacity: 0.5;
    line-height: 1;
}

/* Review Awaiting Moderation */
.comment-awaiting-moderation {
    background: #fff3cd !important;
    border: 1px solid #ffeaa7 !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
    font-size: 12px !important;
    color: #856404 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Verified Purchase Badge */
.woocommerce-review__verified {
    background: #000000 !important;
    color: #ffffff !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-left: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
}

/* ==========================================
   ===== COMPONENT SYSTEM =====
   ========================================== */

/* Button Base */
.btn {
    display: inline-block;
    padding: 16px 32px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid var(--border-black);
    border-radius: 4px;
    background: var(--bg-white);
    color: var(--nordic-black);
    cursor: pointer;
    transition: var(--transition);
    text-align: center;
    line-height: 1;
    letter-spacing: 0.5px;
}

.btn:hover {
    background: var(--bg-black);
    color: var(--nordic-white);
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: var(--shadow-lg);
}

.btn-primary {
    background: var(--bg-black);
    color: var(--nordic-white);
}

.btn-primary:hover {
    background: var(--bg-white);
    color: var(--nordic-black);
}

/* Form Elements */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    border: 1px solid var(--border-gray);
    border-radius: 4px;
    background: var(--bg-white);
    color: var(--nordic-dark);
    transition: border-color 0.2s ease;
    line-height: 1.4;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--border-black);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

label {
    display: block;
    font-weight: 500;
    margin-bottom: 4px;
    color: var(--nordic-black);
    font-family: 'Inter', sans-serif;
}

/* ==========================================
   ===== RESPONSIVE SYSTEM =====
   ========================================== */

/* Tablet and below (768px) */
@media (max-width: 768px) {
    .md\:hidden { display: none !important; }
    .md\:block { display: block !important; }
    .md\:flex { display: flex !important; }
    .md\:grid { display: grid !important; }
    
    .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
    .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .md\:col-span-1 { grid-column: span 1 / span 1 !important; }
    
    .md\:flex-col { flex-direction: column !important; }
    .md\:items-center { align-items: center !important; }
    .md\:justify-center { justify-content: center !important; }
    
    .md\:text-center { text-align: center !important; }
    .md\:text-sm { font-size: var(--text-sm) !important; }
    .md\:text-lg { font-size: var(--text-lg) !important; }
    .md\:text-2xl { font-size: var(--text-2xl) !important; }
    
    .md\:p-0 { padding: 0 !important; }
    .md\:p-3 { padding: var(--space-3) !important; }
    .md\:p-4 { padding: var(--space-4) !important; }
    .md\:px-0 { padding-left: 0 !important; padding-right: 0 !important; }
    .md\:px-3 { padding-left: var(--space-3) !important; padding-right: var(--space-3) !important; }
    .md\:py-3 { padding-top: var(--space-3) !important; padding-bottom: var(--space-3) !important; }
    .md\:py-4 { padding-top: var(--space-4) !important; padding-bottom: var(--space-4) !important; }
    
    .md\:m-0 { margin: 0 !important; }
    .md\:mt-3 { margin-top: var(--space-3) !important; }
    .md\:mt-6 { margin-top: var(--space-6) !important; }
    .md\:mb-3 { margin-bottom: var(--space-3) !important; }
    
    .md\:w-full { width: 100% !important; }
    .md\:w-32 { width: 128px !important; }
    .md\:w-48 { width: 192px !important; }
    .md\:max-w-none { max-width: none !important; }
    
    .md\:gap-3 { gap: var(--space-3) !important; }
    .md\:gap-4 { gap: var(--space-4) !important; }
    
    /* Mobile Trust Icons */
    .nordic-trust-icon {
        width: 40px;
        height: 40px;
    }
    
    .nordic-trust-icon--security::before,
    .nordic-trust-icon--returns::before,
    .nordic-trust-icon--shipping::before {
        font-size: 16px;
    }
    
    /* Mobile Review Forms */
    .comment-respond {
        padding: 20px !important;
        margin-top: 24px !important;
    }
    
    .comment-reply-title {
        font-size: 18px !important;
    }
    
    .commentlist .comment {
        padding: 16px !important;
        margin-bottom: 16px !important;
    }
    
    .commentlist .comment .comment {
        margin-left: 16px !important;
    }
    
    .comment-meta {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    
    .comment-metadata {
        margin-left: 0 !important;
    }
    
    .stars {
        gap: 2px !important;
    }
    
    .stars a {
        font-size: 16px !important;
    }
}

/* Mobile (480px and below) */
@media (max-width: 480px) {
    .sm\:hidden { display: none !important; }
    .sm\:block { display: block !important; }
    .sm\:flex { display: flex !important; }
    
    .sm\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
    .sm\:flex-col { flex-direction: column !important; }
    .sm\:text-center { text-align: center !important; }
    .sm\:text-sm { font-size: var(--text-sm) !important; }
    .sm\:text-xl { font-size: var(--text-xl) !important; }
    
    .sm\:p-3 { padding: var(--space-3) !important; }
    .sm\:px-3 { padding-left: var(--space-3) !important; padding-right: var(--space-3) !important; }
    .sm\:py-3 { padding-top: var(--space-3) !important; padding-bottom: var(--space-3) !important; }
    
    .sm\:w-full { width: 100% !important; }
    .sm\:gap-3 { gap: var(--space-3) !important; }
    
    /* Tiny Mobile Adjustments */
    .form-submit #submit {
        width: 100% !important;
        padding: 14px 24px !important;
    }
    
    .comment-author .avatar {
        width: 32px !important;
        height: 32px !important;
    }
    
    .nordic-trust-icon {
        width: 36px;
        height: 36px;
    }
    
    .nordic-intro-icon {
        width: 36px;
        height: 36px;
    }
}

/* ==========================================
   ===== WOOCOMMERCE INTEGRATION =====
   ========================================== */

/* WooCommerce Buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button {
    background: var(--bg-black) !important;
    color: var(--nordic-white) !important;
    border: 1px solid var(--border-black) !important;
    border-radius: 4px !important;
    padding: 16px 24px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    transition: var(--transition) !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.woocommerce .button:hover,
.single_add_to_cart_button:hover {
    background: var(--bg-white) !important;
    color: var(--nordic-black) !important;
    transform: translateY(-1px) !important;
}

/* WooCommerce Price */
.woocommerce .price,
.price {
    font-family: 'SF Mono', monospace !important;
    color: var(--nordic-gray) !important;
    font-weight: 500 !important;
}

/* WooCommerce Tables */
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border: none;
    border-bottom: 1px solid var(--border-gray);
    padding: 16px;
    font-family: 'Inter', sans-serif;
}

.woocommerce table.shop_table th {
    background: var(--bg-light);
    font-weight: 600;
    color: var(--nordic-black);
}

/* WooCommerce Forms */
.woocommerce .form-row {
    margin-bottom: 16px !important;
}

.woocommerce .form-row label {
    font-weight: 500 !important;
    color: var(--nordic-black) !important;
    margin-bottom: 4px !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
}

.woocommerce .form-row input,
.woocommerce .form-row select,
.woocommerce .form-row textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid var(--border-gray) !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-family: 'Inter', sans-serif !important;
}

.woocommerce .form-row input:focus,
.woocommerce .form-row select:focus,
.woocommerce .form-row textarea:focus {
    outline: none !important;
    border-color: var(--border-black) !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;
}

/* WooCommerce Checkout */
.woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
}

/* WooCommerce Cart */
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
    border: none !important;
    padding: 8px 0 !important;
}

/* WooCommerce Breadcrumbs */
.woocommerce-breadcrumb {
    font-size: 14px !important;
    color: var(--nordic-gray) !important;
    margin-bottom: 16px !important;
}

.woocommerce-breadcrumb a {
    color: var(--nordic-gray) !important;
    text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
    color: var(--nordic-black) !important;
}

/* ==========================================
   ===== CUSTOM UTILITIES =====
   ========================================== */

/* Utility Colors */
.bg-green-500 { background-color: #10b981 !important; }
.text-red-600 { color: #dc2626 !important; }
.bg-red-500 { background-color: #ef4444 !important; }

/* Space utilities */
.space-y-3 > * + * { margin-top: var(--space-3) !important; }
.space-y-4 > * + * { margin-top: var(--space-4) !important; }
.space-y-6 > * + * { margin-top: var(--space-6) !important; }
.space-y-8 > * + * { margin-top: var(--space-8) !important; }

.divide-y > * + * { border-top: 1px solid var(--border-gray) !important; }

/* Prose styling for content */
.prose {
    color: var(--nordic-dark);
    line-height: 1.7;
    max-width: none;
}

.prose h1, .prose h2, .prose h3, .prose h4 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    color: var(--nordic-black);
    margin-bottom: 16px;
    line-height: 1.2;
}

.prose p {
    margin-bottom: 16px;
}

.prose ul, .prose ol {
    margin-bottom: 16px;
    padding-left: 24px;
}

.prose li {
    margin-bottom: 8px;
}

/* Min width utilities */
.min-w-0 { min-width: 0 !important; }
.min-w-48 { min-width: 192px !important; }
.min-w-32 { min-width: 128px !important; }

/* Flex shrink */
.flex-shrink-0 { flex-shrink: 0 !important; }

/* Overflow */
.overflow-hidden { overflow: hidden !important; }

/* ==========================================
   ===== ACCESSIBILITY =====
   ========================================== */

.sr-only {
    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: 0 !important;
}

/* Screen reader improvements */
.screen-reader-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
}

/* Focus states for keyboard navigation */
.comment-form input:focus,
.comment-form textarea:focus,
.stars a:focus {
    outline: 2px solid #000000 !important;
    outline-offset: 2px !important;
}

.nordic-trust-icon:focus,
.nordic-social-icon:focus {
    outline: 2px solid #000000 !important;
    outline-offset: 2px !important;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .transition { transition: none !important; }
    * { transition: none !important; }
    .btn:hover { transform: none !important; }
    .hover\:scale-105:hover { transform: none !important; }
    .hover\:scale-110:hover { transform: none !important; }
    .comment-form input,
    .comment-form textarea,
    .stars a,
    .nordic-trust-icon,
    .commentlist .comment,
    .form-submit #submit {
        transition: none !important;
    }
    .nordic-trust-icon:hover,
    .group:hover .nordic-arrow-icon {
        transform: none !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .border-gray { border-color: #000000 !important; }
    .bg-light { background-color: #ffffff !important; }
    .text-gray { color: #000000 !important; }
    .commentlist .comment {
        border-color: #000000 !important;
    }
    .nordic-trust-icon {
        border-color: #000000 !important;
    }
    .star-rating span {
        color: #000000 !important;
    }
    .stars a.active {
        color: #000000 !important;
    }
}

/* ==========================================
   ===== HEADINGS SYSTEM =====
   ========================================== */

/* Auto-apply heading font to WordPress headings */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.page-title {
    font-family: 'Playfair Display', 'Playfair Display Fallback', Georgia, serif !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--nordic-black) !important;
}

h1 { font-size: var(--text-3xl) !important; }
h2 { font-size: var(--text-2xl) !important; }
h3 { font-size: var(--text-xl) !important; }
h4 { font-size: var(--text-lg) !important; }
h5 { font-size: var(--text-base) !important; }
h6 { font-size: var(--text-sm) !important; }





/* ==========================================
   ===== THEME COMPATIBILITY =====
   ========================================== */

/* Ensure compatibility with Kadence theme */
.wp-site-blocks,
.kadence-blocks-container,
.entry-content,
.site-main {
    font-family: 'Inter', sans-serif !important;
}

/* Override any conflicting styles */
.kadence-blocks-container * {
    box-sizing: border-box !important;
}

/* WordPress admin bar compatibility */
.admin-bar .sticky {
    top: 32px !important;
}

@media (max-width: 782px) {
    .admin-bar .sticky {
        top: 46px !important;
    }
}

/* Ensure our utilities always win */
[class*="bg-"],
[class*="text-"], 
[class*="p-"],
[class*="m-"],
[class*="flex"],
[class*="grid"],
[class*="border-"] {
    box-sizing: border-box !important;
}

/* ==========================================
   ===== PERFORMANCE OPTIMIZATIONS =====
   ========================================== */

/* GPU acceleration for transforms */
.transform,
.hover\:transform:hover,
.hover\:scale-105:hover,
.hover\:scale-110:hover,
.transition,
.nordic-trust-icon,
.luxury-product-hover {
    will-change: transform !important;
}

/* Optimize font rendering */
body, 
.btn,
input,
textarea,
select {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

/* ==========================================
   ===== END OF NORDIC LUXURY SYSTEM v4.1.1 =====
   ========================================== */

/*
PROFESSIONAL NORDIC LUXURY COMPLETE SYSTEM v4.1.1:
✅ Complete utility-first system (95% of styling needs)
✅ Strategic custom components (5% for essential functionality)  
✅ Professional review system with minimalistic styling
✅ CSS-controlled trust badges (no emoji dependencies)
✅ 14-day return period updated across all locations
✅ Cross-page consistency (home + product pages)
✅ Mobile-first responsive design (320px to 1920px+)
✅ Performance optimized (single file, minimal dependencies)
✅ Future-proof architecture (extensible without modifications)
✅ Cross-browser compatibility (modern browsers + graceful degradation)
✅ Luxury micro-interactions (premium visual effects)
✅ Full accessibility compliance (WCAG guidelines)
✅ Business logic preserved (revenue systems intact)

PROFESSIONAL ENHANCEMENTS v4.1.1:
✅ Minimalistic trust icons (Security: ✓, Returns: ↻, Shipping: →)
✅ Professional review system (clean forms, star ratings, comment styling)
✅ Refined stock display (hide quantities when in stock)
✅ Cross-page icon consistency (home and product pages match)
✅ Enhanced accessibility (keyboard navigation, screen readers)
✅ Performance optimization (GPU acceleration, font rendering)

HYBRID APPROACH BENEFITS:
- Utility classes handle 95% of styling needs efficiently
- Custom CSS handles complex interactive components reliably  
- Exclusions system prevents conflicts between approaches
- Business-critical components get specialized treatment
- Development speed maintained through utility patterns
- System reliability improved through strategic exceptions
- Professional luxury effects enhance brand perception

MAINTENANCE GUIDELINES:
1. Use utilities for all new layout and styling needs
2. Add custom CSS only for complex interactive components
3. Always add new custom components to exclusions block  
4. Test for utility conflicts when adding custom CSS
5. Document reasons for custom CSS in component comments
6. Preserve business logic and revenue system styling

This system has been professionally designed for a live luxury e-commerce site
generating revenue through add-ons, dual currency, and payment filtering.
The hybrid approach balances utility-first philosophy with practical
requirements for complex interactive components and professional aesthetics.

USAGE REMINDER:
This CSS file contains everything needed for the Nordic Luxury theme.
Build layouts by combining utility classes - never modify this file.

EXCLUSIONS SYSTEM:
Custom components listed in the exclusions block use CSS instead of utilities.
This prevents conflicts while maintaining utility-first philosophy for 95% of styling.

Example utility usage:
<div class="max-w-4xl mx-auto py-8 px-4">
  <div class="grid grid-cols-3 md:grid-cols-2 gap-4 luxury-stagger-grid">
    <div class="bg-white border border-gray rounded p-4 shadow luxury-product-hover luxury-shadow-premium">
      <div class="nordic-trust-icon nordic-trust-icon--security"></div>
      Perfect Nordic component with professional trust badges!
    </div>
  </div>
</div>

Custom components (excluded from utilities):
<span class="nordic-trust-icon nordic-trust-icon--security"></span>  <!-- Professional minimalistic icon -->
<div class="addon-item"></div>  <!-- Business logic component -->
<div class="luxury-hero-text"></div>  <!-- Luxury animation effect -->
<div class="nordic-reviews-wrapper"></div>  <!-- Professional review system -->

All business logic, revenue systems, and e-commerce functionality
is preserved and enhanced with this professional hybrid utility + exclusions system.

PROFESSIONAL IMPLEMENTATION COMPLETE:
✅ Minimalistic trust badges with CSS-controlled icons
✅ Professional review system with luxury styling
✅ Cross-page consistency (home and product pages)
✅ 14-day return period updated everywhere
✅ Refined stock display (no quantity numbers when in stock)
✅ Full mobile responsiveness and accessibility
✅ Performance optimizations and luxury micro-interactions

REMEMBER: This is a complete professional system. New requirements should be met
by combining existing utilities, not by adding new CSS rules. The professional
trust badges and review system maintain luxury aesthetics while ensuring
optimal user experience and business functionality.
*/



/* ==========================================
   ===== LUXURY PRODUCT DESCRIPTIONS =====
   ========================================== */

/* Enhanced typography for product descriptions */
.woocommerce-product-details__short-description,
.product .entry-summary .woocommerce-product-details__short-description,
.single-product .entry-summary p,
.single-product .short-description {
    font-family: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #666666 !important;
    letter-spacing: 0.01em !important;
    margin-bottom: 24px !important;
}

/* Luxury product meta section enhancements */
.single-product .product-meta {
    border-top: 1px solid #e5e5e5 !important;
    padding-top: 32px !important;
    margin-top: 32px !important;
}

.single-product .product-meta .space-y-3 {
    gap: 20px !important;
}

.single-product .product-meta .flex.justify-between {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
    align-items: flex-start !important;
}

.single-product .product-meta .flex.justify-between:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.single-product .product-meta span.text-gray {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: #999999 !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
}

.single-product .product-meta span.text-black {
    font-family: 'Inter', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #1a1a1a !important;
    flex: 1 !important;
    padding-left: 16px !important;
}

.single-product .product-meta span.text-black a {
    color: #666666 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
}

.single-product .product-meta span.text-black a:hover {
    color: #000000 !important;
}

.single-product .product-meta span.text-black a::after {
    content: ", " !important;
    color: #e5e5e5 !important;
}

.single-product .product-meta span.text-black a:last-child::after {
    content: "" !important;
}

/* Social share icons luxury styling */
.single-product .product-meta .flex.gap-3 {
    gap: 16px !important;
    align-items: center !important;
}

.single-product .product-meta .flex.gap-3 a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f5f5f5 !important;
    border: 1px solid #e5e5e5 !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.single-product .product-meta .flex.gap-3 a:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

.single-product .product-meta .flex.gap-3 a:hover .nordic-social-icon::before {
    color: #ffffff !important;
}




/* ==========================================
   ===== HIDE WOOCOMMERCE STOCK NUMBERS =====
   ========================================== */

/* Hide default WooCommerce stock display that shows quantities */
.single-product .stock.in-stock,
.single-product .stock.out-of-stock,
.single-product p.stock,
.woocommerce .stock,
.woocommerce-product-details .stock {
    display: none !important;
}

/* Keep our custom stock indicator visible */
.single-product .mb-6 .flex.items-center {
    display: flex !important;
}




/* ==========================================
   ===== BREAKTHROUGH ADD-ON SYSTEM STYLING =====
   Add-ons styled as checkboxes but function as product links
   ========================================== */

/* Add-on Container - Now clickable items that trigger add-to-cart */
.addon-item {
    cursor: pointer !important;
    user-select: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
}

.addon-item:hover {
    border-color: #d1d1d1 !important;
    background: #fafafa !important;
}

.addon-item.addon-selected {
    border-color: #000000 !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

/* Custom Checkbox Styling - Visual only, not functional */
.addon-checkbox {
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #e5e5e5 !important;
    border-radius: 3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
}

.addon-selected .addon-checkbox {
    background: #000000 !important;
    border-color: #000000 !important;
}

.addon-checkbox span {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}

/* Hide the actual add/remove links (triggered via JavaScript) */
.addon-add-link,
.addon-remove-link {
    display: none !important;
}

/* Handwritten message input - show/hide based on selection */
.addon-item #handwritten_message {
    transition: all 0.3s ease !important;
    margin-top: 8px !important;
}

/* Loading states for add-on operations */
.addon-item.addon-loading {
    opacity: 0.7 !important;
    pointer-events: none !important;
}

.addon-item.addon-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 16px;
    width: 16px;
    height: 16px;
    border: 2px solid #e5e5e5;
    border-top-color: #000000;
    border-radius: 50%;
    animation: addon-spin 1s linear infinite;
    transform: translateY(-50%);
}

@keyframes addon-spin {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* Visual feedback when items are being added/removed */
.addon-item.addon-adding {
    border-color: #10b981 !important;
    background: #f0fdf4 !important;
}

.addon-item.addon-removing {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
}

/* Success states */
.addon-item.addon-added {
    animation: addon-added-flash 0.8s ease-out;
}

@keyframes addon-added-flash {
    0% { border-color: #10b981; background: #f0fdf4; }
    100% { border-color: #000000; background: #ffffff; }
}

/* Error states */
.addon-item.addon-error {
    border-color: #ef4444 !important;
    background: #fef2f2 !important;
    animation: addon-error-shake 0.5s ease-in-out;
}

@keyframes addon-error-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

/* ==========================================
   ===== ENHANCED ORDER SUMMARY STYLING =====
   Now shows service products as line items
   ========================================== */

/* Distinguish service products in order summary */
#order-summary .woocommerce-cart-form__cart-item {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

/* Style service product titles differently */
#order-summary .product-name {
    font-size: 14px !important;
    color: #000000 !important;
}

/* Highlight service products (add-ons) */
#order-summary .cart-item[data-product-type="service"] {
    background: #f8f9fa !important;
    border-left: 3px solid #000000 !important;
    padding-left: 12px !important;
    margin-left: -12px !important;
}

/* Service product pricing */
#order-summary .cart-item[data-product-type="service"] .product-price {
    font-family: 'SF Mono', monospace !important;
    color: #000000 !important;
    font-weight: 600 !important;
}

/* ==========================================
   ===== IMPROVED REAL-TIME FEEDBACK =====
   ========================================== */

/* Cart update notifications */
.cart-updated-notice {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    background: #000000 !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    z-index: 9999 !important;
    animation: slide-in-right 0.3s ease-out !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.cart-updated-notice.success {
    background: #10b981 !important;
}

.cart-updated-notice.error {
    background: #ef4444 !important;
}

.cart-updated-notice.removing {
    background: #f59e0b !important;
}

@keyframes slide-in-right {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Auto-hide notification */
.cart-updated-notice.fade-out {
    animation: fade-out 0.5s ease-out 2.5s forwards !important;
}

@keyframes fade-out {
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}

/* ==========================================
   ===== MOBILE RESPONSIVENESS =====
   ========================================== */

@media (max-width: 768px) {
    .addon-item {
        padding: 16px !important;
    }
    
    .addon-checkbox {
        width: 18px !important;
        height: 18px !important;
    }
    
    .addon-checkbox span {
        font-size: 10px !important;
    }
    
    .cart-updated-notice {
        top: 10px !important;
        right: 10px !important;
        left: 10px !important;
        width: auto !important;
        text-align: center !important;
    }
    
    #handwritten_message {
        font-size: 14px !important;
        padding: 10px 12px !important;
    }
}

@media (max-width: 480px) {
    .addon-item {
        padding: 12px !important;
    }
    
    .addon-item .flex {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    
    .addon-checkbox {
        width: 16px !important;
        height: 16px !important;
        margin-bottom: 8px !important;
    }
}

/* ==========================================
   ===== ACCESSIBILITY IMPROVEMENTS =====
   ========================================== */

/* Focus states for keyboard navigation */
.addon-item:focus {
    outline: 2px solid #000000 !important;
    outline-offset: 2px !important;
}

/* Screen reader text for add-on states */
.addon-item .sr-only {
    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: 0 !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .addon-item {
        border-color: #000000 !important;
    }
    
    .addon-checkbox {
        border-color: #000000 !important;
    }
    
    .addon-selected {
        background: #ffffff !important;
        border-color: #000000 !important;
        border-width: 3px !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .addon-item,
    .addon-checkbox,
    #handwritten_message {
        transition: none !important;
    }
    
    .addon-item.addon-loading::after {
        animation: none !important;
    }
    
    .cart-updated-notice {
        animation: none !important;
    }
    
    .addon-added,
    .addon-error {
        animation: none !important;
    }
}

/* ==========================================
   ===== INTEGRATION WITH EXISTING SYSTEM =====
   Ensure new styles work with current Nordic CSS
   ========================================== */

/* Override any conflicting utility styles */
.addon-item.addon-item {
    box-sizing: border-box !important;
}

.addon-checkbox.addon-checkbox {
    box-sizing: border-box !important;
}

/* Ensure compatibility with existing form styles */
.addon-item input[type="text"] {
    width: 100% !important;
    padding: 8px 12px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    transition: border-color 0.2s ease !important;
}

.addon-item input[type="text"]:focus {
    outline: none !important;
    border-color: #000000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;
}

/* Ensure proper spacing with existing utility classes */
.addon-item .font-medium {
    margin-bottom: 4px !important;
}

.addon-item .text-sm {
    margin-bottom: 8px !important;
}

.addon-item .font-mono {
    margin-top: 4px !important;
}



/* ==========================================
   ===== PERFORMANCE OPTIMIZATIONS =====
   ========================================== */

/* GPU acceleration for smooth animations */
.addon-item,
.addon-checkbox,
.cart-updated-notice {
    will-change: transform !important;
    transform: translateZ(0) !important;
}

/* Optimize transitions */
.addon-item {
    contain: layout style !important;
}

/* Preload common states */
.addon-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    pointer-events: none;
    z-index: -1;
}

/* ==========================================
   ===== PRINT STYLES =====
   ========================================== */

@media print {
    .addon-item {
        border: 1px solid #000000 !important;
        background: #ffffff !important;
        break-inside: avoid !important;
    }
    
    .addon-selected .addon-checkbox {
        background: #000000 !important;
    }
    
    .addon-checkbox span {
        color: #ffffff !important;
    }
    
    .cart-updated-notice {
        display: none !important;
    }
}

/* Cart buttons + free-ship bar */
.woocommerce-cart .button,
.woocommerce-cart .wp-element-button{
  display:inline-flex;align-items:center;justify-content:center;
  text-align:center;height:44px;padding:0 18px;border-radius:12px;
}
.woocommerce-cart .button[disabled],
.woocommerce-cart .wp-element-button[disabled]{opacity:.6}
.nordic-free-ship{margin:16px 0;background:#fff;border:1px solid #ececec;border-radius:14px;padding:14px}
.nordic-free-ship .nfs-text{font-weight:600;margin-bottom:10px}
.nordic-free-ship .nfs-bar{height:10px;background:#eee;border-radius:999px;overflow:hidden}
.nordic-free-ship .nfs-fill{height:100%;transition:width .3s ease}








/* Cart: center Proceed button */
.woocommerce-cart .wc-proceed-to-checkout{display:flex;justify-content:center}
.woocommerce-cart .checkout-button{display:inline-flex;margin:0}

/* Cart: Update bag button – white w/ black text */
.woocommerce-cart .button[name="update_cart"],
.woocommerce-cart .wp-element-button[name="update_cart"]{
  background:#fff;color:#111;border:1px solid #ddd
}
.woocommerce-cart .button[name="update_cart"]:hover,
.woocommerce-cart .wp-element-button[name="update_cart"]:hover{
  background:#f7f7f7;color:#111
}

/* Cart: remove (×) should be black, not red */
.woocommerce-cart a.remove,
.woocommerce a.remove{color:#000 !important;background:transparent !important}
.woocommerce-cart a.remove:hover{background:#f3f3f3 !important}

/* Cart: shipping note styling */
.nordic-shipping-note{color:#555;font-weight:500}




/* Center the Proceed button */
.woocommerce-cart .wc-proceed-to-checkout{ float:none !important; display:flex; justify-content:center }
.woocommerce-cart a.checkout-button{ display:inline-flex; margin:0 auto }

/* Make the remove “×” black (not red) */
.woocommerce a.remove{ background:transparent !important; color:#000 !important; border:0 !important }
.woocommerce a.remove:hover{ background:#f3f3f3 !important; color:#000 !important }

/* Hide destination text on Cart */
.woocommerce-cart p.woocommerce-shipping-destination,
.woocommerce-cart .woocommerce-shipping-calculator{ display:none !important }

/* Ensure “Update bag” is white with black text */
.woocommerce-cart .button[name="update_cart"],
.woocommerce-cart .wp-element-button[name="update_cart"]{ background:#fff; color:#111; border:1px solid #ddd }
.woocommerce-cart .button[name="update_cart"]:hover,
.woocommerce-cart .wp-element-button[name="update_cart"]:hover{ background:#f7f7f7; color:#111 }




/* Free-shipping bar fill color */
.nordic-free-ship .nfs-fill{
  background:#000;        /* make progress visible */
  border-radius:999px;    /* smooth ends */
  height:100%;
}




/* Force black remove “×” on Cart (wins over theme/plugins) */
.woocommerce-cart table.shop_table .product-remove a.remove,
.woocommerce-cart table.shop_table .product-remove a.remove:link,
.woocommerce-cart table.shop_table .product-remove a.remove:visited,
.woocommerce-cart table.shop_table .product-remove a.remove:hover,
.woocommerce-cart table.shop_table .product-remove a.remove:focus {
  color:#000 !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
}





/* Cart: full-width Proceed button, centered text */
.woocommerce-cart .wc-proceed-to-checkout{ display:block; margin-top:16px }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .wp-element-button{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:60px; padding:0 24px;
  border-radius:14px; text-align:center; font-weight:600; letter-spacing:.2px;
}
@media (max-width:768px){
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button,
  .woocommerce-cart .wc-proceed-to-checkout .wp-element-button{ height:56px }
}





/* Force larger icons for hamburger & magnifying glass */
.site-header .mobile-menu-label svg,
.site-header .header-search-toggle svg {
  width: 36px !important;
  height: 36px !important;
}

@media (min-width: 1024px) {
  .site-header .mobile-menu-label svg,
  .site-header .header-search-toggle svg {
    width: 40px !important;
    height: 40px !important;
  }
}




/* Bigger hit area and bigger SVGs for primary controls */
.site-header .mobile-menu-label,
.site-header .header-search-toggle {
  width: 56px !important;
  height: 56px !important;
}

.site-header .mobile-menu-label svg,
.site-header .header-search-toggle svg {
  width: 36px !important;
  height: 36px !important;
}




/* Hand-Drawn SVG Pictograms for Trust & Confidence and Trending Now (2025–2026) */
/* Base class for all pictograms */
.nordic-trust-icon {
    display: inline-block;
    width: 24px; /* Mobile size (320px–480px) */
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease; /* Smooth scaling for hover/tap */
}

/* Scale icons for tablet/desktop */
@media (min-width: 768px) {
    .nordic-trust-icon {
        width: 32px; /* Desktop size (1024px+) */
        height: 32px;
    }
}

/* Premium Quality: Hand-drawn crown with soft curves and pearl dots */
.nordic-trust-icon--premium {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_CROWN_SVG]");
}

/* Secure Checkout: Heart-shaped lock with ribbon-like shank */
.nordic-trust-icon--secure {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_HEART_LOCK_SVG]");
}

/* 14-Day Returns: Looping gift ribbon with flourishes */
.nordic-trust-icon--returns {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_RIBBON_SVG]");
}

/* Free Shipping: Delicate van with starburst */
.nordic-trust-icon--shipping {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_VAN_SVG]");
}

/* Trending Now: Glowing star with irregular rays */
.nordic-trust-icon--trending {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_STAR_SVG]");
}

/* Interactivity for hover/tap, aligned with luxury-product-hover */
.nordic-trust-icon.luxury-product-hover:hover,
.nordic-trust-icon.luxury-product-hover:focus {
    transform: scale(1.05); /* Subtle scaling for engagement */
}




/* Hand-Drawn SVG Pictograms for Trust & Confidence and Trending Now (2025–2026) */
/* Base class for all pictograms */
.nordic-trust-icon {
    display: inline-block;
    width: 24px; /* Mobile size (320px–480px) */
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease; /* Smooth scaling for hover/tap */
}

/* Scale icons for tablet/desktop */
@media (min-width: 768px) {
    .nordic-trust-icon {
        width: 32px; /* Desktop size (1024px+) */
        height: 32px;
    }
}

/* Premium Quality: Hand-drawn crown with soft curves and pearl dots */
.nordic-trust-icon--premium {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_CROWN_SVG]");
}

/* Secure Checkout: Heart-shaped lock with ribbon-like shank */
.nordic-trust-icon--secure {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_HEART_LOCK_SVG]");
}

/* 14-Day Returns: Looping gift ribbon with flourishes */
.nordic-trust-icon--returns {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_RIBBON_SVG]");
}

/* Free Shipping: Delicate van with starburst */
.nordic-trust-icon--shipping {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_VAN_SVG]");
}

/* Trusted by Families: Group of three hearts with soft curves */
.nordic-trust-icon--families {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDE4QzEyLjMgMTguNiAxMi45IDE5IDEzLjUgMTlDMTQuMSAxOSAxNC43IDE4LjYgMTUgMThDOCAxOC41IDcgMTcuNSA3IDE2LjVDNyAxNS41IDguNSAxNC45IDEwLjUgMTQuNUMxMi41IDE0LjkgMTQgMTUuNSAxNCAxNi41QzE0IDE3LjUgMTIuOSAxOCAxMiAxOCIgZmlsbD0iI0Y1RjBFNiIvPgo8cGF0aCBkPSJNMTIgMThDMTIuMyAxOC42IDEyLjkgMTkgMTMuNSAxOUMxNC4xIDE5IDE0LjcgMTguNiAxNSAxOE05IDE4LjUgNyAxNy41IDcgMTYuNSA3IDE1LjUgOC41IDE0LjkgMTAuNSAxNC41IDEyLjUgMTQuOSAxNCAxNS41IDE0IDE2LjUgMTIuOSAxOCAxMiAxOCIgc3Ryb2tlPSIjNEEzNzI4IiBzdHJva2Utd2lkdGg9IjEiLz4KPHBhdGggZD0iTTYgMTBDNi4zIDEwLjYgNi45IDExIDcuNSAxMUM4LjEgMTEgOC43IDEwLjYgOSAxMEM0IDEwLjUgMyA5LjUgMyA4LjVDMyA3LjUgNC41IDYuOSA2LjUgNi41IDguNSA2LjkgMTAgNy41IDEwIDguNUMxMCA5LjUgOC45IDEwIDYgMTAiIGZpbGw9IiNGNUYwRTYiLz4KPHBhdGggZD0iTTYgMTBDNi4zIDEwLjYgNi45IDExIDcuNSAxMUM4LjEgMTEgOC43IDEwLjYgOSAxMEw1IDEwLjUgMyA5LjUgMyA4LjUgMyA3LjUgNC41IDYuOSA2LjUgNi41IDguNSA2LjkgMTAgNy41IDEwIDguNSAxMCA5LjUgOC45IDEwIDYgMTAiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+CjxwYXRoIGQ9Ik0xOCAxMEMxOC4zIDEwLjYgMTguOSAxMSAxOS41IDExQzIwLjEgMTEgMjAuNyAxMC42IDIxIDEwTDE2IDEwLjUgMTUgOS41IDE1IDguNSAxNSA3LjUgMTYuNSA2LjkgMTguNSA2LjUgMjAuNSA2LjkgMjIgNy41IDIyIDguNSAyMiA5LjUgMjAuOSAxMCAxOCAxMCIgZmlsbD0iI0Y1RjBFNiIvPgo8cGF0aCBkPSJNMTggMTBDMTguMyAxMC42IDE4LjkgMTEgMTkuNSAxMUMyMC4xIDExIDIwLjcgMTAuNiAyMSAxMEwxNiAxMC41IDE1IDkuNSAxNSA4LjUgMTUgNy41IDE2LjUgNi45IDE4LjUgNi41IDIwLjUgNi45IDIyIDcuNSAyMiA4LjUgMjIgOS41IDIwLjkgMTAgMTggMTAiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+Cjwvc3ZnPgo=");
}

/* CE Certified: Stylized CE badge with rounded square */
.nordic-trust-icon--ce {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiByeD0iNCIgZmlsbD0iI0Y1RjBFNiIvPgo8cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHJ4PSI0IiBzdHJva2U9IiM0QTM3MjgiIHN0cm9rZS13aWR0aD0iMSIvPgo8cGF0aCBkPSJNMTAgOEMxMC4zIDguNiAxMC45IDkgMTEuNSA5QzEyLjEgOSAxMi43IDguNiAxMyA4QzggOC41IDcgNy41IDcgNi41QzcgNS41IDguNSA0LjkgMTAuNSA0LjVDMTIuNSA0LjkgMTQgNS41IDE0IDYuNUMxNCA3LjUgMTIuOSAxMCAxMCA4IiBmaWxsPSIjRDlDOEI5Ii8+CjxwYXRoIGQ9Ik0xMCA4QzEwLjMgOC42IDEwLjkgOSAxMS41IDlDMTIuMSA5IDEyLjcgOC42IDEzIDhDOCA4LjUgNyA3LjUgNyA2LjUgNyA1LjUgOC41IDQuOSAxMC41IDQuNSAxMi41IDQuOSAxNCA1LjUgMTQgNi41IDE0IDcuNSAxMi45IDEwIDEwIDgiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+CjxwYXRoIGQ9Ik0xNC41IDE2QzE0LjUgMTYuOCAxNS4xIDE3LjUgMTYgMTcuNUMxNi45IDE3LjUgMTcuNSAxNi44IDE3LjUgMTZDMTcuNSAxNS4yIDE2LjkgMTQuNSAxNiAxNC41QzE1LjEgMTQuNSAxNC41IDE1LjIgMTQuNSAxNiIgZmlsbD0iI0Q5QzhhOSIvPgo8cGF0aCBkPSJNMTQuNSAxNkMxNC41IDE2LjggMTUuMSAxNy41IDE2IDE3LjVDMTYuOSAxNy41IDE3LjUgMTYuOCAxNy41IDE2QzE3LjUgMTUuMiAxNi45IDE0LjUgMTYgMTQuNUMxNS4xIDE0LjUgMTQuNSAxNS4yIDE0LjUgMTYiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+Cjwvc3ZnPgo=");
}

/* Trending Now: Glowing star with irregular rays */
.nordic-trust-icon--trending {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_STAR_SVG]");
}

/* Interactivity for hover/tap, aligned with luxury-product-hover */
.nordic-trust-icon.luxury-product-hover:hover,
.nordic-trust-icon.luxury-product-hover:focus {
    transform: scale(1.05); /* Subtle scaling for engagement */
}




/* Hand-Drawn SVG Pictograms for Trust & Confidence and Trending Now (2025–2026) */
/* Base class for all pictograms */
.nordic-trust-icon {
    display: inline-block;
    width: 24px; /* Mobile size (320px–480px) */
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease; /* Smooth scaling for hover/tap */
}

/* Scale icons for tablet/desktop */
@media (min-width: 768px) {
    .nordic-trust-icon {
        width: 32px; /* Desktop size (1024px+) */
        height: 32px;
    }
}

/* Premium Quality: Hand-drawn crown with soft curves and pearl dots */
.nordic-trust-icon--premium {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_CROWN_SVG]");
}

/* Secure Checkout: Heart-shaped lock with ribbon-like shank */
.nordic-trust-icon--secure {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_HEART_LOCK_SVG]");
}

/* 14-Day Returns: Looping gift ribbon with flourishes */
.nordic-trust-icon--returns {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_RIBBON_SVG]");
}

/* Free Shipping: Delicate van with starburst */
.nordic-trust-icon--shipping {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_VAN_SVG]");
}

/* Trusted by Families: Group of three hearts with soft curves */
.nordic-trust-icon--families {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDE4QzEyLjMgMTguNiAxMi45IDE5IDEzLjUgMTlDMTQuMSAxOSAxNC43IDE4LjYgMTUgMThDOCAxOC41IDcgMTcuNSA3IDE2LjVDNyAxNS41IDguNSAxNC45IDEwLjUgMTQuNUMxMi41IDE0LjkgMTQgMTUuNSAxNCAxNi41QzE0IDE3LjUgMTIuOSAxOCAxMiAxOCIgZmlsbD0iI0Y1RjBFNiIvPgo8cGF0aCBkPSJNMTIgMThDMTIuMyAxOC42IDEyLjkgMTkgMTMuNSAxOUMxNC4xIDE5IDE0LjcgMTguNiAxNSAxOE05IDE4LjUgNyAxNy41IDcgMTYuNSA3IDE1LjUgOC41IDE0LjkgMTAuNSAxNC41IDEyLjUgMTQuOSAxNCAxNS41IDE0IDE2LjUgMTIuOSAxOCAxMiAxOCIgc3Ryb2tlPSIjNEEzNzI4IiBzdHJva2Utd2lkdGg9IjEiLz4KPHBhdGggZD0iTTYgMTBDNi4zIDEwLjYgNi45IDExIDcuNSAxMUM4LjEgMTEgOC43IDEwLjYgOSAxMEM0IDEwLjUgMyA5LjUgMyA4LjVDMyA3LjUgNC41IDYuOSA2LjUgNi41IDguNSA2LjkgMTAgNy41IDEwIDguNUMxMCA5LjUgOC45IDEwIDYgMTAiIGZpbGw9IiNGNUYwRTYiLz4KPHBhdGggZD0iTTYgMTBDNi4zIDEwLjYgNi45IDExIDcuNSAxMUM4LjEgMTEgOC43IDEwLjYgOSAxMEw1IDEwLjUgMyA5LjUgMyA4LjUgMyA3LjUgNC41IDYuOSA2LjUgNi41IDguNSA2LjkgMTAgNy41IDEwIDguNSAxMCA5LjUgOC45IDEwIDYgMTAiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+CjxwYXRoIGQ9Ik0xOCAxMEMxOC4zIDEwLjYgMTguOSAxMSAxOS41IDExQzIwLjEgMTEgMjAuNyAxMC42IDIxIDEwTDE2IDEwLjUgMTUgOS41IDE1IDguNSAxNSA3LjUgMTYuNSA2LjkgMTguNSA2LjUgMjAuNSA2LjkgMjIgNy41IDIyIDguNSAyMiA5LjUgMjAuOSAxMCAxOCAxMCIgZmlsbD0iI0Y1RjBFNiIvPgo8cGF0aCBkPSJNMTggMTBDMTguMyAxMC42IDE4LjkgMTEgMTkuNSAxMUMyMC4xIDExIDIwLjcgMTAuNiAyMSAxMEwxNiAxMC41IDE1IDkuNSAxNSA4LjUgMTUgNy41IDE2LjUgNi45IDE4LjUgNi41IDIwLjUgNi45IDIyIDcuNSAyMiA4LjUgMjIgOS41IDIwLjkgMTAgMTggMTAiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+Cjwvc3ZnPgo=");
}

/* CE Certified: Stylized CE badge with rounded square */
.nordic-trust-icon--ce {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiByeD0iNCIgZmlsbD0iI0Y1RjBFNiIvPgo8cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHJ4PSI0IiBzdHJva2U9IiM0QTM3MjgiIHN0cm9rZS13aWR0aD0iMSIvPgo8cGF0aCBkPSJNMTAgOEMxMC4zIDguNiAxMC45IDkgMTEuNSA5QzEyLjEgOSAxMi43IDguNiAxMyA4QzggOC41IDcgNy41IDcgNi41QzcgNS41IDguNSA0LjkgMTAuNSA0LjVDMTIuNSA0LjkgMTQgNS41IDE0IDYuNUMxNCA3LjUgMTIuOSAxMCAxMCA4IiBmaWxsPSIjRDlDOEI5Ii8+CjxwYXRoIGQ9Ik0xMCA4QzEwLjMgOC42IDEwLjkgOSAxMS41IDlDMTIuMSA5IDEyLjcgOC42IDEzIDhDOCA4LjUgNyA3LjUgNyA2LjUgNyA1LjUgOC41IDQuOSAxMC41IDQuNSAxMi41IDQuOSAxNCA1LjUgMTQgNi41IDE0IDcuNSAxMi45IDEwIDEwIDgiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+CjxwYXRoIGQ9Ik0xNC41IDE2QzE0LjUgMTYuOCAxNS4xIDE3LjUgMTYgMTcuNUMxNi45IDE3LjUgMTcuNSAxNi44IDE3LjUgMTZDMTcuNSAxNS4yIDE2LjkgMTQuNSAxNiAxNC41QzE1LjEgMTQuNSAxNC41IDE1LjIgMTQuNSAxNiIgZmlsbD0iI0Q5QzhhOSIvPgo8cGF0aCBkPSJNMTQuNSAxNkMxNC41IDE2LjggMTUuMSAxNy41IDE2IDE3LjVDMTYuOSAxNy41IDE3LjUgMTYuOCAxNy41IDE2QzE3LjUgMTUuMiAxNi45IDE0LjUgMTYgMTQuNUMxNS4xIDE0LjUgMTQuNSAxNS4yIDE0LjUgMTYiIHN0cm9rZT0iIzRBMzcyOCIgc3Ryb2tlLXdpZHRoPSIxIi8+Cjwvc3ZnPgo=");
}

/* Trending Now: Glowing star with irregular rays */
.nordic-trust-icon--trending {
    background-image: url("data:image/svg+xml;base64,[BASE64_ENCODED_STAR_SVG]");
}

/* Interactivity for hover/tap, aligned with luxury-product-hover */
.nordic-trust-icon.luxury-product-hover:hover,
.nordic-trust-icon.luxury-product-hover:focus {
    transform: scale(1.05); /* Subtle scaling for engagement */
}

/* Luxurious Hero Badge for "Exclusive Retailer of Marshyellow" */
.luxury-hero-badge {
    background-color: #D9C8A9; /* luxury-taupe */
    border: 1px solid #4A3728; /* luxury-warm-charcoal */
    box-shadow: 0 2px 4px rgba(74, 55, 40, 0.1); /* luxury-shadow-warm */
    border-radius: 8px;
    padding: 8px 12px;
    font-family: 'Playfair Display', serif; /* font-heading */
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.luxury-hero-badge:hover,
.luxury-hero-badge:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(74, 55, 40, 0.2); /* Enhanced luxury-shadow-warm */
}

@media (min-width: 768px) {
    .luxury-hero-badge {
        padding: 12px 16px;
    }
}