/* LINE Seed Sans TH (SIL OFL 1.1, © LY Corporation) — the only family (Thai + Latin). */
@font-face { font-family: "LINE Seed Sans TH"; src: url("/sef/fonts/LINESeedSansTH_W_Rg.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "LINE Seed Sans TH"; src: url("/sef/fonts/LINESeedSansTH_W_Bd.woff2") format("woff2"); font-weight: 500 800; font-style: normal; font-display: swap; }

/* Design tokens — v3 "app" (rounded cards, pills, widgets). The only place for raw values. */
:root {
  /* color — rice-field green + laterite */
  --color-background: #EEF0EA;
  --color-surface: #FFFFFF;
  --color-surface-2: #F5F6F2;
  --color-text: #0E1A14;
  --color-muted: #5E6A62;
  --color-line: rgb(14 26 20 / 0.09);
  --color-line-strong: rgb(14 26 20 / 0.22);
  --color-primary: #133626;            /* deep green — dark cards, primary buttons */
  --color-primary-2: #1C4A34;
  --color-primary-ink: #FFFFFF;
  --color-accent: #FF6A3D;             /* laterite — the booking action */
  --color-accent-ink: #1A0B05;
  --color-accent-soft: #FFE3D8;
  --color-dark-muted: rgb(255 255 255 / 0.68);
  --color-dark-line: rgb(255 255 255 / 0.14);
  --color-ok: #2E9E5B;
  --color-focus: #FF6A3D;
  --cat-elephant: #133626; --cat-fair: #8A4B12; --cat-special: #C2410C; --cat-mainstage: #355E8C; --cat-concert: #6A3D9A; --cat-culture: #355E8C; --cat-other: #5E6A62;

  /* type */
  --font-body: "LINE Seed Sans TH", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --fs-xl: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
  --fs-2xl: clamp(1.625rem, 1.3rem + 1.4vw, 2.5rem);
  --fs-3xl: clamp(2rem, 1.4rem + 2.6vw, 3.5rem);
  --fs-hero: clamp(2.5rem, 1.5rem + 4.4vw, 5.25rem);
  --lh-tight: 1.2;
  --lh-body: 1.6;

  /* spacing */
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4.5rem;
  --section-pad: clamp(3.5rem, 2.5rem + 4vw, 6.5rem);
  --gutter: clamp(0.75rem, 0.4rem + 1.6vw, 2rem);
  --card-pad: clamp(1.25rem, 0.9rem + 1.6vw, 2.5rem);

  /* layout */
  --container-max: 84rem;
  --header-h: 4.75rem;
  --tap: 2.75rem;

  /* shape */
  --radius-xl: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
  --radius-lg: 1.5rem;
  --radius-md: 1.125rem;
  --radius-sm: 0.75rem;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgb(14 26 20 / 0.04), 0 12px 32px -18px rgb(14 26 20 / 0.18);
  --shadow-float: 0 10px 30px -12px rgb(14 26 20 / 0.35);

  /* motion */
  --motion-fast: 160ms;
  --motion-normal: 320ms;
  --motion-slow: 700ms;
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-exit: cubic-bezier(0.7, 0, 0.84, 0);

  /* depth */
  --z-base: 1; --z-quick-cta: 40; --z-navigation: 50; --z-overlay: 80;

  --safe-bottom: env(safe-area-inset-bottom, 0px);
}
@media (prefers-reduced-motion: reduce) { :root { --motion-fast: 0ms; --motion-normal: 0ms; --motion-slow: 0ms; } }
