/* Адаптивная компоновка нового шаблона в режиме слабовидящих. */
@layer p5-accessibility {
  .bvi-body .p5-a11y-skip { display: block !important; padding: 12px 24px !important; text-align: center !important; border-bottom: 1px solid var(--a11y-fg) !important; }
  .bvi-body .cookie-notification { position: static !important; padding: 20px !important; border-bottom: 2px solid var(--a11y-fg) !important; }
  .bvi-body :is(.site-header,.header,.topbar,.np-nav) { position: relative !important; inset: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; transform: none !important; opacity: 1 !important; visibility: visible !important; overflow: visible !important; pointer-events: auto !important; background: var(--a11y-bg) !important; }
  .bvi-body .site-header { border-bottom: 2px solid var(--a11y-fg) !important; }
  .bvi-body .np-nav__inner { height: auto !important; }
  .bvi-body .np-nav__item:not(.is-open) > .np-dropdown { display: none !important; }
  .bvi-body .np-nav__item.is-open > .np-dropdown { display: block !important; grid-template-rows: none !important; }
  .bvi-body .np-nav__link::after, .bvi-body .np-dropdown__item::before, .bvi-body .np-mega__cat::before { background-color: var(--a11y-fg) !important; }
  .bvi-body :is(.np-container,.container,.site-grid,.grid-child,.container-component) { width: 100% !important; max-width: 1440px !important; min-width: 0 !important; margin-inline: auto !important; padding-inline: clamp(12px,3vw,32px) !important; }
  .bvi-body .site-grid { display: block !important; padding-block: 24px !important; }
  .bvi-body .grid-child { padding-inline: 0 !important; }
  .bvi-body .topbar__inner { flex-wrap: wrap !important; justify-content: space-between !important; gap: 12px 24px !important; padding-block: 12px !important; }
  .bvi-body :is(.topbar__item,.topbar__a11y,.topbar__hours) { white-space: normal !important; overflow: visible !important; height: auto !important; }
  .bvi-body .header__inner { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; height: auto !important; gap: 20px !important; padding-block: 20px !important; }
  .bvi-body .header__brand { position: static !important; inset: auto !important; transform: none !important; display: flex !important; flex: 1 1 440px !important; gap: 16px !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; max-width: 100% !important; }
  .bvi-body .header__logo { width: 64px !important; height: 64px !important; max-height: none !important; }
  .bvi-body :is(.header__titles,.header__name,.header__sub) { display: block !important; width: auto !important; max-width: none !important; max-height: none !important; height: auto !important; overflow: visible !important; white-space: normal !important; opacity: 1 !important; }
  .bvi-body .header__search { position: relative !important; inset: auto !important; transform: none !important; display: flex !important; flex: 1 1 420px !important; width: auto !important; max-width: 100% !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
  .bvi-body .header__search input { width: 100% !important; padding: .6em 48px !important; text-align: left !important; }
  .bvi-body .header__actions { flex-wrap: wrap !important; gap: 12px !important; width: auto !important; }
  .bvi-body .header__actions .btn span { display: inline !important; max-width: none !important; opacity: 1 !important; }
  .bvi-body :is(.np-search-toggle,.np-phone-toggle,.np-burger,.np-burger-label,.np-drawer__head,.np-drawer__foot,.np-nav__backdrop) { display: none !important; }
  .bvi-body .np-nav__list { position: static !important; display: flex !important; flex-wrap: wrap !important; flex-direction: row !important; transform: none !important; visibility: visible !important; opacity: 1 !important; height: auto !important; max-height: none !important; width: 100% !important; max-width: none !important; padding: 12px 0 !important; gap: 12px !important; overflow: visible !important; }
  .bvi-body .np-nav__item { display: block !important; position: relative !important; max-width: 100% !important; }
  .bvi-body .np-nav__link { min-height: 48px !important; padding: .5em .75em !important; border: 2px solid var(--a11y-fg) !important; border-radius: 8px !important; }
  .bvi-body .np-dropdown { position: static !important; width: 100% !important; transform: none !important; background: var(--a11y-bg) !important; }
  .bvi-body .np-dropdown__inner { width: min(1100px,90vw) !important; max-width: 90vw !important; border: 2px solid var(--a11y-fg) !important; background: var(--a11y-bg) !important; padding: 20px !important; }
  .bvi-body .np-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)) !important; }
  .bvi-body .np-mega { grid-template-columns: minmax(240px,1fr) 2fr !important; }
  .bvi-body .np-mega__items { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)) !important; }
  .bvi-body .np-dropdown__item { padding: .5em !important; }
  .bvi-body .hdrph { max-width: calc(100vw - 24px) !important; background: var(--a11y-bg) !important; border: 2px solid var(--a11y-fg) !important; }
  .bvi-body .hdrph:not(.is-open) { display: none !important; }
  .bvi-body .hdrph.is-open { position: static !important; width: 100% !important; transform: none !important; margin: 12px auto !important; }
  .bvi-body :is(.hdrph__item,.hdrph__txt) { min-width: 0 !important; white-space: normal !important; }
  .bvi-body :is(.p5s-panel,.p5s-modal,.modal__content,.modal__dialog,.p5-appt__dialog) { background: var(--a11y-bg) !important; max-width: calc(100vw - 24px) !important; }
  .bvi-body :is(.p5s-drop,.dappt-modal__content) { background: var(--a11y-bg) !important; border: 2px solid var(--a11y-fg) !important; max-width: calc(100vw - 24px) !important; }
  .bvi-body :is(.p5s-item,.p5s-item__title,.p5s-item__sub) { white-space: normal !important; height: auto !important; max-height: none !important; overflow: visible !important; }
  .bvi-body .dappt-modal__content { max-height: 92dvh !important; overflow-y: auto !important; padding: 52px 20px 24px !important; }
  .bvi-body .dappt-form-row { flex-direction: column !important; }
  .bvi-body :is(.dappt-modal__phones,.dappt-modal__footer) { flex-wrap: wrap !important; }
  .bvi-body .dappt-form-group { min-width: 0 !important; }
  .bvi-body .dappt-checkbox__box { background: var(--a11y-bg) !important; }
  .bvi-body .dappt-checkbox input:checked + .dappt-checkbox__box { background: var(--a11y-fg) !important; color: var(--a11y-bg) !important; }
  .bvi-body .dappt-checkbox input:checked + .dappt-checkbox__box svg { color: var(--a11y-bg) !important; }
  .bvi-body .modal:not(.modal--open), .bvi-body .dappt-modal:not(.dappt-modal--open) { display: none !important; }
  .bvi-body :is(.modal,.dappt-modal) { z-index: 1000001 !important; }
  .bvi-body :is(.modal__close,.dappt-modal__close) { width: 52px !important; min-width: 52px !important; padding: 8px !important; }
  .bvi-body :is(.modal__close,.dappt-modal__close) svg { width: 24px !important; height: 24px !important; }
  .bvi-body :is(.modal__overlay,.dappt-modal__overlay) { background: rgba(0,0,0,.6) !important; }
  .bvi-body :is(.modal__content,.dappt-modal__content) { border: 2px solid var(--a11y-fg) !important; padding-top: 76px !important; }

  /* На главной сложная анимация заменяется последовательными блоками. */
  .bvi-body .hero { height: auto !important; min-height: 0 !important; max-height: none !important; padding: 24px !important; overflow: visible !important; }
  .bvi-body :is(.hero__bg,.hero__backdrop,.hero__heading-logo,.hero__scroll-hint,.hero-btn__fx,.toggle__indicator) { display: none !important; }
  .bvi-body :is(.hero__heading-block,.hero__toggle-wrap,.hero__right,.hero__content) { position: static !important; inset: auto !important; transform: none !important; width: 100% !important; max-width: 1200px !important; height: auto !important; max-height: none !important; margin: 0 auto 24px !important; padding: 0 !important; opacity: 1 !important; }
  .bvi-body :is(.hero__starter,.hero__programs,.toggle,.hero__subs,.hero__content) { position: relative !important; inset: auto !important; transform: none !important; width: 100% !important; max-width: none !important; height: auto !important; }
  .bvi-body :is(.hero__starter,.hero__programs) { display: none !important; }
  .bvi-body :is(.hero__starter--visible,.hero__programs--visible) { display: flex !important; flex-wrap: wrap !important; gap: 16px !important; }
  .bvi-body :is(.hero__starter--visible,.hero__programs--visible) { max-height: none !important; overflow: visible !important; }
  .bvi-body :is(.hero__content,.hero__right) { display: flex !important; flex-wrap: wrap !important; gap: 16px !important; visibility: visible !important; pointer-events: auto !important; }
  .bvi-body .hero__content:not(.hero__content--visible), .bvi-body .toggle--hidden { display: none !important; }
  .bvi-body .hero__heading-block { min-height: 0 !important; }
  .bvi-body .hero__right { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)) !important; }
  .bvi-body .hero > .hero-btn { position: static !important; inset: auto !important; transform: none !important; margin: 16px auto !important; }
  .bvi-body :is(.hero__cta,.hero__phones,.toggle__track,.hero__subs) { flex-wrap: wrap !important; gap: 12px !important; }
  .bvi-body .hero-btn { min-width: 0 !important; flex: 1 1 auto !important; width: auto !important; height: auto !important; min-height: 64px !important; }
  .bvi-body :is(.hero__starter,.hero__programs) > .hero-btn { position: static !important; transform: none !important; }
  .bvi-body :is(.hero-btn__title,.program-btn__title,.program-btn__cap) { position: static !important; transform: none !important; white-space: normal !important; }
  .bvi-body .info-card { flex: 1 1 300px !important; padding: 20px !important; }
  .bvi-body :is(.directions__grid,.directions__grid--secondary,.news__grid,.footer__grid) { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)) !important; gap: 24px !important; }
  .bvi-body :is(.tabs,.directions__head,.section__header) { flex-wrap: wrap !important; height: auto !important; gap: 12px !important; }
  .bvi-body :is(.section,.directions,.footer) { padding-block: 32px !important; }
  .bvi-body :is(.dir-card,.news-card,.doctor-card) { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  .bvi-body :is(.footer__inner,.footer__bottom) { flex-wrap: wrap !important; gap: 24px !important; }
  .bvi-body .slider { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)) !important; transform: none !important; width: 100% !important; gap: 24px !important; }
  .bvi-body .slider > * { width: 100% !important; min-width: 0 !important; height: auto !important; }
  .bvi-body .slider-arrows { display: none !important; }
  .bvi-body :is(.doc-card__name,.doc-card__spec,.doc-card__regalia) { white-space: normal !important; overflow: visible !important; height: auto !important; max-height: none !important; -webkit-line-clamp: unset !important; }
  .bvi-body .footer__col { min-width: 0 !important; }

  /* Таблицы старого контента прокручиваются внутри своего блока. */
  .bvi-body table { display: block !important; width: 100% !important; max-width: 100% !important; overflow: auto !important; }
  .bvi-body :is(th,td) { padding: 12px !important; white-space: normal !important; vertical-align: top !important; }
  .bvi-body :is(iframe,video,object,embed) { max-width: 100% !important; }
  .bvi-body .com-content-article__body [style] { max-width: 100% !important; }
  .bvi-body .com-content-article__body :is(p,span,strong,b,em) { white-space: normal !important; }
  .bvi-body :is(.rsch__time,.rsch__tools,.tabs__caption) { flex-wrap: wrap !important; gap: 12px !important; }
  .bvi-body :is(.rsch__popular-title,.rsch__quick,.rsch__quick-list) { white-space: normal !important; min-width: 0 !important; flex-wrap: wrap !important; max-width: 100% !important; }
  .bvi-body .rsch__track { display: block !important; width: 100% !important; padding: 8px 0 !important; }
  .bvi-body .rsch__month { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 16px !important; }
  .bvi-body .rsch__month-title { order: -1 !important; margin: 0 0 8px !important; white-space: normal !important; text-align: left !important; }
  .bvi-body .rsch__month-days { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(100%,3.2em),1fr)) !important; width: 100% !important; gap: 8px !important; }
  .bvi-body .rsch__day { padding: 0 !important; min-width: 0 !important; grid-column: auto !important; grid-row: auto !important; }
  .bvi-body .rsch__day::before, .bvi-body .rsch__day::after { display: none !important; }
  .bvi-body .rsch__date { width: 100% !important; padding: 8px !important; opacity: 1 !important; }
  .bvi-body .rsch__date span { white-space: nowrap !important; overflow-wrap: normal !important; }
  .bvi-body .rsch__date.is-today .rsch__num::after { background: currentColor !important; }
  .bvi-body .rsch.is-calendar-collapsed .rsch__track { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 16px !important; scrollbar-width: auto !important; }
  .bvi-body .rsch.is-calendar-collapsed .rsch__track::-webkit-scrollbar { display: block !important; }
  .bvi-body .rsch.is-calendar-collapsed .rsch__month { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
  .bvi-body .rsch.is-calendar-collapsed .rsch__month-days { display: flex !important; flex-wrap: nowrap !important; width: auto !important; }
  .bvi-body .rsch.is-calendar-collapsed .rsch__day { flex: 0 0 3.2em !important; }
  .bvi-body :is(.rsch__field,.rsch__quick-label) { height: auto !important; max-height: none !important; white-space: normal !important; overflow: visible !important; }
  .bvi-body .tabs2 { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; width: 100% !important; max-width: 100% !important; height: auto !important; overflow: visible !important; gap: 12px !important; }
  .bvi-body .tabs2 > label { flex: 0 1 auto !important; float: none !important; min-height: 52px !important; padding: 12px !important; border: 2px solid var(--a11y-fg) !important; }
  .bvi-body .tabs2 > section { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 16px !important; }
  .bvi-body .tabs2 > label { width: 100% !important; height: auto !important; max-height: none !important; white-space: normal !important; }
  .bvi-body .tabs2.is-peek > section { max-height: none !important; overflow: visible !important; }
  .bvi-body .tabs2.is-peek > section::after, .bvi-body .tabs2-more { display: none !important; }
  .bvi-body :is(.tabs__caption,.tabs__caption-rail) { flex-wrap: wrap !important; overflow: visible !important; width: 100% !important; max-width: 100% !important; }
  .bvi-body .tabs__caption li { flex: 1 1 auto !important; max-width: 100% !important; }
  .bvi-body .tabs__caption a { display: block !important; padding: 12px !important; white-space: normal !important; }
  .bvi-body .tabs2 > input:checked + label { color: var(--a11y-bg) !important; background: var(--a11y-fg) !important; }
  .bvi-body :is(.news-content,.news-image,.news-desc,.home-box-wrapper,.home_box_container,.home_box,.items_list) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; margin-inline: 0 !important; }
  .bvi-body :is(.home_box_container,.items_list) { display: flex !important; flex-wrap: wrap !important; padding: 0 !important; gap: 20px !important; }
  .bvi-body .home_box_container > li { flex: 1 1 280px !important; width: auto !important; height: auto !important; }
  .bvi-body :is(.mod-finder__search,.com-tags-tags__filter) { position: static !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; width: 100% !important; min-width: 0 !important; gap: 12px !important; }
  .bvi-body :is(.mod-finder__search,.com-tags-tags__filter) input { width: 100% !important; min-width: 0 !important; }
  .bvi-body .com-content-article__body :is(.col,.box,.link,.animate-div,.left-30px) { min-width: 0 !important; max-width: 100% !important; height: auto !important; white-space: normal !important; margin-inline: 0 !important; }
  .bvi-body .com-content-article__body .box { flex: 1 1 280px !important; width: auto !important; }
  .bvi-body .com-content-article__body .col { width: 100% !important; }
  .bvi-body .com-content-article__body .link > span { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  .bvi-body .com-content-article__body :is(.row,.flex) { flex-wrap: wrap !important; margin-inline: 0 !important; }
  @media (max-width: 1024px) {
    .bvi-body .np-nav__list { display: block !important; }
    .bvi-body .np-nav__item { margin-bottom: 10px !important; }
    .bvi-body .np-nav__link { display: flex !important; width: 100% !important; }
    .bvi-body .np-dropdown { position: static !important; width: 100% !important; transform: none !important; }
    .bvi-body .np-dropdown__inner { width: 100% !important; max-width: 100% !important; padding: 12px !important; }
    .bvi-body .np-mega { display: block !important; }
    .bvi-body .np-mega__panels { padding: 12px 0 !important; }
    .bvi-body .np-mega__cats { padding: 0 !important; border: 0 !important; gap: 10px !important; }
    .bvi-body .np-mega__items { grid-template-columns: 1fr !important; }
    .bvi-body .topbar__inner { display: flex !important; }
    .bvi-body :is(.header__brand,.header__search) { flex-basis: 100% !important; }
    .bvi-body :is(.topbar__address,.topbar__hours) { display: flex !important; }
    .bvi-body :is(.dlist,.pcat,.rsch) { padding-inline: 0 !important; }
  }
  @media (max-width: 600px) {
    .bvi-body :is(.header__brand,.header__actions) { gap: 12px !important; }
    .bvi-body .header__logo { width: 48px !important; height: 48px !important; }
    .bvi-body .header__actions { width: 100% !important; }
    .bvi-body .header__actions .btn { flex: 1 1 100% !important; justify-content: center !important; }
    .bvi-body :is(.dlist__grid,.rsch__cards) { grid-template-columns: 1fr !important; }
    .bvi-body .dlist__panel { padding: 12px !important; }
    .bvi-body .topbar__a11y { display: block !important; }
    .bvi-body .hero { padding: 16px !important; }
  }
}
