/* ============================================================
   SoundZone Headphones Store — Premium Light Mode Theme
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --bg:          #f8fafc;
  --bg2:         #f1f5f9;
  --bg3:         #ffffff;
  --card:        #ffffff;
  --card-hover:  #ffffff;
  --primary:     #4f46e5;
  --primary-dk:  #4338ca;
  --accent:      #0ea5e9;
  --pink:        #ec4899;
  --text:        #0f172a;
  --muted:       #64748b;
  --border:      #e2e8f0;
  --border-focus:#4f46e5;
  --grad:        linear-gradient(135deg, #4f46e5, #0ea5e9);
  --grad-warm:   linear-gradient(135deg, #f97316, #ec4899);
  --shadow-sm:   0 4px 12px rgba(0, 0, 0, 0.04);
  --shadow:      0 12px 32px rgba(15, 23, 42, 0.07);
  --shadow-hover:0 24px 48px rgba(79, 70, 229, 0.14);
  --r:           16px;
  --r-sm:        10px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Outfit', sans-serif; background: var(--bg); color: var(--text); overflow-x: hidden; line-height: 1.6; }
a { text-decoration: none; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
button { cursor: pointer; font-family: 'Outfit', sans-serif; }

/* ── Toast ── */
.toast {
  position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(80px);
  background: var(--text); color: #ffffff; padding: 14px 28px; border-radius: 50px;
  display: flex; align-items: center; gap: 10px; font-weight: 600; z-index: 9999;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.25);
}
.toast.show { transform: translateX(-50%) translateY(0); }
.toast i { color: #22c55e; font-size: 1.2rem; }

/* ── Cart Overlay ── */
.cart-overlay { position:fixed; inset:0; background:rgba(15, 23, 42, 0.45); backdrop-filter: blur(4px); z-index:1100; opacity:0; pointer-events:none; transition:opacity 0.3s; }
.cart-overlay.open { opacity:1; pointer-events:auto; }

/* ── Cart Sidebar ── */
.cart-sidebar {
  position:fixed; top:0; right:0; width:420px; max-width:100vw; height:100vh;
  background: var(--bg3); border-left: 1px solid var(--border);
  z-index:1200; display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
  box-shadow: -20px 0 60px rgba(15, 23, 42, 0.15);
}
.cart-sidebar.open { transform:translateX(0); }

.cart-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 24px; border-bottom: 1px solid var(--border);
  background: #f8fafc;
}
.cart-header h3 { font-family:'Space Grotesk',sans-serif; font-size:1.2rem; display:flex; align-items:center; gap:10px; color: var(--text); font-weight: 700; }
.cart-header h3 i { color: var(--primary); }
.cart-header button { background:none; border:none; color:var(--muted); font-size:1.3rem; transition:color 0.2s; }
.cart-header button:hover { color: var(--text); }

