/**
 * PSH Knowledgebase — Design System Tokens
 * Premium Swiss Hospitality — Exquisite Swiss Quality
 */

/* ============================================
   COLORS
   ============================================ */
:root {
  /* --- Primary Palette --- */
  --psh-red: #BE202E;
  --psh-red-hover: #981A25;
  --psh-red-light: #D9626E;
  --psh-red-pale: #EAA3AB;

  /* --- Secondary Palette --- */
  --psh-black: #231F20;
  --psh-black-soft: #3C383A;

  /* --- Neutrals --- */
  --psh-grey-dark: #666466;
  --psh-grey-mid: #A7A5A6;
  --psh-white: #FFFFFF;
  --psh-surface: #F5F5F5;
  --psh-surface-dark: #0F0F10;

  /* --- Text --- */
  --text-primary: #231F20;
  --text-secondary: #606060;
  --text-muted: #9CA3AF;
  --text-on-dark: #FFFFFF;

  /* --- Semantic --- */
  --color-border: #E5E5E5;
  --color-watermark: #E6E6E6;
  --color-success: #2BA640;
  --color-warning: #FB8C00;
  --color-error: #D92D20;

  /* --- Aliases --- */
  --color-primary: var(--psh-red);
  --color-primary-hover: var(--psh-red-hover);
  --color-bg: var(--psh-white);
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/montserrat/v29/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw5aXo.woff2") format("woff2");
}

@font-face {
  font-family: "Calibri";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/calibri-regular.ttf") format("truetype");
}

:root {
  /* --- Font Stacks --- */
  --font-display: "Montserrat", "Helvetica Neue", Helvetica, sans-serif;
  --font-display-weight: 300;
  --font-body: Calibri, Arial, Helvetica, sans-serif;

  /* --- Type Scale --- */
  --text-hero-size: 48px;
  --text-hero-line: 56px;

  --text-page-title-size: 40px;
  --text-page-title-line: 48px;

  --text-section-title-size: 24px;
  --text-section-title-line: 32px;
  --text-section-title-weight: 700;

  --text-accent-size: 20px;
  --text-accent-line: 28px;
  --text-accent-weight: 700;

  --text-subtitle-size: 18px;
  --text-subtitle-line: 26px;

  --text-body-size: 15px;
  --text-body-line: 24px;

  --text-small-size: 13px;
  --text-small-line: 20px;

  --text-metadata-size: 11px;
  --text-metadata-line: 16px;

  --text-nav-size: 14px;
  --text-nav-line: 20px;

  --text-button-size: 13px;
  --text-button-line: 18px;
  --text-button-weight: 700;
}

/* ============================================
   SPACING
   ============================================ */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  --header-height: 72px;
  --content-max-width: 1200px;
  --card-padding: 28px;
  --grid-gap: 24px;
  --section-padding: 72px;
}

/* ============================================
   ELEVATION
   ============================================ */
:root {
  --elevation-0: none;
  --elevation-1: 0 2px 8px rgba(0, 0, 0, 0.08);
  --elevation-2: 0 6px 24px rgba(0, 0, 0, 0.12);
  --elevation-3: 0 10px 40px rgba(0, 0, 0, 0.18);
}

/* ============================================
   BORDER RADIUS
   ============================================ */
:root {
  --radius-0: 0px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-full: 9999px;
}
