/* ============================================================================
   DeliveryGoods — базовый слой: глобальные элементы и хелперы документа.
   Грузится после tokens.css.
   ============================================================================ */

@layer base {
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }

  body {
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 1.55;
    color: var(--ink);
    background: var(--paper);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  body.no-scroll { overflow: hidden; }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--ink);
    text-wrap: balance;
  }

  /* плавная fluid-типографика заголовков */
  h1 { font-size: clamp(34px, 5.2vw, 60px); letter-spacing: -0.035em; }
  h2 { font-size: clamp(28px, 4vw, 42px); }
  h3 { font-size: clamp(20px, 2.4vw, 26px); }
  h4 { font-size: clamp(17px, 2vw, 20px); }

  p { text-wrap: pretty; }

  a { color: inherit; transition: color var(--transition-fast); }

  /* видимое кольцо фокуса только для клавиатуры */
  :focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 3px;
  }
  :focus:not(:focus-visible) { outline: none; }

  ::selection { background: var(--accent-tint); }

  /* моноширинный для цифр/данных (табличные цифры) */
  .mono { font-family: var(--font-mono); font-feature-settings: "tnum" 1; font-variant-numeric: tabular-nums; }

  /* контейнер ширины */
  .wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: 24px; }
  @media (max-width: 720px) { .wrap { padding-inline: 18px; } }

  /* надзаголовок-эйброу (моно, верхний регистр, акцент) */
  .eyebrow {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 500;
  }

  /* лид-абзац под заголовком (глобально; .page-hero .lead уточняет в hero) */
  .lead { font-size: clamp(16px, 1.6vw, 19px); color: var(--ink-2); max-width: 60ch; }

  /* ссылка пропуска навигации (a11y) */
  .skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 999;
    padding: 10px 18px;
    background: var(--surface);
    color: var(--ink);
    border: 1px solid var(--line-2);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-2);
  }
  .skip-link:focus { left: 12px; top: 12px; }
}
