/* ==========================================================================
   Enso Design System — CSS Tokens
   Source of truth for all design values.
   Derived from Figma: Ensō Styleguide
   ========================================================================== */

/* --------------------------------------------------------------------------
   Font Faces
   -------------------------------------------------------------------------- */

@font-face {
  font-family: 'Adelle Sans';
  src: url('../assets/fonts/AdelleSans-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  src: url('../assets/fonts/DejaVuSansMono.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  src: url('../assets/fonts/DejaVuSansMono-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* -------------------------------------------------------------------------
     Brand & Base Colors
     ------------------------------------------------------------------------- */
  --brand-600: #f8991d;
  --dark-900: #0e0e0e;
  --light-100: #fff6f6;
  --mauve-400: #c3a2a2;
  --rose-700: #6d4646;
  --brand-warm: #ffe0b7;

  /* -------------------------------------------------------------------------
     Theme: Light (default)
     ------------------------------------------------------------------------- */
  --theme-background: var(--light-100);
  --theme-text: var(--dark-900);
  --theme-border: var(--mauve-400);

  --btn-primary-bg: var(--rose-700);
  --btn-primary-border: var(--rose-700);
  --btn-primary-text: var(--light-100);

  --btn-secondary-bg: var(--light-100);
  --btn-secondary-border: var(--mauve-400);
  --btn-secondary-text: var(--rose-700);

  /* -------------------------------------------------------------------------
     Typography — Font Families
     Brand fonts: Adelle Sans + DejaVu Sans Mono (must be self-hosted or licensed)
     Fallbacks: system-ui equivalents
     ------------------------------------------------------------------------- */
  --font-sans: 'Adelle Sans', 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'DejaVu Sans Mono', 'JetBrains Mono', 'Fira Mono', monospace;

  /* -------------------------------------------------------------------------
     Typography — Font Sizes
     ------------------------------------------------------------------------- */
  --font-size-display: 64px;
  --font-size-h1: 56px;
  --font-size-h2: 48px;
  --font-size-h3: 40px;
  --font-size-h4: 32px;
  --font-size-h5: 24px;
  --font-size-h6: 16px;
  --font-size-text-large: 18px;
  --font-size-text-main: 16px;
  --font-size-text-small: 14px;

  /* -------------------------------------------------------------------------
     Typography — Font Weights
     ------------------------------------------------------------------------- */
  --font-weight-semibold: 600;
  --font-weight-book: 400;

  /* -------------------------------------------------------------------------
     Typography — Line Heights
     ------------------------------------------------------------------------- */
  --line-height-display: 1;
  --line-height-tight: 1.1;
  --line-height-base: 1.3;
  --line-height-relaxed: 1.5;

  /* -------------------------------------------------------------------------
     Typography — Letter Spacing
     ------------------------------------------------------------------------- */
  --letter-spacing-display: -1.92px;
  --letter-spacing-h1: -0.56px;
  --letter-spacing-none: 0;

  /* -------------------------------------------------------------------------
     Spacing Scale
     ------------------------------------------------------------------------- */
  --space-0: 0px;
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 40px;
  --space-7: 48px;
  --space-8: 64px;

  /* -------------------------------------------------------------------------
     Section Spacing
     ------------------------------------------------------------------------- */
  --section-space-small: 80px;
  --section-space-main: 112px;
  --section-space-large: 160px;
  --page-top: 224px;

  /* -------------------------------------------------------------------------
     Layout
     ------------------------------------------------------------------------- */
  --site-margin: 40px;
  --site-gutter: 20px;
  --site-max-width: 1440px;

  /* -------------------------------------------------------------------------
     Border Radius
     ------------------------------------------------------------------------- */
  --radius-small: 8px;
  --radius-main: 30px;
  --radius-round: 9999px;

  /* -------------------------------------------------------------------------
     Border Width
     ------------------------------------------------------------------------- */
  --border-width-main: 1.5px;

  /* -------------------------------------------------------------------------
     Navigation
     ------------------------------------------------------------------------- */
  --nav-height: 75px;
  --nav-link-padding-x: 27px;
  --nav-link-padding-y: 23px;

  /* -------------------------------------------------------------------------
     Image Aspect Ratios
     ------------------------------------------------------------------------- */
  --img-aspect-ratio-square: 1 / 1;
  --img-aspect-ratio-wide: 16 / 9;
  --img-aspect-ratio-portrait: 3 / 4;
  --img-aspect-ratio-landscape: 4 / 3;
}

/* ============================================================================
   Theme: Dark
   Apply via class="theme-dark" on a container
   ============================================================================ */
.theme-dark {
  --theme-background: var(--rose-700);
  --theme-text: var(--light-100);
  --theme-border: rgba(255, 246, 246, 0.4);

  --btn-primary-bg: var(--brand-600);
  --btn-primary-border: var(--brand-600);
  --btn-primary-text: var(--dark-900);

  --btn-secondary-bg: transparent;
  --btn-secondary-border: rgba(255, 246, 246, 0.4);
  --btn-secondary-text: var(--light-100);
}

/* ============================================================================
   Theme: Brand (warm/peach)
   Apply via class="theme-brand" on a container
   ============================================================================ */
.theme-brand {
  --theme-background: var(--brand-warm);
  --theme-text: var(--dark-900);
  --theme-border: var(--mauve-400);

  --btn-primary-bg: var(--brand-600);
  --btn-primary-border: var(--brand-600);
  --btn-primary-text: var(--dark-900);

  --btn-secondary-bg: transparent;
  --btn-secondary-border: rgba(14, 14, 14, 0.2);
  --btn-secondary-text: var(--dark-900);
}
