/* =========================================================
   Marvel Sri Lanka — E-Commerce Mockup
   DARK GLASSMORPHISM theme — matched to themarvelsrilanka.com
   ========================================================= */

:root {
  /* Brand palette (extracted from live site) */
  --ink:        #0a0e16;   /* near-black */
  --navy:       #0f1622;   /* dark navy */
  --forest:     #104068;   /* deep ocean blue */
  --teal:       #2b8fd6;   /* ocean blue (links/buttons) */
  --teal-600:   #0f5fa0;
  --aqua:       #18c3f0;   /* bright cyan water accent */
  --amber:      #ff6b35;   /* brand orange (CTA) */
  --amber-600:  #e2691d;

  /* Dark surface system */
  --bg:         #0a0e16;
  --text:       #eaf1f8;
  --muted:      #93a4b8;
  --line:       rgba(255,255,255,.12);
  --line-2:     rgba(255,255,255,.07);

  /* Glass */
  --glass:      rgba(255,255,255,.055);
  --glass-2:    rgba(255,255,255,.085);
  --glass-brd:  rgba(255,255,255,.14);
  --blur:       blur(16px);

  --danger:     #ff5a5a;
  --good:       #34d399;
  --warn:       #fbbf24;

  --radius:     16px;
  --radius-sm:  10px;
  --btn-radius: 12px;
  --shadow:     0 10px 34px rgba(0,0,0,.40);
  --shadow-lg:  0 26px 60px rgba(0,0,0,.55);
  --glow-amber: 0 8px 30px rgba(255,107,53,.40);
  --glow-cyan:  0 8px 30px rgba(24,195,240,.30);
  --maxw:       1220px;
  --font:       'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --display:    'Montserrat', 'Inter', system-ui, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  color: var(--text);
  background:
    radial-gradient(1100px 600px at 80% -10%, rgba(24,195,240,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(255,107,53,.10), transparent 55%),
    linear-gradient(180deg, #0b1018 0%, #0a0e16 100%);
  background-attachment: fixed;
  min-height: 100vh;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4 { font-family: var(--display); line-height: 1.12; font-weight: 700; letter-spacing:-.3px; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
.muted { color: var(--muted); }
.center { text-align: center; }

/* glass helper */
.glass { background: var(--glass); backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
  border: 1px solid var(--glass-brd); box-shadow: var(--shadow); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: 15px; cursor: pointer; letter-spacing:.2px;
  border: 0; border-radius: var(--btn-radius); padding: 13px 24px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s, border-color .18s;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-primary { background: linear-gradient(135deg, var(--amber), var(--amber-600)); color:#fff;
  box-shadow: var(--glow-amber); }
.btn-primary:hover { box-shadow: 0 14px 38px rgba(255,107,53,.55); }
.btn-dark { background: rgba(255,255,255,.10); color:#fff; border:1px solid var(--glass-brd);
  backdrop-filter: var(--blur); }
.btn-dark:hover { background: rgba(255,255,255,.18); }
.btn-teal { background: linear-gradient(135deg, var(--aqua), var(--teal-600)); color:#fff; box-shadow: var(--glow-cyan); }
.btn-teal:hover { box-shadow: 0 14px 34px rgba(24,195,240,.45); }
/* glass / ghost */
.btn-ghost { background: var(--glass); border:1px solid var(--glass-brd); color: var(--text);
  backdrop-filter: var(--blur); }
.btn-ghost:hover { background: var(--glass-2); border-color: var(--aqua); color:#fff; }
.btn-block { width: 100%; justify-content: center; }
.btn-sm { padding: 9px 16px; font-size: 13px; }
.btn-wa { background: rgba(37,211,102,.14); border:1px solid rgba(37,211,102,.5); color:#41e07d;
  backdrop-filter: var(--blur); }
.btn-wa:hover { background: rgba(37,211,102,.24); box-shadow:0 8px 26px rgba(37,211,102,.35); }

/* ---------- Badges / pills ---------- */
.pill { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600;
        padding:5px 12px; border-radius:999px; background:rgba(24,195,240,.14); color:var(--aqua);
        border:1px solid rgba(24,195,240,.3); }
.pill-amber { background:rgba(255,107,53,.15); color:#ff9a6b; border-color:rgba(255,107,53,.4); }
.pill-red   { background:rgba(255,90,90,.15); color:#ff8a8a; border-color:rgba(255,90,90,.35); }
.pill-green { background:rgba(52,211,153,.15); color:#5ee3b2; border-color:rgba(52,211,153,.35); }
.pill-grey  { background:rgba(255,255,255,.08); color:var(--muted); border-color:var(--line); }
.badge-sale { position:absolute; top:12px; left:12px; background:linear-gradient(135deg,var(--amber),var(--amber-600));
              color:#fff; font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px; box-shadow:var(--glow-amber); }
.badge-out  { position:absolute; top:12px; left:12px; background:rgba(10,14,22,.8); color:#fff; border:1px solid var(--glass-brd);
              backdrop-filter:var(--blur); font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px; }

/* ---------- Header ---------- */
.topbar { background: rgba(0,0,0,.35); color:#9fb6cc; font-size: 13px; border-bottom:1px solid var(--line-2); }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; height:38px; }
.topbar a { opacity:.85; } .topbar a:hover { opacity:1; color:#fff; }

/* floating glass nav (like the live site) */
header.nav { position: sticky; top:14px; z-index:50; margin: 14px auto 0; }
.nav .wrap { display:flex; align-items:center; gap:26px; height:64px; padding:0 20px;
  background: rgba(16,22,34,.55); backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
  border:1px solid var(--glass-brd); border-radius:18px; box-shadow: var(--shadow);
  transition: height .25s, background .25s; }
header.nav.scrolled .wrap { height:58px; background: rgba(16,22,34,.78); }
.logo { font-family:var(--display); font-weight:800; font-size:22px; letter-spacing:-.5px; color:#fff; }
.logo span { color: var(--aqua); }
.logo small { display:block; font-size:9px; letter-spacing:3px; font-weight:600; color:var(--muted);
              font-family:var(--font); margin-top:-3px; }
.nav-links { display:flex; gap:22px; margin-left:8px; font-weight:500; font-size:15px; color:#d6e2ee; }
.nav-links a { padding:6px 0; position:relative; }
.nav-links a.active, .nav-links a:hover { color: var(--aqua); }
.nav-links a.active::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:var(--aqua); border-radius:2px; box-shadow:0 0 10px var(--aqua); }
.nav-tools { margin-left:auto; display:flex; align-items:center; gap:12px; }
.icon-btn { width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.07); border:1px solid var(--line); cursor:pointer; font-size:17px;
  position:relative; color:#fff; transition:background .15s, border-color .15s; }
.icon-btn:hover { background:rgba(255,255,255,.14); border-color:var(--aqua); }
.cart-count { position:absolute; top:-4px; right:-4px; background:linear-gradient(135deg,var(--amber),var(--amber-600));
  color:#fff; font-size:11px; font-weight:700; min-width:19px; height:19px; border-radius:999px;
  display:grid; place-items:center; padding:0 5px; box-shadow:var(--glow-amber); }
.cur-select { border:1px solid var(--line); border-radius:999px; padding:7px 12px; font-weight:600;
  font-size:13px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; backdrop-filter:var(--blur); }
.cur-select option { background:#141c2a; }

/* ---------- Hero (Swiper carousel, big bold uppercase) ---------- */
.hero { position:relative; color:#fff; overflow:hidden; background:var(--ink); margin-top:-78px; }
.hero .swiper, .hero .heroSlides { height:100%; }
.hero-slide { position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; }
.hero-slide .bg { position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.swiper-slide-active .hero-slide .bg { animation: kenburns 8s ease-out forwards; }
.hero-slide::after { content:''; position:absolute; inset:0; z-index:1; background:
  linear-gradient(90deg, rgba(10,14,22,.92) 0%, rgba(10,14,22,.55) 45%, rgba(10,14,22,.30) 70%, rgba(10,14,22,.7) 100%),
  linear-gradient(180deg, transparent 55%, rgba(10,14,22,.95) 100%); }
.hero-slide .wrap { position:relative; z-index:2; padding: 150px 22px 90px; width:100%; }
.hero h1 { font-size: clamp(46px, 8vw, 104px); max-width: 900px; text-transform:uppercase;
  font-weight:800; letter-spacing:-1px; line-height:.96; text-shadow:0 6px 40px rgba(0,0,0,.6); }
.hero h1 em { font-style:normal; color:var(--amber); text-shadow:0 0 36px rgba(255,107,53,.5); }
.hero p { max-width: 560px; font-size: 18px; opacity:.94; margin:20px 0 30px; }
.hero .cta-row { display:flex; gap:14px; flex-wrap:wrap; }
.hero-stats { display:flex; gap:36px; margin-top:56px; flex-wrap:wrap; }
.hero-stats b { font-family:var(--display); font-weight:800; font-size:32px; display:block; color:var(--aqua);
  text-shadow:0 0 22px rgba(24,195,240,.45); }
.hero-stats span { font-size:13px; opacity:.85; }
.hero .swiper-button-next, .hero .swiper-button-prev { color:#fff; opacity:.8; }
.hero .swiper-button-next:hover, .hero .swiper-button-prev:hover { opacity:1; color:var(--amber); }
.hero .swiper-pagination { z-index:3; }
.hero .swiper-pagination-bullet { background:#fff; opacity:.45; width:9px; height:9px; }
.hero .swiper-pagination-bullet-active { background:var(--amber); opacity:1; width:28px; border-radius:5px;
  box-shadow:0 0 12px var(--amber); }
.hero-tag { position:absolute; right:26px; bottom:30px; z-index:3; background:rgba(10,14,22,.5);
  backdrop-filter:var(--blur); border:1px solid var(--glass-brd); border-radius:14px; padding:12px 16px;
  font-size:13px; display:flex; align-items:center; gap:12px; }
.hero-tag b { font-family:var(--display); font-size:16px; color:var(--amber); }
.scroll-cue { position:absolute; left:50%; bottom:16px; z-index:3; transform:translateX(-50%);
  font-size:24px; animation: floatY 2s ease-in-out infinite; opacity:.85; color:#fff; }

/* ---------- Sections ---------- */
section { padding: 70px 0; position:relative; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:32px; flex-wrap:wrap; }
.section-head h2 { font-size: clamp(26px,3.4vw,40px); }
.section-head .eyebrow { color:var(--aqua); font-weight:700; font-size:13px; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:6px; }
.link-arrow { color:var(--aqua); font-weight:600; }
.link-arrow:hover { color:#fff; }

/* ---------- Category tiles ---------- */
.cat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cat-tile { position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1; color:#fff;
  display:flex; align-items:flex-end; padding:18px; box-shadow:var(--shadow); background-size:cover;
  background-position:center; border:1px solid var(--line); transition:transform .25s, box-shadow .25s; }
.cat-tile:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.cat-tile::after { content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(10,14,22,.88)); }
.cat-tile b { position:relative; z-index:1; font-family:var(--display); font-size:18px; }
.cat-tile span { position:relative; z-index:1; display:block; font-size:12px; opacity:.85; }

/* ---------- Product grid / cards (glass) ---------- */
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.card { background:var(--glass); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  transition:transform .2s, box-shadow .2s, border-color .2s; display:flex; flex-direction:column; }
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:rgba(24,195,240,.4); }
.card .thumb { position:relative; aspect-ratio:1/1; background:#11192a center/cover; overflow:hidden; }
.card .thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.card:hover .thumb img { transform:scale(1.07); }
.card .quick { position:absolute; inset:auto 10px 10px; opacity:0; transform:translateY(8px); transition:.2s; }
.card:hover .quick { opacity:1; transform:none; }
.card .body { padding:14px 16px 18px; display:flex; flex-direction:column; gap:6px; flex:1; }
.card .cat { font-size:12px; color:var(--aqua); font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.card h3 { font-size:16px; font-weight:600; font-family:var(--font); color:#fff; }
.card .rate { font-size:12px; color:var(--warn); }
.card .price { margin-top:auto; display:flex; align-items:baseline; gap:8px; padding-top:6px; }
.card .price .now { font-family:var(--display); font-weight:700; font-size:18px; color:#fff; }
.card .price .was { color:var(--muted); text-decoration:line-through; font-size:13px; }

/* RAZE collab badge (top-right of cards) */
.tag-raze { position:absolute; top:12px; right:12px; z-index:2; font-size:11px; font-weight:800;
  letter-spacing:.5px; padding:5px 10px; border-radius:8px; background:#0a0e16; color:#fff;
  border:1px solid rgba(255,255,255,.25); }
.tag-raze.collab { background:linear-gradient(135deg,var(--amber),var(--amber-600)); border-color:transparent; box-shadow:var(--glow-amber); }
.price .pill { font-size:11px; padding:3px 9px; }

/* Membership tier selector */
.tier-bar { display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:var(--glass); backdrop-filter:var(--blur); border:1px solid var(--glass-brd);
  border-radius:14px; padding:12px 16px; box-shadow:var(--shadow); }
.tier-bar .lbl { font-size:13px; font-weight:600; color:var(--muted); margin-right:4px; display:flex; align-items:center; gap:7px; }
.tier-pills { display:flex; gap:8px; flex-wrap:wrap; }
.tier-pill { border:1px solid var(--line); background:rgba(255,255,255,.05); color:#cfdbe8;
  border-radius:999px; padding:8px 15px; font-size:13px; font-weight:600; cursor:pointer; transition:.15s;
  display:flex; align-items:center; gap:6px; }
.tier-pill small { font-size:11px; opacity:.8; }
.tier-pill:hover { border-color:var(--aqua); color:#fff; }
.tier-pill.active { background:linear-gradient(135deg,var(--aqua),var(--teal-600)); border-color:transparent; color:#fff; box-shadow:var(--glow-cyan); }
.tier-pill.active small { opacity:1; }

/* ---------- Strip / banner ---------- */
.member-strip { position:relative; overflow:hidden; border-radius:var(--radius); padding:38px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:linear-gradient(110deg, rgba(16,64,104,.7), rgba(24,195,240,.18));
  border:1px solid var(--glass-brd); backdrop-filter:var(--blur); box-shadow:var(--shadow); color:#fff; }
.member-strip h2 { font-size:28px; }

/* ---------- Trust / partners ---------- */
.trust-row { display:flex; gap:26px; flex-wrap:wrap; justify-content:center; }
.trust-row .item { text-align:center; background:var(--glass); border:1px solid var(--glass-brd);
  backdrop-filter:var(--blur); border-radius:var(--radius); padding:22px 26px; min-width:200px; }
.trust-row b { font-family:var(--display); font-size:30px; display:block; margin-bottom:6px; }
.partners { display:flex; gap:34px; flex-wrap:wrap; justify-content:center; align-items:center;
  opacity:.6; font-weight:700; color:#cfdbe8; font-size:20px; }

/* ---------- Form controls (global, dark glass) ---------- */
input, select, textarea { font-family:inherit; color:var(--text);
  background:rgba(255,255,255,.05); border:1px solid var(--line); }
input::placeholder, textarea::placeholder { color:#6f8298; }
select option { background:#141c2a; color:#fff; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--aqua); box-shadow:0 0 0 3px rgba(24,195,240,.18); }
input[type=checkbox], input[type=radio] { accent-color: var(--aqua); }
input[type=range] { accent-color: var(--amber); background:transparent; }

/* ---------- Filters (shop) ---------- */
.shop-layout { display:grid; grid-template-columns:250px 1fr; gap:30px; }
.filters { background:var(--glass); backdrop-filter:var(--blur); border:1px solid var(--glass-brd);
  border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); align-self:start; position:sticky; top:96px; }
.filters h4 { font-size:13px; text-transform:uppercase; letter-spacing:1px; margin:18px 0 10px; color:var(--aqua); }
.filters h4:first-child { margin-top:0; }
.filter-opt { display:flex; align-items:center; gap:8px; padding:5px 0; font-size:14px; cursor:pointer; color:#d6e2ee; }
.chip-row { display:flex; gap:8px; flex-wrap:wrap; }
.chip { border:1px solid var(--line); border-radius:9px; padding:6px 12px; font-size:13px; cursor:pointer;
  background:rgba(255,255,255,.05); color:#cfdbe8; }
.chip.active, .chip:hover { border-color:var(--aqua); color:var(--aqua); background:rgba(24,195,240,.12); }
.shop-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; flex-wrap:wrap; gap:12px; }
.select { border:1px solid var(--line); border-radius:10px; padding:9px 12px; font-size:14px;
  background:rgba(255,255,255,.05); color:#fff; }

/* ---------- Product detail ---------- */
.pdp { display:grid; grid-template-columns:1.1fr 1fr; gap:46px; }
.gallery .main { aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden; background:#11192a;
  box-shadow:var(--shadow); border:1px solid var(--glass-brd); }
.gallery .main img { width:100%; height:100%; object-fit:cover; }
.gallery .thumbs { display:flex; gap:10px; margin-top:12px; }
.gallery .thumbs img { width:74px; height:74px; object-fit:cover; border-radius:10px; cursor:pointer;
  border:2px solid transparent; background:#11192a; }
.gallery .thumbs img.active { border-color:var(--aqua); box-shadow:var(--glow-cyan); }
.pdp h1 { font-size:34px; color:#fff; }
.pdp .price-lg { display:flex; align-items:baseline; gap:12px; margin:14px 0; }
.pdp .price-lg .now { font-family:var(--display); font-size:32px; font-weight:700; color:#fff; }
.pdp .price-lg .was { color:var(--muted); text-decoration:line-through; font-size:18px; }
.opt-group { margin:18px 0; }
.opt-group label { font-weight:600; font-size:14px; display:block; margin-bottom:8px; color:#fff; }
.swatch-row { display:flex; gap:10px; }
.swatch { width:34px; height:34px; border-radius:50%; cursor:pointer; border:2px solid rgba(255,255,255,.2);
  box-shadow:0 0 0 1.5px var(--line); }
.swatch.active { box-shadow:0 0 0 2px var(--aqua), var(--glow-cyan); }
.size-btn { min-width:46px; padding:9px 0; text-align:center; border:1px solid var(--line); border-radius:10px;
  cursor:pointer; font-weight:600; background:rgba(255,255,255,.05); color:#fff; }
.size-btn.active { border-color:var(--aqua); background:rgba(24,195,240,.18); }
.qty { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; overflow:hidden;
  background:rgba(255,255,255,.05); }
.qty button { width:40px; height:42px; border:0; background:transparent; color:#fff; font-size:18px; cursor:pointer; }
.qty button:hover { background:rgba(255,255,255,.08); }
.qty input { width:46px; text-align:center; border:0; background:transparent; color:#fff; font-size:16px; font-weight:600; }
.pdp-meta { margin-top:24px; border-top:1px solid var(--line); padding-top:18px; display:grid; gap:10px; font-size:14px; }
.pdp-meta .row { display:flex; gap:10px; align-items:center; color:var(--muted); }

/* ---------- Cart drawer ---------- */
.overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); opacity:0; pointer-events:none; transition:.25s; z-index:90; }
.overlay.open { opacity:1; pointer-events:auto; }
.drawer { position:fixed; top:0; right:0; height:100%; width:410px; max-width:92vw; z-index:100;
  transform:translateX(100%); transition:transform .28s ease; display:flex; flex-direction:column;
  background:rgba(14,20,32,.85); backdrop-filter:var(--blur); border-left:1px solid var(--glass-brd); box-shadow:var(--shadow-lg); }
.drawer.open { transform:none; }
.drawer header { display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--line); }
.drawer header h3 { font-size:18px; color:#fff; }
.drawer .items { flex:1; overflow:auto; padding:8px 20px; }
.drawer footer { padding:20px; border-top:1px solid var(--line); }
.line-item { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.line-item img { width:64px; height:64px; border-radius:10px; object-fit:cover; background:#11192a; }
.line-item .li-body { flex:1; font-size:14px; }
.line-item .li-title { font-weight:600; color:#fff; }
.line-item .li-rm { color:var(--muted); cursor:pointer; font-size:12px; }
.line-item .li-rm:hover { color:var(--danger); }
.cart-total-row { display:flex; justify-content:space-between; margin-bottom:8px; font-size:14px; }
.cart-total-row.grand { font-size:18px; font-weight:700; font-family:var(--display); color:#fff; }

/* ---------- Cart / checkout page ---------- */
.checkout-grid { display:grid; grid-template-columns:1fr 390px; gap:30px; align-items:start; }
.panel { background:var(--glass); backdrop-filter:var(--blur); border:1px solid var(--glass-brd);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:26px; margin-bottom:22px; }
.panel h3 { font-size:18px; margin-bottom:16px; display:flex; align-items:center; gap:10px; color:#fff; }
.panel h3 .step { width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--aqua),var(--teal-600));
  color:#fff; font-size:14px; display:grid; place-items:center; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field.full { grid-column:1/-1; }
.field label { font-size:13px; font-weight:600; color:var(--muted); }
.field input, .field select { border-radius:10px; padding:11px 12px; font-size:14px; }
.pay-opt { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:12px;
  padding:14px 16px; cursor:pointer; margin-bottom:10px; background:rgba(255,255,255,.03); transition:.15s; }
.pay-opt:hover { border-color:var(--glass-brd); background:rgba(255,255,255,.06); }
.pay-opt.active { border-color:var(--aqua); background:rgba(24,195,240,.12); box-shadow:var(--glow-cyan); }
.pay-opt b { color:#fff; }
.pay-opt .logo-tag { margin-left:auto; font-weight:700; color:var(--muted); font-size:13px; }
.summary-item { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; align-items:center; }
.summary-item img { width:54px; height:54px; border-radius:8px; object-fit:cover; }
.summary-item b { color:#fff; }

/* ---------- Footer ---------- */
footer.site { background:rgba(8,11,18,.7); backdrop-filter:var(--blur); border-top:1px solid var(--line);
  color:#9fb6cc; padding:56px 0 26px; margin-top:50px; }
footer.site .cols { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px; }
footer.site h5 { color:#fff; font-family:var(--display); margin-bottom:14px; font-size:15px; }
footer.site a { display:block; padding:5px 0; font-size:14px; }
footer.site a:hover { color:var(--aqua); }
.foot-bottom { border-top:1px solid var(--line); margin-top:36px; padding-top:20px; display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; }

/* ---------- WhatsApp float ---------- */
.wa-float { position:fixed; bottom:24px; left:24px; width:58px; height:58px; border-radius:50%;
  background:#25d366; color:#fff; display:grid; place-items:center; font-size:26px; z-index:80;
  box-shadow:0 10px 30px rgba(37,211,102,.5); animation: floatY 3s ease-in-out infinite; }

/* ===== Scroll reveal (AOS-style) ===== */
[data-reveal]{ opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal="left"]{ transform:translateX(-34px); }
[data-reveal="right"]{ transform:translateX(34px); }
[data-reveal="zoom"]{ transform:scale(.92); }
[data-reveal].in{ transform:none; }
[data-delay="1"]{ transition-delay:.10s; } [data-delay="2"]{ transition-delay:.20s; }
[data-delay="3"]{ transition-delay:.30s; } [data-delay="4"]{ transition-delay:.40s; }
@media (prefers-reduced-motion: reduce){ [data-reveal]{ opacity:1!important; transform:none!important; } }
@keyframes floatY { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-9px);} }
@keyframes kenburns { 0%{ transform:scale(1);} 100%{ transform:scale(1.14);} }

/* =========================================================
   ADMIN (dark glass)
   ========================================================= */
body.admin { background:
  radial-gradient(900px 500px at 90% -10%, rgba(24,195,240,.08), transparent 60%),
  linear-gradient(180deg,#0b1018,#0a0e16); }
.admin-shell { display:grid; grid-template-columns:250px 1fr; min-height:100vh; }
.sidebar { background:rgba(10,14,22,.7); backdrop-filter:var(--blur); border-right:1px solid var(--line);
  color:#c7d8e6; padding:22px 16px; position:sticky; top:0; height:100vh; }
.sidebar .logo { color:#fff; margin-bottom:26px; }
.sidebar nav a { display:flex; align-items:center; gap:11px; padding:11px 13px; border-radius:11px;
  font-size:14px; font-weight:500; margin-bottom:3px; cursor:pointer; }
.sidebar nav a:hover { background:rgba(255,255,255,.06); }
.sidebar nav a.active { background:linear-gradient(135deg,var(--aqua),var(--teal-600)); color:#fff; box-shadow:var(--glow-cyan); }
.sidebar .grp { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; opacity:.5; margin:18px 0 8px 13px; }
.admin-main { padding:26px 30px; }
.admin-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.admin-top h1 { font-size:26px; color:#fff; }
.admin-top .who { display:flex; align-items:center; gap:10px; font-size:14px; }
.avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--aqua),var(--teal-600));
  color:#fff; display:grid; place-items:center; font-weight:700; }

.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:24px; }
.kpi { background:var(--glass); backdrop-filter:var(--blur); border:1px solid var(--glass-brd);
  border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); }
.kpi .label { color:var(--muted); font-size:13px; font-weight:600; }
.kpi .val { font-family:var(--display); font-size:28px; font-weight:700; margin:6px 0 2px; color:#fff; }
.kpi .delta { font-size:12px; font-weight:600; }
.kpi .delta.up { color:var(--good); } .kpi .delta.down { color:var(--danger); }

.admin-card { background:var(--glass); backdrop-filter:var(--blur); border:1px solid var(--glass-brd);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; margin-bottom:22px; }
.admin-card h3 { font-size:17px; margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; color:#fff; }
.two-col { display:grid; grid-template-columns:1.4fr 1fr; gap:22px; }

table.data { width:100%; border-collapse:collapse; font-size:14px; color:var(--text); }
table.data th { text-align:left; padding:12px 10px; color:var(--muted); font-size:12px; text-transform:uppercase;
  letter-spacing:.5px; border-bottom:1px solid var(--line); }
table.data td { padding:13px 10px; border-bottom:1px solid var(--line-2); }
table.data tr:hover td { background:rgba(255,255,255,.04); }
.s-tag { font-size:12px; font-weight:600; padding:4px 10px; border-radius:999px; border:1px solid transparent; }
.s-paid{background:rgba(52,211,153,.15);color:#5ee3b2;border-color:rgba(52,211,153,.3);}
.s-pending{background:rgba(251,191,36,.15);color:#fcd34d;border-color:rgba(251,191,36,.3);}
.s-packing{background:rgba(43,143,214,.18);color:#7cc0f5;border-color:rgba(43,143,214,.35);}
.s-transit{background:rgba(139,108,255,.18);color:#b6a4ff;border-color:rgba(139,108,255,.35);}
.s-delivered{background:rgba(52,211,153,.15);color:#5ee3b2;border-color:rgba(52,211,153,.3);}
.s-cancel{background:rgba(255,90,90,.15);color:#ff8a8a;border-color:rgba(255,90,90,.3);}
.s-cod{background:rgba(255,107,53,.15);color:#ff9a6b;border-color:rgba(255,107,53,.35);}

.stockbar { height:8px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; width:120px; }
.stockbar > i { display:block; height:100%; border-radius:999px; }

.bars { display:flex; align-items:flex-end; gap:10px; height:160px; padding-top:10px; }
.bars .bar { flex:1; background:linear-gradient(180deg,var(--aqua),var(--teal-600)); border-radius:7px 7px 0 0;
  position:relative; box-shadow:0 0 18px rgba(24,195,240,.3); }
.bars .bar span { position:absolute; bottom:-22px; left:0; right:0; text-align:center; font-size:11px; color:var(--muted); }

.progress-steps { display:flex; justify-content:space-between; position:relative; margin:10px 0 4px; }
.progress-steps::before { content:''; position:absolute; top:13px; left:7%; right:7%; height:2px; background:var(--line); }
.pstep { position:relative; z-index:1; text-align:center; flex:1; font-size:11px; color:var(--muted); }
.pstep .dot { width:26px; height:26px; border-radius:50%; background:#11192a; border:2px solid var(--line);
  margin:0 auto 6px; display:grid; place-items:center; font-size:12px; }
.pstep.done .dot { background:linear-gradient(135deg,var(--aqua),var(--teal-600)); border-color:transparent; color:#fff; box-shadow:var(--glow-cyan); }
.pstep.done { color:#fff; font-weight:600; }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .cat-grid,.product-grid{ grid-template-columns:repeat(2,1fr); }
  .pdp,.checkout-grid,.shop-layout,.two-col{ grid-template-columns:1fr; }
  .filters{ position:static; }
  .kpi-grid{ grid-template-columns:repeat(2,1fr); }
  .nav-links{ display:none; }
  footer.site .cols{ grid-template-columns:1fr 1fr; }
  .admin-shell{ grid-template-columns:1fr; }
  .sidebar{ position:static; height:auto; }
  .hero h1{ font-size:clamp(40px,12vw,64px); }
}
@media (max-width: 560px){
  .cat-grid,.product-grid,.kpi-grid{ grid-template-columns:1fr 1fr; }
  .hero-stats{ gap:20px; }
}
.toast { position:fixed; bottom:24px; right:24px; background:rgba(14,20,32,.9); backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd); color:#fff; padding:14px 20px; border-radius:12px; box-shadow:var(--shadow-lg);
  z-index:200; transform:translateY(20px); opacity:0; transition:.25s; font-size:14px; }
.toast.show { transform:none; opacity:1; }

/* ---------- Real logo image ---------- */
.logo img { height:42px; width:auto; display:block; transition:height .25s; }
header.nav.scrolled .logo img { height:38px; }
.sidebar .logo img { height:40px; }
footer.site .logo img { height:50px; margin-bottom:6px; }

/* ---------- Certifications (real badges on light chips) ---------- */
.certs { display:flex; gap:22px; flex-wrap:wrap; justify-content:center; align-items:center; }
.cert { background:#fff; border-radius:16px; padding:16px 22px; display:grid; place-items:center;
  box-shadow:var(--shadow); border:1px solid var(--glass-brd); }
.cert img { height:62px; width:auto; object-fit:contain; }

/* ---------- About (real content + photo) ---------- */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.about-grid .photo { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg);
  border:1px solid var(--glass-brd); aspect-ratio:4/3; }
.about-grid .photo img { width:100%; height:100%; object-fit:cover; }
.about-grid h2 { font-size:clamp(26px,3.4vw,40px); margin-bottom:14px; }
.about-grid p { color:var(--muted); margin-bottom:14px; }
.about-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.about-list .pill { font-size:13px; }

/* ---------- Testimonials (real reviews) ---------- */
.tgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tcard { background:var(--glass); backdrop-filter:var(--blur); border:1px solid var(--glass-brd);
  border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); display:flex; flex-direction:column; }
.tcard .stars { color:var(--warn); margin-bottom:12px; letter-spacing:2px; }
.tcard .quote { font-size:15px; color:#dbe6f1; line-height:1.65; flex:1; }
.tcard .who { display:flex; align-items:center; gap:12px; margin-top:18px; }
.tcard .who .ava { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--aqua),var(--teal-600));
  display:grid; place-items:center; font-weight:700; color:#fff; font-family:var(--display); }
.tcard .who b { color:#fff; display:block; font-size:14px; }
.tcard .who span { font-size:12px; color:var(--muted); }
@media (max-width:980px){ .tgrid{ grid-template-columns:1fr; } .about-grid{ grid-template-columns:1fr; } }

/* =========================================================
   PAGE LOADER
   ========================================================= */
.loader { position:fixed; inset:0; z-index:9999; display:grid; place-items:center;
  background:
    radial-gradient(800px 500px at 50% 30%, rgba(24,195,240,.12), transparent 60%),
    radial-gradient(700px 500px at 50% 90%, rgba(255,107,53,.12), transparent 60%),
    #0a0e16;
  transition: opacity .6s ease, visibility .6s ease; }
.loader.hidden { opacity:0; visibility:hidden; }
.loader-inner { display:flex; flex-direction:column; align-items:center; gap:22px; }
.loader-logo { width:200px; max-width:64vw; height:auto; animation: ldPulse 1.8s ease-in-out infinite; }
@keyframes ldPulse { 0%,100%{ transform:scale(1); filter:drop-shadow(0 0 0 rgba(24,195,240,0)); }
  50%{ transform:scale(1.05); filter:drop-shadow(0 0 26px rgba(24,195,240,.55)); } }
.loader-bar { width:220px; max-width:70vw; height:4px; border-radius:999px; background:rgba(255,255,255,.12); overflow:hidden; }
.loader-bar > span { display:block; height:100%; width:40%; border-radius:999px;
  background:linear-gradient(90deg, var(--aqua), var(--amber)); animation: ldSlide 1.1s ease-in-out infinite; }
@keyframes ldSlide { 0%{ transform:translateX(-120%);} 100%{ transform:translateX(320%);} }
.loader-text { font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); animation: ldFade 1.6s ease-in-out infinite; }
@keyframes ldFade { 0%,100%{ opacity:.4;} 50%{ opacity:1;} }
.loader-ring { width:70px; height:70px; border-radius:50%; border:3px solid rgba(255,255,255,.12);
  border-top-color:var(--aqua); animation: spin .9s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

/* page intro: content rises in once loaded */
body.preload * { animation-play-state:paused !important; }
body.loaded main, body.loaded > section, body.loaded .hero { }

/* scroll progress bar */
.scrollbar { position:fixed; top:0; left:0; height:3px; width:0%; z-index:9998;
  background:linear-gradient(90deg, var(--aqua), var(--amber)); box-shadow:0 0 12px rgba(24,195,240,.6); transition:width .08s linear; }

/* button shine sweep */
.btn-primary { position:relative; overflow:hidden; }
.btn-primary::after { content:''; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent); transform:skewX(-20deg);
  transition:none; }
.btn-primary:hover::after { animation: shine .8s ease; }
@keyframes shine { from { left:-120%; } to { left:160%; } }

/* gentle glow pulse for the cart badge & pills on hero */
.cart-count { animation: badgePulse 2.2s ease-in-out infinite; }
@keyframes badgePulse { 0%,100%{ box-shadow:0 0 0 0 rgba(255,107,53,.5);} 50%{ box-shadow:0 0 0 6px rgba(255,107,53,0);} }

/* animated count-up numbers */
.counting { font-variant-numeric: tabular-nums; }

/* hero accent: animated gradient sheen on the emphasised word */
.hero h1 em { background:linear-gradient(90deg, var(--amber), #ffd0a8, var(--amber));
  background-size:200% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation: sheen 4s linear infinite; }
@keyframes sheen { to { background-position:200% center; } }

/* card image gets a soft light sweep on hover */
.card .thumb::before { content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,.18) 50%, transparent 60%);
  transform:translateX(-100%); transition:transform .6s ease; }
.card:hover .thumb::before { transform:translateX(100%); }

/* certifications marquee */
.cert-marquee { overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.cert-track { display:flex; gap:22px; width:max-content; animation: marquee 26s linear infinite; }
.cert-marquee:hover .cert-track { animation-play-state:paused; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* floating decorative blobs in sections */
.blob { position:absolute; border-radius:50%; filter:blur(60px); opacity:.5; z-index:0; pointer-events:none; animation: floatY 9s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce){
  .cert-track, .hero h1 em, .loader-logo, .loader-bar > span, .loader-text, .cart-count,
  .wa-float, .scroll-cue, .blob { animation:none !important; }
  .hero h1 em { -webkit-text-fill-color:var(--amber); }
}

/* social icon row */
.socials { display:flex; gap:10px; }
.socials a { width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.07); border:1px solid var(--line); color:#fff; transition:.15s; }
.socials a svg { width:17px; height:17px; display:block; }
.socials a:hover { background:var(--aqua); border-color:var(--aqua); transform:translateY(-3px); }
.socials a.wa:hover { background:#25d366; border-color:#25d366; }
.wa-float svg { width:28px; height:28px; fill:#fff; }
