/* ============================================================
   GEOCAST · Brand fonts (self-hosted, variable)
   ============================================================ */
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/CormorantGaramond-VariableFont_wght.ttf') format('truetype');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/CormorantGaramond-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 300 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('../fonts/DMSans-VariableFont_opsz_wght.ttf') format('truetype');
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('../fonts/DMSans-Italic-VariableFont_opsz_wght.ttf') format('truetype');
  font-weight: 100 1000;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/JetBrainsMono-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/JetBrainsMono-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 800;
  font-style: italic;
  font-display: swap;
}

/* ============================================================
   GEOCAST · Design tokens
   Sourced from: GEOCAST UI Component Library v8.7 (April 2026)
   and GEOCAST Brand Guidelines v4.4.
   Three palettes serve three surfaces.
   App = dark (guest + preview-in-admin). Admin = light chrome.
   Marketing = warm light.
   ============================================================ */

:root {
  /* App palette · Midnight & Ember --------------------------- */
  --deep-midnight: #060E18;
  --midnight: #0A1E36;
  --mid-midnight: #0d2440;
  --ember-light: #F7E9B0;
  --ember-mid: #E1CB93;
  --ember: #CFA76E;
  --ember-dark: #AF8F3E;
  --cloud: #F4F4F4;
  --cloud-dim: rgba(244,244,244,0.55);
  --cloud-faint: rgba(244,244,244,0.12);

  /* Admin palette · Light chrome ----------------------------- */
  --admin-bg: #FAFAFA;
  --admin-surface: #FFFFFF;
  --admin-surface-2: #F5F5F0;
  --admin-border: rgba(10,30,54,0.08);
  --admin-border-2: rgba(10,30,54,0.15);
  --admin-ink-1: #1A1A1A;
  --admin-ink-2: #6B7280;
  --admin-ink-3: #9CA3AF;
  --admin-ember-soft: rgba(207,167,110,0.08);
  --admin-ember-tint: rgba(207,167,110,0.15);
  --admin-ember-border: rgba(207,167,110,0.20);
  --admin-shadow: 0 1px 3px rgba(0,0,0,0.04);

  /* Marketing palette · Warm Light --------------------------- */
  --warm-bg: #FAF8F4;
  --warm-bg-elev: #F3EFE6;
  --warm-card: #FFFFFF;
  --warm-ink: #1A1A1A;
  --warm-ink-70: rgba(26,26,26,0.70);
  --warm-ink-55: rgba(26,26,26,0.55);
  --warm-ink-35: rgba(26,26,26,0.35);
  --warm-ink-15: rgba(26,26,26,0.12);
  --warm-ink-08: rgba(26,26,26,0.06);
  --warm-ember: #AF8F3E;
  --warm-ember-soft: rgba(175,143,62,0.10);
  --warm-ember-mid: rgba(175,143,62,0.25);
  --warm-check: #5A7A5A;

  /* Status -------------------------------------------------- */
  --ok: #16A34A; --ok-soft: rgba(22,163,74,0.08);
  --warn: #D97706; --warn-soft: rgba(217,119,6,0.08);
  --err: #DC2626;
  --info: #2563EB; --info-soft: rgba(37,99,235,0.08);
  --event: #8B5CF6; --event-soft: rgba(139,92,246,0.08);

  /* Guide color system · one color per guide type ------------ */
  --guide-heritage: #CFA76E;
  --guide-outdoor: #34D399;
  --guide-dining: #D47B5C;
  --guide-ghost: #9CB0C4;
  --guide-local: #38BDF8;
  --guide-wedding: #8B5CF6;
  --guide-staff: #2563EB;
  --guide-wellness: #7CB8A3;
  --guide-retail: #E88B5C;
  --guide-culture: #C48DCF;

  /* Type ---------------------------------------------------- */
  --font-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-ui: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;

  /* Spacing ------------------------------------------------- */
  --sp-xs: 4px; --sp-sm: 8px; --sp-md: 16px;
  --sp-lg: 24px; --sp-xl: 32px; --sp-xxl: 48px;

  /* Radii --------------------------------------------------- */
  --r-sm: 4px; --r-md: 8px; --r-lg: 16px; --r-card: 20px; --r-pill: 9999px;

  /* Elevation ---------------------------------------------- */
  --z-map: 1; --z-card: 10; --z-nav: 100; --z-modal: 1000; --z-toast: 2000;

  /* Motion -------------------------------------------------- */
  --ease-tilt: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-pin-drop: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Brand-mark Ember gradient. Use this exact gradient on the
   canonical hollow-teardrop path (see mark.svg); never
   approximate the path or gradient stops. */
.ember-gradient-def {
  position: absolute; width: 0; height: 0; overflow: hidden;
}
