/* ============================================
   TEESKULL - Custom T-Shirt Brand
   Gen Z Streetwear eCommerce
   ============================================ */

/* ---------- CSS Variables ---------- */
:root {
  --blue: #10ABD6;
  --blue-dark: #0d95b8;
  --blue-light: rgba(16,171,214,0.12);
  --gold: #F9AF16;
  --gold-dark: #e09c10;
  --gold-light: rgba(249,175,22,0.12);
  --orange: #EE6923;
  --orange-dark: #d45a18;
  --orange-light: rgba(238,105,35,0.12);
  --black: #373737;
  --black-deep: #1a1a1a;
  --bg-dark: #0f1117;
  --gray: #C6C8C5;
  --gray-light: #d9dad7;
  --gray-lighter: #e8e9e7;
  --white: #ffffff;
  --bg: #C6C8C5;
  --bg-alt: #d0d2cf;
  --card-bg: #ffffff;
  --text: #373737;
  --text-secondary: #6b6e6a;
  --text-muted: #9a9d99;
  --border: #b0b2af;
  --border-light: #d9dad7;
  --success: #22c55e;
  --danger: #ef4444;
  --shadow-sm: 0 2px 8px rgba(55,55,55,0.06);
  --shadow: 0 4px 24px rgba(55,55,55,0.1);
  --shadow-lg: 0 12px 40px rgba(55,55,55,0.14);
  --shadow-xl: 0 24px 60px rgba(55,55,55,0.18);
  --shadow-blue: 0 8px 30px rgba(16,171,214,0.25);
  --shadow-orange: 0 8px 30px rgba(238,105,35,0.25);
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;
  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  --transition-bounce: all 0.5s cubic-bezier(0.34,1.56,0.64,1);
  --font-primary: 'Space Grotesk', 'Inter', -apple-system, sans-serif;
  --font-heading: 'Space Grotesk', 'Inter', sans-serif;
  --font-accent: 'Permanent Marker', cursive;
  --nav-height: 70px;
}

[data-theme="dark"] {
  --bg: #1a1a1a;
  --bg-alt: #222222;
  --card-bg: #242424;
  --text: #e8e8e8;
  --text-secondary: #a0a0a0;
  --text-muted: #666666;
  --border: #333333;
  --border-light: #2a2a2a;
  --gray: #333333;
  --gray-light: #3a3a3a;
  --gray-lighter: #444444;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.2);
  --shadow: 0 4px 24px rgba(0,0,0,0.3);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.4);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height)+16px)}
body{font-family:var(--font-primary);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;transition:background 0.4s ease,color 0.4s ease;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit;transition:var(--transition)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
button{cursor:pointer;border:none;outline:none;font-family:inherit}
input,select,textarea{font-family:inherit;outline:none}

::selection{background:var(--blue);color:#fff}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--blue);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--blue-dark)}

/* ---------- Loader ---------- */
.page-loader{position:fixed;inset:0;background:var(--black-deep);z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity 0.6s ease,visibility 0.6s ease}
.page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none;display:none}
.loader-logo{font-family:var(--font-accent);font-size:2.5rem;color:var(--blue);animation:pulse 1.5s ease-in-out infinite}
.loader-bar{width:120px;height:3px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden}
.loader-bar::after{content:'';display:block;width:40%;height:100%;background:linear-gradient(90deg,var(--blue),var(--orange));border-radius:2px;animation:loaderSlide 1s ease-in-out infinite}
@keyframes loaderSlide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}

/* ---------- Toast ---------- */
.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.custom-toast{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);min-width:300px;transform:translateX(120%);transition:var(--transition);font-size:0.9rem;font-weight:500}
.custom-toast.show{transform:translateX(0)}
.custom-toast.success{border-left:4px solid var(--success)}
.custom-toast.error{border-left:4px solid var(--danger)}
.custom-toast.info{border-left:4px solid var(--blue)}
.custom-toast .toast-icon{font-size:1.2rem}
.custom-toast.success .toast-icon{color:var(--success)}
.custom-toast.error .toast-icon{color:var(--danger)}
.custom-toast.info .toast-icon{color:var(--blue)}
.custom-toast .toast-close{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:4px}

/* ---------- Navbar ---------- */
.navbar-main{
  position:sticky;top:0;z-index:1050;background:rgba(198,200,197,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-light);height:var(--nav-height);display:flex;align-items:center;transition:var(--transition);
}
[data-theme="dark"] .navbar-main{background:rgba(26,26,26,0.9)}
.navbar-main.scrolled{box-shadow:var(--shadow)}

.navbar-brand{display:flex;align-items:center;gap:8px;font-family:var(--font-accent);font-size:1.5rem;font-weight:900;color:var(--black);letter-spacing:1px}
[data-theme="dark"] .navbar-brand{color:#fff}
.navbar-brand .brand-dot{width:10px;height:10px;border-radius:50%;background:var(--blue);display:inline-block;animation:dotBounce 2s ease-in-out infinite}
@keyframes dotBounce{0%,100%{transform:scale(1)}50%{transform:scale(1.4)}}
.navbar-brand .brand-accent{color:var(--orange)}

.nav-links{display:flex;align-items:center;gap:2px}
.nav-links .nav-link{padding:8px 16px;border-radius:var(--radius-full);font-size:0.88rem;font-weight:600;color:var(--text);transition:var(--transition);position:relative}
.nav-links .nav-link:hover{background:var(--blue-light);color:var(--blue)}
.nav-links .nav-link.active{background:var(--blue);color:#fff}

.nav-search{position:relative;flex:1;max-width:320px;margin:0 20px}
.nav-search form{width:100%;position:relative;display:block;margin:0}
.nav-search input{width:100%;padding:10px 44px 10px 18px;border:2px solid var(--border-light);border-radius:var(--radius-full);background:var(--card-bg);font-size:0.88rem;color:var(--text);transition:var(--transition)}
.nav-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-light)}
.nav-search button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;transition:var(--transition)}
.nav-search button:hover{background:var(--blue-dark)}

.nav-actions{display:flex;align-items:center;gap:4px}
.nav-action-btn{position:relative;width:42px;height:42px;border-radius:50%;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:var(--transition)}
.nav-action-btn:hover{background:var(--blue-light);color:var(--blue)}
.nav-action-btn .badge-count{position:absolute;top:2px;right:2px;width:18px;height:18px;background:var(--orange);color:#fff;border-radius:50%;font-size:0.65rem;display:flex;align-items:center;justify-content:center;font-weight:700}
.nav-action-btn .cart-count{display:none}

.theme-toggle{width:42px;height:42px;border-radius:50%;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:var(--transition);border:none;cursor:pointer}
.theme-toggle:hover{background:var(--gold-light);color:var(--gold)}

/* Mobile menu */
.offcanvas-custom{max-width:320px;background:var(--card-bg)}
.offcanvas-custom .offcanvas-header{border-bottom:1px solid var(--border-light);padding:1rem 1.25rem}
.offcanvas-custom .offcanvas-body{padding:1rem 1.25rem}
.offcanvas-custom .mobile-nav-link{display:flex;align-items:center;gap:12px;padding:12px 0;color:var(--text);font-weight:500;border-bottom:1px solid var(--border-light);font-size:0.95rem;transition:var(--transition)}
.offcanvas-custom .mobile-nav-link:hover{color:var(--blue)}
.offcanvas-custom .mobile-nav-link i{width:20px;text-align:center;color:var(--blue)}

/* ---------- Page Hero (inner pages) ---------- */
.page-hero{background:linear-gradient(135deg,var(--bg-dark) 0%,#1a2744 50%,var(--bg-dark) 100%);padding:100px 0 50px;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-120px;right:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(16,171,214,0.12) 0%,transparent 70%);pointer-events:none}
.page-hero-tag{font-size:0.82rem;color:var(--blue);margin-bottom:8px;font-weight:600;letter-spacing:2px;text-transform:uppercase}
.page-hero-title{font-family:var(--font-heading);font-size:2.8rem;font-weight:900;margin-bottom:12px;color:#fff;line-height:1.1;letter-spacing:-0.5px}
.page-hero-desc{color:rgba(255,255,255,0.55);max-width:520px;margin:0 auto;font-size:1rem;line-height:1.65}
.page-hero-desc a{color:var(--blue);font-weight:600}
.page-hero .breadcrumb .breadcrumb-item a{color:var(--blue)}
.page-hero .breadcrumb .breadcrumb-item.active{color:rgba(255,255,255,0.5)}
.page-hero .breadcrumb .breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,0.35)}
.inner-page-section{padding:40px 0 80px}
.page-heading{font-size:1.8rem;margin-bottom:32px;font-weight:900}
.page-heading-meta{font-size:0.9rem;color:var(--text-muted);font-family:var(--font-primary);font-weight:400}
.breadcrumb-bar{padding:14px 0;background:var(--card-bg);border-bottom:1px solid var(--border-light)}

/* ---------- HERO ---------- */
.hero-section{position:relative;min-height:92vh;display:flex;align-items:center;background:var(--black-deep);overflow:hidden}

.hero-bg-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:0.3;animation:shapeFloat 8s ease-in-out infinite}
.hero-shape.s1{width:400px;height:400px;background:var(--blue);top:-100px;right:-80px;animation-delay:0s}
.hero-shape.s2{width:300px;height:300px;background:var(--orange);bottom:-80px;left:-60px;animation-delay:2s}
.hero-shape.s3{width:250px;height:250px;background:var(--gold);top:50%;left:40%;animation-delay:4s}
@keyframes shapeFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-20px) scale(1.05)}66%{transform:translate(-15px,15px) scale(0.95)}}

