/* ==== hc-w5-a11y-2026-09-27 — аудит A1 W5 «клавиатура и семантика» (решение Кирилла 27.09 «делай волну 5») ====
   Прогрессивное улучшение поверх разметки Aspro: только фокус, скрытые-но-фокусируемые поля и раскрытие
   по клавиатуре. Фирменные цвета (#f35c50 / #EE2C2D) не трогаем — рамка фокуса отдельная, синяя #1a73e8
   (4,6:1 на белом, 3,7:1 на тёмной теме). Пара к /upload/hc_js/hc-w5-a11y.js (классы hc-kbd, hc-kbd-open, hc-skip). */

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-05): фокус не был виден — шаблон гасит его (template_styles.css:40
   a:focus{outline:none}, :1075 .form-control:focus, lite.bootstrap.css:523 .dropdown-toggle:focus{outline:0}).
   :focus-visible не срабатывает на щелчок мышью по ссылкам и кнопкам, поэтому мышь рамку не видит.
   Поля ввода под :focus-visible попадают и при щелчке (поправка проверяющего) — им рамку даём только после Tab
   (класс html.hc-kbd ставит hc-w5-a11y.js, снимает первый же щелчок/касание). */
:focus-visible:not(input):not(textarea):not(select){outline:2px solid #1a73e8!important;outline-offset:2px!important}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid #1a73e8!important;outline-offset:2px!important}
html.hc-kbd input:not([type=checkbox]):not([type=radio]):focus,
html.hc-kbd textarea:focus,
html.hc-kbd select:focus{outline:2px solid #1a73e8!important;outline-offset:1px!important}
/* внутри прокручиваемых контейнеров и каруселей внешняя рамка обрезается — рисуем внутри */
.scrollblock :focus-visible,.swiper :focus-visible,.flexslider :focus-visible,.owl-carousel :focus-visible,
.bx_scu li:focus-visible,.hc-colors__item:focus-visible,.hc-related__item:focus-visible{outline-offset:-2px!important}
/* контейнеры, куда фокус переводится программно (ссылка «к содержимому», окна), рамку не рисуют */
[data-hc-nofocusring]:focus,[data-hc-nofocusring]:focus-visible{outline:none!important}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-05): ссылка «Перейти к содержимому» — первая остановка Tab,
   видна только в фокусе. Вставляет hc-w5-a11y.js первым узлом body, цель — #content (div.wraps, header.php:43). */
.hc-skip{position:fixed;left:8px;top:8px;z-index:10060;padding:10px 16px;border-radius:4px;background:#1f2328;
	color:#fff!important;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none!important;
	transform:translateY(-300%)}
.hc-skip:focus,.hc-skip:focus-visible{transform:none}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-05): фиксированная шапка (65 px) закрывала элемент, до которого
   дошёл Tab, — браузер прокручивает к фокусу с этим отступом. Прокрутку скриптами Aspro не меняет. */
@media (min-width:992px){html{scroll-padding-top:80px}}
/* телефон: шапка #mobileheader прилипает сверху (63 px), на карточке снизу — панель покупки */
@media (max-width:991px){html{scroll-padding-top:72px;scroll-padding-bottom:64px}}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-01 и -04): чекбоксы и радио, которые шаблон прячет
   (template_styles.css:10313 .filter.licence_block input{visibility:hidden;width:0;height:0},
   :10367/:11206 .filter/.bx_filter_vertical input[type=checkbox]{display:none}, радио PERSON_TYPE — visibility:hidden),
   выпадали из порядка Tab: согласия, тип плательщика и умный фильтр не переключались с клавиатуры.
   Делаем их визуально скрытыми, но фокусируемыми. position:absolute без top/left оставляет поле на его
   месте в потоке (прокрутка к фокусу не прыгает), 1×1 с getClientRects — jquery.validate валидирует
   согласия как и раньше. Тумблер по-прежнему рисует label (::before/::after), щелчок по label работает. */
.filter.licence_block>input[type=checkbox],
.filter.offer_block>input[type=checkbox],
.bx-soa-person-type .person-type input[type=radio],
.bx_filter input[type=checkbox]:not([disabled]){
	display:block!important;visibility:visible!important;position:absolute!important;opacity:0!important;
	width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;
	clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important}
.filter.licence_block>input[type=checkbox]:focus-visible+label,
.filter.offer_block>input[type=checkbox]:focus-visible+label,
.bx_filter input[type=checkbox]:focus-visible+label{outline:2px solid #1a73e8!important;outline-offset:2px!important;border-radius:3px}
.bx_filter .scrollblock input[type=checkbox]:focus-visible+label{outline-offset:-2px!important}
html.hc-kbd .bx-soa-person-type .person-type:focus-within label{outline:2px solid #1a73e8!important;outline-offset:3px!important;border-radius:2px}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-03): «В избранное» / «Сравнить» и кнопки покупки в плитке
   появляются только по наведению (template_styles.css:8017, :7526) — показываем их и при фокусе внутри
   карточки, иначе Tab приходил бы на невидимые кнопки. */
.catalog_item:focus-within .image_wrapper_block .like_icons span,
.catalog_item:focus-within .image_wrapper_block .fast_view_button--full{opacity:1;visibility:visible}
body .catalog_item:focus-within .footer_button{opacity:1;visibility:visible;height:auto;z-index:2}
.ajax_load.block .item_block:focus-within .footer_button{display:block}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-12): выпадающие пункты верхнего меню («Услуги», «Компания»…)
   открывались только наведением (visibility/opacity), открываем и по стрелке вниз/пробелу — класс
   hc-kbd-open ставит hc-w5-a11y.js. Каталог (hc-mega-host) открывает свой скрипт categories-ui.js. */
.menu-row .mega-menu table td.menu-item.dropdown.hc-kbd-open>.wrap>.dropdown-menu{
	display:block!important;visibility:visible!important;opacity:1!important;transition:none!important}
/* у Aspro visibility появляется с задержкой 0,2 с — фокус в ещё скрытую панель не встаёт; при открытии с клавиатуры
   (hc-kbd-open у нас, hc-menu-open у categories-ui — ставится только щелчком/клавишей, наведение идёт через :hover) без анимации */
.wrapper1 .mega-menu td.hc-mega-host.hc-menu-open>.wrap>.hc-mega-dropdown{transition:none!important}
