/* ============================================================
   VARIABLES.CSS — Design Tokens (from DESIGN.md)
   Meghdoot Motors | Maruti Suzuki Authorized Service Station
   ============================================================ */

:root {
  /* ---- Colors: Surface & Background ---- */
  --color-surface: #f7f9fb;
  --color-surface-dim: #d8dadc;
  --color-surface-bright: #f7f9fb;
  --color-surface-container-lowest: #ffffff;
  --color-surface-container-low: #f2f4f6;
  --color-surface-container: #eceef0;
  --color-surface-container-high: #e6e8ea;
  --color-surface-container-highest: #e0e3e5;
  --color-on-surface: #191c1e;
  --color-on-surface-variant: #444650;
  --color-inverse-surface: #2d3133;
  --color-inverse-on-surface: #eff1f3;

  /* ---- Colors: Primary (Deep Navy) ---- */
  --color-primary: #001646;
  --color-on-primary: #ffffff;
  --color-primary-container: #0b2a6b;
  --color-on-primary-container: #7c94db;
  --color-inverse-primary: #b3c5ff;
  --color-primary-fixed: #dbe1ff;
  --color-primary-fixed-dim: #b3c5ff;
  --color-on-primary-fixed: #00174a;
  --color-on-primary-fixed-variant: #2a4385;

  /* ---- Colors: Secondary (Racing Red) ---- */
  --color-secondary: #bb0218;
  --color-on-secondary: #ffffff;
  --color-secondary-container: #df2a2e;
  --color-on-secondary-container: #fffbff;
  --color-secondary-fixed: #ffdad6;
  --color-secondary-fixed-dim: #ffb3ac;
  --color-on-secondary-fixed: #410003;
  --color-on-secondary-fixed-variant: #930010;

  /* ---- Colors: Tertiary ---- */
  --color-tertiary: #181921;
  --color-on-tertiary: #ffffff;
  --color-tertiary-container: #2d2e36;
  --color-on-tertiary-container: #96959f;
  --color-tertiary-fixed: #e3e1ec;
  --color-tertiary-fixed-dim: #c6c5cf;
  --color-on-tertiary-fixed: #1a1b22;
  --color-on-tertiary-fixed-variant: #46464e;

  /* ---- Colors: Error ---- */
  --color-error: #ba1a1a;
  --color-on-error: #ffffff;
  --color-error-container: #ffdad6;
  --color-on-error-container: #93000a;

  /* ---- Colors: Outline ---- */
  --color-outline: #757681;
  --color-outline-variant: #c5c6d2;

  /* ---- Colors: Surface Tint ---- */
  --color-surface-tint: #445b9e;

  /* ---- Colors: Background ---- */
  --color-background: #f7f9fb;
  --color-on-background: #191c1e;
  --color-surface-variant: #e0e3e5;

  /* ---- Typography: Font Families ---- */
  --font-display: 'Barlow Condensed', sans-serif;
  --font-heading: 'Barlow Condensed', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-label: 'Inter', sans-serif;

  /* ---- Typography: Size/Weight/LineHeight ---- */
  /* Display Large — 72px / 80px / 700 / -0.02em */
  --text-display-lg-size: 72px;
  --text-display-lg-height: 80px;
  --text-display-lg-weight: 700;
  --text-display-lg-spacing: -0.02em;

  /* Headline Large — 48px / 56px / 700 / -0.01em */
  --text-headline-lg-size: 48px;
  --text-headline-lg-height: 56px;
  --text-headline-lg-weight: 700;
  --text-headline-lg-spacing: -0.01em;

  /* Headline Large Mobile — 36px / 42px / 700 */
  --text-headline-lg-mobile-size: 36px;
  --text-headline-lg-mobile-height: 42px;
  --text-headline-lg-mobile-weight: 700;

  /* Headline Medium — 32px / 40px / 600 */
  --text-headline-md-size: 32px;
  --text-headline-md-height: 40px;
  --text-headline-md-weight: 600;

  /* Body Large — 18px / 28px / 400 */
  --text-body-lg-size: 18px;
  --text-body-lg-height: 28px;
  --text-body-lg-weight: 400;

  /* Body Medium — 16px / 24px / 400 */
  --text-body-md-size: 16px;
  --text-body-md-height: 24px;
  --text-body-md-weight: 400;

  /* Label Bold — 14px / 20px / 600 / 0.05em */
  --text-label-bold-size: 14px;
  --text-label-bold-height: 20px;
  --text-label-bold-weight: 600;
  --text-label-bold-spacing: 0.05em;

  /* ---- Spacing ---- */
  --spacing-container-max: 1280px;
  --spacing-gutter: 24px;
  --spacing-margin-desktop: 64px;
  --spacing-margin-mobile: 20px;
  --spacing-stack-xs: 4px;
  --spacing-stack-sm: 8px;
  --spacing-stack-md: 16px;
  --spacing-stack-lg: 32px;
  --spacing-section-gap: 80px;
  --spacing-section-gap-mobile: 48px;

  /* ---- Border Radius ---- */
  --radius-sm: 0.125rem;
  --radius-default: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-full: 9999px;

  /* ---- Elevation & Shadows ---- */
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-dropdown: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-modal: 0 10px 40px rgba(0, 0, 0, 0.15);
  --shadow-glow: 0 10px 30px -5px rgba(0, 22, 70, 0.2);
  --shadow-glow-hover: 0 20px 40px -10px rgba(0, 22, 70, 0.15);

  /* ---- Navigation ---- */
  --nav-height: 75px;
  --nav-blur: blur(20px);
  --nav-opacity: 0.85;

  /* ---- Transitions ---- */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 500ms ease;
  --transition-bounce: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/*
 * ============================================================
 * RESPONSIVE BREAKPOINT STRATEGY
 * Mobile-first, using min-width. All media queries in this
 * project should use these breakpoints (comments reference).
 *
 *   XS:   0–479px   (small phones, e.g. iPhone SE)
 *   SM:   480–767px  (large phones / phablets)
 *   MD:   768–1023px (tablets portrait)
 *   LG:   1024–1279px(tablets landscape / small laptops)
 *   XL:   1280–1439px(laptops / desktops — matches container-max)
 *   XXL:  1440px+    (large desktops / wide monitors)
 *
 * For reduced motion support, use:
 *   @media (prefers-reduced-motion: reduce)
 *
 * For hover-only effects (touch-device safe), use:
 *   @media (hover: hover)
 * ============================================================
 */
