/* ============================================================
   TechBazaar – Global Stylesheet
   Palette: Deep Navy #0f172a | Accent Cyan #0ea5e9 | Success #22c55e
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,600;0,700;0,800;1,800&family=Inter:wght@400;500;600&display=swap');

/* ---------- CSS VARIABLES ---------- */
:root {
  --primary:   #0f172a;   /* Deep Navy   */
  --accent:    #0ea5e9;   /* Electric Cyan */
  --success:   #22c55e;   /* In-stock green */
  --bg:        #f8fafc;   /* Page background */
  --surface:   #ffffff;   /* Cards / panels */
  --border:    #e2e8f0;
  --text:      #1e293b;
  --muted:     #64748b;
  --danger:    #ef4444;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.14);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;

  --font-display: 'Barlow', sans-serif;
  --font-body:    'Inter', sans-serif;
}

/* ---------- RESET / BASE ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { cursor: pointer; font-family: inherit; }
ul { list-style: none; }

/* ---------- UTILITY CLASSES ---------- */
.container { max-width: 1320px; margin: 0 auto; padding: 0 16px; }
.section-gap { margin-top: 64px; }

.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px; border-radius: var(--radius-sm);
  font-weight: 700; font-size: 12px; letter-spacing: .05em;
  text-transform: uppercase; transition: all .2s;
  border: 2px solid transparent;
}
.btn-primary {
  background: var(--accent); color: #fff; border-color: var(--accent);
}
.btn-primary:hover { background: #0284c7; border-color: #0284c7; }
.btn-outline {
  background: transparent; color: var(--accent); border-color: var(--accent);
}
.btn-outline:hover { background: var(--accent); color: #fff; }
.btn-dark {
  background: var(--primary); color: #fff; border-color: var(--primary);
}
.btn-dark:hover { background: #1e293b; }
.btn-success {
  background: var(--success); color: #fff; border-color: var(--success);
}

.badge {
  display: inline-block; padding: 2px 10px;
  border-radius: 999px; font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
}
.badge-accent  { background: var(--accent); color: #fff; }
.badge-success { background: var(--success); color: #fff; }
.badge-danger  { background: var(--danger); color: #fff; }
.badge-muted   { background: var(--border); color: var(--muted); }

.card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
  transition: box-shadow .2s, transform .2s;
}
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.section-title {
  font-family: var(--font-display);
  font-size: 20px; font-weight: 800;
  color: var(--primary);
}
.section-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 24px;
}

/* ---------- TOP BAR ---------- */
.topbar {
  background: var(--primary);
  color: rgba(255,255,255,.7);
  font-size: 11px; font-weight: 600;
  padding: 7px 0;
  letter-spacing: .04em;
}
.topbar a { color: rgba(255,255,255,.7); transition: color .15s; }
.topbar a:hover { color: #fff; }
.topbar__left { display: flex; align-items: center; gap: 6px; }
.topbar__right { display: flex; align-items: center; gap: 20px; }

/* ---------- MAIN HEADER ---------- */
.site-header {
  background: var(--primary);
  position: sticky; top: 0; z-index: 100;
  box-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.site-header__inner {
  display: flex; align-items: center; gap: 24px;
  height: 64px;
}
.logo {
  font-family: var(--font-display);
  font-size: 26px; font-weight: 800; font-style: italic;
  color: #fff; white-space: nowrap; flex-shrink: 0;
}
.logo span { color: var(--accent); }

.search-bar {
  flex: 1; display: flex; max-width: 520px;
}
.search-bar input {
  flex: 1; padding: 9px 16px;
  border: 2px solid transparent; border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  font-size: 13px; outline: none;
  transition: border-color .2s;
}
.search-bar input:focus { border-color: var(--accent); }
.search-bar button {
  background: var(--accent); color: #fff;
  padding: 0 18px; border: none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: 14px; transition: background .2s;
}
.search-bar button:hover { background: #0284c7; }

.header-actions {
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
}
.header-actions .btn { padding: 7px 14px; font-size: 11px; }
.cart-icon {
  position: relative; color: #fff; font-size: 20px; padding: 4px;
}
.cart-icon .cart-count {
  position: absolute; top: -4px; right: -6px;
  background: var(--accent); color: #fff;
  border-radius: 999px; font-size: 9px; font-weight: 700;
  min-width: 16px; height: 16px;
  display: flex; align-items: center; justify-content: center;
}

/* ---------- NAVIGATION ---------- */
.site-nav {
  background: var(--surface); border-bottom: 1px solid var(--border);
  position: sticky; top: 64px; z-index: 99;
}
.site-nav__inner {
  display: flex; align-items: center; height: 46px;
}
.nav-menu-toggle {
  display: flex; align-items: center; gap: 8px;
  padding: 0 20px; height: 100%;
  border-right: 1px solid var(--border);
  font-size: 13px; font-weight: 700;
  color: var(--primary); transition: background .15s;
}
.nav-menu-toggle:hover { background: var(--bg); }
.nav-links {
  display: flex; align-items: center; gap: 4px;
  padding: 0 16px; flex: 1;
}
.nav-links a {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: var(--radius-sm);
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .05em; color: var(--text);
  transition: color .15s, background .15s;
}
.nav-links a:hover, .nav-links a.active { color: var(--accent); background: #e0f2fe; }
.nav-links a.exclusive {
  background: var(--accent); color: #fff; margin-left: auto;
  border-radius: var(--radius-sm);
}
.nav-links a.exclusive:hover { background: #0284c7; }

/* Megamenu */
.mega-wrap { position: relative; }
.megamenu {
  display: none; position: absolute; top: 100%; left: 0;
  width: 580px; background: var(--surface);
  border: 1px solid var(--border); border-top: 2px solid var(--accent);
  box-shadow: var(--shadow-lg); border-radius: 0 var(--radius-md) var(--radius-md) var(--radius-md);
  z-index: 200; overflow: hidden;
}
.mega-wrap:hover .megamenu { display: flex; }
.megamenu__cats {
  width: 180px; background: var(--bg); border-right: 1px solid var(--border);
  padding: 12px 0;
}
.megamenu__cats li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 20px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; color: var(--muted); cursor: pointer;
  transition: all .15s; letter-spacing: .04em;
}
.megamenu__cats li:hover, .megamenu__cats li.active {
  background: #e0f2fe; color: var(--accent);
  border-left: 3px solid var(--accent);
}
.megamenu__brands {
  flex: 1; padding: 20px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  align-items: center; justify-items: center;
}
.brand-item {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  cursor: pointer; padding: 8px; border-radius: var(--radius-sm);
  transition: background .15s;
}
.brand-item:hover { background: var(--bg); }
.brand-item span { font-size: 9px; font-weight: 700; color: var(--muted); text-transform: uppercase; }

/* ---------- HERO BANNERS ---------- */
.hero-grid {
  display: grid; grid-template-columns: 2fr 1fr; gap: 16px;
  margin-top: 24px;
}
.hero-main {
  border-radius: var(--radius-lg); overflow: hidden;
  background: linear-gradient(135deg, #0f172a 0%, #0c4a6e 100%);
  min-height: 320px; position: relative;
  display: flex; align-items: center; padding: 40px;
  color: #fff;
}
.hero-main__content { position: relative; z-index: 2; }
.hero-main__badge {
  display: inline-block; background: var(--accent); color: #fff;
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; padding: 4px 12px; border-radius: 999px;
  margin-bottom: 12px;
}
.hero-main h1 {
  font-family: var(--font-display);
  font-size: 36px; font-weight: 800; line-height: 1.1;
  margin-bottom: 8px;
}
.hero-main p { color: rgba(255,255,255,.75); font-size: 13px; margin-bottom: 20px; }
.hero-side { display: flex; flex-direction: column; gap: 16px; }
.hero-card {
  flex: 1; border-radius: var(--radius-lg); overflow: hidden;
  padding: 24px; display: flex; align-items: center;
  position: relative; color: #fff;
}
.hero-card--dark { background: linear-gradient(135deg, #0f172a, #1e3a5f); }
.hero-card--cyan { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.hero-card h3 {
  font-family: var(--font-display);
  font-size: 16px; font-weight: 800; text-transform: uppercase;
}
.hero-card p { font-size: 11px; opacity: .8; margin-top: 4px; }
.hero-card .badge { margin-top: 10px; }

/* ---------- TRUST BAR ---------- */
.trust-bar {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 16px 24px;
  display: flex; justify-content: space-around; align-items: center;
  flex-wrap: wrap; gap: 16px; margin-top: 24px;
}
.trust-item {
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 600; color: var(--primary);
}
.trust-item i { color: var(--accent); font-size: 18px; }

/* ---------- CATEGORY GRID ---------- */
/* ---------- CATEGORY GRID (old icon style — kept for shop page chips) ---------- */
.cat-grid {
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px;
}
.cat-item {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 16px 8px;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  cursor: pointer; transition: all .2s; text-align: center;
}
.cat-item:hover { border-color: var(--accent); box-shadow: var(--shadow-md); }
.cat-item:hover .cat-icon { background: var(--accent); color: #fff; }
.cat-icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: #e0f2fe; color: var(--accent);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; transition: all .2s;
}
.cat-item span { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--primary); }

/* ---------- CATEGORY TILE GRID (new image style — homepage) ---------- */
.cat-grid-new {
  display: grid;
  grid-template-columns: repeat(8, 151px);
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.cat-grid-new::-webkit-scrollbar { display: none; }

.cat-tile {
  width: 151px;
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  cursor: pointer;
  transition: box-shadow .2s, transform .2s, border-color .2s;
  flex-shrink: 0;
}
.cat-tile:hover {
  border-color: var(--accent);
  box-shadow: 0 4px 16px rgba(14,165,233,.15);
  transform: translateY(-2px);
}
.cat-tile__img {
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  overflow: hidden;
}
.cat-tile__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
  transition: transform .25s;
}
.cat-tile:hover .cat-tile__img img { transform: scale(1.07); }
.cat-tile span {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--primary);
  text-align: center;
  padding: 8px 6px;
  line-height: 1.3;
  letter-spacing: .02em;
}


/* ---------- PRODUCT GRID ---------- */
.product-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px;
}
.product-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow .2s, transform .2s; cursor: pointer;
}
.product-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.product-card__img {
  aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--bg); position: relative;
  display: flex; align-items: center; justify-content: center;
}
.product-card__img img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.product-card__badge {
  position: absolute; top: 10px; left: 10px;
}
.product-card__body { padding: 14px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.product-card__brand { font-size: 10px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.product-card__name { font-size: 13px; font-weight: 600; color: var(--primary); line-height: 1.4; }
.product-card__price { font-family: var(--font-display); font-size: 16px; font-weight: 800; color: var(--accent); margin-top: auto; }
.product-card__old { font-size: 11px; color: var(--muted); text-decoration: line-through; }
.product-card__foot {
  padding: 10px 14px; border-top: 1px solid var(--border);
  display: flex; gap: 8px;
}
.product-card__foot .btn { flex: 1; padding: 7px 10px; font-size: 10px; justify-content: center; }

/* ---------- PRODUCT DETAIL PAGE ---------- */
.product-detail { display: flex; gap: 40px; flex-wrap: wrap; }
.product-gallery { width: 45%; min-width: 280px; display: flex; gap: 12px; }
.gallery-thumbs { display: flex; flex-direction: column; gap: 10px; }
.gallery-thumb {
  width: 64px; height: 64px; border: 2px solid var(--border);
  border-radius: var(--radius-sm); overflow: hidden; cursor: pointer;
  padding: 4px; background: var(--bg); transition: border-color .15s;
}
.gallery-thumb.active, .gallery-thumb:hover { border-color: var(--accent); }
.gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.gallery-main {
  flex: 1; border: 1px solid var(--border); border-radius: var(--radius-md);
  background: var(--bg); display: flex; align-items: center; justify-content: center;
  padding: 32px; position: relative; min-height: 400px;
}
.gallery-main img { max-height: 400px; object-fit: contain; }
.gallery-discount-badge {
  position: absolute; top: 16px; left: 16px;
}

.product-info { flex: 1; min-width: 280px; display: flex; flex-direction: column; gap: 20px; }
.product-info__brand { font-size: 10px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.product-info__name { font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--primary); line-height: 1.2; }
.product-info__price { font-family: var(--font-display); font-size: 30px; font-weight: 900; color: var(--accent); }
.product-info__old { font-size: 13px; color: var(--muted); text-decoration: line-through; }
.product-info__viewers { font-size: 11px; color: #f97316; font-weight: 700; font-style: italic; }

.spec-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.spec-pill {
  padding: 5px 14px; border-radius: var(--radius-sm);
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  border: 1px solid var(--border); color: var(--text); cursor: pointer;
  transition: all .15s;
}
.spec-pill.active, .spec-pill:hover { border-color: var(--accent); color: var(--accent); background: #e0f2fe; }

.price-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.price-option {
  border: 2px solid var(--border); border-radius: var(--radius-md);
  padding: 14px; cursor: pointer; transition: border-color .15s;
  display: flex; align-items: flex-start; gap: 10px;
}
.price-option.selected { border-color: var(--accent); background: #f0f9ff; }
.price-option input[type=radio] { accent-color: var(--accent); margin-top: 2px; }
.price-option__label p:first-child { font-size: 13px; font-weight: 700; color: var(--primary); }
.price-option__label span { font-size: 11px; color: var(--muted); }

.product-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.product-cta .btn { justify-content: center; padding: 14px; font-size: 13px; }

/* Spec table */
.spec-tabs { display: flex; gap: 4px; margin-bottom: -1px; }
.spec-tab {
  padding: 10px 24px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
  border: 1px solid var(--border); border-bottom: none;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: var(--bg); color: var(--muted); cursor: pointer; transition: all .15s;
}
.spec-tab.active { background: var(--surface); color: var(--accent); border-bottom: 2px solid var(--accent); }
.spec-table { border: 1px solid var(--border); border-radius: 0 var(--radius-md) var(--radius-md) var(--radius-md); overflow: hidden; }
.spec-row { display: flex; border-bottom: 1px solid var(--border); font-size: 12px; }
.spec-row:last-child { border-bottom: none; }
.spec-row:nth-child(even) { background: var(--bg); }
.spec-key { width: 160px; padding: 10px 16px; font-weight: 700; color: var(--primary); flex-shrink: 0; }
.spec-val { padding: 10px 16px; color: var(--muted); }
.spec-group-header {
  background: var(--primary); color: #fff;
  padding: 8px 16px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
}

/* ---------- CART / CHECKOUT ---------- */
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th {
  background: var(--primary); color: #fff;
  padding: 12px 16px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
  text-align: left;
}
.cart-table td { padding: 14px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.cart-table tr:hover td { background: var(--bg); }

.order-summary {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 24px;
}
.order-summary h3 {
  font-family: var(--font-display); font-size: 16px; font-weight: 800;
  color: var(--primary); margin-bottom: 20px;
  padding-bottom: 12px; border-bottom: 1px solid var(--border);
}
.summary-row { display: flex; justify-content: space-between; font-size: 13px; padding: 6px 0; }
.summary-row.total { font-weight: 800; font-size: 16px; color: var(--accent); border-top: 1px solid var(--border); padding-top: 12px; margin-top: 6px; }

/* ---------- FORM ELEMENTS ---------- */
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--primary); }
.form-input {
  padding: 10px 14px; border: 1.5px solid var(--border);
  border-radius: var(--radius-sm); font-size: 13px; font-family: inherit;
  outline: none; transition: border-color .2s, box-shadow .2s;
  background: var(--surface);
}
.form-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(14,165,233,.1); }
.form-select { 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 d='M6 8L1 3h10z' fill='%2364748b'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }

/* ---------- FOOTER ---------- */
.site-footer {
  background: var(--primary); color: rgba(255,255,255,.7);
  padding: 64px 0 32px;
}
.footer-grid {
  display: grid; grid-template-columns: 3fr 2fr 2fr 5fr; gap: 40px;
  padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.1);
}
.footer-logo {
  font-family: var(--font-display);
  font-size: 28px; font-weight: 800; font-style: italic;
  color: #fff; margin-bottom: 16px;
}
.footer-logo span { color: var(--accent); }
.footer-tagline { font-size: 12px; margin-bottom: 20px; }
.footer-socials { display: flex; gap: 10px; margin-bottom: 20px; }
.footer-social {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; transition: all .2s;
}
.footer-social:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.footer-contact p { font-size: 11px; margin-bottom: 4px; }
.footer-contact a { color: #fff; font-weight: 600; }
.footer-col h4 {
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: #fff; margin-bottom: 20px;
}
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col ul li a { font-size: 12px; transition: color .15s; }
.footer-col ul li a:hover { color: var(--accent); }
.footer-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.branch { font-size: 11px; }
.branch strong { display: block; color: rgba(255,255,255,.85); font-weight: 700; font-style: italic; margin-bottom: 2px; }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 28px; font-size: 11px; flex-wrap: wrap; gap: 12px;
}
.footer-bottom a { transition: color .15s; }
.footer-bottom a:hover { color: var(--accent); }

/* ---------- PAGE: SHOP ---------- */
.shop-layout { display: grid; grid-template-columns: 220px 1fr; gap: 28px; margin-top: 32px; }
.shop-sidebar { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 20px; align-self: start; }
.filter-group { margin-bottom: 24px; }
.filter-group h4 { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--primary); margin-bottom: 12px; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.filter-check { display: flex; align-items: center; gap: 8px; font-size: 12px; cursor: pointer; padding: 4px 0; }
.filter-check input { accent-color: var(--accent); }

/* ---------- PAGE: CONTACT ---------- */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.contact-info-item {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 20px; background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-md);
  margin-bottom: 16px;
}
.contact-info-item .icon {
  width: 44px; height: 44px; border-radius: var(--radius-sm);
  background: #e0f2fe; color: var(--accent);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
.contact-info-item h4 { font-weight: 700; font-size: 13px; color: var(--primary); margin-bottom: 4px; }
.contact-info-item p { font-size: 12px; color: var(--muted); }

/* ---------- PAGE HERO ---------- */
.page-hero {
  background: linear-gradient(135deg, var(--primary) 0%, #0c4a6e 100%);
  color: #fff; padding: 48px 0;
}
.page-hero h1 { font-family: var(--font-display); font-size: 32px; font-weight: 800; }
.page-hero p { color: rgba(255,255,255,.7); font-size: 14px; margin-top: 8px; }
.breadcrumb {
  display: flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .05em; color: rgba(255,255,255,.5);
  margin-bottom: 12px;
}
.breadcrumb span { color: rgba(255,255,255,.85); }

/* ---------- BRAND STRIP ---------- */
.brand-strip {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;
  margin-top: 16px;
}
.brand-tile {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); height: 72px;
  display: flex; align-items: center; justify-content: center;
  padding: 12px; transition: all .2s; cursor: pointer;
}
.brand-tile:hover { border-color: var(--accent); box-shadow: var(--shadow-sm); }

/* ---------- BLOG CARDS ---------- */
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.blog-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; transition: box-shadow .2s; }
.blog-card:hover { box-shadow: var(--shadow-md); }
.blog-card__img { height: 200px; background: var(--bg); overflow: hidden; }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.blog-card:hover .blog-card__img img { transform: scale(1.05); }
.blog-card__body { padding: 20px; }
.blog-card__meta { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--muted); letter-spacing: .05em; margin-bottom: 10px; }
.blog-card__title { font-family: var(--font-display); font-size: 16px; font-weight: 800; color: var(--primary); margin-bottom: 8px; line-height: 1.3; }
.blog-card__excerpt { font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.blog-card__link { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); display: flex; align-items: center; gap: 6px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .cat-grid { grid-template-columns: repeat(4,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero-grid { grid-template-columns: 1fr; }
  .shop-layout { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: repeat(2,1fr); }
  .brand-strip { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 640px) {
  .cat-grid { grid-template-columns: repeat(4,1fr); }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .brand-strip { grid-template-columns: repeat(3,1fr); }
  .product-detail { flex-direction: column; }
  .product-gallery { width: 100%; }
  .nav-links { display: none; }
  .search-bar { display: none; }
  .product-cta { grid-template-columns: 1fr; }
  .price-options { grid-template-columns: 1fr; }
}

/* ---------- ANIMATIONS ---------- */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-in { animation: fadeInUp .35s ease both; }


/* ---------- HERO SLIDER ---------- */
.hero-grid {
  display: grid;
  grid-template-columns: 790px 464px;
  gap: 16px;
  align-items: start;
}
.hero-main {
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 380px;
  position: relative;
  color: #fff;
}
.hero-slider { display: block; }
.hero-slide {
  display: none;
  align-items: center;
  padding: 48px 48px;
  min-height: 380px;
  position: relative;
}
.hero-slide.active { display: flex; }
.hero-main__content { position: relative; z-index: 2; }
.hero-main__badge {
  display: inline-block; background: var(--accent); color: #fff;
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; padding: 4px 12px; border-radius: 999px;
  margin-bottom: 14px;
}
.hero-main h1 {
  font-family: var(--font-display);
  font-size: 40px; font-weight: 800; line-height: 1.1; margin-bottom: 10px;
}
.hero-main p { color: rgba(255,255,255,.75); font-size: 13px; margin-bottom: 22px; }

.hero-dots {
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 6px; z-index: 10;
}
.hero-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.4); cursor: pointer; transition: all .2s;
}
.hero-dot.active { background: var(--accent); width: 22px; border-radius: 4px; }

.hero-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,.15); border: none; color: #fff;
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; cursor: pointer; z-index: 10;
  transition: background .2s;
}
.hero-arrow:hover { background: rgba(255,255,255,.3); }
.hero-arrow--prev { left: 14px; }
.hero-arrow--next { right: 14px; }

.hero-side { display: flex; flex-direction: column; gap: 16px; }
.hero-card {
  flex: 1; border-radius: var(--radius-lg); overflow: hidden;
  padding: 28px; display: flex; align-items: center;
  position: relative; color: #fff; text-decoration: none;
  transition: transform .2s;
}
.hero-card:hover { transform: translateY(-2px); }
.hero-card--dark { background: linear-gradient(135deg, #0f172a, #1e3a5f); }
.hero-card--cyan { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.hero-card h3 {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 800; text-transform: uppercase; color: #fff;
}

/* ---------- FLASH SALE ---------- */
.flash-sale-title {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.flash-icon { font-size: 22px; }
.flash-timer {
  display: flex; align-items: center; gap: 4px;
  background: #ef4444; border-radius: var(--radius-sm);
  padding: 4px 12px;
}
.timer-block {
  display: flex; flex-direction: column; align-items: center; min-width: 28px;
}
.timer-block span {
  font-family: var(--font-display); font-size: 18px; font-weight: 800;
  color: #fff; line-height: 1;
}
.timer-block small {
  font-size: 8px; font-weight: 700; color: rgba(255,255,255,.7);
  text-transform: uppercase; letter-spacing: .06em;
}
.timer-sep {
  font-size: 18px; font-weight: 800; color: rgba(255,255,255,.6); margin-bottom: 10px;
}

/* Flash sale card — red accent on price */
#flashSaleGrid .product-card__price { color: #ef4444; }
#flashSaleGrid .product-card { border-top: 3px solid #ef4444; }

/* ---------- WIDE PROMO BANNER 1265×390 ---------- */
.promo-banner-wide {
  background: linear-gradient(120deg, #0f172a 0%, #0c4a6e 60%, #0ea5e9 100%);
  border-radius: var(--radius-lg);
  padding: 56px 64px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; color: #fff; position: relative; overflow: hidden;
  min-height: 200px;
}
.promo-banner-wide__label {
  color: var(--accent); font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px;
}
.promo-banner-wide__title {
  font-family: var(--font-display); font-size: 32px; font-weight: 800;
  line-height: 1.2; margin-bottom: 10px;
}
.promo-banner-wide__sub { color: rgba(255,255,255,.65); font-size: 13px; max-width: 400px; }
.promo-banner-wide__deco {
  font-size: 120px; opacity: .12; position: absolute;
  right: 40px; top: 50%; transform: translateY(-50%);
  pointer-events: none; user-select: none;
}

/* ---------- SECONDARY BANNERS 625×215 each ---------- */
.secondary-banners {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.secondary-banner {
  border-radius: var(--radius-lg); padding: 36px 40px;
  display: flex; align-items: center;
  min-height: 160px; text-decoration: none;
  transition: transform .2s; position: relative; overflow: hidden;
}
.secondary-banner:hover { transform: translateY(-2px); }
.secondary-banner--a {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
}
.secondary-banner--b {
  background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);
}

/* ---------- RESPONSIVE UPDATES ---------- */
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-side { flex-direction: row; }
  .hero-card { min-height: 160px; }
  .secondary-banners { grid-template-columns: 1fr; }
  .promo-banner-wide { padding: 36px 32px; }
  .promo-banner-wide__title { font-size: 24px; }
}
@media (max-width: 640px) {
  .hero-side { flex-direction: column; }
  .flash-sale-title { gap: 8px; }
  .promo-banner-wide { padding: 28px 20px; }
  .promo-banner-wide__title { font-size: 20px; }
}



/* ============================================================
   PRODUCT CARD — Dazzle-style  (.pc)
============================================================ */
.pc {
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow .22s, transform .22s;
  position: relative;
}
.pc:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.13);
  transform: translateY(-4px);
}

/* Image zone */
.pc__img-wrap {
  position: relative;
  background: #f8fafc;
  padding: 20px 16px 16px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.pc__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .3s ease;
}
.pc:hover .pc__img-wrap img { transform: scale(1.06); }

/* Discount pill — top left */
.pc-discount {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--accent);
  color: #fff;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  line-height: 1;
}

/* Hot / New badge — top right */
.pc-hot-badge {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  transform: none;
  background: #101518;
  color: #fff;
  font-size: 8.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 3px 8px 3px 10px;
  border-radius: 0 0 0 10px;
  white-space: nowrap;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 4px;
}

.pc-hot-badge--new { background: var(--accent); }
.pc-hot-badge i {
  color: #ff6b2b;
  font-size: 8.5px;
}
.pc-hot-badge span {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
/* Guarantee badge — bottom right of image */
.pc__guarantee {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: var(--accent);
  color: #fff;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3;
  text-align: center;
  padding: 4px;
}
.pc__guarantee i {
  font-size: 11px;
  margin-bottom: 1px;
}
.pc__guarantee span {
  font-size: 6.5px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: .03em;
}

/* Body */
.pc__body {
  padding: 12px 14px 8px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pc__name {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pc__pricing {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.pc__price {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 800;
  color: #1e293b;
}
.pc__old {
  font-size: 12px;
  color: #94a3b8;
  text-decoration: line-through;
}

/* Footer buttons */
.pc__foot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e8ecf0;
}
.pc__btn {
  padding: 10px 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background .18s, color .18s;
  font-family: var(--font-body);
}
.pc__btn--view {
  background: #1e293b;
  color: #fff;
}
.pc__btn--view:hover { background: #0f172a; }
.pc__btn--cart {
  background: var(--accent);
  color: #fff;
}
.pc__btn--cart:hover { background: #0284c7; }

/* Slider-style horizontal scroll for flash sale */
.product-scroll-wrap {
  position: relative;
}
.product-scroll {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
.product-scroll--carousel {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.product-scroll--carousel::-webkit-scrollbar { display: none; }
.product-scroll--carousel .pc {
  min-width: 210px;
  scroll-snap-align: start;
  flex-shrink: 0;
}
.scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  font-size: 13px;
  color: var(--primary);
  transition: all .2s;
}
.scroll-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.scroll-btn--left  { left: -18px; }
.scroll-btn--right { right: -18px; }

/* ============================================================
   SHOP PAGE
============================================================ */
.shop-page-hero {
  background: var(--primary);
  padding: 20px 0;
  color: #fff;
}
.shop-page-hero .breadcrumb-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(255,255,255,.5);
}
.shop-page-hero .breadcrumb-bar a { color: rgba(255,255,255,.7); transition: color .15s; }
.shop-page-hero .breadcrumb-bar a:hover { color: #fff; }
.shop-page-hero .breadcrumb-bar span { color: #fff; font-weight: 700; }

.shop-layout {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 24px;
  margin-top: 28px;
  margin-bottom: 60px;
  align-items: start;
}
.shop-sidebar {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  position: sticky;
  top: 120px;
}
.sidebar-section {
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
}
.sidebar-section:last-child { border-bottom: none; }
.sidebar-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--primary);
  margin-bottom: 12px;
}
.filter-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  cursor: pointer;
  padding: 4px 0;
  transition: color .15s;
}
.filter-check:hover { color: var(--accent); }
.filter-check input { accent-color: var(--accent); width: 14px; height: 14px; }
.filter-check span.count {
  margin-left: auto;
  font-size: 10px;
  color: #94a3b8;
  font-weight: 600;
}

.shop-main {}
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
  flex-wrap: wrap;
}
.shop-toolbar h1 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  color: var(--primary);
}
.shop-toolbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sort-select {
  padding: 8px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 6px;
  font-size: 12px;
  font-family: inherit;
  font-weight: 600;
  color: var(--primary);
  background: #fff;
  outline: none;
  cursor: pointer;
}
.sort-select:focus { border-color: var(--accent); }
.result-count {
  font-size: 12px;
  color: #94a3b8;
  font-weight: 600;
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
  gap: 16px;
}

/* Active filter pills */
.active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e0f2fe;
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
}
.filter-pill:hover { background: #bae6fd; }

/* Category quick-nav chips */
.cat-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.cat-chip {
  padding: 6px 16px;
  border-radius: 999px;
  border: 1.5px solid #e2e8f0;
  font-size: 11px;
  font-weight: 700;
  color: var(--primary);
  background: #fff;
  cursor: pointer;
  transition: all .15s;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cat-chip:hover, .cat-chip.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 36px;
}
.page-btn {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
  cursor: pointer;
  transition: all .15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-btn:hover, .page-btn.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* Flash sale carousel controls */
.flash-sale-wrap { position: relative; }

@media (max-width: 1024px) {
  .shop-layout { grid-template-columns: 1fr; }
  .shop-sidebar { position: static; }
  .scroll-btn { display: none; }
}
@media (max-width: 640px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }
}










/* ============================================================
   FLASH SALE BOX
============================================================ */
.flash-box {
  /* background: linear-gradient(135deg, #c8933a 0%, #e8b96a 40%, #d4a04a 100%);  OLD BRONZE */
  
  /* NEW TECH CYAN GLOW */
  background: linear-gradient(135deg, 
                #0c8ecf 0%,    /* Vibrant Medium Blue */
                #0ea5e9 35%,   /* Electric Cyan (Main Brand Color) */
                #14b8a6 100%   /* Deep Teal Accent */
              );
              
  border-radius: 14px;
  padding: 20px 24px 28px;
  position: relative;
  
  /* Added subtlety from the image: A glowing outer edge */
  border: 1px solid rgba(14, 165, 233, 0.5); /* Semi-transparent cyan border */
  box-shadow: 0 0 15px rgba(14, 165, 233, 0.2); /* Soft cyber glow */
}


/* Header row */
.flash-box__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.flash-box__title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.flash-fire { font-size: 22px; }
.flash-text {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  letter-spacing: .01em;
  line-height: 1.3;
}
.flash-box__right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

/* Countdown */
.flash-countdown {
  display: flex;
  align-items: center;
  gap: 10px;
}
.flash-ending-label {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  letter-spacing: .05em;
  line-height: 1.4;
}
.flash-timer-blocks {
  display: flex;
  gap: 4px;
}
.ftb {
  background: #1e293b;
  color: #fff;
  border-radius: 6px;
  padding: 5px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 42px;
}
.ftb span {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
}
.ftb small {
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  letter-spacing: .06em;
  margin-top: 2px;
}

/* SEE ALL button */
.flash-see-all {
  background: #fff;
  color: #1a0a00;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 9px 18px;
  border-radius: 6px;
  white-space: nowrap;
  border: 2px solid rgba(0,0,0,.1);
  transition: background .15s;
  text-decoration: none;
}
.flash-see-all:hover { background: #f1f5f9; }

/* Slider wrapper */
.flash-slider-wrap {
  position: relative;
  overflow: hidden;
}
.flash-track {
  display: flex;
  gap: 14px;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}

/* Arrow buttons */
.flash-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: #fff;
  color: #1a0a00;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(0,0,0,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s, color .15s;
}
.flash-arrow:hover { background: #1e293b; color: #fff; }
.flash-arrow--left  { left: -6px; }
.flash-arrow--right { right: -6px; }
.flash-arrow:disabled { opacity: .3; cursor: default; }

/* Flash product card (.fpc) */
.fpc {
  background: rgba(255,255,255,0.92);
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  width: 195px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow .2s, transform .2s;
  position: relative;
  border: 1px solid rgba(255,255,255,.6);
}
.fpc:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
  transform: translateY(-3px);
}

/* Discount % — top left corner tag */
.fpc__disc {
  position: absolute;
  top: 0;
  left: 0;
  /* NEW TECH GRADIENT: Electric Cyan to Deep Navy Blue */
  background: linear-gradient(to right, #0ea5e9, #2563eb, #1e40af) !important;
  color: #fff !important;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px 0 8px 0;
  letter-spacing: .02em;
  z-index: 4;
  /* Added a subtle tech-glow to make the discount pop */
  box-shadow: 2px 2px 5px rgba(14, 165, 233, 0.3);
}

/* Hot/Top badge — top right */
.fpc__hot {
  position: absolute;
  top: 8px;
  right: 0;
  background: #1e293b;
  color: #fff;
  font-size: 8.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 3px 8px 3px 10px;
  border-radius: 12px 0 0 12px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.fpc__hot--featured {
  background: #1a1a1a;
  color: #ffffff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.fpc__hot--featured i {
  color: #ff6b2b;
}

.fpc__hot--new      { background: var(--accent); }

/* Image area — transparent-ish bg so product pops */
.fpc__img {
  background: rgba(248,250,252,0.6);
  padding: 16px 12px 12px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.fpc__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .3s;
}
.fpc:hover .fpc__img img { transform: scale(1.07); }

/* Guarantee badge in image */
.fpc__guarantee {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: var(--accent);
  color: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 5.5px;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
  letter-spacing: .03em;
  z-index: 3;
  padding: 2px;
}
.fpc__guarantee i { font-size: 10px; display: block; margin-bottom: 1px; }

/* Body */
.fpc__body {
  padding: 10px 12px 6px;
  flex: 1;
}
.fpc__name {
  font-size: 12.5px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}
.fpc__prices {
  display: flex;
  align-items: baseline;
  gap: 7px;
  flex-wrap: wrap;
}
.fpc__price {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 800;
  color: #1e293b;
}
.fpc__old {
  font-size: 11px;
  color: #94a3b8;
  text-decoration: line-through;
}

/* Buttons */
.fpc__foot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(0,0,0,.08);
  margin-top: 8px;
}
.fpc__btn {
  padding: 9px 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background .15s;
}
.fpc__btn--view {
  background: #1e293b;
  color: #fff;
  border-radius: 0 0 0 10px;
}
.fpc__btn--view:hover { background: #0f172a; }
.fpc__btn--cart {
  background: var(--accent);
  color: #fff;
  border-radius: 0 0 10px 0;
}
.fpc__btn--cart:hover { background: #0284c7; }

/* ---- Best Deal grid reuses .pc cards but slightly bigger ---- */
@media (max-width: 768px) {
  .flash-text { font-size: 13px; }
  .flash-box__header { flex-direction: column; align-items: flex-start; }
  .flash-see-all { align-self: flex-start; }
}


/* ============================================================
   TRENDING PRODUCTS — 3-column Dazzle layout
   Col 1: 2×2 small grid | Col 2: 1 tall featured | Col 3: 2×2 small grid
============================================================ */
.trending-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr 1fr;
  gap: 16px;
  align-items: stretch;
}

/* Small card column sub-grid */
.trending-col-small {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Small trending card */
.tpc {
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow .2s, transform .2s;
  position: relative;
  box-shadow: 0 2px 8px rgba(var(--accent-rgb, 14,165,233),.08);
}
.tpc:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.12);
  transform: translateY(-3px);
}

/* Discount tag — gradient brown/gold like Dazzle */
.tpc__disc {
  position: absolute;
  top: 0;
  left: 0;
  /* TECHBAZAAR GRADIENT: Electric Cyan to Deep Digital Blue */
  background: linear-gradient(to right, #00c6ff, #0072ff) !important;
  color: #fff;
  font-size: 10px;
  font-weight: 800; /* Heavier weight for better readability on blue */
  padding: 2px 10px; /* Slightly wider for a "badge" feel */
  border-radius: 4px 0 8px 0;
  z-index: 4;
  letter-spacing: .05em; /* Increased spacing for a modern tech vibe */
  /* Added a subtle glow to make the deal feel "hot" */
  box-shadow: 2px 2px 6px rgba(0, 114, 255, 0.3);
}

/* Label badge — top right, dark pill */
.tpc__label {
  position: absolute;
  top: 0; right: 0;
  background: #101518;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 0 4px 0 8px;
  z-index: 4;
  white-space: nowrap;
  letter-spacing: .03em;
}
/* gradient text on label */
.tpc__label span {
  color: #fff;
}

.tpc__img {
  aspect-ratio: 1 / 1;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  overflow: hidden;
  position: relative;
}
.tpc__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .3s;
}
.tpc:hover .tpc__img img { transform: scale(1.07); }

/* Out of stock overlay */
.tpc__oos {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  padding: 5px;
  letter-spacing: .03em;
}

.tpc__body {
  padding: 8px 10px 6px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}
.tpc__name {
  font-size: 11.5px;
  font-weight: 600;
  color: #374151;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tpc__prices {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  flex-wrap: wrap;
}
.tpc__price {
  font-size: 12.5px;
  font-weight: 700;
  color: #1e293b;
}
.tpc__old {
  font-size: 10px;
  color: #9ca3af;
  text-decoration: line-through;
}

.tpc__foot {
  padding: 0 8px 8px;
}
/* "select option" style (no VIEW/CART yet for these small ones) */
.tpc__select {
  display: block;
  width: 100%;
  text-align: center;
  padding: 5px 8px;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  border: 1.5px solid var(--accent);
  border-radius: 6px;
  color: var(--accent);
  background: rgba(14,165,233,.08);
  cursor: pointer;
  transition: background .15s, color .15s;
  text-decoration: none;
}
.tpc__select:hover { background: var(--accent); color: #fff; }

/* Split foot: VIEW + ADD TO CART */
.tpc__foot-split {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px;
  padding: 0 8px 8px;
}
.tpc__view {
  background: #101518;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 5px 10px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background .15s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tpc__view span {
  color: var(--surface);
}
.tpc__view:hover { background: #222; }
.tpc__addcart {
  background: rgba(14,165,233,.15);
  border: 1.5px solid var(--accent);
  color: var(--accent);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.tpc__addcart:hover { background: var(--accent); color: #fff; }

/* ── FEATURED (centre tall card) ── */
.trending-feat {
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  position: relative;
  box-shadow: 0 4px 20px rgba(var(--accent-rgb, 14,165,233),.1);
  transition: box-shadow .2s, transform .2s;
}
.trending-feat:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
  transform: translateY(-3px);
}
.trending-feat__disc {
  position: absolute;
  top: 0;
  left: 0;
  /* TECHBAZAAR TRENDING: Electric Cyan to Deep Digital Blue */
  background: linear-gradient(to right, #00d2ff, #3a7bd5) !important;
  color: #fff;
  font-size: 14px;
  font-weight: 800; /* Extra bold for trending status */
  padding: 6px 20px;
  border-radius: 8px 0 12px 0;
  z-index: 4;
  /* Modern Tech Effects */
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: 4px 4px 15px rgba(0, 210, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.trending-feat__label {
  position: absolute;
  top: 0; right: 0;
  background: #101518;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 0 8px 0 12px;
  z-index: 4;
}
.trending-feat__label span {
  color: #fff;
}
.trending-feat__img {
  flex: 1;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  min-height: 280px;
  overflow: hidden;
}
.trending-feat__img img {
  max-height: 260px;
  width: 100%;
  object-fit: contain;
  transition: transform .3s;
}
.trending-feat:hover .trending-feat__img img { transform: scale(1.05); }

/* Guarantee badge on featured */
.trending-feat__guarantee {
  position: absolute;
  bottom: 210px;
  right: 16px;
  background: var(--accent);
  color: #fff;
  border-radius: 50%;
  width: 52px;
  height: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 6.5px;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: .03em;
  z-index: 5;
}
.trending-feat__guarantee i { font-size: 12px; display: block; margin-bottom: 2px; }

.trending-feat__body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.trending-feat__name {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.trending-feat__prices {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.trending-feat__price {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  color: #1e293b;
}
.trending-feat__old {
  font-size: 13px;
  color: #9ca3af;
  text-decoration: line-through;
}
.trending-feat__cta {
  width: 100%;
  max-width: 220px;
  margin: 4px auto 0;
  display: block;
  text-align: center;
  padding: 9px 16px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  border: 2px solid var(--accent);
  border-radius: 8px;
  color: var(--accent);
  background: rgba(14,165,233,.08);
  text-decoration: none;
  transition: all .15s;
}
.trending-feat__cta:hover { background: var(--accent); color: #fff; }

/* Responsive */
@media (max-width: 1100px) {
  .trending-grid { grid-template-columns: 1fr 1.3fr; }
  .trending-grid > *:last-child { display: none; }
  .cat-grid-new { grid-template-columns: repeat(8, 151px); }
}
@media (max-width: 768px) {
  .trending-grid { grid-template-columns: 1fr; }
  .trending-grid > *:last-child { display: block; }
  .cat-grid-new { grid-template-columns: repeat(5, 140px); }
}
@media (max-width: 480px) {
  .cat-grid-new { grid-template-columns: repeat(4, 130px); }
  .cat-tile { width: 130px; }
  .cat-tile__img { height: 110px; }
}

/* Consistent discount badge — flash card now matches pc-discount style */
.fpc__disc {
  position: absolute;
  top: 0; 
  left: 0;
  /* TECHBAZAAR GRADIENT: Electric Cyan to Royal Blue */
  background: linear-gradient(to right, #00d2ff, #0077ff, #0033ff) !important;
  color: #fff !important;
  font-size: 10px;
  font-weight: 800; /* Increased to 800 for extra "punch" */
  padding: 2px 10px; /* Slightly wider for better balance */
  border-radius: 4px 0 8px 0;
  letter-spacing: .05em; /* More spacing for a tech look */
  z-index: 4;
  /* Added a subtle glow effect */
  box-shadow: 2px 2px 8px rgba(0, 119, 255, 0.4);
}

/* pc-discount also gets gradient to stay consistent */
.pc-discount {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  background: linear-gradient(135deg, #0ea5e9, #1e40af) !important;
  color: #fff !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
  z-index: 3;
}

/* ---------- SIDEBAR COLLAPSIBLE SECTIONS ---------- */
.sidebar-collapsible .sidebar-body {
  overflow: hidden;
  max-height: 300px;
  transition: max-height .3s ease, opacity .3s ease;
  opacity: 1;
}
.sidebar-collapsible.collapsed .sidebar-body {
  max-height: 0;
  opacity: 0;
}
.sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  margin-bottom: 0 !important;
}
.sidebar-collapsible.collapsed .sidebar-toggle { margin-bottom: 0 !important; }
.sidebar-collapsible:not(.collapsed) .sidebar-toggle { margin-bottom: 12px; }
.sidebar-chev {
  font-size: 10px;
  color: var(--muted);
  transition: transform .25s;
}
.sidebar-collapsible.collapsed .sidebar-chev { transform: rotate(-90deg); }

/* Color dot swatch */
.color-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 1px rgba(0,0,0,.1);
}



/* ── Hero main slider: 790×645 ── */
.hero-main {
  width: 790px;
  height: 645px;
  min-height: unset;
  padding: 0;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.hero-slider {
  width: 790px;
  height: 645px;
  position: relative;
}
.hero-slide {
  position: absolute;
  inset: 0;
  width: 790px;
  height: 645px;
  padding: 0;
  display: none;
}
.hero-slide.active {
  display: block;
}
.hero-slide img {
  width: 790px;
  height: 645px;
  object-fit: cover;
  display: block;
}

/* ── Side card 1: 464×370 ── */
.hero-card--dark {
  width: 464px;
  height: 370px;
  padding: 0;
  overflow: hidden;
  flex-shrink: 0;
}
.hero-card--dark img {
  width: 464px;
  height: 370px;
  object-fit: cover;
  display: block;
}

/* ── Side card 2: 464×256 ── */
.hero-card--cyan {
  width: 464px;
  height: 256px;
  padding: 0;
  overflow: hidden;
  flex-shrink: 0;
}
.hero-card--cyan img {
  width: 464px;
  height: 256px;
  object-fit: cover;
  display: block;
}