/* ==================================================================
   media.css — адаптив V2 (desktop-first, max-width)
   Брейкпоинты: 1200 / 991 / 767 / 480
   ================================================================== */

@media screen and (max-width: 1200px) {
    .menu-list { gap: 2rem; }
    .menu-list a { font-size: 1.4rem; }
    .nav { gap: 2rem; }
    section { padding: 9.5rem 0; }
    .master-grid { gap: 4rem; }
    .await { padding: 4.6rem 3.4rem; }
}

/* ---------- Планшет: прячем меню, включаем бургер ---------- */
@media screen and (max-width: 991px) {
    .menu-list, .header-btn { display: none; }
    .burger { display: flex; }
    .nav { justify-content: space-between; }

    .hero { padding: 13rem 0 7rem; }
    .hero-grid { grid-template-columns: 1fr; text-align: center; gap: 1rem; }
    .hero-copy { max-width: 62rem; margin: 0 auto; }
    .hero .eyebrow, .hero-loc { align-self: center; }
    .hero-lead { margin-left: auto; margin-right: auto; }
    .hero-btns { justify-content: center; }
    .hero-lion { order: -1; max-width: 40rem; margin: 0 auto 1rem; }

    .benefit-list { grid-template-columns: 1fr 1fr; }
    .master-grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .master-photo { max-width: 40rem; margin: 0 auto; }
    .master-text { max-width: none; text-align: center; }
    .master-tags { justify-content: center; }
    .master-bio p { text-align: left; }
    .gallery { grid-auto-rows: 16rem; }

    /* Дополнительно оплачивается — только на десктопе в 1 строку, ниже — обычный перенос */
    .extra-list { flex-wrap: wrap; overflow-x: visible; padding: 0; }
    .extra-list li { white-space: normal; }
}

/* ---------- Мобильный ---------- */
@media screen and (max-width: 767px) {
    body { font-size: 1.6rem; }
    .container { padding: 0 18px; }
    section { padding: 6.5rem 0; }

    .sec-head { margin-bottom: 4rem; }
    .sec-mark { width: 2.2rem; height: 2.2rem; margin-bottom: 1.4rem; }
    .sec-title { font-size: 3.2rem; }
    .sec-sub { font-size: 1.65rem; }
    .sec-cta { margin-top: 4rem; }
    .sec-cta .btn { width: 100%; }
    .btn { padding: 1.6rem 3rem; }

    /* HERO */
    .hero-title { font-size: 4.4rem; }
    .hero-dates { font-size: 1.75rem; }
    .hero-lead { font-size: 1.68rem; }
    .hero-btns { flex-direction: column; width: 100%; }
    .hero-btns .btn { width: 100%; }
    .hero-lion { max-width: 30rem; }
    .hero-scroll { display: none; }
    .logo img { height: 4rem; }

    /* Списки в одну колонку */
    .whom-list, .benefit-list, .await-list, .place-grid, .price-grid { grid-template-columns: 1fr; }
    .whom-item { padding: 2.2rem; }
    .whom-item p, .benefit-item p { font-size: 1.58rem; }
    .benefit-item { padding: 2.8rem 2.4rem; }
    .benefit-item h3 { font-size: 2.1rem; margin-top: 1.8rem; }
    .await { padding: 3.6rem 2rem; border-radius: 24px; }
    .await-head { margin-bottom: 3rem; }
    .await-list { gap: 1.8rem; }
    .await-list li { font-size: 1.6rem; }

    /* Мастер */
    .master-photo img, .master-arch { max-width: 30rem; }
    .master-bio p { font-size: 1.65rem; }

    /* Галерея — все фото одного размера, чтобы 6 штук ровно закрывали 3 ряда по 2 */
    .gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 14rem; gap: 1.2rem; margin-bottom: 4rem; }
    .gallery-big { grid-column: span 1; grid-row: span 1; }
    .place-features, .place-road { padding: 3rem 2.2rem; }
    .place-h { font-size: 2.2rem; }
    .road-map-btns { flex-direction: column; }
    .road-map-btns .btn { width: 100%; }

    /* Программа */
    .timeline { padding-left: 0; }
    .timeline::before { left: 2.6rem; }
    .tl-day { gap: 2rem; padding-bottom: 3rem; }
    .tl-marker { width: 5.2rem; height: 5.2rem; font-size: 2.2rem; }
    .tl-date h3 { font-size: 2.2rem; }
    .tl-list li { font-size: 1.55rem; }

    /* Стоимость */
    .price-card { padding: 3.6rem 2.6rem; }
    .price-value { font-size: 4.4rem; }

    /* FAQ */
    .faq-item { padding: 0 2.2rem; }
    .faq-item summary { font-size: 1.85rem; padding: 2.2rem 0; }
    .faq-ic { width: 3.4rem; height: 3.4rem; }
    .faq-answer p { font-size: 1.6rem; }

    /* Футер */
    .footer { padding: 6.5rem 0 3rem; }
    .footer-cta { margin-bottom: 5rem; }
    .footer-grid { grid-template-columns: 1fr; gap: 3.2rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .footer-links { justify-content: center; }

    /* Cookie */
    .cookie-banner { left: 1rem; right: 1rem; bottom: 1rem; padding: 1.8rem; gap: 1.4rem; }
    .cookie-banner p { flex: 1 1 100%; font-size: 1.4rem; }
    .cookie-btns { width: 100%; }
    .cookie-btns .btn { flex: 1; }

    .page-content { padding: 3rem 2.2rem; }
    .page-content h2 { font-size: 2.6rem; }

    .deco-geo { opacity: .3; }
}

@media screen and (max-width: 480px) {
    .hero-title { font-size: 3.7rem; }
    .sec-title { font-size: 2.8rem; }
    .gallery { grid-template-columns: 1fr; }
    .gallery-big { grid-column: span 1; }
    .price-value { font-size: 4rem; }
    .mobile-menu a { font-size: 2.2rem; }
}