.hero-content{position:relative;z-index:3;max-width:620px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-full);padding:8px 20px;font-size:0.8rem;font-weight:600;color:#fff;margin-bottom:24px;letter-spacing:0.5px}
.hero-badge .badge-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:pulse 1.5s ease-in-out infinite}

.hero-content h1{font-size:3.8rem;font-family:var(--font-heading);font-weight:900;color:#fff;line-height:1.05;margin-bottom:20px;letter-spacing:-1px}
.hero-content h1 .text-blue{color:var(--blue)}
.hero-content h1 .text-orange{color:var(--orange)}
.hero-content h1 .text-gold{color:var(--gold)}
.hero-content h1 .text-stroke{-webkit-text-stroke:2px var(--blue);color:transparent}

.hero-content p{font-size:1.1rem;color:rgba(255,255,255,0.6);margin-bottom:32px;line-height:1.7;max-width:480px}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}

.hero-image-area{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.hero-tshirt-display{position:relative;width:100%;max-width:440px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.hero-tshirt-display .tshirt-glow{position:absolute;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(16,171,214,0.2) 0%,transparent 70%);animation:pulse 3s ease-in-out infinite}
.hero-tshirt-display .tshirt-placeholder{position:relative;width:280px;height:320px;background:linear-gradient(135deg,var(--blue) 0%,var(--orange) 100%);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-blue);animation:float 4s ease-in-out infinite}
.hero-tshirt-display .tshirt-placeholder i{font-size:6rem;color:rgba(255,255,255,0.3)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}

.hero-floating-tag{position:absolute;background:var(--card-bg);border-radius:var(--radius);padding:12px 18px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);animation:float 5s ease-in-out infinite;font-size:0.85rem;font-weight:600;z-index:4}
.hero-floating-tag.ft1{top:15%;right:-10%;animation-delay:1s}
.hero-floating-tag.ft2{bottom:20%;left:-5%;animation-delay:2.5s}
.hero-floating-tag .ft-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.9rem;color:#fff}

.hero-scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,0.4);font-size:0.75rem;letter-spacing:2px;text-transform:uppercase}
.hero-scroll-indicator .scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,0.4),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:0.3;transform:scaleY(0.5)}}

/* ---------- Buttons ---------- */
.btn-blue{background:var(--blue);color:#fff;border:none;padding:13px 32px;border-radius:var(--radius-full);font-weight:700;font-size:0.9rem;letter-spacing:0.3px;transition:var(--transition-bounce);display:inline-flex;align-items:center;gap:8px}
.btn-blue:hover{background:var(--blue-dark);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-blue)}

.btn-orange{background:var(--orange);color:#fff;border:none;padding:13px 32px;border-radius:var(--radius-full);font-weight:700;font-size:0.9rem;transition:var(--transition-bounce);display:inline-flex;align-items:center;gap:8px}
.btn-orange:hover{background:var(--orange-dark);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-orange)}

.btn-gold{background:var(--gold);color:var(--black);border:none;padding:13px 32px;border-radius:var(--radius-full);font-weight:700;font-size:0.9rem;transition:var(--transition-bounce);display:inline-flex;align-items:center;gap:8px}
.btn-gold:hover{background:var(--gold-dark);color:var(--black);transform:translateY(-3px);box-shadow:0 8px 25px rgba(249,175,22,0.35)}

.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.3);padding:12px 32px;border-radius:var(--radius-full);font-weight:700;font-size:0.9rem;transition:var(--transition-bounce);display:inline-flex;align-items:center;gap:8px}
.btn-outline-white:hover{background:#fff;color:var(--black);border-color:#fff}

.btn-outline-blue{background:transparent;color:var(--blue);border:2px solid var(--blue);padding:12px 32px;border-radius:var(--radius-full);font-weight:700;font-size:0.9rem;transition:var(--transition-bounce);display:inline-flex;align-items:center;gap:8px}
.btn-outline-blue:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}

.btn-dark{background:var(--black);color:#fff;border:none;padding:13px 32px;border-radius:var(--radius-full);font-weight:700;font-size:0.9rem;transition:var(--transition-bounce);display:inline-flex;align-items:center;gap:8px}
[data-theme="dark"] .btn-dark{background:#fff;color:var(--black)}
.btn-dark:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}

/* ---------- Section Headers ---------- */
.section-tag{display:inline-flex;align-items:center;gap:8px;background:var(--blue-light);color:var(--blue);padding:6px 16px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
.section-title{font-size:2.4rem;font-family:var(--font-heading);font-weight:900;color:var(--text);line-height:1.15;margin-bottom:12px;letter-spacing:-0.5px}
.section-subtitle{color:var(--text-secondary);font-size:1rem;max-width:520px;line-height:1.7}
.section-header{text-align:center;margin-bottom:3.5rem}
.section-header .section-subtitle{margin:12px auto 0}

/* ---------- Featured Products ---------- */
.products-section{padding:90px 0;background:var(--card-bg)}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}

.product-card{background:var(--card-bg);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-bounce);position:relative;border:1px solid var(--border-light)}
.product-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--blue)}

.product-card .product-image{position:relative;height:300px;background:var(--gray-lighter);overflow:hidden}
.product-card .product-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.product-card:hover .product-image img{transform:scale(1.05)}

