/**
 * Каркас сайта: переключение #mob / #pc, слот шапки.
 * Breakpoint: моб ≤779px, ПК ≥780px (см. LAYOUT.md).
 *
 * ── ПРОКРУТКА (не ломать) ──
 * Единственный вертикальный scroll-root — html (окно браузера).
 *
 * НЕ ставить overflow-x: clip / hidden / auto на .site, .wrapper, #mob, #pc:
 * если одна ось не visible, вторая по спецификации становится auto →
 * появляется второй скроллбар «как у фрейма», который потом «перескакивает»
 * на обычный после пересчёта высоты.
 *
 * Плавность якорей: scroll-behavior на html + scroll-padding-top в menu.css.
 * Инерция колёсика (ПК): assets/js/smooth-wheel.js + SmoothScroll.min.js.
 */

/* ── Scroll root: только html ── */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

html {
    overflow-x: hidden;
    overflow-y: scroll;
}

body {
    overflow-x: hidden;
    overflow-y: visible;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Обёртки layout — без собственного overflow (контент растёт, скроллит html) */
.site {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
}

.site > .wrapper {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
}

.site > .wrapper > main,
.site > .wrapper > #mob,
.site > .wrapper > #pc {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

.site > .wrapper > .site-footer,
.site > .wrapper > footer.site-footer {
    margin-top: auto;
    flex-shrink: 0;
}

#mob > footer.footer-mob,
#mob > footer {
    margin-top: auto;
    flex-shrink: 0;
}

.site,
.site > .wrapper,
.site .wrapper,
#mob,
#pc {
    overflow: visible;
    height: auto;
    max-height: none;
    max-width: 100%;
}

/* Слот фиксированного меню (layout-start) — без фона hero */
.site > .wrapper > .site-header-slot {
    background: none;
    min-height: 0;
    padding: 0;
}

/* Дубли DOM на главной и villa-uslugi: скрываем неактивную ветку */
@media screen and (max-width: 779px) {
    #pc {
        display: none !important;
    }

    #site-header-pc,
    #site-footer-pc,
    #site-footer-contact-pc {
        display: none;
    }

    footer.site-footer-outer--pc-only {
        display: none !important;
    }
}

@media screen and (min-width: 780px) {
    #mob {
        display: none !important;
    }

    #site-header-mob,
    #site-footer-mob,
    #site-footer-contact-mob {
        display: none;
    }
}
