/* Shared corrections for the audited search, tariff and contact flows. */
/* Brand orange matches images/nets.svg. */
html:root { --orange: #FF783D; }
body .btn-danger {
  --bs-btn-bg: var(--orange);
  --bs-btn-border-color: var(--orange);
  --bs-btn-hover-bg: var(--orange);
  --bs-btn-hover-border-color: var(--orange);
  --bs-btn-active-bg: var(--orange);
  --bs-btn-active-border-color: var(--orange);
}
body .pagination {
  --bs-pagination-active-bg: var(--orange);
  --bs-pagination-active-border-color: var(--orange);
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body textarea:focus-visible,
body select:focus-visible,
body [tabindex]:focus-visible {
  outline: 3px solid #123c80;
  outline-offset: 3px;
}
body .tariff__name,
body .tariff__name a { color: #354a60; font-size: 16px; line-height: 1.4; }
body .button_connect,
body .a_button,
body .header__button,
body .button_consult,
body .campaign-order__button,
body .swal2-styled.swal2-confirm,
body #mw-widget-popup .mw-callback-submit,
body .tariff-dt button,
body .fast-search__plans button { background-color: var(--orange); border-color: var(--orange); color: #fff; }
/* Кнопка чата в попапе виджета — вторичная, с обводкой. Общий модуль красит обводку в
   ContactFloatWidgetConfig.theme.primaryColor, а у nets.ru это синий, тогда как кнопки
   сайта перекрашены выше в оранжевый. Здесь только цвет обводки и только для nets.ru:
   на tat-telecom.ru и ufanet.org этого файла нет и там останется их собственный акцент.
   Подпись не трогаем, она тёмная ради контраста при любом фирменном цвете. */
body #mw-widget-popup .mw-chat-link { border-color: var(--orange); }
body .button_connect:hover,
body .a_button:hover,
body .header__button:hover,
body .button_consult:hover,
body .campaign-order__button:hover,
body .fast-search__plans button:hover,
body .tariff-dt button:hover { background-color: var(--orange); }
body .swal2-styled.swal2-confirm { background-image: none; }
body button:disabled { cursor: wait; opacity: .7; }
body .tariff-summary {
  display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px;
  padding: 20px; margin: 24px 0; background: #fff;
  color: #263b50; border: 1px solid #c8d4df; border-radius: 12px;
}
body .tariff-summary p { margin: 0; }
body .tariff-summary__price { font-size: 26px; font-weight: 700; }
body .tariff-summary__after,
body .tariff-summary__role { font-size: 14px; line-height: 1.5; }
body .tariff-summary__role { width: 100%; }
body .tariff-summary .button_connect { margin: 0; min-height: 48px; }
body .order-summary { text-align: left; line-height: 1.5; }
body .order-summary p { margin: 6px 0; }
body .nets-order-form .form-error { color: #9b241e; margin: 12px 0; }
body .nets-order-form .form-error:empty { margin: 0; }
/* Keep order-dialog spacing independent of the surrounding landing page. */
body .nets-order-dialog p { padding: 0; font-size: inherit; }
body .nets-order-dialog .swal2-title { padding: 24px 56px 0 24px; font-size: 24px; line-height: 1.25; }
body .nets-order-dialog .swal2-html-container { margin: 20px 24px 0; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
body .nets-order-dialog .order-summary { margin-bottom: 20px; }
body .nets-order-dialog .number_section { display: block; margin: 0; }
body .nets-order-dialog input[type="tel"] { margin: 6px 0 0; padding: 12px; font-size: 16px; }
body .nets-order-dialog .form-checkbox { width: auto; min-height: 44px; }
body .nets-order-dialog .form-checkbox label { display: block; box-sizing: border-box; min-height: 44px; padding: 8px 0; }
body .nets-order-dialog .form-checkbox label a { color: #153e76; font: inherit; text-decoration: underline; }
body .nets-order-dialog .order-next-step { margin: 0 0 16px; }
body .nets-order-form .order-next-step { font-size: 14px; line-height: 1.5; text-align: left; }
body .tariff-feedback { margin: 16px 0; line-height: 1.5; }
body .tariff-feedback button { min-height: 44px; padding: 8px 16px; margin-left: 8px; border: 1px solid #bacbda; border-radius: 8px; background: #fff; color: #153e76; }
body .nets-order-form label { display: block; text-align: left; }
body .nets-order-form input[type="tel"] { box-sizing: border-box; width: 100%; min-height: 48px; }
body .nets-order-form .form-checkbox { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; margin: 16px 0; }
body .nets-order-form .form-checkbox input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; margin: 3px 0 0; }
body .nets-order-form .form-checkbox label { font-size: 14px; line-height: 1.5; margin: 0; }
body .nets-order-form textarea { box-sizing: border-box; width: 100%; height: 160px; min-height: 120px; padding: 12px; resize: vertical; font: inherit; font-size: 16px; line-height: 1.5; }
body .nets-order-form .campaign-order__header { line-height: 1.4; }
body .nets-order-form .campaign-order__button { min-width: 0; height: auto; min-height: 48px; padding: 12px; }
body .tariffs-empty { padding: 24px; text-align: left; border: 1px solid #bacbda; border-radius: 8px; }
body .tariffs-empty button { margin-top: 12px; min-height: 44px; }
body .tariffs-result-count { margin: 12px 0; color: #344c63; }
body.swal2-shown #mw-widget,
body.swal2-shown #contact-float-chat-widget,
body.swal2-shown .mobile_widget__preview-block,
body.swal2-shown .contact-float-cookie-consent { display: none !important; }
/* Keep the external chat mounted, but outside the active modal's visual/focus layer. */
body.swal2-shown #chatra { visibility: hidden !important; pointer-events: none !important; }
/* Keep the local chat as a fallback until Chatra actually displays its widget. */
body:has(#chatra.chatra--visible) #contact-float-chat-widget:not([data-mode="panel"]):not([data-mode="expanding"]) { display: none !important; }
/* A late Chatra load must not cover a conversation already opened locally. */
body:has(#contact-float-chat-widget[data-mode="panel"], #contact-float-chat-widget[data-mode="expanding"]) #chatra { visibility: hidden !important; pointer-events: none !important; }
body .sub-menu,
body .sub-sub-menu { visibility: hidden; }
body .has-sub-menu.show-sub-menu > .sub-menu,
body .has-sub-sub-menu.show-sub-sub-menu > .sub-sub-menu { visibility: visible; }
@media (min-width: 992px) {
  body .has-sub-menu:hover > .sub-menu,
  body .has-sub-sub-menu:hover > .sub-sub-menu { visibility: visible; }
}
/* Escape overrides desktop hover until a new deliberate menu interaction. */
body .has-sub-menu.nets-submenu-dismissed > .sub-menu,
body .has-sub-sub-menu.nets-submenu-dismissed > .sub-sub-menu { visibility: hidden; pointer-events: none; }
/* Стили .mw-chat-link переехали в widget/modules/messenger-buttons.css — разметку рендерит
   общий модуль, который грузят и tat-telecom.ru с ufanet.org (18.09.2026). */
/* 2026-09-18: мобильный ре-стайл #mw-widget (полоса во всю ширину + «пилюля» с подписью
   «Помощь») снят. Подпись .mw-help-label добавлялась в ОБЩИЙ модуль widget/modules/
   messenger-buttons.js, а стили под неё лежали только здесь — на tat-telecom.ru и
   ufanet.org, которые грузят тот же виджет с nets.ru, она рендерилась голым inline-текстом
   и обрезалась нижним краем экрана. Подпись убрана из разметки, кнопки вернулись к
   исходному виду (круглые, справа снизу) на всех сайтах. Здесь остаётся только то, что
   не про внешний вид кнопок: скрытие дублирующих точек входа в чат. */
@media (max-width: 760px) {
  body .tariff-summary { gap: 10px; padding: 16px; margin: 16px 0; }
  body .tariff-summary .button_connect { width: 100%; }
  body.nets-help-ready .mobile_widget__preview-block { display: none !important; }
  body.nets-help-ready #contact-float-chat-widget .cw-tab,
  body.nets-help-ready #contact-float-chat-widget .cw-teaser { display: none !important; }
}
