/* ═══════════ v1.19.641 — панель доступности (своя, без чужих скриптов) ═══════════
   Канон витрины соблюдён числом в число:
     кнопка   — градиент 135° indigo→indigo-d, полное закругление 999px,
                тень 0 10px 24px -10px rgba(84,92,216,.7) — как у .cta;
     карточка — радиус var(--r)=22px, рамка var(--line), фон var(--card);
     шапка    — тот же градиент, что у кнопок;
     цвета    — ТОЛЬКО переменные канона, своих значений нет;
     тач-цели — не мельче 44px.
   Обычный CSS: @media в Blade не место (канон @-директив). */

/* ── плавающая кнопка ── */
.vc-a11y-btn{
  /* v1.19.641а — слева ФИЗИЧЕСКИ: логическое «начало строки» на иврите это
     справа, а владелец выбрал левый край одинаково для всех языков. */
  position:fixed; left:18px; bottom:var(--vc-a11y-bottom,18px); z-index:93;
  width:var(--vc-a11y-size,52px); height:var(--vc-a11y-size,52px);
  border:3px solid #fff; border-radius:999px; cursor:pointer; padding:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--indigo),var(--indigo-d)); color:#fff;
  box-shadow:0 10px 24px -10px rgba(84,92,216,.7), 0 2px 10px rgba(20,26,46,.25);
  transition:transform .15s, bottom .2s;
}
.vc-a11y-btn:hover{transform:translateY(-2px)}
.vc-a11y-btn:active{transform:scale(.94)}
.vc-a11y-btn svg{width:calc(var(--vc-a11y-size,52px) * .54);height:calc(var(--vc-a11y-size,52px) * .54);fill:currentColor}

