/* Buspro24 — общие правки мобильной версии и доступности. Подключается во всех шаблонах страниц. */

/* Меню «Компания» и «Позвонить» открываются не только наведением, но и нажатием/фокусом (планшеты, клавиатура) */
.nav-dropdown.open .dd-panel,.nav-dropdown:focus-within .dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-dropdown.open .dd-caret,.nav-dropdown:focus-within .dd-caret{transform:rotate(180deg)}
.nav-call.open .nav-call-panel,.nav-call:focus-within .nav-call-panel{opacity:1;visibility:visible;transform:translateY(0)}
.nav-call.open .dd-caret,.nav-call:focus-within .dd-caret{transform:rotate(180deg)}
.dd-trigger:focus-visible,.nav-call-trigger:focus-visible{outline:2px solid var(--orange,#ff4f18);outline-offset:4px;border-radius:6px}
.bp-swipe-hint{display:none}

@media(max-width:860px){
 /* Пункты мобильного меню — не меньше 44 px */
 .nav-menu.open>a,.nav-menu.open .dd-trigger,.nav-menu.open .dd-panel a{min-height:48px;display:flex;align-items:center}
}

@media(max-width:680px){
 /* Плавающая кнопка Telegram перекрывала «Отправить» в форме; внизу и так есть «Позвонить / Написать» */
 .tg-float{display:none!important}

 /* «Позвонить»: панель на всю ширину снизу, номера не разрываются */
 .mobile-cta-bar .mcta-call-panel{position:fixed!important;left:0!important;right:0!important;bottom:calc(68px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;margin:0!important;border-radius:18px 18px 0 0!important;border-bottom:0!important;padding:12px 16px 16px!important;box-shadow:0 -14px 40px -12px rgba(26,26,46,.35)!important;z-index:195}
 .mobile-cta-bar .mcta-call-panel .grp{padding:10px 4px 2px!important}
 .mobile-cta-bar .mcta-call-panel a{white-space:nowrap;font-size:18px!important;font-weight:700!important;min-height:48px;display:flex!important;align-items:center;padding:0 4px!important;border-bottom:1px solid var(--line,#eceef2)}
 .mobile-cta-bar .mcta-call-panel a:last-child{border-bottom:0}

 /* Нажимаемые элементы — не меньше 44 px */
 .mcta-btn{min-height:48px}
 .back-top{width:48px!important;height:48px!important}
 .search-bar .bpw-swap{width:44px!important;height:44px!important;margin:0 3px 3px 0!important}
 .faq-item summary{min-height:44px}
 .bpl-pref label{min-height:44px;display:inline-flex;align-items:center}
 .footer a{display:inline-block;padding:12px 2px}
 .crumb a{display:inline-block;padding:10px 0}

 /* Главная: длинные списки листаются пальцем вбок */
 .price-grid,.live-main,.trans-grid,.serv-grid,.akcii-grid,.adv-list,.rev-grid,.steps-grid,.decode{
  display:flex!important;flex-direction:row!important;grid-template-columns:none!important;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  gap:12px!important;margin-left:-4vw!important;margin-right:-4vw!important;padding:4px 4vw 14px!important;scroll-padding-left:4vw}
 .price-grid::-webkit-scrollbar,.live-main::-webkit-scrollbar,.trans-grid::-webkit-scrollbar,.serv-grid::-webkit-scrollbar,.akcii-grid::-webkit-scrollbar,.adv-list::-webkit-scrollbar,.rev-grid::-webkit-scrollbar,.steps-grid::-webkit-scrollbar,.decode::-webkit-scrollbar{display:none}
 .price-grid>*,.live-main>*,.trans-grid>*,.serv-grid>*,.akcii-grid>*,.adv-list>*,.rev-grid>*,.steps-grid>*,.decode>*{flex:0 0 84%!important;max-width:84%;scroll-snap-align:start;grid-column:auto!important}
 /* направления — короткие карточки: колонками по три */
 .price-grid{display:grid!important;grid-auto-flow:column;grid-template-rows:repeat(3,auto);grid-auto-columns:78%}
 .price-grid>*{max-width:none}
 .adv-list>.arow{background:#fff;border:1px solid var(--line,#eceef2)!important;border-radius:16px;padding:20px!important}
 /* в карусели карточки видны сразу, без анимации появления */
 .price-grid .rv,.live-main .rv,.trans-grid .rv,.serv-grid .rv,.akcii-grid .rv,.adv-list .rv,.rev-grid .rv,.steps-grid .rv,.decode .rv{opacity:1!important;transform:none!important}
 /* четыре счётчика первого экрана — сеткой 2×2 вместо столбика */
 .mini-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
 .mini-stats .mstat{flex-direction:column;align-items:flex-start;padding:12px!important;gap:6px!important}
 .mini-stats .mstat .ic{display:none}
 .bp-swipe-hint{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted,#4b5563);margin:-2px 0 8px}
 .bp-swipe-hint::after{content:"→";font-size:15px;animation:bpNudge 1.6s ease-in-out infinite}
 @keyframes bpNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
}
