/*
 * ESPFlight Design System v1.0 — foundational tokens and reusable primitives.
 * Adoption is opt-in: add class `ds-v1` to an individual public page.
 * The existing site palette, header, docs, admin and API remain untouched.
 */
body.ds-v1 {
  --ds-max-width: var(--esp-content-max, 1500px);
  --ds-gutter: var(--esp-gutter, 24px);
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 24px;
  --ds-space-6: 32px;
  --ds-space-7: 48px;
  --ds-space-8: 64px;
  --ds-space-9: 88px;
  --ds-section-space: clamp(60px, 6.2vw, 88px);
  --ds-panel-space: clamp(20px, 2.5vw, 32px);
  --ds-radius-xs: 10px;
  --ds-radius-sm: 14px;
  --ds-radius-md: 20px;
  --ds-radius-lg: 26px;
  --ds-radius-pill: 999px;
  --ds-control-height: 44px;
  --ds-font-body: 16px;
  --ds-font-small: 14px;
  --ds-h1-size: clamp(43px, 4.75vw, 68px);
  --ds-h2-size: clamp(29px, 3.15vw, 44px);
  --ds-h3-size: clamp(21px, 2.05vw, 25px);
  --ds-line-height: 1.75;
  --ds-text: var(--text);
  --ds-muted: #4e6170;
  --ds-accent: var(--accent);
  --ds-accent-strong: #11704b;
  --ds-on-accent: #ffffff;
  --ds-button-bg: #166d43;
  --ds-button-hover-bg: #105735;
  --ds-surface: #ffffff;
  --ds-surface-subtle: #f6f8f8;
  --ds-surface-raised: #fdfefe;
  --ds-tint: #eaf7f0;
  --ds-border: #dce6e2;
  
}
html[data-theme="dark"] body.ds-v1 {
  --ds-muted: #bdc9c7;
  --ds-accent-strong: #66ddb0;
  --ds-on-accent: #0b2118;
  --ds-button-bg: var(--ds-accent);
  --ds-button-hover-bg: #64e2ad;
  --ds-surface: #22242a;
  --ds-surface-subtle: #1b1d21;
  --ds-surface-raised: #282b30;
  --ds-tint: #20372e;
  --ds-border: #3c4445;
  
}
body.ds-v1 .ds-container { width: min(var(--ds-max-width), calc(100% - var(--ds-gutter) * 2)); margin-inline: auto; }
body.ds-v1 .ds-section { padding-block: var(--ds-section-space); }
body.ds-v1 .ds-section-heading { max-width: 690px; margin-bottom: var(--ds-space-6); }
body.ds-v1 .ds-section-heading h2 { font-size: var(--ds-h2-size); letter-spacing: -.035em; line-height: 1.14; margin: 10px 0 14px; font-weight: 760; text-wrap: balance; }
body.ds-v1 .ds-section-heading p { font-size: clamp(15px, 1.35vw, 17px); line-height: 1.78; color: var(--ds-muted); margin: 0; }
body.ds-v1 .ds-kicker { font-size: 12px; font-weight: 800; color: var(--ds-accent-strong); text-transform: uppercase; letter-spacing: .11em; }
body.ds-v1 .ds-card { border: 1px solid var(--ds-border); border-radius: var(--ds-radius-lg); background: var(--ds-surface);  padding: var(--ds-panel-space); }
body.ds-v1 .ds-button { min-height: var(--ds-control-height); display: inline-flex; align-items: center; justify-content: center; padding: 11px 20px; border-radius: var(--ds-radius-sm); font-size: 14px; font-weight: 800; border: 1px solid var(--ds-button-bg); background: var(--ds-button-bg); color: var(--ds-on-accent); text-decoration: none; transition: transform .15s ease, background-color .15s ease, border-color .15s ease; }
body.ds-v1 .ds-button:hover { transform: translateY(-2px); background: var(--ds-button-hover-bg); border-color: var(--ds-button-hover-bg); }
body.ds-v1 .ds-button--secondary { color: var(--ds-text); background: var(--ds-surface); border-color: var(--ds-border); }
body.ds-v1 .ds-button--secondary:hover { background: var(--ds-tint); border-color: var(--ds-accent); }
body.ds-v1 .ds-link { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; color: var(--ds-accent-strong); font-size: 14px; font-weight: 800; text-decoration: none; }
body.ds-v1 .ds-link:hover { text-decoration: underline; text-underline-offset: 4px; }
body.ds-v1 main a:focus-visible { outline: 3px solid var(--ds-accent-strong); outline-offset: 4px; }
body.ds-v1 main [id] { scroll-margin-top: 95px; }
html[lang="fa"] body.ds-v1 :is(h1,h2,h3,p) { letter-spacing: 0; }
html[lang="fa"] body.ds-v1 .ds-kicker { letter-spacing: 0; }
@media (max-width: 720px) {
  body.ds-v1 { --ds-gutter: 16px; --ds-section-space: 56px; --ds-panel-space: 20px; }
  body.ds-v1 .ds-section-heading h2 { font-size: clamp(27px, 7.2vw, 36px); }
  body.ds-v1 main [id] { scroll-margin-top: 76px; }
}
@media (prefers-reduced-motion: reduce) { body.ds-v1 .ds-button { transition: none; } body.ds-v1 .ds-button:hover { transform: none; } }