.product-card .product-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2}
.product-badge{padding:5px 12px;border-radius:var(--radius-full);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}
.product-badge.sale{background:var(--orange);color:#fff}
.product-badge.new{background:var(--blue);color:#fff}
.product-badge.hot{background:var(--gold);color:var(--black)}
.product-badge.custom{background:var(--black);color:#fff}

.product-card .product-actions{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:8px;transform:translateX(60px);opacity:0;transition:var(--transition);z-index:2}
.product-card:hover .product-actions{transform:translateX(0);opacity:1}
.product-action-btn{width:38px;height:38px;border-radius:50%;background:var(--card-bg);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:0.85rem;box-shadow:var(--shadow-sm);transition:var(--transition)}
.product-action-btn:hover{background:var(--blue);color:#fff}

.product-card .product-colors{position:absolute;bottom:12px;left:12px;display:flex;gap:6px;z-index:3;opacity:0;transform:translateY(10px);transition:var(--transition);pointer-events:none}
.product-card:hover .product-colors{opacity:1;transform:translateY(0);bottom:54px;pointer-events:auto}
.product-color-dot{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,0.2);cursor:pointer;transition:var(--transition);flex-shrink:0;transform-origin:center}
.product-color-dot:hover{transform:scale(1.15)}

.product-card .quick-actions{position:absolute;bottom:0;left:0;right:0;background:rgba(16,171,214,0.95);backdrop-filter:blur(4px);color:#fff;text-align:center;padding:12px 16px;font-size:0.85rem;font-weight:700;transform:translateY(100%);transition:var(--transition);letter-spacing:0.5px;display:flex;align-items:center;justify-content:center;gap:8px;z-index:4;min-height:44px;line-height:1.2}
.product-card:hover .quick-actions{transform:translateY(0)}

.product-card .product-info{padding:18px}
.product-card .product-name{font-size:1rem;font-weight:700;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card .product-rating{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.product-card .product-rating .stars{color:var(--gold);font-size:0.8rem}
.product-card .product-rating .rating-count{font-size:0.78rem;color:var(--text-muted)}
.product-card .product-price{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.product-card .product-price .current{font-size:1.2rem;font-weight:800;color:var(--blue)}
.product-card .product-price .original{font-size:0.88rem;color:var(--text-muted);text-decoration:line-through}
.product-card .product-price .discount{font-size:0.75rem;color:var(--orange);font-weight:700;background:var(--orange-light);padding:3px 8px;border-radius:var(--radius-full)}

.product-card .card-buttons{display:flex;gap:8px;align-items:stretch}
.product-card .card-btn{padding:11px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:0.82rem;text-align:center;transition:var(--transition-bounce);display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;white-space:nowrap;line-height:1}
.product-card .card-btn.primary{flex:1 1 auto;min-width:0;background:var(--blue);color:#fff}
.product-card .card-btn.primary:hover{background:var(--blue-dark)}
.product-card .card-btn.secondary{flex:0 0 auto;width:44px;padding:11px 0;background:transparent;color:var(--blue);border:2px solid var(--blue)}
.product-card .card-btn.secondary:hover{background:var(--blue);color:#fff}

/* ---------- Categories ---------- */
.categories-section{padding:90px 0;background:var(--bg)}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.category-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;height:240px;cursor:pointer;transition:var(--transition-bounce);background:var(--card-bg);border:2px solid transparent}
.category-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.category-card .category-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;transition:var(--transition)}
.category-card:hover .category-bg{transform:scale(1.1) rotate(5deg)}
.category-card .category-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(55,55,55,0.85) 0%,rgba(55,55,55,0.1) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px}
.category-card .category-name{color:#fff;font-weight:800;font-size:1.05rem;margin-bottom:4px}
.category-card .category-count{color:rgba(255,255,255,0.6);font-size:0.78rem}
.category-card .category-icon{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.85rem;opacity:0;transform:translate(10px,-10px);transition:var(--transition)}
.category-card:hover .category-icon{opacity:1;transform:translate(0,0)}

/* ---------- Customizer ---------- */
.customizer-section{padding:90px 0;background:var(--black-deep);color:#fff;position:relative;overflow:hidden}
.customizer-section::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(16,171,214,0.1) 0%,transparent 70%)}
.customizer-section .section-tag{background:rgba(16,171,214,0.15);color:var(--blue)}
.customizer-section .section-title{color:#fff}
.customizer-section .section-subtitle{color:rgba(255,255,255,0.5)}

.customizer-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.customizer-preview{position:sticky;top:100px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-xl);padding:40px;display:flex;align-items:center;justify-content:center;min-height:500px}
.tshirt-canvas{position:relative;width:300px;height:360px;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl)}
.tshirt-canvas .tshirt-body{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}
.tshirt-canvas .tshirt-shape{position:absolute;inset:0}
.tshirt-canvas .tshirt-design-area{position:relative;z-index:2;width:180px;height:200px;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(0,0,0,0.1);border-radius:8px;font-size:0.8rem;color:#aaa;text-align:center;padding:10px}
.tshirt-canvas .tshirt-design-area.has-design{border:none}
.tshirt-canvas .design-text{font-size:1.2rem;font-weight:900;text-align:center;word-break:break-word;max-width:100%}
.tshirt-canvas .design-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}
.tshirt-canvas .design-svg{width:100%;height:100%}

.customizer-controls{display:flex;flex-direction:column;gap:20px}
.control-group{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:20px}
.control-group h4{font-size:0.9rem;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;color:var(--blue)}

.color-picker-grid{display:flex;gap:10px;flex-wrap:wrap}
.color-pick{width:36px;height:36px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:var(--transition);position:relative}
.color-pick:hover,.color-pick.active{border-color:#fff;transform:scale(1.15)}
.color-pick.active::after{content:'\f00c';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.7rem;font-weight:700}

.size-grid{display:flex;gap:8px;flex-wrap:wrap}
.size-btn{width:44px;height:44px;border:2px solid rgba(255,255,255,0.15);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;cursor:pointer;transition:var(--transition);background:transparent;color:#fff}
.size-btn:hover,.size-btn.active{border-color:var(--blue);background:var(--blue);color:#fff}

.style-options{display:flex;gap:10px;flex-wrap:wrap}
.style-btn{padding:8px 18px;border:2px solid rgba(255,255,255,0.15);border-radius:var(--radius-full);font-size:0.82rem;font-weight:600;cursor:pointer;transition:var(--transition);background:transparent;color:#fff}
.style-btn:hover,.style-btn.active{border-color:var(--gold);background:var(--gold);color:var(--black)}

.customizer-input{width:100%;padding:12px 16px;border:2px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);background:rgba(255,255,255,0.05);color:#fff;font-size:0.9rem;transition:var(--transition)}
.customizer-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(16,171,214,0.15)}
.customizer-input::placeholder{color:rgba(255,255,255,0.3)}

.customizer-select{width:100%;padding:12px 16px;border:2px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);background:rgba(255,255,255,0.05);color:#fff;font-size:0.9rem;cursor:pointer;appearance:none;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='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.customizer-select option{background:var(--black);color:#fff}

.upload-area{border:2px dashed rgba(255,255,255,0.15);border-radius:var(--radius);padding:30px;text-align:center;cursor:pointer;transition:var(--transition);position:relative}
.upload-area:hover{border-color:var(--blue);background:rgba(16,171,214,0.05)}
.upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-area i{font-size:2rem;color:var(--blue);margin-bottom:8px;display:block}
.upload-area p{font-size:0.85rem;color:rgba(255,255,255,0.4)}
.upload-area .upload-hint{font-size:0.75rem;color:rgba(255,255,255,0.25);margin-top:4px}

.text-input-group{display:flex;gap:8px}
.text-input-group input{flex:1}

/* ---------- Why Choose Us ---------- */
.why-section{padding:90px 0;background:var(--card-bg)}
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.why-card{background:var(--bg);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;transition:var(--transition-bounce);border:2px solid transparent;position:relative;overflow:hidden}
.why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--blue);transform:scaleX(0);transition:var(--transition);transform-origin:left}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--blue)}
.why-card:hover::before{transform:scaleX(1)}
.why-card .why-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 16px;transition:var(--transition)}
.why-card:hover .why-icon{transform:scale(1.1) rotate(-5deg)}
.why-card h4{font-size:1rem;font-weight:800;margin-bottom:8px}
.why-card p{font-size:0.85rem;color:var(--text-secondary);line-height:1.6}

/* ---------- Testimonials ---------- */
.testimonials-section{padding:90px 0;background:var(--bg)}
.testimonial-slider{overflow:hidden;position:relative}
.testimonial-track{display:flex;gap:24px;transition:transform 0.5s ease}
.testimonial-card{min-width:380px;max-width:380px;background:var(--card-bg);border-radius:var(--radius-lg);padding:32px;border:1px solid var(--border-light);transition:var(--transition);flex-shrink:0}
.testimonial-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.testimonial-card .testimonial-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.testimonial-card .testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--blue);font-size:1.1rem}
.testimonial-card .testimonial-name{font-weight:700;font-size:0.95rem}
.testimonial-card .testimonial-role{font-size:0.78rem;color:var(--text-muted)}
.testimonial-card .testimonial-stars{color:var(--gold);font-size:0.85rem;margin-bottom:14px}
.testimonial-card .testimonial-text{font-size:0.9rem;color:var(--text-secondary);line-height:1.7;font-style:italic;position:relative;padding-left:20px}
.testimonial-card .testimonial-text::before{content:'"';position:absolute;left:0;top:-4px;font-size:1.8rem;color:var(--blue);font-family:var(--font-accent)}
.testimonial-nav{display:flex;justify-content:center;gap:10px;margin-top:30px}
.testimonial-nav button{width:42px;height:42px;border-radius:50%;border:2px solid var(--border);background:var(--card-bg);color:var(--text);display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.testimonial-nav button:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}

/* ---------- Stats / Counters ---------- */
.stats-section{padding:80px 0;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 50%,#0a7a99 100%);color:#fff;position:relative;overflow:hidden}
.stats-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,0.05)}
.stats-section::after{content:'';position:absolute;bottom:-100px;left:-100px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,0.03)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;position:relative;z-index:2}
.stat-item{padding:20px}
.stat-item .stat-icon{font-size:2rem;margin-bottom:10px;opacity:0.8}
.stat-item .stat-number{font-size:2.8rem;font-weight:900;line-height:1;margin-bottom:6px}
.stat-item .stat-label{font-size:0.88rem;opacity:0.7;font-weight:500}

