/* ═══════════ ЙОГОДА · единая дизайн-система (v1, 10.10.2026) ═══════════
   Безопасно для существующих страниц: только переменные и классы с префиксом .yg-
   Новые блоки (уроки, статьи, книги) берут цвета и шрифты отсюда:
   color: var(--yg-gold); background: var(--yg-paper); и т.д. */

:root {
  /* Палитра «Лахири Махасая»: тёмно-зелёный + золото + кремовая бумага */
  --yg-forest-900: #0d2418;
  --yg-forest-800: #12301f;
  --yg-forest-700: #1a3d2a;
  --yg-forest-600: #1f4a3c;
  --yg-gold: #c9a24a;
  --yg-gold-light: #e3c77d;
  --yg-gold-dark: #9c7a2e;
  --yg-paper: #f7f1e3;
  --yg-paper-2: #efe6d0;
  --yg-ink: #2b2418;
  --yg-ink-soft: #5c5240;
  --yg-line: rgba(156, 122, 46, .28);

  /* Типографика */
  --yg-font-serif: "Cormorant Garamond", "Playfair Display", Georgia, "Times New Roman", serif;
  --yg-font-sans: "Inter", "PT Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --yg-text: clamp(17px, 1.05vw + 12px, 20px);
  --yg-leading: 1.7;
  --yg-measure: 68ch;

  /* Ритм и форма */
  --yg-radius: 14px;
  --yg-radius-sm: 8px;
  --yg-shadow: 0 10px 30px rgba(13, 36, 24, .14);
  --yg-gap: clamp(16px, 3vw, 32px);
  --yg-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ── Общие мелочи, которые ничего не ломают ── */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
::selection { background: rgba(201, 162, 74, .35); color: inherit; }
:focus-visible { outline: 2px solid var(--yg-gold); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ── Готовые классы для новых блоков ── */
.yg-paper   { background: var(--yg-paper); color: var(--yg-ink); }
.yg-forest  { background: var(--yg-forest-900); color: var(--yg-paper); }
.yg-prose   { font-family: var(--yg-font-sans); font-size: var(--yg-text); line-height: var(--yg-leading); max-width: var(--yg-measure); margin-inline: auto; }
.yg-prose h2, .yg-prose h3, .yg-title { font-family: var(--yg-font-serif); font-weight: 600; line-height: 1.2; color: var(--yg-forest-700); }
.yg-forest .yg-title, .yg-forest h2, .yg-forest h3 { color: var(--yg-gold-light); }
.yg-prose a { color: var(--yg-gold-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.yg-quote   { border-left: 3px solid var(--yg-gold); padding: .2em 0 .2em 1.1em; margin: 1.6em 0; font-family: var(--yg-font-serif); font-size: 1.15em; font-style: italic; color: var(--yg-forest-700); }
.yg-card    { background: #fff; border: 1px solid var(--yg-line); border-radius: var(--yg-radius); box-shadow: var(--yg-shadow); padding: var(--yg-gap); }
.yg-frame   { border-radius: var(--yg-radius); border: 2px solid var(--yg-gold); box-shadow: var(--yg-shadow); overflow: hidden; }
.yg-btn     { display: inline-flex; align-items: center; gap: .5em; padding: .8em 1.5em; border-radius: 999px; background: var(--yg-gold); color: var(--yg-forest-900); font-family: var(--yg-font-sans); font-weight: 600; text-decoration: none; transition: transform .2s var(--yg-ease), background .2s var(--yg-ease); }
.yg-btn:hover { background: var(--yg-gold-light); transform: translateY(-1px); }
.yg-btn--ghost { background: transparent; color: inherit; border: 1px solid currentColor; }
.yg-divider { height: 1px; border: 0; background: linear-gradient(90deg, transparent, var(--yg-gold), transparent); margin: 2.5em auto; max-width: 320px; }
.yg-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
