/* ===================================================
   GCA styMode — Redesigned CSS (Menzberg-inspired)
   =================================================== */

/* ── Variables ──────────────────────────────────────── */
:root {
  --black:      #1a1a1a;
  --dark-nav:   #1c1c1c;
  --white:      #ffffff;
  --gold:       #c8a86b;
  --gold-light: #e8d5a3;
  --muted:      #f6f6f4;
  --border:     #e8e8e8;
  --text-soft:  #6b6b6b;
  --text-xs:    #999;
  --danger:     #c62828;
  --promo:      #d84315;
  --radius:     10px;
  --radius-sm:  6px;
  --shadow:     0 2px 16px rgba(0,0,0,0.08);
  --shadow-lg:  0 8px 40px rgba(0,0,0,0.13);
  --transition: 220ms ease;
  --container:  1280px;
}

/* ── Reset ──────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--white);
  color: var(--black);
  line-height: 1.55;
  overflow-x: hidden;
}
body[dir="rtl"] { font-family: "Segoe UI", Tahoma, "Arabic UI Text", sans-serif; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; }

.container {
  width: min(93%, var(--container));
  margin-inline: auto;
}

/* ── TOP ANNOUNCEMENT BAR ───────────────────────────── */
.topbar {
  background: var(--dark-nav);
  color: rgba(255,255,255,0.82);
  font-size: 0.78rem;
  padding: 7px 0;
  letter-spacing: 0.02em;
}
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.topbar-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.topbar-phone {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  color: #fff;
}
.topbar-phone svg { width:13px; height:13px; opacity:0.7; }
.topbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.topbar-social {
  display: flex;
  align-items: center;
  gap: 10px;
}
.topbar-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.2);
  transition: border-color var(--transition), background var(--transition);
}
.topbar-social a:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.5); }
.topbar-social svg { width:13px; height:13px; fill: rgba(255,255,255,0.75); }

/* ── MAIN NAVBAR ────────────────────────────────────── */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 8px rgba(0,0,0,0.04);
}
.nav-wrap {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--black);
  white-space: nowrap;
}
.logo img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--gold);
}
.logo span { color: var(--gold); }

/* CENTER NAV SEARCH (desktop) */
.nav-search-wrap {
  flex: 1;
  max-width: 500px;
  position: relative;
}
.nav-search-input {
  width: 100%;
  padding: 9px 42px 9px 16px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  background: var(--muted);
  outline: none;
  transition: border-color var(--transition), background var(--transition);
  font-family: inherit;
}
.nav-search-input:focus { border-color: var(--gold); background: #fff; }
.nav-search-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: none;
  cursor: pointer;
  color: var(--text-soft);
  display: flex;
  align-items: center;
}
.nav-search-btn svg { width:16px; height:16px; }

.nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cart-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--dark-nav);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  white-space: nowrap;
  text-decoration: none;
  font-family: inherit;
}
.cart-btn:hover { background: #333; transform: translateY(-1px); color: #fff; }
.cart-btn svg { width:16px; height:16px; flex-shrink:0; }

/* Lang dropdown */
.lang-dropdown { position:relative; }
.lang-toggle {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 700;
  font-size: 0.8rem;
  cursor: pointer;
  transition: var(--transition);
  font-family: inherit;
}
.lang-toggle:hover { border-color: var(--black); }
.lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 150px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-lg);
  padding: 6px;
  display: none;
  z-index: 1200;
}
.lang-menu.open { display: grid; gap: 4px; }
.lang-option {
  border: 0;
  border-radius: var(--radius-sm);
  background: #fff;
  text-align: left;
  padding: 8px 10px;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background var(--transition);
  font-family: inherit;
}
.lang-option:hover { background: var(--muted); }

/* Hamburger */
.menu-btn {
  border: 1px solid var(--border);
  background: #fff;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
  width: 18px; height: 2px;
  background: var(--black);
  display: block; position: relative;
  transition: var(--transition);
}
.menu-btn span::before,
.menu-btn span::after {
  content: ""; position: absolute; left: 0;
}
.menu-btn span::before { top: -6px; }
.menu-btn span::after  { top:  6px; }
.menu-btn.open span { background: transparent; }
.menu-btn.open span::before { top:0; transform:rotate(45deg); }
.menu-btn.open span::after  { top:0; transform:rotate(-45deg); }

/* ── CATEGORY MEGA-NAV BAR (like menzberg) ──────────── */
.cat-navbar {
  background: var(--dark-nav);
  position: sticky;
  top: 69px;
  z-index: 990;
}
.cat-navbar-inner {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
}
.cat-navbar-inner::-webkit-scrollbar { display:none; }
.cat-nav-link {
  color: rgba(255,255,255,0.75);
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 12px 15px;
  white-space: nowrap;
  display: block;
  border-bottom: 2px solid transparent;
  transition: color var(--transition), border-color var(--transition);
}
.cat-nav-link:hover, .cat-nav-link.active {
  color: #fff;
  border-bottom-color: var(--gold);
}
.cat-nav-link.cat-nav-all { color: var(--gold); font-weight: 700; }

