/* Design tokens */
:root {
  --color-primary: #3b82f6; /* blue-500 */
  --color-primary-hover: #2563eb; /* blue-600 */
  --color-accent: #10b981; /* emerald-500 */
  --color-danger: #ef4444;
  --color-warning: #f59e0b;
  --color-muted: #6b7280;
  --color-bg: #0f172a; /* slate-900-like */
  --color-surface: #111827; /* gray-900 */
  --color-surface-2: #1f2937; /* gray-800 */
  --color-border: #374151; /* gray-700 */
  --color-text: grey;
  --color-text-soft: grey;

  --radius: 10px;
  --radius-sm: 8px;
  --radius-lg: 14px;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.12);
  --shadow-md: 0 6px 24px rgba(0,0,0,.25);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.35);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
}

/* Base adjustments */
body {
  background: var(--color-bg);
  color: var(--color-text);
}

a { color: var(--color-text); }
a:hover, a:focus { color: var(--color-primary); }

.btn--primary, .btn-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
  border-radius: var(--radius);
}
.btn--primary:hover, .btn-primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

/* Header and navigation */
.header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: rgba(17,24,39,0.75);
  backdrop-filter: saturate(120%) blur(6px);
  border-bottom: 1px solid var(--color-border);
}
.header .header-bottom { padding: var(--space-3) 0; }
.header .logo img { height: 40px; }