/* ---------- Special Offers ---------- */
.offers-section{padding:90px 0;background:var(--card-bg)}
.offer-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.offer-card{border-radius:var(--radius-xl);padding:40px;color:#fff;position:relative;overflow:hidden;min-height:260px;display:flex;flex-direction:column;justify-content:center}
.offer-card.offer-blue{background:linear-gradient(135deg,var(--blue) 0%,#0a7a99 100%)}
.offer-card.offer-orange{background:linear-gradient(135deg,var(--orange) 0%,#c44a0f 100%)}
.offer-card.offer-gold{background:linear-gradient(135deg,var(--gold) 0%,var(--orange) 100%)}
.offer-card::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,0.08)}
.offer-card::after{content:'';position:absolute;bottom:-80px;right:20%;width:250px;height:250px;border-radius:50%;border:30px solid rgba(255,255,255,0.04)}
.offer-card .offer-badge{display:inline-block;background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);padding:6px 16px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:700;margin-bottom:14px;letter-spacing:0.5px}
.offer-card h3{font-size:1.8rem;font-weight:900;margin-bottom:10px;line-height:1.1}
.offer-card p{font-size:0.9rem;opacity:0.8;margin-bottom:20px;max-width:320px}
.offer-countdown{display:flex;gap:10px;margin-bottom:24px}
.offer-countdown .cd-box{background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);border-radius:var(--radius-sm);padding:10px 14px;text-align:center;min-width:56px}
.offer-countdown .cd-num{font-size:1.4rem;font-weight:900;display:block;line-height:1}
.offer-countdown .cd-label{font-size:0.6rem;text-transform:uppercase;letter-spacing:1px;opacity:0.6;margin-top:4px;display:block}

/* ---------- Instagram / UGC Gallery ---------- */
.gallery-section{padding:90px 0;background:var(--bg)}
.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:1;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-item .gallery-overlay{position:absolute;inset:0;background:rgba(16,171,214,0.8);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:var(--transition);gap:8px}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-item .gallery-overlay i{font-size:1.5rem;color:#fff}
.gallery-item .gallery-overlay span{font-size:0.78rem;color:#fff;font-weight:600}

/* ---------- Newsletter ---------- */
.newsletter-section{padding:70px 0;background:linear-gradient(135deg,var(--black-deep) 0%,#1a1a2e 100%);color:#fff;position:relative;overflow:hidden}
.newsletter-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(16,171,214,0.15) 0%,transparent 70%)}
.newsletter-content{position:relative;z-index:2;text-align:center;max-width:520px;margin:0 auto}
.newsletter-content h2{color:#fff;margin-bottom:10px}
.newsletter-content p{color:rgba(255,255,255,0.5);margin-bottom:28px}
.newsletter-form{display:flex;gap:0;max-width:460px;margin:0 auto;border-radius:var(--radius-full);overflow:hidden;border:2px solid rgba(255,255,255,0.1)}
.newsletter-form input{flex:1;padding:14px 24px;border:none;background:rgba(255,255,255,0.05);color:#fff;font-size:0.9rem}
.newsletter-form input::placeholder{color:rgba(255,255,255,0.3)}
.newsletter-form input:focus{background:rgba(255,255,255,0.1)}
.newsletter-form button{padding:14px 32px;background:var(--blue);color:#fff;border:none;font-weight:700;font-size:0.9rem;transition:var(--transition);white-space:nowrap;cursor:pointer}
.newsletter-form button:hover{background:var(--blue-dark)}

/* ---------- Footer ---------- */
.footer{background:var(--black-deep);color:rgba(255,255,255,0.6);padding:60px 0 0}
.footer h5{color:#fff;font-size:0.95rem;font-weight:800;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-primary)}
.footer-brand{font-family:var(--font-accent);font-size:1.5rem;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.footer-brand .brand-dot{width:8px;height:8px;border-radius:50%;background:var(--blue)}
.footer-brand .brand-accent{color:var(--orange)}
.footer-about{font-size:0.88rem;line-height:1.7;margin-bottom:20px}
.footer-links li{margin-bottom:10px}
.footer-links a{color:rgba(255,255,255,0.5);font-size:0.88rem;transition:var(--transition);display:flex;align-items:center;gap:6px}
.footer-links a:hover{color:var(--blue);padding-left:4px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);transition:var(--transition)}
.footer-social a:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding:20px 0;margin-top:40px;font-size:0.82rem;color:rgba(255,255,255,0.3)}
.footer-payments{display:flex;gap:10px}
.footer-payments i{font-size:1.5rem;color:rgba(255,255,255,0.3);transition:var(--transition)}
.footer-payments i:hover{color:rgba(255,255,255,0.6)}

/* ---------- Back to Top ---------- */
.back-to-top{position:fixed;bottom:30px;right:30px;width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:var(--shadow-blue);opacity:0;visibility:hidden;transform:translateY(20px);transition:var(--transition);z-index:1000}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--blue-dark);transform:translateY(-3px);color:#fff}

/* ---------- Animations ---------- */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-in{opacity:0;transition:opacity 0.6s ease}
.fade-in.visible{opacity:1}
.slide-left{opacity:0;transform:translateX(-40px);transition:opacity 0.6s ease,transform 0.6s ease}
.slide-left.visible{opacity:1;transform:translateX(0)}
.slide-right{opacity:0;transform:translateX(40px);transition:opacity 0.6s ease,transform 0.6s ease}
.slide-right.visible{opacity:1;transform:translateX(0)}

/* ---------- Product Detail ---------- */
.product-detail-section{padding:60px 0}
.product-detail-gallery{position:sticky;top:100px}
.product-main-image{border-radius:var(--radius-lg);overflow:hidden;background:var(--gray-lighter);margin-bottom:12px;aspect-ratio:1;position:relative}
.product-main-image img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:var(--transition)}
.product-thumbnails{display:flex;gap:10px}
.product-thumb{width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid var(--border-light);cursor:pointer;transition:var(--transition);opacity:0.6}
.product-thumb.active,.product-thumb:hover{border-color:var(--blue);opacity:1}
.product-thumb img{width:100%;height:100%;object-fit:cover}

.product-detail-info .detail-category{font-size:0.8rem;color:var(--blue);text-transform:uppercase;font-weight:700;letter-spacing:1px;margin-bottom:8px}
.product-detail-info h1{font-size:1.8rem;margin-bottom:12px;font-weight:900}
.detail-rating{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.detail-rating .stars{color:var(--gold)}
.detail-rating .review-count{color:var(--text-secondary);font-size:0.88rem}
.detail-price{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.detail-price .current{font-size:2rem;font-weight:900;color:var(--blue)}
.detail-price .original{font-size:1.1rem;color:var(--text-muted);text-decoration:line-through}
.detail-price .discount{font-size:0.85rem;color:var(--orange);font-weight:700;background:var(--orange-light);padding:4px 10px;border-radius:var(--radius-full)}
.detail-description{color:var(--text-secondary);line-height:1.7;margin-bottom:24px;border-bottom:1px solid var(--border-light);padding-bottom:24px}

.detail-options{margin-bottom:24px}
.detail-options label{font-weight:700;font-size:0.9rem;margin-bottom:10px;display:block}
.size-options{display:flex;gap:10px;flex-wrap:wrap}
.size-option{width:44px;height:44px;border:2px solid var(--border-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:700;cursor:pointer;transition:var(--transition)}
.size-option:hover,.size-option.active{border-color:var(--blue);background:var(--blue);color:#fff}
.size-option.disabled{opacity:0.3;cursor:not-allowed;text-decoration:line-through}

.color-options{display:flex;gap:10px;flex-wrap:wrap}
.color-option,.detail-color-option{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:var(--transition);outline:2px solid transparent;outline-offset:2px;flex-shrink:0}
.color-option:hover,.color-option.active,.detail-color-option:hover,.detail-color-option.active{outline-color:var(--blue)}

.quantity-selector{display:flex;align-items:center;border:2px solid var(--border-light);border-radius:var(--radius-sm);width:fit-content}
.quantity-selector button{width:44px;height:44px;background:var(--bg);border:none;font-size:1.1rem;color:var(--text);transition:var(--transition);cursor:pointer}
.quantity-selector button:hover{background:var(--blue);color:#fff}
.quantity-selector input{width:60px;height:44px;border:none;text-align:center;font-size:1rem;font-weight:700;background:var(--card-bg);color:var(--text)}

.detail-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.detail-actions .btn-blue{flex:1;justify-content:center;padding:14px}
.detail-actions .btn-wishlist{width:50px;height:50px;border-radius:var(--radius-sm);border:2px solid var(--border-light);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:var(--transition);flex-shrink:0;cursor:pointer}
.detail-actions .btn-wishlist:hover{border-color:var(--danger);color:var(--danger)}

.detail-tabs{border-top:1px solid var(--border-light);padding-top:32px;margin-top:32px}
.detail-tabs .nav-tabs{border-bottom:2px solid var(--border-light)}
.detail-tabs .nav-tabs .nav-link{color:var(--text-secondary);font-weight:700;border:none;padding:12px 24px;font-size:0.9rem;position:relative;transition:var(--transition)}
.detail-tabs .nav-tabs .nav-link.active{color:var(--blue);background:transparent;border:none}
.detail-tabs .nav-tabs .nav-link.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--blue)}
.detail-tabs .tab-content{padding:24px 0}
.detail-tabs .tab-content p{color:var(--text-secondary);line-height:1.8}

.spec-table{width:100%}
.spec-table tr{border-bottom:1px solid var(--border-light)}
.spec-table td{padding:12px 0;font-size:0.9rem}
.spec-table td:first-child{font-weight:700;color:var(--text);width:40%}

/* ---------- Cart Page ---------- */
.cart-section{padding:60px 0}
.cart-item{display:flex;gap:20px;padding:20px;background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border-light);margin-bottom:16px;transition:var(--transition)}
.cart-item:hover{box-shadow:var(--shadow-sm)}
.cart-item .cart-item-image{width:120px;height:120px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--gray-lighter)}
.cart-item .cart-item-image img{width:100%;height:100%;object-fit:cover}
.cart-item .cart-item-info{flex:1}
.cart-item .cart-item-title{font-weight:700;margin-bottom:4px}
.cart-item .cart-item-variant{font-size:0.82rem;color:var(--text-muted);margin-bottom:12px}
.cart-item .cart-item-price{font-weight:800;color:var(--blue);font-size:1.05rem}
.cart-item .cart-item-remove{background:none;border:none;color:var(--text-muted);transition:var(--transition);font-size:0.82rem;display:flex;align-items:center;gap:4px;margin-top:8px;cursor:pointer}
.cart-item .cart-item-remove:hover{color:var(--danger)}

.cart-summary{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:28px;position:sticky;top:100px}
.cart-summary h4{font-size:1.1rem;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:0.9rem}
.summary-row.total{font-size:1.1rem;font-weight:800;padding-top:16px;margin-top:8px;border-top:2px solid var(--border-light)}
.summary-row .discount{color:var(--success)}
.coupon-form{display:flex;gap:8px;margin:16px 0}
.coupon-form input{flex:1;padding:10px 14px;border:2px solid var(--border-light);border-radius:var(--radius-sm);font-size:0.85rem;background:var(--bg);color:var(--text)}
.coupon-form input:focus{border-color:var(--blue)}
.coupon-form button{padding:10px 20px;background:var(--blue);color:#fff;border-radius:var(--radius-sm);font-weight:700;font-size:0.85rem;transition:var(--transition);white-space:nowrap;cursor:pointer;border:none}
.coupon-form button:hover{background:var(--blue-dark)}

/* ---------- Checkout ---------- */
.checkout-section{padding:60px 0}
.checkout-progress{display:flex;justify-content:center;margin-bottom:48px}
.checkout-step{display:flex;align-items:center;gap:10px}
.checkout-step .step-number{width:36px;height:36px;border-radius:50%;background:var(--gray-lighter);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;transition:var(--transition)}
.checkout-step.active .step-number{background:var(--blue);color:#fff}
.checkout-step.completed .step-number{background:var(--success);color:#fff}
.checkout-step .step-label{font-size:0.85rem;font-weight:600;color:var(--text-muted)}
.checkout-step.active .step-label{color:var(--text)}
.checkout-step.completed .step-label{color:var(--success)}
.checkout-step .step-line{width:80px;height:2px;background:var(--border-light);margin:0 16px}
.checkout-step.completed .step-line{background:var(--success)}

.checkout-form{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px}
.checkout-form h4{font-size:1.1rem;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:10px}
.checkout-form h4 i{color:var(--blue)}

.form-group{margin-bottom:18px}
.form-group label{font-weight:700;font-size:0.85rem;margin-bottom:6px;display:block}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid var(--border-light);border-radius:var(--radius-sm);font-size:0.9rem;background:var(--card-bg);color:var(--text);transition:var(--transition)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light)}
.form-group textarea{resize:vertical;min-height:100px}

.payment-option{border:2px solid var(--border-light);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:var(--transition);background:var(--card-bg)}
.payment-option:hover{border-color:var(--blue)}
.payment-option.active{border-color:var(--blue);background:var(--blue-light)}
.payment-option input[type="radio"]{accent-color:var(--blue);width:18px;height:18px}
.payment-option .payment-label{font-weight:700;font-size:0.9rem}
.payment-option .payment-desc{font-size:0.78rem;color:var(--text-muted)}
.payment-option i{font-size:1.5rem;color:var(--blue);margin-left:auto}

/* ---------- Filter / Sort ---------- */
.sort-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:14px 20px}
.sort-bar .result-count{font-size:0.9rem;color:var(--text-secondary)}
.sort-bar .result-count strong{color:var(--text)}
.sort-bar .sort-label{font-size:0.85rem;font-weight:600;color:var(--text-secondary);margin:0}
.sort-bar select{padding:9px 34px 9px 14px;border:2px solid var(--border-light);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);font-size:0.85rem;font-weight:600;cursor:pointer;appearance:none;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='%2310ABD6' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.sort-bar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light)}

/* Active filter chips */
.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.active-filters:empty{display:none}
.filter-chip{display:inline-flex;align-items:center;gap:8px;background:var(--blue-light);color:var(--blue);border-radius:var(--radius-full);padding:6px 14px;font-size:0.8rem;font-weight:600;cursor:pointer;transition:var(--transition);text-transform:capitalize}
.filter-chip:hover{background:var(--blue);color:#fff}
.filter-chip i{font-size:0.75rem}
.chip-clear{background:none;border:none;color:var(--text-muted);font-size:0.8rem;font-weight:600;text-decoration:underline;cursor:pointer;padding:6px 4px}
.chip-clear:hover{color:var(--danger)}

/* Mobile filter toggle */
.filter-toggle-mobile{display:none;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px;font-weight:700;font-size:0.9rem;margin-bottom:20px}
.filter-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1055;opacity:0;visibility:hidden;transition:var(--transition)}
.filter-overlay.show{opacity:1;visibility:visible}

/* No results empty state */
.no-results{text-align:center;padding:60px 20px;color:var(--text-secondary)}
.no-results i{font-size:3rem;color:var(--text-muted);margin-bottom:18px}
.no-results h4{font-size:1.2rem;font-weight:800;color:var(--text);margin-bottom:8px}
.no-results p{font-size:0.9rem;margin-bottom:20px}

.pagination-custom{display:flex;justify-content:center;gap:6px;margin-top:32px}
.pagination-custom .page-btn{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:var(--card-bg);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:0.88rem;font-weight:600;transition:var(--transition);cursor:pointer}
.pagination-custom .page-btn:hover,.pagination-custom .page-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ---------- Filter Sidebar ---------- */
.filter-sidebar{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px;position:sticky;top:90px}
.filter-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}
.filter-sidebar-header h5{font-size:1rem;margin:0;font-weight:800;display:flex;align-items:center;gap:8px}
.filter-sidebar-header h5 i{color:var(--blue);font-size:0.9rem}
.filter-clear{background:none;border:none;color:var(--blue);font-size:0.8rem;font-weight:600;cursor:pointer;padding:0}
.filter-clear:hover{text-decoration:underline}

.filter-group{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border-light)}
.filter-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.filter-title{font-size:0.82rem;font-weight:800;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px;color:var(--text)}

.filter-search{position:relative}
.filter-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:0.85rem}
.filter-search input{width:100%;padding:10px 14px 10px 38px;border:2px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:0.85rem;transition:var(--transition)}
.filter-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light)}