/* ── NAV LINKS (desktop list / mobile dropdown) ─────── */
.nav-links {
  display: flex;
  align-items: center;
  gap: 22px;
  list-style: none;
}
.nav-links a {
  position: relative;
  font-weight: 600;
  font-size: 0.9rem;
}
.nav-links a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  width: 0; height: 2px;
  background: var(--gold);
  transition: width var(--transition);
}
.nav-links a:hover::after { width: 100%; }

/* ── HERO ───────────────────────────────────────────── */
.hero {
  background:
    radial-gradient(circle at 15% 40%, rgba(200,168,107,0.1), transparent 50%),
    radial-gradient(circle at 85% 20%, rgba(0,0,0,0.04), transparent 45%),
    #fafaf8;
  padding: 72px 0 56px;
}
.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
}
.hero h1 {
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.5px;
  margin-bottom: 16px;
}
.hero h1 span { color: var(--gold); }
.hero p {
  font-size: 1rem;
  color: var(--text-soft);
  max-width: 440px;
  margin-bottom: 26px;
  line-height: 1.7;
}
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom: 24px; }
.hero-card {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4/5;
}
.hero-card img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 600ms ease;
}
.hero-card:hover img { transform: scale(1.03); }

/* ── BUTTONS ────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  border: none;
  transition: all var(--transition);
  text-decoration: none;
  letter-spacing: 0.01em;
  font-family: inherit;
}
.btn-primary {
  background: var(--dark-nav);
  color: #fff;
}
.btn-primary:hover { background: #333; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0,0,0,0.2); color: #fff; }
.btn-outline {
  background: transparent;
  color: var(--black);
  border: 1.5px solid var(--black);
}
.btn-outline:hover { background: var(--black); color: #fff; }
.btn-gold {
  background: var(--gold);
  color: var(--black);
}
.btn-gold:hover { background: #b8943a; transform: translateY(-1px); }

/* ── SECTION HEADINGS ───────────────────────────────── */
.section-head { text-align: center; margin-bottom: 36px; }
.section-title {
  font-size: clamp(1.5rem, 3.5vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -0.5px;
  line-height: 1.15;
  margin-bottom: 10px;
}
.section-title span { color: var(--gold); }
.section-subtitle {
  font-size: 0.96rem;
  color: var(--text-soft);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ── LOOP GALLERY (ticker) ──────────────────────────── */
.loop-gallery {
  overflow: hidden;
  margin: 36px 0 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 14px 0;
}
.loop-track {
  display: flex;
  gap: 16px;
  animation: loopScroll 28s linear infinite;
  width: max-content;
}
.loop-track:hover { animation-play-state: paused; }
@keyframes loopScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.loop-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  width: 90px;
  cursor: pointer;
}
.loop-item img {
  width: 72px; height: 72px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--border);
}
.loop-item span {
  font-size: 0.68rem;
  font-weight: 600;
  text-align: center;
  color: var(--text-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 84px;
}

/* ── CATEGORY FILTER BAR ────────────────────────────── */
.filter-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  padding: 0;
  list-style: none;
}
.filter-btn {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 999px;
  padding: 7px 18px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
  font-family: inherit;
}
.filter-btn:hover { border-color: var(--black); }
.filter-btn.active {
  background: var(--dark-nav);
  color: #fff;
  border-color: var(--dark-nav);
}

/* ── SHOP TOOLBAR ───────────────────────────────────── */
.shop-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.search-input {
  flex: 1;
  min-width: 200px;
  padding: 10px 16px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  background: var(--muted);
  outline: none;
  transition: border-color var(--transition), background var(--transition);
  font-family: inherit;
}
.search-input:focus { border-color: var(--gold); background: #fff; }

.layout-kebab {
  width: 38px; height: 38px;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  transition: background var(--transition);
  flex-shrink: 0;
}
.layout-kebab:hover { background: var(--muted); }
.layout-kebab-dot {
  width: 20px; height: 3px;
  background: var(--black);
  border-radius: 2px;
  transition: var(--transition);
}
.layout-kebab.is-vertical .layout-kebab-dot {
  width: 3px; height: 3px;
  border-radius: 50%;
}

/* ── PRICE FILTER ───────────────────────────────────── */
.price-filter {
  background: var(--muted);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px 20px;
  margin-bottom: 24px;
}
.price-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  font-weight: 700;
  font-size: 0.88rem;
}
.preview-toggle {
  border: none;
  background: none;
  font-size: 0.8rem;
  color: var(--gold);
  cursor: pointer;
  font-weight: 700;
  font-family: inherit;
}
.price-values {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.price-input {
  width: 80px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 700;
  background: #fff;
  outline: none;
  font-family: inherit;
}
.price-divider { color: var(--text-soft); }
.range-wrap { position:relative; height:6px; margin-top:8px; }
.range-track { position:absolute; inset:0; border-radius:3px; background:var(--border); }
.range-progress { position:absolute; height:6px; background:var(--dark-nav); border-radius:3px; }
.price-range {
  position:absolute; top:50%; left:0;
  transform:translateY(-50%);
  width:100%; appearance:none;
  background:transparent; pointer-events:none; height:6px;
}
.price-range::-webkit-slider-thumb {
  appearance:none; width:16px; height:16px;
  border-radius:50%; background:var(--dark-nav);
  border:2px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,0.25);
  pointer-events:all; cursor:pointer;
}

