/* ============================================================
   PARUS RESPONSIVE ROOT
   Единая сетка брейкпоинтов: 480 / 768 / 1024 / 1440 / 1920
   Подключается ПОСЛЕ base.css — перекрывает каскадом.
   Каждая секция помечена маркером для греп-гардов.
   ============================================================ */

/* PARUS-R: section-hero (пусто, ждёт правок) */
/* PARUS-R: section-problem */
/* PARUS-R: section-method */
/* PARUS-R: section-lessons */
/* PARUS-R: section-products */
/* PARUS-R: section-case */
/* PARUS-R: section-author */
/* PARUS-R: section-nurse */
/* PARUS-R: section-landing-form */
/* PARUS-R: section-footer */
/* PARUS-R: cabinet-shell */
/* PARUS-R: login-page */

/* ============================================================
   PARUS-R-PATCH-1: лендинг, волна 1
   ≤480 мелкие телефоны / ≤374 ультра-узкие / шапка ≤600 / планшет 721–1024
   ============================================================ */

/* --- Мелкие телефоны (320–480) --- */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .site-header__inner { padding-left: 16px; padding-right: 16px; }
  .hero { padding: 32px 0 40px; }
  .hero-title { font-size: 25px; }
  .hero-desc { font-size: 15px; }
  .hero-stat-num { font-size: 24px; }
  .section-title { font-size: 23px; }
  .section-desc { font-size: 15px; }
  .btn-group .btn { width: 100%; justify-content: center; }
  .step-item { gap: 14px; }
  .step-letter { width: 40px; height: 40px; font-size: 17px; border-radius: var(--radius-sm); }
  .lesson-tabs { flex-direction: column; }
  .lesson-tab { padding: 10px; }
  .case-situation, .case-bad, .case-good { padding: 16px 18px; }
  .footer-products { grid-template-columns: 1fr; }
  .form-card { padding: 18px 16px; }
  .clips-teaser { padding: 18px 16px; }
}

/* --- Ультра-узкие (~320) --- */
@media (max-width: 374px) {
  .hero-title { font-size: 23px; }
  .section-title { font-size: 21px; }
  .hero-stats { gap: 14px; }
}

/* --- Шапка: горизонтальный скролл меню вместо переполнения --- */
@media (max-width: 600px) {
  .site-header__inner { flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; min-height: 0; }
  .site-header .menu {
    width: 100%; order: 3; overflow-x: auto;
    gap: 16px; padding-bottom: 4px;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .site-header .menu::-webkit-scrollbar { display: none; }
  .site-header .menu a { white-space: nowrap; }
}

/* --- Планшет (721–1024): сетки впритык на десктопных пропорциях --- */
@media (min-width: 721px) and (max-width: 1024px) {
  .hero-grid { gap: 32px; }
  .hero-title { font-size: 32px; }
  .hero-img { min-height: 320px; }
  .author-grid { grid-template-columns: 260px 1fr; gap: 32px; }
  .author-photo { min-height: 320px; }
  .problem-grid { gap: 32px; }
  .form-section-grid { gap: 32px; }
}

/* ============================================================
   PARUS-R-PATCH-2: фикс горизонтального переполнения
   Причина: aspect-ratio + min-height на img-слотах задаёт
   минимальную ШИРИНУ (min-height × ratio) больше вьюпорта.
   Лечение: на мобильных min-height снимаем, ширина 100%,
   высота считается из aspect-ratio от реальной ширины.
   ============================================================ */
@media (max-width: 720px) {
  .hero-img,
  .problem-img,
  .author-photo,
  .form-visual,
  .cabinet-visual-slot {
    min-height: 0;
    width: 100%;
  }
}

/* --- hero-stats: сетка 2×2 вместо рваного флекса --- */
@media (max-width: 480px) {
  .hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
}

/* ============================================================
   PARUS-R-PATCH-3: страница входа
   Подвал на /user/login пуст (его блоки живут на главной) и
   рисует тёмную полосу. Тема не выводит классы на body,
   поэтому таргетируем через :has() по форме входа.
   ============================================================ */
body:has(.user-login-form) .site-footer { display: none; }

/* карточка входа на узких экранах — меньше вертикальных полей */
@media (max-width: 480px) {
  .user-login-form { margin: 1.5rem auto; padding: 1.5rem 1.25rem; }
}

/* ============================================================
   PARUS-R-PATCH-4: пустой подвал
   Регион footer не содержит блоков ни на одной странице —
   рендерится тёмной пустой полосой. Прячем, только если внутри
   нет ни одного элемента; появятся блоки — подвал вернётся сам.
   ============================================================ */
.site-footer:not(:has(*)) { display: none; }
