/* ============================================================
   COURSE · МАРАФОН (page-course-marathon.php) — scoped.
   Страница построена на V3-системе AAM (aam-* из main.css) — здесь
   ТОЛЬКО реально-новые блоки: «что входит», «результаты», PWYC-карточки
   (визуал ретрита). Токены — те же CSS-переменные, что в main.css.
   ============================================================ */

/* Без горизонтального скролла на узких экранах */
.course-page--marathon { overflow-x: clip; }
/* Hero-заголовок — размер как у ретрита (не AAM-огромный 3.5rem+) */
.course-page--marathon .aam-hero-title { font-size: 2.4rem; letter-spacing: -0.02em; }
@media (min-width: 640px) { .course-page--marathon .aam-hero-title { font-size: 3.2rem; } }
@media (min-width: 900px) { .course-page--marathon .aam-hero-title { font-size: 4rem; } }

/* «Что входит» — две опоры */
.mar-includes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 720px; margin: 0 auto; }
.mar-include { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-md); padding: 26px 24px; box-shadow: 0 2px 14px rgba(42, 48, 56, 0.05); }
.mar-include h3 { font-family: var(--font-heading); font-weight: 700; font-size: 1.1rem; margin: 0 0 12px; color: var(--text); }
.mar-include ul { margin: 0; padding-left: 18px; }
.mar-include li { font-family: var(--font-body); font-weight: 300; font-size: 0.92rem; line-height: 1.65; color: var(--text-muted); margin: 0 0 4px; }

/* ── Редакторские блоки (паттерны ретрита, значения 1-в-1, префикс mar-) ── */

/* Редакторский заголовок секции */
.mar-heading { font-family: var(--font-heading); font-weight: 700; font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1.18; text-align: center; max-width: 640px; margin: 0 auto 40px; color: var(--text); }
.mar-heading em { font-style: italic; color: var(--turquoise); }

/* Пул-квот (в «Зачем») */
.mar-pullquote { max-width: 46ch; margin: 28px auto 0; padding-left: 18px; border-left: 2px solid var(--gold); font-family: var(--font-heading); font-style: italic; font-size: 1.35rem; line-height: 1.5; color: var(--text); }

/* «Что вы получите» — нумерованная карточка I–V */
.mar-steps { max-width: 760px; margin: 0 auto; display: grid; gap: 1px; background: rgba(42, 48, 56, 0.10); border: 1px solid rgba(42, 48, 56, 0.10); border-radius: var(--radius-lg); overflow: hidden; }
.mar-step-row { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: center; background: var(--card-bg); padding: 26px 30px; }
.mar-step-num { font-family: var(--font-heading); font-style: italic; font-weight: 500; font-size: 1.9rem; color: var(--gold); }
.mar-step-row p { margin: 0; font-size: 1.08rem; line-height: 1.55; color: var(--text); font-weight: 300; }
@media (max-width: 560px) { .mar-step-row { grid-template-columns: 48px 1fr; gap: 14px; padding: 22px 22px; } .mar-step-num { font-size: 1.5rem; } }

/* «4 недели» — фирменная дуга (десктоп) + список-fallback (мобайл) */
.mar-arc { max-width: 820px; margin: 8px auto 0; }
.mar-arc svg { width: 100%; height: auto; display: block; overflow: visible; }
.mar-arc-line { fill: none; stroke: var(--azure); stroke-width: 2; opacity: 0.55; }
.mar-arc-dot { fill: var(--turquoise); }
.mar-arc-num { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 20px; fill: var(--gold); }
.mar-arc-name { font-family: var(--font-heading); font-weight: 600; font-size: 18px; fill: var(--text); }
.mar-arc-wk { font-family: var(--font-body); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; fill: var(--text-light); }
.mar-weeks-list { display: none; }
@media (max-width: 760px) {
  .mar-arc { display: none; }
  .mar-weeks-list { display: block; }
}

/* Поэтичная строка-закрытие */
.mar-closing { max-width: 40ch; margin: 0 auto 24px; text-align: center; font-family: var(--font-heading); font-style: italic; font-size: clamp(1.3rem, 2.5vw, 1.5rem); line-height: 1.5; color: var(--text); }

/* PWYC — визуал ретрита (правила из retreat.css, префикс mar-) */
.mar-pwyc-panel { max-width: 620px; margin: 24px auto 0; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px; padding: 40px 38px; text-align: center; box-shadow: 0 8px 30px rgba(42, 48, 56, 0.05); }
.mar-pwyc-amounts { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.mar-amt { flex: 1; min-width: 150px; border: 1px solid var(--card-border); border-radius: 12px; padding: 24px 16px; background: var(--sky); position: relative; }
.mar-amt--rec { border-color: rgba(26, 123, 123, 0.4); background: rgba(26, 123, 123, 0.04); }
.mar-amt-tag { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); font-family: var(--font-body); font-weight: 500; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.14em; color: #fff; background: var(--turquoise); padding: 3px 12px; border-radius: 999px; white-space: nowrap; }
.mar-amt-price { font-family: var(--font-heading); font-weight: 600; font-size: 1.7rem; color: var(--text); line-height: 1; margin-bottom: 6px; }
.mar-amt-cur { font-size: 1rem; color: var(--text-muted); font-weight: 400; }
.mar-amt-name { font-family: var(--font-body); font-size: 0.85rem; color: var(--text-muted); }
.mar-amt--rec .mar-amt-name { color: var(--turquoise); font-weight: 500; }
.mar-pwyc-foot { margin-top: 26px; font-size: 0.86rem; color: var(--text-light); line-height: 1.6; }

@media (max-width: 760px) {
  .mar-includes { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .mar-amt { min-width: 120px; padding: 20px 12px; }
  .mar-amt-price { font-size: 1.45rem; }
}
