/* Responsive overrides */
@media (max-width: 1024px) {
    .site-header__nav { display: none; }
    .site-header__phone-link span { display: none; }
    .burger { display: flex; }

    .about-section__grid { grid-template-columns: 1fr; }
    .footer__top { grid-template-columns: 1fr; gap: 32px; }
    .stats-layout { grid-template-columns: 1fr; gap: 40px; }
    .advantages-grid { grid-template-columns: repeat(2, 1fr); }
    .specialist-profile { grid-template-columns: 1fr; }
    .specialist-profile__photo { max-width: 400px; }
    .contact-page__grid { grid-template-columns: 1fr; }
    .addresses-page__grid { grid-template-columns: 1fr; }
    .addresses-map,
    .addresses-map__canvas,
    .addresses-map iframe {
        --addresses-map-height: 420px;
    }
}

/* Keep swiper arrows inside viewport (negative offsets caused horizontal scroll) */
@media (max-width: 1400px) {
    .specialists-swiper__prev {
        left: 8px;
        right: auto;
    }
    .specialists-swiper__next {
        right: 8px;
        left: auto;
    }
}

@media (max-width: 768px) {
    :root { --header-h: 60px; }

    .top-bar { display: none; }

    .hero-swiper { height: 500px; }
    .hero-slide { min-height: 500px; }
    .hero-slide__heading { font-size: 2rem; }

    .section-title { font-size: 1.5rem; margin-bottom: 32px; }

    .faq-section__header {
        margin-bottom: 32px;
    }
    .faq-accordion {
        gap: 12px;
    }
    .faq-item {
        border-radius: 10px;
    }
    .faq-item__question {
        padding: 20px;
    }
    .faq-item__answer-inner {
        padding: 0 20px 24px;
    }

    .services-section__header { margin-bottom: 32px; }

    .services-grid { grid-template-columns: 1fr; }
    .promotions-grid { grid-template-columns: 1fr; }
    .news-grid { grid-template-columns: 1fr; }
    .stats-layout { grid-template-columns: 1fr; gap: 40px; }
    .advantages-grid { grid-template-columns: 1fr; gap: 16px; }

    .services-section,
    .promotions-section,
    .specialists-section,
    .about-section,
    .reviews-section,
    .news-section,
    .faq-section,
    .stats-section,
    .advantages-section { padding: 48px 0; }

    .modal__content { padding: 24px; margin: 16px; }

    .site-header__actions .btn { display: none; }

    /* Tagline hidden on small screens (header + mobile menu) */
    .logo-main {
        display: none;
    }

    .swiper-button-prev,
    .swiper-button-next { display: none; }
}

@media (max-width: 480px) {
    .container {
        padding-left: max(16px, env(safe-area-inset-left, 0px));
        padding-right: max(16px, env(safe-area-inset-right, 0px));
    }

    .logo-accent {
        font-size: clamp(16px, 4.8vw, 22px);
    }

    .hero-swiper { height: 420px; }
    .hero-slide { min-height: 420px; }
    .hero-slide__content { padding: 40px 20px; }
    .hero-swiper__pagination.swiper-pagination { bottom: 16px; }
    .promo-card { min-height: 250px; }
}