/* ── PRODUCTS GRID ──────────────────────────────────── */
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 20px;
}
.products-grid.vertical { grid-template-columns: 1fr; }

/* ── PRODUCT CARD ───────────────────────────────────── */
.product-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform 240ms ease, box-shadow 240ms ease;
  animation: fadeUp 400ms ease both;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
.product-card.is-out { opacity: 0.6; }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:translateY(0); }
}

.product-image-wrap {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--muted);
  aspect-ratio: 1/1;
}
.product-image-wrap img {
  width:100%; height:100%;
  object-fit:cover;
  transition:transform 360ms ease;
}
.product-card:hover .product-image-wrap img { transform:scale(1.06); }

.product-tag {
  position: absolute;
  top: 10px; right: 10px;
  font-size: 0.69rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  pointer-events: none;
}
.product-tag.promo { background: var(--promo); color:#fff; }
.product-tag.stock { background: #424242; color:#fff; }
[dir="rtl"] .product-tag { right:auto; left:10px; }

.product-info { padding:13px 14px 15px; }
.badge {
  display: inline-block;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-soft);
  background: var(--muted);
  border-radius: 4px;
  padding: 2px 7px;
  margin-bottom: 6px;
}
.product-name {
  font-size: 0.92rem;
  font-weight: 800;
  margin-bottom: 6px;
  line-height: 1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.price-wrap {
  display:flex; align-items:baseline; gap:8px; margin-bottom:10px;
}
.price { font-size:1.1rem; font-weight:900; color:var(--black); }
.old-price { font-size:0.85rem; color:var(--text-soft); text-decoration:line-through; font-weight:600; }
.product-sizes-line { font-size:0.74rem; color:var(--text-soft); margin-bottom:10px; }
.product-actions { display:flex; gap:8px; }
.mini-btn {
  flex:1; text-align:center;
  padding:8px 10px;
  border-radius:999px;
  font-size:0.78rem; font-weight:700;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  transition:all var(--transition);
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; color:var(--black);
  font-family:inherit;
}
.mini-btn:hover { border-color:var(--black); background:var(--muted); }
.mini-btn.btn-primary {
  background:var(--dark-nav); color:#fff; border-color:var(--dark-nav);
}
.mini-btn.btn-primary:hover { background:#333; border-color:#333; color:#fff; }

/* ── WISH BUTTON ────────────────────────────────────── */
.wish-btn {
  position:absolute; top:10px; left:10px; z-index:3;
  width:32px; height:32px; border-radius:50%;
  border:none; background:rgba(255,255,255,0.9);
  backdrop-filter:blur(4px);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:transform 200ms ease,background 200ms ease,box-shadow 200ms ease;
  box-shadow:0 2px 8px rgba(0,0,0,0.12); padding:0;
}
.wish-btn:hover { transform:scale(1.12); background:#fff; box-shadow:0 4px 14px rgba(0,0,0,0.18); }
.wish-btn svg { width:15px; height:15px; pointer-events:none; transition:fill 200ms,stroke 200ms; }
.wish-btn.active svg { fill:#e53935; stroke:#e53935; }
.wish-btn:not(.active) svg { fill:none; stroke:#555; }
[dir="rtl"] .wish-btn { left:auto; right:10px; }

/* ── STATE BOX ──────────────────────────────────────── */
.state-box {
  text-align:center; padding:48px 24px;
  color:var(--text-soft); font-size:0.95rem; font-weight:600;
  width:100%;
}

/* Loader Spinner */
#productLoader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #000;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Hide broken image before load */
#detailMainImage:not([src]), 
#detailMainImage[src=""] {
  visibility: hidden;
}


/* ── CATALOG PAGE ───────────────────────────────────── */
.catalog-hero {
  background:var(--muted);
  border-bottom:1px solid var(--border);
  padding:32px 0;
}
.catalog-body { padding:36px 0 60px; }

/* ── SHOP SECTION on index page ─────────────────────── */
#shop { padding:60px 0; }

/* ── CATEGORIES SECTION ─────────────────────────────── */
#categories { padding:60px 0; background:var(--muted); }
.categories-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px,1fr));
  gap:16px;
}
.cat-card {
  border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--border); background:#fff;
  cursor:pointer; transition:transform 240ms ease,box-shadow 240ms ease;
  text-decoration:none; color:inherit; display:block;
}
.cat-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.cat-card-img { aspect-ratio:1/1; background:var(--muted); overflow:hidden; }
.cat-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 300ms ease; }
.cat-card:hover .cat-card-img img { transform:scale(1.06); }
.cat-card-label {
  padding:10px 12px; font-size:0.82rem; font-weight:800;
  text-align:center; letter-spacing:0.02em;
}

