/* ==========================================================================
   Self-hosted Google Fonts — Inter + Oswald
   GDPR-friendly: no external requests to Google's CDN.
   Font files live in /assets/fonts/
   ========================================================================== */

/* Inter */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-700.woff2') format('woff2');
}

/* Oswald */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/oswald-v57-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/oswald-v57-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/oswald-v57-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/oswald-v57-latin-700.woff2') format('woff2');
}

:root {
  /* Background — cool-tinted darks */
  --bg-primary: #08080f;
  --bg-secondary: #0f0f1a;
  --bg-tertiary: #161625;
  --bg-card: #12121f;
  --bg-elevated: #1a1a2e;

  /* Text */
  --text-primary: #eeeef0;
  --text-secondary: #9898a8;
  --text-muted: #55556a;

  /* Accent — electric violet/blue */
  --accent: #7c5cfc;
  --accent-hover: #6a4ce0;
  --accent-light: #9b82ff;
  --accent-subtle: rgba(124, 92, 252, 0.12);
  --accent-glow: rgba(124, 92, 252, 0.25);

  /* Secondary accent — cyan for highlights */
  --accent-2: #22d3ee;
  --accent-2-subtle: rgba(34, 211, 238, 0.1);

  /* Gradient */
  --gradient-accent: linear-gradient(135deg, #7c5cfc 0%, #22d3ee 100%);
  --gradient-accent-hover: linear-gradient(135deg, #6a4ce0 0%, #1cb5cc 100%);
  --gradient-surface: linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
  --gradient-card: linear-gradient(160deg, rgba(124, 92, 252, 0.06) 0%, transparent 50%);

  /* Borders */
  --border: rgba(255, 255, 255, 0.06);
  --border-hover: rgba(255, 255, 255, 0.12);
  --border-accent: rgba(124, 92, 252, 0.3);

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 0 24px rgba(124, 92, 252, 0.15);
  --shadow-glow-lg: 0 0 48px rgba(124, 92, 252, 0.2);

  /* Spacing scale */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* Layout */
  --container-max: 1200px;
  --container-narrow: 800px;
  --nav-height: 192px;

  /* Typography */
  --font-display: 'Oswald', 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/**
 * Mobile nav-height override.
 *
 * --nav-height: 192px works on desktop where the logo + nav menu need vertical
 * room, but on mobile it eats ~20% of viewport height before content even
 * starts (then the section's 4rem top padding piles on top, so users see a
 * giant blank space above every page header). Tighten to 72px for phones —
 * just enough for the 60×72 logo, the cart icon, and the hamburger toggle.
 */
@media (max-width: 768px) {
  :root {
    --nav-height: 72px;
  }
}