.cart-body { flex:1; overflow-y:auto; padding:20px; }
.cart-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; height:240px; gap:14px; color:var(--muted); }
.cart-empty i { font-size:3.5rem; color: #cbd5e1; }
.cart-empty p { text-align:center; font-size:0.95rem; }

.cart-item { display:flex; align-items:center; gap:14px; padding:12px; border-radius:var(--r-sm); background: #f8fafc; border:1px solid var(--border); margin-bottom:12px; transition: border-color 0.2s; }
.cart-item:hover { border-color: #cbd5e1; }
.ci-img { width:64px; height:64px; border-radius:10px; overflow:hidden; flex-shrink:0; background: #ffffff; border: 1px solid var(--border); }
.ci-img img { width: 100%; height: 100%; object-fit: cover; }
.ci-details { flex:1; min-width:0; }
.ci-details strong { display:block; font-size:0.9rem; color: var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ci-details small { font-size:0.82rem; color: var(--primary); font-weight: 600; }
.ci-qty-ctrl { display:flex; align-items:center; gap:8px; }
.qbtn { width:28px; height:28px; border-radius:6px; border:1px solid var(--border); background:#ffffff; color:var(--text); font-size:0.85rem; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.qbtn:hover { background:var(--primary); color:#ffffff; border-color:var(--primary); }
.qval { font-size:0.9rem; font-weight:600; min-width:20px; text-align:center; color: var(--text); }

.cart-footer { padding:20px 24px; border-top:1px solid var(--border); background: #ffffff; }
.cart-total-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.cart-total-row span { font-size: 1.05rem; font-weight: 600; color: var(--muted); }
.cart-total-row strong { font-family:'Space Grotesk',sans-serif; font-size:1.6rem; color: var(--text); font-weight: 700; }

.buyer-fields { display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
.buyer-fields input { padding:12px 14px; background:#f8fafc; border:1px solid var(--border); border-radius:var(--r-sm); color:var(--text); font-family:'Outfit',sans-serif; font-size:0.9rem; outline:none; transition:all 0.2s; }
.buyer-fields input:focus { border-color:var(--primary); background: #ffffff; box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1); }
.buyer-fields input::placeholder { color:var(--muted); }

.checkout-btn { width:100%; padding:14px; background: #25d366; color:#fff; border:none; border-radius:var(--r-sm); font-size:1rem; font-weight:700; display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:10px; transition:all 0.2s; box-shadow:0 6px 20px rgba(37, 211, 102, 0.25); }
.checkout-btn:hover { background: #1da851; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37, 211, 102, 0.35); }
.clear-btn { width:100%; padding:10px; background:transparent; border:1px solid #ef4444; color:#ef4444; border-radius:var(--r-sm); font-size:0.88rem; font-weight: 600; display:flex; align-items:center; justify-content:center; gap:8px; transition:all 0.2s; }
.clear-btn:hover { background:#fef2f2; }

/* ── Navbar ── */
.navbar { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(255, 255, 255, 0.9); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); padding:14px 0; transition:all 0.3s; }
.navbar.scrolled { box-shadow: var(--shadow-sm); padding: 10px 0; }
.nav-wrap { max-width:1200px; margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:24px; }

.brand { font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:700; color:var(--text); display:flex; align-items:center; gap:10px; flex-shrink:0; }
.brand i { color:var(--primary); font-size: 1.4rem; }
.brand span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

.nav-links { display:flex; gap:32px; margin-left:auto; }
.nav-links a { color:var(--muted); font-size:0.95rem; font-weight:600; transition:color 0.2s; }
.nav-links a:hover { color:var(--primary); }

.nav-right { display:flex; align-items:center; gap:14px; margin-left:auto; }
.search-wrap { display:flex; align-items:center; gap:10px; background:#f1f5f9; border:1px solid var(--border); border-radius:50px; padding:8px 16px; transition: border-color 0.2s; }
.search-wrap:focus-within { border-color: var(--primary); background: #ffffff; }
.search-wrap i { color:var(--muted); font-size:0.9rem; }
.search-wrap input { background:none; border:none; outline:none; color:var(--text); font-family:'Outfit',sans-serif; font-size:0.9rem; width:180px; }
.search-wrap input::placeholder { color:var(--muted); }

.cart-btn { position:relative; background:#ffffff; border:1px solid var(--border); color:var(--text); padding:8px 18px; border-radius:50px; display:flex; align-items:center; gap:10px; font-size:0.95rem; font-weight: 600; transition:all 0.2s; box-shadow: var(--shadow-sm); }
.cart-btn:hover { border-color:var(--primary); color: var(--primary); transform: translateY(-1px); }
.cart-num { background:var(--primary); color:#fff; min-width:22px; height:22px; border-radius:50%; font-size:0.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.hamburger { display:none; background:none; border:none; color:var(--text); font-size:1.4rem; }

/* ── Hero ── */
.hero { min-height:92vh; display:flex; align-items:center; padding:120px 24px 60px; max-width:1200px; margin:0 auto; gap:64px; }
.hero-content { flex:1; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:#eff6ff; border:1px solid #bfdbfe; color:var(--primary); padding:8px 20px; border-radius:50px; font-size:0.85rem; font-weight:700; margin-bottom:24px; }
.hero-eyebrow i { color: #f59e0b; }

.hero-content h1 { font-family:'Space Grotesk',sans-serif; font-size:3.8rem; line-height:1.12; font-weight:700; color: var(--text); margin-bottom:20px; letter-spacing: -1px; }
.hero-content h1 span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-content p { color:var(--muted); font-size:1.1rem; margin-bottom:34px; max-width:500px; line-height:1.7; }

.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:40px; }
.btn-primary { display:inline-flex; align-items:center; gap:10px; background:var(--grad); color:#fff; padding:15px 34px; border-radius:var(--r); font-weight:700; font-size:1rem; box-shadow:0 10px 28px rgba(79, 70, 229, 0.28); transition:all 0.3s; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(79, 70, 229, 0.4); }
.btn-ghost { display:inline-flex; align-items:center; gap:10px; background:#ffffff; border:1px solid var(--border); color:var(--text); padding:15px 34px; border-radius:var(--r); font-weight:600; font-size:1rem; transition:all 0.3s; box-shadow: var(--shadow-sm); }
.btn-ghost:hover { border-color:#cbd5e1; background: #f8fafc; transform: translateY(-2px); }

.hero-badges { display:flex; gap:24px; flex-wrap:wrap; padding-top: 24px; border-top: 1px solid var(--border); }
.hb { display:flex; align-items:center; gap:8px; font-size:0.9rem; color:var(--text); font-weight: 600; }
.hb i { color:var(--primary); font-size: 1.1rem; }

.hero-visual { flex:0 0 460px; display:flex; align-items:center; justify-content:center; position: relative; }
.hero-img-card { position: relative; width: 100%; border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px rgba(15, 23, 42, 0.15); border: 8px solid #ffffff; background: #ffffff; }
.hero-img-card img { width: 100%; height: 420px; object-fit: cover; display: block; transition: transform 0.6s ease; }
.hero-img-card:hover img { transform: scale(1.05); }

.hero-float-badge { position: absolute; bottom: 24px; left: -20px; background: #ffffff; border: 1px solid var(--border); padding: 14px 20px; border-radius: var(--r); box-shadow: 0 14px 30px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 14px; z-index: 5; }
.float-icon { width: 44px; height: 44px; border-radius: 12px; background: #eff6ff; color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 700; }
.float-text strong { display: block; font-size: 0.95rem; color: var(--text); }
.float-text small { color: var(--muted); font-size: 0.8rem; }

/* ── Filter Bar ── */
.filter-bar { background:#ffffff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:18px 0; position:sticky; top:68px; z-index:100; box-shadow: var(--shadow-sm); }
.filter-wrap { max-width:1200px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.filter-tabs { display:flex; gap:10px; flex-wrap:wrap; }
.ft { padding:9px 22px; border-radius:50px; border:1px solid var(--border); background:#f8fafc; color:var(--muted); font-family:'Outfit',sans-serif; font-size:0.9rem; font-weight:600; transition:all 0.25s; }
.ft:hover { color:var(--text); border-color:#cbd5e1; background: #ffffff; }
.ft.active { background:var(--grad); color:#fff; border-color:transparent; font-weight:700; box-shadow:0 6px 16px rgba(79, 70, 229, 0.25); }

.sort-wrap select { padding:9px 16px; background:#ffffff; border:1px solid var(--border); border-radius:50px; color:var(--text); font-family:'Outfit',sans-serif; font-size:0.9rem; font-weight: 600; outline:none; transition: border-color 0.2s; cursor: pointer; }
.sort-wrap select:hover { border-color: var(--primary); }

/* ── Products Section ── */
.products-section { padding:60px 0 90px; }
.products-header { margin-bottom:34px; display: flex; justify-content: space-between; align-items: center; }
.products-header h2 { font-family:'Space Grotesk',sans-serif; font-size:2rem; font-weight: 700; color: var(--text); }
.products-header h2 span { color:var(--muted); font-size:1.1rem; font-weight:500; }

.products-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }

/* Product Card with Real Images */
.prod-card { background:#ffffff; border:1px solid var(--border); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:all 0.35s cubic-bezier(0.16,1,0.3,1); position:relative; box-shadow: var(--shadow); }
.prod-card:hover { transform:translateY(-10px); box-shadow: var(--shadow-hover); border-color: #cbd5e1; }

.prod-badge { position:absolute; top:16px; left:16px; z-index:2; padding:5px 14px; border-radius:50px; font-size:0.75rem; font-weight:700; letter-spacing: 0.5px; box-shadow: 0 4px 10px rgba(0,0,0,0.15); }
.badge-sale { background:linear-gradient(135deg,#ef4444,#dc2626); color:#fff; }
.badge-new  { background:linear-gradient(135deg,#10b981,#059669); color:#fff; }
.badge-hot  { background:linear-gradient(135deg,#f59e0b,#d97706); color:#fff; }

.prod-img { height:260px; position:relative; overflow:hidden; background: #f8fafc; }
.prod-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.6s cubic-bezier(0.16,1,0.3,1); }
.prod-card:hover .prod-img img { transform:scale(1.08); }

.prod-body { padding:22px; flex:1; display:flex; flex-direction:column; }
.prod-brand { font-size:0.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--primary); font-weight: 700; margin-bottom:6px; }
.prod-name  { font-size:1.15rem; font-weight:700; margin-bottom:10px; color:var(--text); line-height:1.4; font-family:'Space Grotesk',sans-serif; }

.prod-rating { display:flex; align-items:center; gap:6px; font-size:0.85rem; margin-bottom:14px; font-weight: 600; }
.prod-rating i { color:#f59e0b; font-size:0.85rem; }
.prod-rating span { color:var(--muted); font-weight: 500; }

.prod-desc { font-size:0.9rem; color:var(--muted); margin-bottom:16px; line-height: 1.6; flex: 1; }

.prod-features { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.feat-pill { font-size:0.75rem; padding:4px 10px; border-radius:50px; background:#f1f5f9; border:1px solid #e2e8f0; color:var(--text); font-weight:600; }

.prod-footer { display:flex; align-items:center; justify-content:space-between; padding-top: 16px; border-top: 1px solid var(--border); }
.price-wrap { display:flex; flex-direction:column; }
.prod-price { font-family:'Space Grotesk',sans-serif; font-size:1.4rem; font-weight:700; color: var(--text); }
.prod-mrp   { font-size:0.82rem; color:var(--muted); text-decoration:line-through; }

.atc-btn { display:flex; align-items:center; gap:8px; background:var(--grad); color:#fff; border:none; padding:11px 20px; border-radius:var(--r-sm); font-size:0.9rem; font-weight:700; transition:all 0.25s; box-shadow:0 6px 16px rgba(79, 70, 229, 0.22); }
.atc-btn:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(79, 70, 229, 0.35); }
.atc-btn.added { background: #10b981; box-shadow:0 6px 16px rgba(16, 185, 129, 0.25); }

/* ── Brands ── */
.brands-section { padding:50px 0; background:#ffffff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.brands-heading { text-align:center; font-size:0.88rem; font-weight: 700; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); margin-bottom:28px; }
.brands-row { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.brand-chip { display:flex; align-items:center; gap:8px; padding:12px 26px; background:#f8fafc; border:1px solid var(--border); border-radius:50px; color:var(--text); font-size:0.95rem; font-weight:600; transition:all 0.25s; }
.brand-chip:hover { border-color:var(--primary); background: #ffffff; transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.brand-chip i { color:var(--primary); font-size:0.75rem; }

/* ── Features ── */
.features-section { padding:90px 0; background: #f8fafc; }
.section-label { font-size:0.82rem; text-transform:uppercase; letter-spacing:.12em; color:var(--primary); font-weight:700; margin-bottom:12px; }
.section-h2 { font-family:'Space Grotesk',sans-serif; font-size:2.4rem; font-weight:700; margin-bottom:52px; color: var(--text); }
.section-h2 span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.feat-card { background:#ffffff; border:1px solid var(--border); border-radius:var(--r); padding:32px; transition:all 0.35s; box-shadow: var(--shadow); }
.feat-card:hover { transform:translateY(-8px); border-color:#cbd5e1; box-shadow: var(--shadow-hover); }
.feat-icon { width:58px; height:58px; border-radius:16px; background:#eff6ff; display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin-bottom:20px; color:var(--primary); }
.feat-card h4 { font-family:'Space Grotesk',sans-serif; font-size:1.15rem; margin-bottom:10px; font-weight: 700; color: var(--text); }
.feat-card p  { font-size:0.92rem; color:var(--muted); line-height:1.6; }

/* ── Contact ── */
.contact-section { padding:90px 0; background:#ffffff; border-top:1px solid var(--border); }
.contact-inner { display:flex; align-items:center; justify-content:space-between; gap:54px; flex-wrap:wrap; }
.contact-text { max-width:500px; }
.contact-text h2 { font-family:'Space Grotesk',sans-serif; font-size:2.2rem; margin-bottom:16px; font-weight: 700; color: var(--text); }
.contact-text h2 span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.contact-text p { color:var(--muted); font-size:1.05rem; line-height:1.7; }
.contact-cards { display:flex; gap:20px; flex-wrap:wrap; }
.con-card { display:flex; align-items:center; gap:16px; background:#f8fafc; border:1px solid var(--border); padding:20px 28px; border-radius:var(--r); color:var(--text); transition:all 0.25s; }
.con-card:hover { transform:translateY(-4px); border-color:var(--primary); background: #ffffff; box-shadow: var(--shadow-sm); }
.con-card i { font-size:1.6rem; color:var(--primary); }
.con-card.wa i { color:#25d366; }
.con-card strong { display:block; font-size:0.95rem; font-weight: 700; }
.con-card small  { font-size:0.85rem; color:var(--muted); }

/* ── Footer ── */
.footer { background:#ffffff; border-top:1px solid var(--border); padding:36px 0; }
.footer-inner { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.f-brand { font-family:'Space Grotesk',sans-serif; font-size:1.3rem; font-weight:700; display:flex; align-items:center; gap:10px; color: var(--text); }
.f-brand i { color: var(--primary); }
.footer p { font-size:0.88rem; color:var(--muted); }
.footer a { color:var(--primary); font-weight: 600; }

/* ── Responsive ── */
@media (max-width:1024px) { .products-grid { grid-template-columns:repeat(2,1fr); } .features-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px)  { .nav-links,.search-wrap { display:none; } .hamburger { display:block; } .hero { flex-direction:column; padding-top:110px; gap:40px; text-align: center; } .hero-content h1 { font-size:2.6rem; } .hero-actions { justify-content: center; } .hero-badges { justify-content: center; } .hero-visual { flex: auto; width: 100%; } .hero-float-badge { left: 10px; bottom: 10px; } .products-grid { grid-template-columns:1fr; } .features-grid { grid-template-columns:1fr; } .contact-inner { flex-direction:column; text-align: center; } .contact-cards { justify-content: center; } }