/* ── BRANDS STRIP ───────────────────────────────────── */
.brands-strip { padding:40px 0; }
.brands-list {
  display:flex; align-items:center; justify-content:center;
  gap:32px; flex-wrap:wrap;
}
.brand-card {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  opacity:0.55; transition:opacity var(--transition); filter:grayscale(100%);
}
.brand-card:hover { opacity:1; filter:none; }
.brand-card img { width:70px; height:40px; object-fit:contain; }
.brand-name { font-size:0.7rem; font-weight:800; letter-spacing:0.08em; }

/* ── DELIVERY BADGE ─────────────────────────────────── */
.delivery-badge--large {
  margin-top:20px; padding:14px 20px;
  border-radius:12px; border:1px solid #e2cfa3;
  background:linear-gradient(135deg,#fffdf6,#fff8e8);
  max-width:500px;
}
.delivery-badge-inner { display:flex; align-items:center; gap:14px; }
.delivery-truck-svg { width:44px; height:44px; flex-shrink:0; color:#5a4518; }
.delivery-badge-copy { display:flex; flex-direction:column; gap:3px; }
[dir="rtl"] .delivery-badge-copy { text-align:right; }
.delivery-line1 { font-size:clamp(0.95rem,2.4vw,1.2rem); font-weight:800; color:#3d2f0c; line-height:1.25; }
.delivery-line2 { font-size:0.85rem; color:#7a5c1c; font-weight:600; }

/* ── CONTACT SECTION ────────────────────────────────── */
#contact {
  background:var(--dark-nav); color:#fff; padding:60px 0;
}
#contact .section-title { color:#fff; }
#contact .section-title span { color:var(--gold); }
#contact .section-subtitle { color:rgba(255,255,255,0.65); }
.contact-box {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px; margin-top:36px;
}
.contact-card {
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius); padding:24px;
}
.contact-card h3 { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.55); margin-bottom:8px; font-weight:700; }
.contact-card p { font-size:1rem; font-weight:800; color:#fff; }
.contact-card a.btn { margin-top:16px; }

/* ── CART DRAWER ────────────────────────────────────── */
.dim {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.4); z-index:1100; cursor:pointer;
}
.dim.show { display:block; }
.cart-drawer {
  position:fixed; top:0; right:-440px;
  width:min(440px,100vw); height:100%;
  background:#fff; z-index:1200;
  display:flex; flex-direction:column;
  box-shadow:-4px 0 40px rgba(0,0,0,0.14);
  transition:right 340ms cubic-bezier(0.4,0,0.2,1);
}
.cart-drawer.open { right:0; }
[dir="rtl"] .cart-drawer { right:auto; left:-440px; transition:left 340ms cubic-bezier(0.4,0,0.2,1); box-shadow:4px 0 40px rgba(0,0,0,0.14); }
[dir="rtl"] .cart-drawer.open { left:0; }
.cart-head {
  padding:18px 20px; border-bottom:1px solid var(--border);
  font-size:1.05rem; font-weight:800;
  display:flex; align-items:center; justify-content:space-between;
}
.cart-items { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:14px; }
.cart-row {
  display:grid; grid-template-columns:80px 1fr; gap:12px; align-items:center;
  padding:12px; border:1px solid var(--border); border-radius:var(--radius);
  background:var(--muted);
}
.cart-row img { width:80px; height:80px; object-fit:cover; border-radius:8px; }
.qty-wrap { display:flex; align-items:center; gap:8px; margin-top:6px; }
.qty-btn {
  width:28px; height:28px; border:1px solid var(--border);
  background:#fff; border-radius:50%; font-size:1rem; line-height:1;
  cursor:pointer; transition:var(--transition); font-family:inherit;
}
.qty-btn:hover { background:var(--dark-nav); color:#fff; border-color:var(--dark-nav); }
.qty-num { font-weight:800; font-size:0.9rem; min-width:20px; text-align:center; }
.remove-btn {
  border:none; background:none; color:var(--text-soft);
  font-size:0.8rem; font-weight:700; cursor:pointer;
  padding:4px 8px; border-radius:6px;
  transition:color var(--transition),background var(--transition);
  font-family:inherit;
}
.remove-btn:hover { color:var(--danger); background:#ffeaea; }
.cart-foot {
  padding:18px 20px; border-top:1px solid var(--border); background:#fff;
}

/* ── WISHLIST NAV BUTTON ─────────────────────────────── */
.wishlist-nav-btn {
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--border); background:#fff;
  border-radius:999px; padding:7px 13px;
  font-weight:700; font-size:0.82rem;
  cursor:pointer; transition:var(--transition);
  position:relative; white-space:nowrap;
  font-family:inherit;
}
.wishlist-nav-btn:hover { background:var(--muted); }
.wishlist-nav-btn svg { width:15px; height:15px; flex-shrink:0; }
.wishlist-count-badge {
  display:none; position:absolute; top:-5px; right:-5px;
  background:#e53935; color:#fff; border-radius:999px;
  font-size:0.62rem; font-weight:900;
  min-width:17px; height:17px; line-height:17px;
  text-align:center; padding:0 3px; pointer-events:none;
}
.wishlist-count-badge.visible { display:block; }

/* ── WISHLIST DRAWER ─────────────────────────────────── */
.wishlist-dim {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.35); z-index:1200; cursor:pointer;
}
.wishlist-dim.show { display:block; }
.wishlist-drawer {
  position:fixed; top:0; right:-420px;
  width:min(420px,100vw); height:100%;
  background:#fff; z-index:1300;
  display:flex; flex-direction:column;
  box-shadow:-6px 0 40px rgba(0,0,0,0.14);
  transition:right 340ms cubic-bezier(0.4,0,0.2,1); overflow:hidden;
}
.wishlist-drawer.open { right:0; }
[dir="rtl"] .wishlist-drawer { right:auto; left:-420px; transition:left 340ms cubic-bezier(0.4,0,0.2,1); box-shadow:6px 0 40px rgba(0,0,0,0.14); }
[dir="rtl"] .wishlist-drawer.open { left:0; }
.wishlist-head { padding:18px 18px 12px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; font-size:1.05rem; font-weight:800; }
.wishlist-close-btn { border:none; background:none; font-size:1.2rem; cursor:pointer; color:#555; padding:4px 8px; border-radius:8px; transition:background 180ms; }
.wishlist-close-btn:hover { background:var(--muted); }
.wishlist-items { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:14px; }
.wishlist-row { display:grid; grid-template-columns:80px 1fr auto; gap:12px; align-items:center; border:1px solid var(--border); border-radius:var(--radius); padding:10px; background:var(--muted); }
.wishlist-row img { width:80px; height:80px; object-fit:cover; border-radius:8px; }
.wishlist-row-info { min-width:0; }
.wishlist-row-name { font-weight:700; font-size:0.88rem; margin-bottom:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wishlist-row-price { font-weight:800; color:#1a6fc4; font-size:0.85rem; }
.wishlist-row-remove { border:none; background:none; cursor:pointer; color:#bbb; font-size:1.1rem; padding:4px; border-radius:6px; transition:color 180ms,background 180ms; line-height:1; }
.wishlist-row-remove:hover { color:var(--danger); background:#ffeaea; }

/* ── FOOTER (4-column menzberg style) ───────────────── */
footer {
  background: var(--dark-nav);
  color: rgba(255,255,255,0.6);
  padding: 52px 0 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.2fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand img {
  width: 48px; height: 48px; border-radius:50%;
  object-fit:cover; border:2px solid var(--gold); margin-bottom:12px;
}
.footer-brand h3 { color:#fff; font-size:1rem; font-weight:800; margin-bottom:8px; }
.footer-brand p { font-size:0.83rem; line-height:1.7; color:rgba(255,255,255,0.55); margin-bottom:16px; }
.footer-social { display:flex; gap:10px; flex-wrap:wrap; }
.footer-social a {
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.2);
  display:flex; align-items:center; justify-content:center;
  transition:background var(--transition),border-color var(--transition);
}
.footer-social a:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.5); }
.footer-social svg { width:14px; height:14px; fill:rgba(255,255,255,0.75); }

.footer-col h4 {
  color:#fff; font-size:0.82rem; font-weight:800;
  letter-spacing:0.06em; text-transform:uppercase; margin-bottom:14px;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col ul li a { font-size:0.83rem; color:rgba(255,255,255,0.55); transition:color var(--transition); }
.footer-col ul li a:hover { color:#fff; }
.footer-col ul li { font-size:0.83rem; color:rgba(255,255,255,0.55); }
.footer-col ul li strong { color:rgba(255,255,255,0.85); display:block; font-size:0.88rem; margin-bottom:2px; }

.footer-bottom {
  padding:16px 0;
  font-size:0.78rem;
  text-align:center;
  color:rgba(255,255,255,0.32);
}

/* ── PRODUCT DETAIL PAGE ────────────────────────────── */
.product-page-main { padding:24px 0 60px; }
.product-detail-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:48px;
  align-items:start; margin-top:20px;
}
.main-image-box {
  border-radius:var(--radius); overflow:hidden;
  background:var(--muted); aspect-ratio:1/1;
  border:1px solid var(--border);
}
.main-image-box img { width:100%; height:100%; object-fit:cover; }
.gallery { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.gallery img {
  width:64px; height:64px; border-radius:8px; object-fit:cover;
  cursor:pointer; border:2px solid transparent; transition:border-color var(--transition);
}
.gallery img.active, .gallery img:hover { border-color:var(--gold); }
.details-content { display:flex; flex-direction:column; gap:14px; }
.details-price { font-size:1.8rem; font-weight:900; }
.details-category { font-size:0.72rem; }
.detail-tag-text { font-size:0.82rem; color:var(--promo); font-weight:700; }
.option-group { display:flex; flex-direction:column; gap:8px; }
.option-label { font-weight:700; font-size:0.85rem; }
.option-buttons { display:flex; gap:8px; flex-wrap:wrap; }
.opt-btn {
  border:1.5px solid var(--border); background:#fff;
  border-radius:var(--radius-sm); padding:7px 14px;
  font-size:0.82rem; font-weight:700; cursor:pointer;
  transition:all var(--transition); font-family:inherit;
}
.opt-btn:hover { border-color:var(--black); }
.opt-btn.selected { background:var(--dark-nav); color:#fff; border-color:var(--dark-nav); }
.opt-btn.oos { opacity:0.4; cursor:not-allowed; text-decoration:line-through; }
.stock-msg { font-size:0.82rem; font-weight:700; color:var(--promo); }
.order-panel { margin-top:4px; }
.error-text { color:var(--danger); font-size:0.82rem; margin-bottom:8px; min-height:18px; }

/* ── CHECKOUT PAGE ──────────────────────────────────── */
.checkout-page { padding:32px 0 60px; }
.checkout-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:32px; align-items:start; }
.checkout-card {
  background:var(--muted); border:1px solid var(--border);
  border-radius:var(--radius); padding:24px;
}
.field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.field label { font-weight:700; font-size:0.85rem; }
.field input,.field textarea,.field select {
  border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:10px 14px; font-size:0.9rem; background:#fff; outline:none;
  transition:border-color var(--transition); font-family:inherit;
}
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--gold); }
.field textarea { min-height:80px; resize:vertical; }
.checkout-summary-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--border); font-size:0.88rem; }
.checkout-summary-row.grand { border-bottom:none; font-weight:900; font-size:1rem; margin-top:6px; }
.checkout-error { color:var(--danger); font-size:0.82rem; margin:8px 0; min-height:18px; }
.cart-mini-row { display:grid; grid-template-columns:64px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
.cart-mini-row:last-child { border-bottom:none; }
.cart-mini-row img { width:64px; height:64px; object-fit:cover; border-radius:8px; }

/* ── RELATED PRODUCTS ───────────────────────────────── */
.related-products { margin-top:52px; padding-top:28px; border-top:1px solid var(--border); }
.related-products-header { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.related-products-header h2 { font-size:1.2rem; font-weight:900; }
.related-products-header h2 span { color:var(--gold); }
.related-products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; }
.related-card { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow); transition:transform 220ms,box-shadow 220ms; cursor:pointer; text-decoration:none; color:inherit; display:block; position:relative; }
.related-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.related-card-img { aspect-ratio:1/1; background:var(--muted); overflow:hidden; }
.related-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 320ms; }
.related-card:hover .related-card-img img { transform:scale(1.05); }
.related-card-info { padding:10px 12px 12px; }
.related-card-name { font-size:0.87rem; font-weight:700; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.related-card-price { font-size:0.9rem; font-weight:900; color:#1a6fc4; }
.related-card .wish-btn { top:8px; left:8px; }
[dir="rtl"] .related-card .wish-btn { left:auto; right:8px; }

/* ── REVEAL ANIMATION ───────────────────────────────── */
.reveal { opacity:0; transform:translateY(16px); transition:opacity 500ms ease,transform 500ms ease; }
.reveal.show { opacity:1; transform:none; }

/* ── MOBILE LANG IN HAMBURGER ────────────────────────── */
.nav-lang-mobile { display:none; align-items:center; gap:8px; padding-top:4px; border-top:1px solid var(--border); margin-top:4px; }
.nav-lang-opt { flex:1; text-align:center; border-radius:999px !important; padding:10px 12px !important; font-size:0.85rem; border:1px solid var(--border) !important; background:#fafafa !important; cursor:pointer; }
.nav-lang-opt.active-lang { background:var(--dark-nav) !important; color:#fff !important; border-color:var(--dark-nav) !important; }

/* ── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:1100px) {
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid .footer-col:last-child { grid-column:1/-1; }
  .products-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:900px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-card { max-width:420px; margin:0 auto; }
  .hero h1,.hero p { text-align:center; }
  .hero-actions { justify-content:center; }
  .delivery-badge--large { margin:0 auto; }
  .product-detail-grid { grid-template-columns:1fr; }
  .checkout-grid { grid-template-columns:1fr; }
  .cat-navbar { top:0; position:relative; }
}

@media (max-width:860px) {
  .nav-links {
    position:absolute; top:68px; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--border);
    padding:16px 4%; display:grid !important; gap:12px;
    transform:translateY(-130%); opacity:0; visibility:hidden;
    transition:var(--transition); z-index:999;
  }
  .nav-links.open { transform:translateY(0); opacity:1; visibility:visible; }
  .menu-btn { display:inline-flex; }
  .nav-search-wrap { display:none; }
  .nav-lang-mobile { display:flex; }
  .nav-actions .lang-dropdown { display:none; }
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .products-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .categories-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr; }
  .related-products-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .hero { padding:48px 0 36px; }
  .topbar { display:none; }
  .wishlist-row { grid-template-columns:64px 1fr auto; }
  .wishlist-row img,.cart-row img { width:64px; height:64px; }
}

#catalogPage .products-grid.vertical .product-card { grid-template-columns:1fr; }

/* ── HERO SWIPER ─────────────────────────────────────── */
.hero-swiper {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 480px;
  max-height: 720px;
  overflow: hidden;
  background: #111;
}
.swiper-slides {
  position: relative;
  width: 100%;
  height: 100%;
}
.swiper-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 700ms ease;
}
.swiper-slide.active { opacity: 1; }
.swiper-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.55) 100%);
}
.swiper-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 20px;
  color: #fff;
  gap: 14px;
}
.swiper-title {
  font-size: clamp(1.8rem, 5vw, 3.4rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.5px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
  max-width: 700px;
}
.swiper-title span { color: var(--gold-light, #e8d5a3); }
.swiper-sub {
  font-size: clamp(0.9rem, 2vw, 1.15rem);
  color: rgba(255,255,255,0.88);
  max-width: 500px;
  line-height: 1.6;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}
.btn-swiper {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.7);
  backdrop-filter: blur(8px);
  padding: 13px 32px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background var(--transition), border-color var(--transition), transform var(--transition);
  margin-top: 4px;
}
.btn-swiper:hover { background: rgba(255,255,255,0.28); border-color: #fff; transform: translateY(-2px); }
/* Arrows */
.swiper-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255,255,255,0.15);
  border: 1.5px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(6px);
  color: #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  transition: background var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-arrow:hover { background: rgba(255,255,255,0.3); }
.swiper-prev { left: 20px; }
.swiper-next { right: 20px; }
/* Dots */
.swiper-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.swiper-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.45);
  cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  padding: 0;
}
.swiper-dot.active { background: #fff; transform: scale(1.3); }

/* loop gallery wrap */
.loop-gallery-wrap { padding: 0; background: #fff; }

/* ── MOBILE FIXES ────────────────────────────────────── */
@media (max-width: 560px) {
  /* Hero swiper mobile */
  .hero-swiper { height: 70vw; min-height: 280px; max-height: 440px; }
  .swiper-arrow { width: 34px; height: 34px; font-size: 1.2rem; }
  .swiper-prev { left: 10px; }
  .swiper-next { right: 10px; }

  /* Fix navbar mobile: hide brand text, keep logo */
  .logo span { display: none; }
  .logo { gap: 0; }

  /* Prevent product card buttons from overlapping name */
  .product-card { font-size: 0.82rem; }
  .product-name { -webkit-line-clamp: 2; font-size: 0.82rem; }
  .mini-btn { padding: 7px 6px; font-size: 0.72rem; }
  .product-info { padding: 10px 10px 12px; }
  .product-actions { gap: 6px; }

  /* Ensure product cards don't have overflow issues */
  .products-grid { gap: 10px; }
  .product-card { overflow: hidden; }

  /* Fix nav actions spacing */
  .nav-actions { gap: 4px; }
  .wishlist-nav-btn { padding: 6px 8px; font-size: 0.75rem; }
  .wishlist-nav-btn span:not(.wishlist-count-badge) { display: none; }
  .cart-btn { padding: 8px 12px; font-size: 0.78rem; }

  /* Catalog hero smaller */
  .catalog-hero { padding: 20px 0; }
  .section-title { font-size: 1.4rem; }

  /* Fix checkout grid */
  .checkout-grid { gap: 16px; }
}

@media (max-width: 380px) {
  .logo img { width: 36px; height: 36px; }
  .product-actions { flex-wrap: wrap; }
  .mini-btn { flex: 0 0 calc(50% - 3px); }
}

/* ── MARQUEE AD BAR ──────────────────────────────────── */
.marquee-bar {
  background: #ff69b4;
  color: rgba(255,255,255,0.88);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 9px 0;
  overflow: hidden;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.marquee-track {
  display: inline-block;
  animation: marqueeScroll 80s linear infinite;
  padding-left: 100%;
}
.marquee-track:hover { animation-play-state: paused; }
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}

/* ── TAG BADGE COLORS (fix all custom tags) ─────────── */
.product-tag {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 0.69rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  pointer-events: none;
  z-index: 2;
  /* default — dark tag for any text */
  background: rgba(28,28,28,0.88);
  color: #fff;
  backdrop-filter: blur(4px);
}
.product-tag.promo  { background: var(--promo);  color: #fff; }
.product-tag.stock  { background: #424242;        color: #fff; }
.product-tag.tag-custom { background: var(--gold); color: var(--black); }
[dir="rtl"] .product-tag { right: auto; left: 10px; }

/* ── COLOR NAME BUTTONS ──────────────────────────────── */
.color-btns-row {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.color-name-btn {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: var(--radius-sm);
  padding: 3px 9px;
  font-size: 0.73rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
  white-space: nowrap;
  font-family: inherit;
  color: var(--black);
}
.color-name-btn:hover  { border-color: var(--black); }
.color-name-btn.active { background: var(--dark-nav); color: #fff; border-color: var(--dark-nav); }

/* ── COLLECTION CARDS SECTION (homepage, menzberg-style) */
#categories {
  padding: 52px 0;
  background: #fff;
}
.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 18px;
}
.cat-card {
  border-radius: 14px;
  overflow: hidden;
  border: none;
  background: #fff;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: transform 240ms ease, box-shadow 240ms ease;
  text-decoration: none;
  color: inherit;
  display: block;
}
.cat-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.cat-card-img {
  aspect-ratio: 4/3;
  background: var(--muted);
  overflow: hidden;
  position: relative;
}
.cat-card-img img { width:100%; height:100%; object-fit:cover; transition: transform 380ms ease; }
.cat-card:hover .cat-card-img img { transform: scale(1.07); }
.cat-card-label {
  padding: 12px 14px;
  font-size: 0.88rem;
  font-weight: 800;
  text-align: left;
  letter-spacing: 0.01em;
  background: #fff;
  border-top: 1px solid var(--border);
}

/* Mobile: horizontal scroll for category cards */
@media (max-width: 560px) {
  .categories-grid { 
    display: flex;
    overflow-x: auto;
    gap: 12px;
  }
  .cat-card { flex: 0 0 200px; }
  .cat-card-label  { font-size: 0.8rem; padding: 10px 10px; }
}

/* ── MENZBERG-STYLE CATEGORY CARDS WITH OVERLAY ─────── */
.categories-grid {
  display: flex;
  overflow-x: auto;
  gap: 20px;
  margin-top: 30px;
  padding-bottom: 15px;
  scrollbar-width: thin;
  scrollbar-color: #000 #eee;
}

.categories-grid::-webkit-scrollbar {
  height: 6px;
}

.categories-grid::-webkit-scrollbar-track {
  background: #eee;
}

.categories-grid::-webkit-scrollbar-thumb {
  background: #000;
  border-radius: 10px;
}

.cat-card {
  flex: 0 0 240px;
}er-radius: 16px;
  overflow: hidden;
  border: none;
  background: #111;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
  cursor: pointer;
  transition: transform 260ms ease, box-shadow 260ms ease;
  text-decoration: none;
  color: inherit;
  display: block;
  position: relative;
}
.cat-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,0.2); }
.cat-card-img {
  aspect-ratio: 4/3;
  background: var(--muted);
  overflow: hidden;
  position: relative;
}
.cat-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
  display: block;
}
.cat-card:hover .cat-card-img img { transform: scale(1.07); }
.cat-card-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: var(--muted); font-size: 3rem;
}

/* Menzberg-style dark gradient overlay at bottom of card image */
.cat-card-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
  padding: 28px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cat-card-subtitle {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.72);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.cat-card-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}
.cat-card-count {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.62);
  margin-top: 2px;
}

/* Remove old cat-card-label (replaced by overlay) */
.cat-card-label { display: none; }

/* ── COLOR OPT BUTTONS (product page only) ───────────── */
.color-opt-btn {
  border: 1.5px solid var(--border);
  background: #fff;
  border-radius: var(--radius-sm);
  padding: 6px 14px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  font-family: inherit;
  color: var(--black);
}
.color-opt-btn:hover  { border-color: var(--black); }
.color-opt-btn.selected { background: var(--dark-nav); color: #fff; border-color: var(--dark-nav); }

/* Remove old colored-circle color-btn */
.color-btn { display: none; }

/* ── CATEGORIES SECTION spacing ─────────────────────── */
#categories { padding: 48px 0 36px; background: #fff; }

/* Mobile */
@media (max-width: 700px) {
  .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .cat-card-title  { font-size: 1rem; }
}
@media (max-width: 400px) {
  .categories-grid { grid-template-columns: 1fr; }
}
