/* МОБИЛЬНЫЕ (до 767px) */
@media(max-width:767px){
    *{min-width:0}
    img,svg{max-width:100%;height:auto}
    .container{padding:0 16px}
    h1{font-size:26px} h2{font-size:22px}
    .header__top{display:none}
    .header__btn-phone{display:block}
    .header__actions .btn{display:none}
    .hamburger{display:flex}
    #mainNav.nav{
        display:none;
        position:fixed;
        top:0;left:0;right:0;bottom:0;
        width:100vw;
        height:100dvh;
        background:#fff !important;
        overflow-y:auto;
        z-index:1200;
        padding:12px 16px 18px;
        box-shadow:0 0 0 9999px rgba(9,12,20,.38);
    }
    #mainNav.nav.is-open{display:block !important}
    #mainNav .nav__mobile-head{display:flex;align-items:center;justify-content:space-between;padding:2px 0 12px;border-bottom:1px solid var(--border);margin-bottom:10px}
    #mainNav .nav__mobile-title{font-weight:700;font-size:16px;color:var(--secondary);width:100%;text-align:center}
    #mainNav .nav__close{position:absolute;right:16px}
    #mainNav .nav__city{
        display:block;
        width:100%;
        text-align:center;
        padding:12px 14px;
        margin:0 0 10px;
        border:1px solid var(--border);
        border-radius:12px;
        background:#f8fafc;
        color:var(--secondary);
        font-weight:600;
    }
    #mainNav .nav__list{
        display:flex !important;
        flex-direction:column !important;
        gap:0;
        width:100%;
        align-items:stretch;
    }
    #mainNav .nav__item{width:100%;display:block}
    #mainNav .nav__link{
        display:block;
        width:100%;
        padding:14px 2px;
        font-size:17px;
        border-bottom:1px solid var(--border);
        border-radius:0;
        color:var(--secondary);
        background:transparent;
        text-align:center;
    }
    .nav__drop{display:none!important}
    .hero{padding:32px 0}
    .hero__inner{grid-template-columns:1fr}
    .hero__title{font-size:28px}
    .hero__subtitle{font-size:15px;line-height:1.55}
    .hero__badges,.service-hero__meta{gap:6px}
    .services-grid{grid-template-columns:1fr;gap:12px}
    .masters-grid{grid-template-columns:1fr}
    .trust__grid{grid-template-columns:1fr 1fr;gap:16px}
    .how-steps{grid-template-columns:1fr 1fr}
    .how-steps::before{display:none}
    .service-layout{grid-template-columns:1fr}
    .service-sidebar{order:-1}
    .sidebar__sticky{position:static}
    .works-grid{grid-template-columns:1fr}
    .price-table{font-size:13px}
    .price-table th,.price-table td{padding:8px 10px}
    .footer__top{grid-template-columns:1fr;gap:32px}
    .footer__nav{grid-template-columns:1fr 1fr}
    .footer__bottom{flex-direction:column;gap:12px;text-align:center}
    .footer__top,.footer__nav,.footer__cities,.footer__bottom{text-align:center}
    .footer__nav-title{text-align:center}
    .footer__nav a{text-align:center}
    .footer__cities-title{text-align:center}
    .footer__cities-list{justify-content:center}
    .footer__phone{font-size:18px;word-break:break-word}
    .mobile-cta{display:flex}
    .mobile-cta .btn{min-height:44px}
    .mobile-cta__phone,.mobile-cta__order{font-size:13px;padding:10px}
    body{padding-bottom:72px}
    body.nav-open{overflow:hidden;touch-action:none}
    .symptoms-grid{grid-template-columns:1fr 1fr}
    .service-card,.master-card,.review-card{border-radius:14px}
    .hero__form,.sidebar__form,.cta-section{border-radius:14px}
    .btn{white-space:normal;text-align:center}
    .btn--lg{padding:12px 16px;font-size:15px}
    .table-scroll,.price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .price-table{min-width:360px}
    .price-table td:first-child,.price-table th:first-child{word-break:break-word}
    .price-table:not(.price-table--category) td:nth-child(2),
    .price-table:not(.price-table--category) th:nth-child(2){
        width:60px;
        white-space:nowrap;
    }
    .price-table:not(.price-table--category) td:nth-child(3),
    .price-table:not(.price-table--category) th:nth-child(3){
        width:88px;
        white-space:nowrap;
    }
    /* Для страниц категорий: 2 колонки (Услуга + Цена) */
    .price-table--category{min-width:100%;table-layout:fixed}
    .price-table--category th:nth-child(2),
    .price-table--category td:nth-child(2){
        width:84px;
        white-space:nowrap;
    }
    .faq__question{
        display:block;
        width:100%;
        text-align:center;
        position:relative;
        line-height:1.35;
        padding-left:34px;
        padding-right:34px;
    }
    .faq__question::after{
        position:absolute;
        right:4px;
    }
    .faq__answer{text-align:center}
}

/* Ultra small devices (<=379px) */
@media (max-width:379px){
    .container{padding:0 10px}
    h1{font-size:22px;line-height:1.2}
    h2{font-size:19px;line-height:1.25}
    .header__main-inner{padding:10px 0;gap:8px}
    .header__logo img{width:132px;height:auto}
    #mainNav.nav{padding:10px 12px 16px}
    #mainNav .nav__mobile-title{font-size:15px}
    #mainNav .nav__city{padding:10px 12px;font-size:14px}
    #mainNav .nav__link{font-size:16px;padding:12px 2px}

    .hero{padding:22px 0}
    .hero__title{font-size:24px;margin-bottom:10px}
    .hero__subtitle{font-size:14px;margin-bottom:14px}
    .hero__form{padding:14px}
    .hero__form-title{font-size:16px;margin-bottom:10px}

    .badge{font-size:11px;padding:4px 8px}
    .service-card,.master-card,.review-card,.sidebar__form,.sidebar__info{padding:14px}
    .service-card__title{font-size:14px}
    .service-card__desc,.how-step__desc,.review-card p{font-size:13px}
    .master-card{gap:10px}
    .master-card__photo img{width:56px;height:56px}

    .field__input{padding:10px 12px;font-size:14px}
    .btn{font-size:14px}
    .btn--lg{padding:11px 14px;font-size:14px}

    .trust__grid{gap:10px}
    .trust__num{font-size:28px}
    .trust__label{font-size:12px}
    .how-steps{grid-template-columns:1fr}
    .symptoms-grid{grid-template-columns:1fr}
    .footer__nav{grid-template-columns:1fr}
    .footer__legal{flex-direction:column;gap:8px}
    .faq__question{
        padding-left:28px;
        padding-right:28px;
    }
    .faq__question::after{right:0}

    .mobile-cta{padding:8px 10px;gap:8px}
    .mobile-cta__phone,.mobile-cta__order{font-size:12px;padding:9px 8px}
    body{padding-bottom:66px}
    .price-table{min-width:320px;font-size:12px}
    .price-table th,.price-table td{padding:7px 8px}
    .price-table--category th:nth-child(2),
    .price-table--category td:nth-child(2){width:72px}
}
@media(min-width:768px)and(max-width:1023px){
    .container{padding:0 24px}
    .services-grid{grid-template-columns:repeat(3,1fr)}
    .masters-grid{grid-template-columns:repeat(2,1fr)}
    .hero__title{font-size:36px}
    .hero__inner{grid-template-columns:1fr 340px;gap:24px}
    .service-layout{grid-template-columns:1fr 280px}
    .footer__nav{grid-template-columns:repeat(2,1fr)}
    .symptoms-grid{grid-template-columns:repeat(3,1fr)}
}