/* Дополнения к ff.css макетов для живого сайта (движок v2). */

/* пометки макетов «для разработки» и «[?]» на сайте не показываем — список в README-v2 */
.q { display: none !important; }
/* ловушка для роботов в формах заявки */
.lovushka { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* меню на телефоне: «бургер» раскрывает список */
.nav-mob { display: none; }
@media (max-width: 1120px) {
  .site-header.open .nav-mob { display: grid; background: var(--dark); border-top: 1px solid rgba(255,255,255,.12); padding: 8px 20px 20px; }
  .nav-mob a { color: #fff; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 17px; }
}
.kabinet-ikonka { position: relative; display: inline-flex; }
.kabinet-ikonka .tochka { position: absolute; right: -3px; top: -2px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }

/* учебный план группы */
.plan-mesyac { margin-top: 48px; }
.plan-mesyac h3 { color: var(--text); margin-bottom: 12px; }
.plan-mesyac .table td:nth-child(2) { font-weight: 400; }
.plan-mesyac .table td:first-child { white-space: nowrap; width: 170px; }
.metka-lekcii { display: inline-block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-right: 8px; }
.plan-proshlo { color: var(--muted); }
@media (max-width: 720px) { .plan-mesyac .table td:first-child { width: auto; white-space: normal; } }

/* ответ на заявку */
.ok-plashka { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 40px; }

/* страницы курсов (/courses/kurs_*): поверх ff.css */
.kurs .section-head h2 { font-size: clamp(28px, 3.2vw, 42px); line-height: 1.1; letter-spacing: -.03em; }
.kurs .page-hero h1 { font-size: clamp(36px, 5.4vw, 68px); }
.kurs .grid > *, .kurs .hero-top > * { min-width: 0; }
.spec { display: grid; align-content: start; }
.spec > div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); }
.spec > div:first-of-type { margin-top: 12px; }
.spec > div span { color: var(--muted); font-size: 14px; }
.spec > div strong { text-align: right; font-weight: 700; }
.punkty { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.punkty li { position: relative; padding-left: 22px; line-height: 1.5; }
.punkty li::before { content: ''; position: absolute; left: 0; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.card-dark .punkty li, .dark .punkty li { color: rgba(255,255,255,.78); }
.item-card p { margin: 0; color: var(--text); }
.card.spec .punkty { margin-top: 4px; }
.chips { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.chips li { border: 1px solid var(--line); background: var(--paper); border-radius: 999px; padding: 8px 16px; font-size: 15px; line-height: 1.3; }
.dark .chips li { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); color: #fff; }
.blok-programmy { padding: 32px 0; border-top: 1px solid var(--line); }
.blok-programmy:first-of-type { border-top: 0; padding-top: 0; }
.dark .blok-programmy { border-color: rgba(255,255,255,.14); }
.blok-programmy h3 { margin-top: 10px; }
.blok-programmy .muted { margin-top: 10px; max-width: 820px; }
.foto-karta { margin: 0; position: relative; overflow: hidden; border-radius: var(--radius-img); background: var(--dark); }
.foto-karta img { width: 100%; height: 360px; object-fit: cover; }
.foto-karta figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 56px 20px 18px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.78)); display: grid; gap: 4px; }
.foto-karta figcaption span { font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.85); }
.kurs .tabs a { font-size: 14px; }
@media (max-width: 720px) {
  .foto-karta img { height: 260px; }
  .spec > div { flex-direction: column; gap: 2px; }
  .spec > div strong { text-align: left; }
}