/* ── карточка панели ── */
.vc-a11y-panel{
  position:fixed; left:18px; bottom:calc(var(--vc-a11y-bottom,18px) + var(--vc-a11y-size,52px) + 10px);
  z-index:130; width:min(340px,calc(100vw - 36px)); max-height:min(76vh,560px);
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  box-shadow:0 30px 70px -30px rgba(27,34,56,.55);
}
.vc-a11y-panel[hidden]{display:none}
.vc-a11y-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 16px; color:#fff;
  background:linear-gradient(135deg,var(--indigo),var(--indigo-d));
}
.vc-a11y-head h2{margin:0; font-size:1.02rem; font-weight:800; color:#fff; letter-spacing:-.01em}
.vc-a11y-close{
  width:44px; height:44px; margin:-8px -8px -8px 0; border:none; background:none; cursor:pointer;
  color:#fff; font-size:1.5rem; line-height:1; border-radius:999px; flex:none;
}
.vc-a11y-close:hover{background:rgba(255,255,255,.16)}
.vc-a11y-body{overflow-y:auto; padding:8px 10px 10px}

/* ── строка-переключатель ── */
.vc-a11y-row{
  display:flex; align-items:center; gap:12px; width:100%; min-height:48px;
  padding:9px 10px; border:none; background:none; cursor:pointer; text-align:start;
  font:inherit; color:var(--ink); border-radius:14px;
}
.vc-a11y-row:hover{background:var(--wash)}
.vc-a11y-row .ico{
  width:34px; height:34px; flex:none; border-radius:10px; display:flex;
  align-items:center; justify-content:center; background:var(--wash); color:var(--indigo-d);
  font-weight:800; font-size:.9rem;
}
.vc-a11y-row .ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.vc-a11y-row .lbl{flex:1; font-size:.92rem; font-weight:600; line-height:1.3}
.vc-a11y-sw{
  width:44px; height:26px; flex:none; border-radius:999px; background:#cfd6e6;
  position:relative; transition:background .18s;
}
.vc-a11y-sw::after{
  content:""; position:absolute; top:3px; inset-inline-start:3px; width:20px; height:20px;
  border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:inset-inline-start .18s;
}
.vc-a11y-row[aria-pressed="true"] .vc-a11y-sw{background:var(--indigo)}
.vc-a11y-row[aria-pressed="true"] .vc-a11y-sw::after{inset-inline-start:21px}
.vc-a11y-row[aria-pressed="true"] .ico{background:var(--indigo);color:#fff}

/* шаговое поле размера текста */
.vc-a11y-step{display:flex;align-items:center;gap:8px;flex:none}
.vc-a11y-step button{
  width:34px;height:34px;border:1px solid var(--line);background:var(--card);border-radius:10px;
  cursor:pointer;font:inherit;font-weight:800;font-size:1rem;color:var(--indigo-d);
}
.vc-a11y-step button:hover{background:var(--wash)}
.vc-a11y-step span{min-width:44px;text-align:center;font-size:.82rem;font-weight:700;color:var(--ink2)}

/* подвал панели */
.vc-a11y-foot{
  border-top:1px solid var(--line); padding:10px 14px 14px; display:flex; flex-direction:column; gap:8px;
}
.vc-a11y-reset{
  min-height:44px; padding:11px 22px; border:none; border-radius:999px; cursor:pointer;
  font:inherit; font-weight:700; font-size:.9rem;
  background:var(--wash); color:var(--indigo-d); box-shadow:inset 0 0 0 1px var(--line);
}
.vc-a11y-reset:hover{background:#e4e9f8}
.vc-a11y-foot a{
  text-align:center; font-size:.82rem; color:var(--indigo); font-weight:700;
  text-decoration:underline; text-underline-offset:3px;
}

/* ── что панель включает на самой странице ── */
html.a11y-font *{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif !important}
html.a11y-anim *,html.a11y-anim *::before,html.a11y-anim *::after{
  animation:none !important; transition:none !important; scroll-behavior:auto !important;
}
html.a11y-kbd *:focus{outline:3px solid #b25c00 !important; outline-offset:3px !important}
html.a11y-head h1,html.a11y-head h2,html.a11y-head h3,html.a11y-head h4{
  outline:2px dashed var(--indigo-d) !important; outline-offset:4px !important;
  background:rgba(84,92,216,.08) !important;
}
html.a11y-link a,html.a11y-link button{
  outline:2px solid var(--indigo-d) !important; outline-offset:2px !important;
  text-decoration:underline !important;
}
/* Высокий контраст: тёмная схема без полутонов. Картинки не гасим —
   без них страница клиники теряет смысл. */
html.a11y-contrast body{background:#000 !important; color:#fff !important}
html.a11y-contrast body::before,html.a11y-contrast body::after{display:none !important}
html.a11y-contrast :is(section,div,header,footer,nav,main,article,aside,form,p,li,td,th,span,label,h1,h2,h3,h4,summary){
  background-color:transparent !important; color:#fff !important; border-color:#fff !important;
}
html.a11y-contrast :is(.card,.tcard,.pcard,.lg-card,.vc-cc,.vc-a11y-panel,.wcard){background:#000 !important}
html.a11y-contrast :is(a,a *){color:#ffe400 !important}
html.a11y-contrast :is(button,.cta,.pbtn,.abtn,.vc-cc button,.vc-a11y-reset){
  background:#000 !important; color:#ffe400 !important; box-shadow:none !important; border:2px solid #ffe400 !important;
}
html.a11y-contrast .vc-a11y-head{background:#000 !important; border-bottom:2px solid #ffe400}
html.a11y-contrast .vc-a11y-btn{background:#000 !important; color:#ffe400 !important; border:2px solid #ffe400}
html.a11y-contrast .vc-a11y-sw{background:#555 !important}
html.a11y-contrast .vc-a11y-row[aria-pressed="true"] .vc-a11y-sw{background:#ffe400 !important}

/* Решение владельца 26/07: на мобильных кнопка меньше и с явной белой обводкой.
   Ниже 44px не опускаемся НИ НА ТЕЛЕФОНЕ, НИ ГДЕ-ЛИБО ЕЩЁ: канон проекта требует
   нажимаемые элементы не мельче 44, а кнопка доступности — первое, что проверяют.
   44 это пол, а не пожелание. */
@media(max-width:940px){
  :root{--vc-a11y-size:46px}
  .vc-a11y-btn{left:16px;border-width:3px}
  .vc-a11y-panel{left:16px}
}
@media(max-width:560px){
  :root{--vc-a11y-size:44px}
  .vc-a11y-btn{left:14px;border-width:3px;
    box-shadow:0 8px 20px -10px rgba(84,92,216,.75), 0 2px 8px rgba(20,26,46,.3)}
  .vc-a11y-panel{left:14px;right:14px;width:auto;max-height:72vh}
}