.filter-check{display:flex;align-items:center;gap:10px;font-size:0.88rem;cursor:pointer;margin-bottom:10px;color:var(--text-secondary);transition:var(--transition);user-select:none}
.filter-check:last-child{margin-bottom:0}
.filter-check:hover{color:var(--text)}
.filter-check input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}
.filter-check .checkmark{width:20px;height:20px;border:2px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition);background:var(--card-bg)}
.filter-check .checkmark::after{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;font-size:0.62rem;color:#fff;opacity:0;transition:var(--transition)}
.filter-check input:checked~.checkmark{background:var(--blue);border-color:var(--blue)}
.filter-check input:checked~.checkmark::after{opacity:1}
.filter-check input:focus-visible~.checkmark{box-shadow:0 0 0 3px var(--blue-light)}
.filter-check .filter-count{margin-left:auto;font-size:0.75rem;color:var(--text-muted);background:var(--bg);border-radius:var(--radius-full);padding:1px 8px}

.filter-colors{display:flex;flex-wrap:wrap;gap:10px}
.filter-color-swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--border-light);cursor:pointer;position:relative;transition:var(--transition);padding:0}
.filter-color-swatch:hover{transform:scale(1.12)}
.filter-color-swatch.active{outline:2px solid var(--blue);outline-offset:2px;border-color:#fff}
.filter-color-swatch.active::after{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:0.65rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.6)}