.menu { display: flex; gap: var(--space-3); align-items: center; }
.menu > li > a {
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  transition: background .2s ease, color .2s ease;
}
.menu > li > a:hover,
.menu > li > a.active { background: var(--color-surface-2); color: #fff; }

/* Dropdowns */
.menu li { position: relative; }
.menu .sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  min-width: 240px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: 8px;
  box-shadow: var(--shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.menu li:hover > .sub-menu,
.menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.menu .sub-menu li a { display: block; padding: 10px 12px; border-radius: var(--radius-sm); color: var(--color-text-soft); }
.menu .sub-menu li a:hover { background: var(--color-surface-2); color: #fff; }

/* Header buttons */
.header-buttons .menu-btn a {
  padding: 8px 12px;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
}
.header-buttons .menu-btn a.btn--base-outline {
  background: transparent;
}

/* Cart and language area spacing */
.header .d-flex.align-items-center { gap: var(--space-3); }

/* Mobile menu */
@media (max-width: 1199.98px) {
  .menu { display: none; }
  .menu.active { display: block; }
  .mobile-nav-panel {
    position: fixed;
    inset: 0 0 0 30%;
    background: var(--color-surface);
    border-left: 1px solid var(--color-border);
    transform: translateX(100%);
    transition: transform .25s ease;
    z-index: 1040;
    padding: var(--space-6) var(--space-4);
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
  }
  .mobile-nav-panel.open { transform: translateX(0); }
  .mobile-nav-panel .menu { display: block; }
  .mobile-nav-panel .menu > li { margin-bottom: 6px; }
  .mobile-nav-panel .menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding-left: 10px; }
}

/* Hero helpers (if present in sections) */
.hero {
  background: radial-gradient(1200px 400px at 10% -10%, rgba(59,130,246,.25), transparent),
              radial-gradient(1200px 400px at 90% -20%, rgba(16,185,129,.18), transparent),
              var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}
.hero h1 { font-weight: 700; letter-spacing: -.02em; }
.hero .lead { color: var(--color-text-soft); }

/* Cards & sections */
.card { background: var(--color-surface); border-color: var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.section { padding: var(--space-10) 0; }

/* Utilities */
.text-soft { color: var(--color-text-soft) !important; }
.bg-surface { background: var(--color-surface) !important; }
.rounded { border-radius: var(--radius) !important; }
.shadow-md { box-shadow: var(--shadow-md) !important; }

/* Header dark theme */
.header,
.header.bg--dark {
  background: linear-gradient(135deg, #0a0a1a 0%, #1a1a2e 100%) !important;
  color: #f9fafb;
  border-bottom: 1px solid rgba(251, 191, 36, 0.1);
  backdrop-filter: saturate(120%) blur(6px);
}

/* Increase logo size */
.header .logo img { height: 56px !important; }
@media (max-width: 1199.98px) { .header .logo img { height: 48px !important; } }
@media (max-width: 767.98px)  { .header .logo img { height: 42px !important; } }

/* Menu/link colors on dark header */
.header .menu > li > a { color: #e5e7eb !important; }
.header .menu > li > a:hover,
.header .menu > li > a.active { background: rgba(251, 191, 36, 0.1); color: #fbbf24 !important; }
.header .menu .text--white { color: #f9fafb !important; }

/* Dropdowns on dark header */
.header .sub-menu { background: #0f0f1f !important; border-color: rgba(251, 191, 36, 0.15) !important; box-shadow: 0 15px 50px rgba(0,0,0,.5) !important; }
.header .sub-menu li a { color: #d1d5db !important; }
.header .sub-menu li a:hover { background: rgba(251, 191, 36, 0.1) !important; color: #fbbf24 !important; }

/* Gold theme tokens */
:root {
  --color-gold: #f5c542;        /* primary gold */
  --color-gold-strong: #ffd166; /* brighter gold for headings */
  --color-gold-soft: #eab308;   /* alt gold accent */
  --color-lightdark: #1b2433;   /* light-dark background */
  --color-lightdark-2: #202a3b; /* slightly darker card */
  --color-light-border: #2b3649;/* border on light-dark */
}

.text-gold { color: var(--color-gold) !important; }

/* Gold sections backgrounds and text */
.section.hero-gold,
.section.section-gold {
  background: linear-gradient(180deg, rgba(27,36,51,.92), rgba(27,36,51,.98));
  color: var(--color-gold-strong);
}
.section.hero-gold h1,
.section.section-gold h2,
.section.section-gold h3 { color: var(--color-gold-strong); }
.section.hero-gold .lead,
.section.section-gold .text-soft { color: var(--color-gold); }

/* Gold cards and badges */
.card.card-gold { background: var(--color-lightdark-2); border-color: var(--color-light-border); color: var(--color-gold-strong); }
.card.card-gold .text-soft { color: var(--color-gold); }
.badge.badge-gold { background: rgba(245, 197, 66, .15); color: var(--color-gold-strong); border: 1px solid rgba(245, 197, 66, .35); }

/* Contextual gold styling inside sections without extra classes */
.section.hero-gold .card,
.section.section-gold .card { background: var(--color-lightdark-2); border-color: var(--color-light-border); color: var(--color-gold-strong); }
.section.hero-gold .card .text-soft,
.section.section-gold .card .text-soft { color: var(--color-gold); }
.section.hero-gold .badge,
.section.section-gold .badge { background: rgba(245,197,66,.12); color: var(--color-gold-strong); border: 1px solid rgba(245,197,66,.28); }
.section.hero-gold h5, .section.hero-gold h6,
.section.section-gold h5, .section.section-gold h6 { color: var(--color-gold-strong); }

/* Buttons tuned for gold theme */
.btn--primary { background: var(--color-gold) !important; border-color: var(--color-gold) !important; color: #111 !important; }
.btn--primary:hover { background: var(--color-gold-strong) !important; border-color: var(--color-gold-strong) !important; }
.btn-outline-light { color: var(--color-gold-strong) !important; border-color: var(--color-light-border) !important; }
.btn-light { background: var(--color-gold-strong) !important; color: #111 !important; border: none !important; }

/* Form controls inside gold sections */
.section.hero-gold .form-control,
.card.card-gold .form-control { background: rgba(27,36,51,0.70); border-color: var(--color-light-border); color: var(--color-gold-strong); }
.section.hero-gold .form-control::placeholder,
.card.card-gold .form-control::placeholder { color: rgba(245,197,66,0.65); }

/* Global dark card styles for dashboard */
.dashboard-area .card,
.dashboard-content .card,
.user-dashboard .card {
  background: rgba(15, 15, 30, 0.95) !important;
  border: 1px solid rgba(251, 191, 36, 0.1) !important;
  border-radius: 1rem !important;
  backdrop-filter: blur(10px);
  color: #f9fafb !important;
}

.dashboard-area .card-body,
.dashboard-content .card-body,
.user-dashboard .card-body {
  background: transparent !important;
  color: #f9fafb !important;
}

.dashboard-area h1, .dashboard-area h2, .dashboard-area h3, 
.dashboard-area h4, .dashboard-area h5, .dashboard-area h6,
.dashboard-content h1, .dashboard-content h2, .dashboard-content h3, 
.dashboard-content h4, .dashboard-content h5, .dashboard-content h6 {
  color: #f9fafb !important;
}

.dashboard-area p,
.dashboard-content p {
  color: #d1d5db !important;
}

.dashboard-area .text-soft,
.dashboard-content .text-soft {
  color: #9ca3af !important;
}

/* Text colors */
.text--white { color: #f9fafb !important; }
.text--primary { color: #fbbf24 !important; }
.text--base { color: #fbbf24 !important; }

/* Form controls in dashboard */
.dashboard-area .form-control,
.dashboard-content .form-control {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(148,163,184,.2) !important;
  color: #f9fafb !important;
  border-radius: 10px !important;
}

.dashboard-area .form-control::placeholder,
.dashboard-content .form-control::placeholder {
  color: #64748b !important;
}

.dashboard-area .form-control:focus,
.dashboard-content .form-control:focus {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(251, 191, 36, 0.4) !important;
  box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.1) !important;
}