/* Filter sidebar as mobile drawer */
@media(max-width:991px){
  .filter-toggle-mobile{display:flex}
  .shop-layout .filter-sidebar{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;border-radius:0;z-index:1060;overflow-y:auto;transform:translateX(-100%);transition:transform 0.3s ease;box-shadow:var(--shadow-xl)}
  .shop-layout .filter-sidebar.open{transform:translateX(0)}
  .shop-layout aside{position:static}
}

/* ---------- Blog ---------- */
.blog-section{padding:90px 0;background:var(--card-bg)}
.blog-card{background:var(--card-bg);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light);transition:var(--transition-bounce);height:100%}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.blog-card .blog-image{height:220px;overflow:hidden;position:relative;background:var(--gray-lighter)}
.blog-card .blog-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.blog-card:hover .blog-image img{transform:scale(1.05)}
.blog-card .blog-date{position:absolute;bottom:16px;left:16px;background:var(--orange);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:0.75rem;font-weight:700}
.blog-card .blog-info{padding:24px}
.blog-card .blog-category{font-size:0.75rem;color:var(--blue);text-transform:uppercase;font-weight:700;letter-spacing:1px;margin-bottom:8px}
.blog-card .blog-title{font-size:1.1rem;font-weight:800;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card .blog-excerpt{font-size:0.88rem;color:var(--text-secondary);margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card .blog-meta{display:flex;align-items:center;gap:16px;font-size:0.78rem;color:var(--text-muted)}
.blog-card .blog-meta span{display:flex;align-items:center;gap:4px}

/* ---------- Responsive ---------- */
@media(max-width:1199px){
  .hero-content h1{font-size:3rem}
  .customizer-wrapper{grid-template-columns:1fr}
  .customizer-preview{position:relative;top:0}
}
@media(max-width:991px){
  .navbar-main{height:64px}
  .nav-search{max-width:220px}
  .hero-section{min-height:auto;padding:80px 0}
  .hero-content h1{font-size:2.5rem}
  .hero-image-area{display:none}
  .category-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .offer-cards{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .footer{padding:40px 0 0}
  .testimonial-card{min-width:300px;max-width:300px}
}
@media(max-width:767px){
  .nav-search{display:none}
  .page-hero{padding:80px 0 40px}
  .page-hero-title{font-size:2rem}
  .hero-section{padding:60px 0}
  .hero-content h1{font-size:2rem}
  .hero-content p{font-size:0.95rem}
  .section-title{font-size:1.8rem}
  .products-section,.categories-section,.customizer-section,.why-section,.testimonials-section,.offers-section,.gallery-section,.newsletter-section,.blog-section{padding:60px 0}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .product-card .product-image{height:200px}
  .product-card .product-info{padding:12px}
  .product-card .product-actions{display:none}
  .category-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .category-card{height:180px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item .stat-number{font-size:2rem}
  .gallery-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .testimonial-card{min-width:280px;max-width:280px;padding:24px}
  .offer-cards{grid-template-columns:1fr}
  .newsletter-form{flex-direction:column;border-radius:var(--radius)}
  .newsletter-form input{border-radius:0}
  .newsletter-form button{border-radius:0}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero-floating-tag{display:none}
  .why-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .why-card{padding:24px 16px}
  .detail-actions{flex-direction:column}
  .detail-actions .btn-blue{width:100%}
}
@media(max-width:575px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .category-card{height:150px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:1fr}
  .hero-content h1{font-size:1.7rem}
  .back-to-top{bottom:20px;right:20px;width:42px;height:42px}
}

/* ============================================
   DARK MODE - Comprehensive Overrides
   ============================================ */

[data-theme="dark"] body{background:#111111;color:#e0e0e0}
[data-theme="dark"] ::selection{background:var(--blue);color:#fff}
[data-theme="dark"] ::-webkit-scrollbar-track{background:#111}

/* Navbar */
[data-theme="dark"] .navbar-main{background:rgba(17,17,17,0.92);border-bottom-color:#222}
[data-theme="dark"] .navbar-main.scrolled{background:rgba(17,17,17,0.97)}
[data-theme="dark"] .navbar-brand{color:#fff}
[data-theme="dark"] .nav-links .nav-link{color:#bbb}
[data-theme="dark"] .nav-links .nav-link:hover{background:rgba(16,171,214,0.12);color:var(--blue)}
[data-theme="dark"] .nav-links .nav-link.active{background:var(--blue);color:#fff}
[data-theme="dark"] .nav-search input{background:#1a1a1a;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .nav-search input::placeholder{color:#666}
[data-theme="dark"] .nav-search input:focus{border-color:var(--blue);background:#1a1a1a}
[data-theme="dark"] .nav-action-btn{color:#bbb}
[data-theme="dark"] .nav-action-btn:hover{background:rgba(16,171,214,0.12);color:var(--blue)}
[data-theme="dark"] .theme-toggle{color:#bbb}
[data-theme="dark"] .theme-toggle:hover{background:rgba(249,175,22,0.12);color:var(--gold)}
[data-theme="dark"] .offcanvas-custom{background:#1a1a1a}
[data-theme="dark"] .offcanvas-custom .offcanvas-header{border-bottom-color:#333}
[data-theme="dark"] .offcanvas-custom .offcanvas-body .form-control{background:#222;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .offcanvas-custom .mobile-nav-link{color:#ccc;border-bottom-color:#282828}
[data-theme="dark"] .offcanvas-custom .mobile-nav-link:hover{color:var(--blue)}
[data-theme="dark"] .offcanvas-custom .mobile-nav-link i{color:var(--blue)}
[data-theme="dark"] .btn-close{filter:invert(1)}

/* Hero */
[data-theme="dark"] .hero-floating-tag{background:#222;border-color:#333;box-shadow:0 4px 20px rgba(0,0,0,0.4)}

/* Products */
[data-theme="dark"] .products-section{background:#1a1a1a}
[data-theme="dark"] .product-card{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .product-card:hover{border-color:var(--blue);box-shadow:0 12px 40px rgba(0,0,0,0.5)}
[data-theme="dark"] .product-card .product-image{background:#252525}
[data-theme="dark"] .product-card .product-info{background:#1e1e1e}
[data-theme="dark"] .product-card .product-name{color:#e0e0e0}
[data-theme="dark"] .product-card .product-action-btn{background:#2a2a2a;color:#ccc}
[data-theme="dark"] .product-card .product-action-btn:hover{background:var(--blue);color:#fff}
[data-theme="dark"] .product-card .card-btn.secondary{border-color:var(--blue);color:var(--blue)}
[data-theme="dark"] .product-card .card-btn.secondary:hover{background:var(--blue);color:#fff}
[data-theme="dark"] .sort-bar .result-count{color:#999}
[data-theme="dark"] .sort-bar select{background:#1e1e1e;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .pagination-custom .page-btn{background:#1e1e1e;border-color:#333;color:#ccc}
[data-theme="dark"] .pagination-custom .page-btn:hover,.pagination-custom .page-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Categories */
[data-theme="dark"] .categories-section{background:#111}
[data-theme="dark"] .category-card{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .category-card:hover{border-color:var(--blue);box-shadow:0 12px 40px rgba(0,0,0,0.5)}

/* Why Choose Us */
[data-theme="dark"] .why-section{background:#1a1a1a}
[data-theme="dark"] .why-card{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .why-card:hover{border-color:var(--blue);box-shadow:0 12px 40px rgba(0,0,0,0.5)}
[data-theme="dark"] .why-card::before{background:var(--blue)}
[data-theme="dark"] .why-card h4{color:#e0e0e0}
[data-theme="dark"] .why-card p{color:#999}

/* Testimonials */
[data-theme="dark"] .testimonials-section{background:#111}
[data-theme="dark"] .testimonial-card{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .testimonial-card:hover{box-shadow:0 12px 40px rgba(0,0,0,0.5)}
[data-theme="dark"] .testimonial-card .testimonial-text{color:#aaa}
[data-theme="dark"] .testimonial-card .testimonial-text::before{color:var(--blue)}
[data-theme="dark"] .testimonial-card .testimonial-name{color:#e0e0e0}
[data-theme="dark"] .testimonial-nav button{background:#1e1e1e;border-color:#333;color:#ccc}
[data-theme="dark"] .testimonial-nav button:hover{border-color:var(--blue);color:var(--blue);background:rgba(16,171,214,0.08)}

/* Offers */
[data-theme="dark"] .offers-section{background:#1a1a1a}

/* Gallery */
[data-theme="dark"] .gallery-section{background:#111}

/* Section Headers */
[data-theme="dark"] .section-title{color:#e0e0e0}
[data-theme="dark"] .section-subtitle{color:#888}

/* Buttons */
[data-theme="dark"] .btn-dark{background:#fff;color:#111}
[data-theme="dark"] .btn-dark:hover{box-shadow:0 8px 25px rgba(255,255,255,0.1)}
[data-theme="dark"] .btn-outline-white{border-color:rgba(255,255,255,0.2)}
[data-theme="dark"] .btn-outline-white:hover{background:#fff;color:#111;border-color:#fff}
[data-theme="dark"] .btn-outline-blue{border-color:var(--blue);color:var(--blue)}
[data-theme="dark"] .btn-outline-blue:hover{background:var(--blue);color:#fff}

/* Newsletter */
[data-theme="dark"] .newsletter-section{background:linear-gradient(135deg,#111 0%,#1a1a2e 100%)}
[data-theme="dark"] .newsletter-content h2{color:#fff}
[data-theme="dark"] .newsletter-form{border-color:#333}
[data-theme="dark"] .newsletter-form input{background:#1a1a1a;color:#e0e0e0}
[data-theme="dark"] .newsletter-form input::placeholder{color:#666}
[data-theme="dark"] .newsletter-form input:focus{background:#222}

/* Footer */
[data-theme="dark"] .footer{background:#0a0a0a}
[data-theme="dark"] .footer h5{color:#e0e0e0}
[data-theme="dark"] .footer-links a{color:#777}
[data-theme="dark"] .footer-links a:hover{color:var(--blue)}
[data-theme="dark"] .footer-bottom{border-top-color:#1a1a1a}

/* Toast */
[data-theme="dark"] .custom-toast{background:#1e1e1e;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .custom-toast .toast-close{color:#666}

/* Product Detail */
[data-theme="dark"] .product-detail-section{background:#111}
[data-theme="dark"] .product-main-image{background:#252525}
[data-theme="dark"] .product-thumb{border-color:#333}
[data-theme="dark"] .product-thumb.active,.product-thumb:hover{border-color:var(--blue)}
[data-theme="dark"] .detail-tabs .nav-tabs{border-bottom-color:#333}
[data-theme="dark"] .detail-tabs .nav-tabs .nav-link{color:#888}
[data-theme="dark"] .detail-tabs .nav-tabs .nav-link.active{color:var(--blue)}
[data-theme="dark"] .detail-tabs .tab-content p{color:#aaa}
[data-theme="dark"] .spec-table tr{border-bottom-color:#2a2a2a}
[data-theme="dark"] .spec-table td{color:#ccc}
[data-theme="dark"] .detail-description{border-bottom-color:#2a2a2a;color:#aaa}

/* Cart */
[data-theme="dark"] .cart-section{background:#111}
[data-theme="dark"] .cart-item{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .cart-item:hover{box-shadow:0 4px 20px rgba(0,0,0,0.3)}
[data-theme="dark"] .cart-item .cart-item-image{background:#252525}
[data-theme="dark"] .cart-summary{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .cart-summary h4{border-bottom-color:#333;color:#e0e0e0}
[data-theme="dark"] .coupon-form input{background:#222;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .cart-item .cart-item-title{color:#e0e0e0}
[data-theme="dark"] .cart-item .cart-item-variant{color:#888}
[data-theme="dark"] .cart-item .cart-item-remove{color:#888}
[data-theme="dark"] .cart-item .cart-item-remove:hover{color:var(--danger)}

/* Checkout */
[data-theme="dark"] .checkout-section{background:#111}
[data-theme="dark"] .checkout-form{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .checkout-form h4{border-bottom-color:#333;color:#e0e0e0}
[data-theme="dark"] .checkout-step .step-number{background:#2a2a2a;color:#888}
[data-theme="dark"] .checkout-step .step-label{color:#666}
[data-theme="dark"] .checkout-step .step-line{background:#333}
[data-theme="dark"] .form-group input,.form-group select,.form-group textarea{background:#222;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);background:#252525}
[data-theme="dark"] .form-group select option{background:#222;color:#e0e0e0}
[data-theme="dark"] .form-group label{color:#ccc}
[data-theme="dark"] .payment-option{background:#1e1e1e;border-color:#333}
[data-theme="dark"] .payment-option:hover{border-color:var(--blue)}
[data-theme="dark"] .payment-option.active{border-color:var(--blue);background:rgba(16,171,214,0.08)}
[data-theme="dark"] .payment-option .payment-label{color:#e0e0e0}
[data-theme="dark"] .payment-option .payment-desc{color:#777}

/* Blog */
[data-theme="dark"] .blog-section{background:#1a1a1a}
[data-theme="dark"] .blog-card{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .blog-card:hover{box-shadow:0 12px 40px rgba(0,0,0,0.5)}
[data-theme="dark"] .blog-card .blog-image{background:#252525}
[data-theme="dark"] .blog-card .blog-title{color:#e0e0e0}
[data-theme="dark"] .blog-card .blog-excerpt{color:#999}

/* Quantity Selector */
[data-theme="dark"] .quantity-selector{border-color:#333}
[data-theme="dark"] .quantity-selector button{background:#222;color:#ccc}
[data-theme="dark"] .quantity-selector button:hover{background:var(--blue);color:#fff}
[data-theme="dark"] .quantity-selector input{background:#1e1e1e;color:#e0e0e0}

/* Size & Color Options */
[data-theme="dark"] .size-option{border-color:#333;color:#ccc}
[data-theme="dark"] .size-option:hover,.size-option.active{border-color:var(--blue);background:var(--blue);color:#fff}
[data-theme="dark"] .detail-color-option:hover,[data-theme="dark"] .detail-color-option.active{outline-color:var(--blue)}
[data-theme="dark"] .page-hero{background:linear-gradient(135deg,#0a0a0a 0%,#121a2e 50%,#0a0a0a 100%)}
[data-theme="dark"] .breadcrumb-bar{background:#1a1a1a;border-bottom-color:#2a2a2a}

/* Detail Info */
[data-theme="dark"] .detail-rating .review-count{color:#888}
[data-theme="dark"] .detail-description{color:#aaa}

/* Filter Sidebar */
[data-theme="dark"] .filter-sidebar{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .filter-sidebar-header{border-bottom-color:#2a2a2a}
[data-theme="dark"] .filter-sidebar-header h5{color:#e0e0e0}
[data-theme="dark"] .filter-title{color:#e0e0e0}
[data-theme="dark"] .filter-group{border-bottom-color:#2a2a2a}
[data-theme="dark"] .filter-check{color:#999}
[data-theme="dark"] .filter-check:hover{color:#e0e0e0}
[data-theme="dark"] .filter-check .checkmark{background:#242424;border-color:#3a3a3a}
[data-theme="dark"] .filter-check .filter-count{background:#2a2a2a;color:#888}
[data-theme="dark"] .filter-search input{background:#242424;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .filter-search input::placeholder{color:#666}
[data-theme="dark"] .filter-color-swatch{border-color:#3a3a3a}
[data-theme="dark"] .sort-bar{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .sort-bar .result-count{color:#999}
[data-theme="dark"] .sort-bar .result-count strong{color:#e0e0e0}
[data-theme="dark"] .sort-bar .sort-label{color:#999}
[data-theme="dark"] .sort-bar select{background:#242424;border-color:#333;color:#e0e0e0}
[data-theme="dark"] .filter-chip{background:rgba(16,171,214,0.15);color:var(--blue)}
[data-theme="dark"] .filter-chip:hover{background:var(--blue);color:#fff}
[data-theme="dark"] .no-results h4{color:#e0e0e0}

/* Breadcrumb fix */
[data-theme="dark"] .bg-light{background:#1a1a1a !important}
[data-theme="dark"] .breadcrumb-item a{color:var(--blue) !important}
[data-theme="dark"] .breadcrumb-item.active{color:#888 !important}
[data-theme="dark"] .breadcrumb-item+.breadcrumb-item::before{color:#555}

/* Customizer (already dark, ensure consistency) */
[data-theme="dark"] .customizer-section{background:#0a0a0a}
[data-theme="dark"] .customizer-preview{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.05)}
[data-theme="dark"] .control-group{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.05)}
[data-theme="dark"] .customizer-input{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.08)}
[data-theme="dark"] .customizer-input:focus{border-color:var(--blue)}
[data-theme="dark"] .customizer-select{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.08)}

/* Ensure images don't break */
[data-theme="dark"] img{opacity:0.95}
[data-theme="dark"] .hero-tshirt-display .tshirt-placeholder{box-shadow:0 12px 40px rgba(16,171,214,0.15)}

/* ===== POLICY / LEGAL PAGE CONTENT ===== */
.policy-content{max-width:860px;margin:0 auto;padding:0 0 60px}
.policy-content h2{font-size:1.4rem;font-weight:800;margin:36px 0 14px;color:var(--text)}
.policy-content h3{font-size:1.15rem;font-weight:700;margin:28px 0 10px;color:var(--text)}
.policy-content p{font-size:0.92rem;line-height:1.8;color:var(--text-secondary);margin-bottom:14px}
.policy-content ul,.policy-content ol{padding-left:22px;margin-bottom:16px}
.policy-content li{font-size:0.92rem;line-height:1.8;color:var(--text-secondary);margin-bottom:6px}
.policy-content strong{color:var(--text);font-weight:700}
.policy-content a{color:var(--blue);text-decoration:underline;font-weight:600}
.policy-content a:hover{color:var(--blue-dark)}
.policy-content .policy-effective{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-full);background:var(--blue-light);color:var(--blue);font-size:0.82rem;font-weight:600;margin-bottom:24px}
.policy-content .policy-toc{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:24px;margin:20px 0 32px}
.policy-content .policy-toc h4{font-size:0.95rem;font-weight:700;margin-bottom:12px}
.policy-content .policy-toc ol{margin-bottom:0;padding-left:20px}
.policy-content .policy-toc li{font-size:0.88rem;margin-bottom:4px}
.policy-content .policy-toc a{color:var(--blue);text-decoration:none;font-weight:600}
.policy-content .policy-toc a:hover{text-decoration:underline}
.policy-content .highlight-box{background:var(--blue-light);border-left:4px solid var(--blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:16px 20px;margin:20px 0}
.policy-content .highlight-box p{margin-bottom:0;color:var(--text)}

[data-theme="dark"] .policy-content .policy-toc{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .policy-content .highlight-box{background:rgba(16,171,214,0.08)}
[data-theme="dark"] .policy-content h2,[data-theme="dark"] .policy-content h3{color:#e0e0e0}
[data-theme="dark"] .policy-content p,[data-theme="dark"] .policy-content li{color:#bbb}
[data-theme="dark"] .faq-category-title{color:#e0e0e0;border-bottom-color:#2a2a2a}
[data-theme="dark"] .faq-search-box input{background:#1e1e1e;border-color:#333;color:#e0e0e0}

/* ===== FAQ PAGE ===== */
.faq-list{max-width:860px;margin:0 auto}
.faq-item{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;transition:var(--transition)}
.faq-item.open{box-shadow:var(--shadow-sm)}
.faq-question{width:100%;background:none;border:none;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;text-align:left;font-size:0.95rem;font-weight:700;color:var(--text);transition:var(--transition);font-family:var(--font-primary)}
.faq-question:hover{color:var(--blue)}
.faq-question i{font-size:0.8rem;color:var(--text-muted);transition:transform 0.3s ease;flex-shrink:0}
.faq-item.open .faq-question i{transform:rotate(180deg);color:var(--blue)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.35s ease;padding:0 20px}
.faq-item.open .faq-answer{max-height:600px;padding:0 20px 18px}
.faq-answer p{font-size:0.9rem;line-height:1.75;color:var(--text-secondary);margin-bottom:0}
.faq-category-title{font-size:1.1rem;font-weight:800;margin:36px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--border-light);color:var(--text)}
.faq-category-title:first-child{margin-top:0}
.faq-search-box{max-width:500px;margin:0 auto 36px;position:relative}
.faq-search-box input{width:100%;padding:14px 20px 14px 48px;border:2px solid var(--border-light);border-radius:var(--radius-full);font-size:0.95rem;background:var(--card-bg);color:var(--text);transition:var(--transition);font-family:var(--font-primary)}
.faq-search-box input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px rgba(16,171,214,0.12)}
.faq-search-box i{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:0.95rem}

[data-theme="dark"] .faq-item{background:#1e1e1e;border-color:#2a2a2a}
[data-theme="dark"] .faq-question{color:#e0e0e0}
[data-theme="dark"] .faq-answer p{color:#bbb}

/* ===== UNDERSTRAP + WOOCOMMERCE INTEGRATION ===== */
body.teeskull-theme #page { overflow-x: hidden; }
body.teeskull-theme .wrapper { padding: 0; }
body.teeskull-theme #woocommerce-wrapper { padding: 40px 0 80px; }
body.teeskull-theme .site-main { width: 100%; }

/* WC product loop as TEESKULL grid */
ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}
ul.products::before, ul.products::after { display: none !important; content: none !important; }
ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
ul.products li.product .product-card { height: 100%; }

.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-result-count {
  font-family: var(--font-primary);
}
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce span.onsale {
  border-radius: var(--radius-full);
  font-family: var(--font-primary);
  font-weight: 700;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .button.alt {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--orange);
  filter: brightness(1.08);
}
.woocommerce span.onsale {
  background: var(--orange);
  line-height: 2.2;
  min-height: 2.2em;
  min-width: 2.2em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--card-bg);
  border-bottom-color: var(--card-bg);
}
.woocommerce-cart table.cart img,
.woocommerce-checkout .woocommerce {
  font-family: var(--font-primary);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border-radius: var(--radius);
  border: 1px solid var(--border-light);
  background: var(--card-bg);
  color: var(--text);
  padding: 10px 14px;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--blue);
  border-radius: var(--radius);
}
.woocommerce-message { border-top-color: var(--success); }
.woocommerce-error { border-top-color: var(--danger); }

.product-name a { color: inherit; text-decoration: none; }
.product-name a:hover { color: var(--blue); }
.product-price .woocommerce-Price-amount { font-weight: 800; color: var(--text); }
.product-price del .woocommerce-Price-amount { color: var(--text-muted); font-weight: 500; }
.product-price ins { text-decoration: none; }

.mobile-nav-list { list-style: none; padding: 0; margin: 0; }
.mobile-nav-list li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid var(--border-light);
}
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 8px; }
.footer-links a { color: var(--text-secondary); text-decoration: none; font-size: 0.9rem; }
.footer-links a:hover { color: var(--blue); }

.badge-count { display: none; }
.badge-count:not(:empty) { display: flex; }
.cart-count:not(:empty), .wishlist-count:not(:empty) { display: flex; }

[data-theme="dark"] .woocommerce form .form-row input.input-text,
[data-theme="dark"] .woocommerce form .form-row textarea,
[data-theme="dark"] .woocommerce form .form-row select {
  background: #242424;
  border-color: #333;
  color: #e0e0e0;
}
[data-theme="dark"] #woocommerce-wrapper,
[data-theme="dark"] .woocommerce {
  color: #e0e0e0;
}
