/* Наш МЦ — общие элементы, которые есть и на главной, и на внутренних страницах:
   ссылка «к содержанию», кнопки в шапке, подвал с реквизитами, баннер о приостановке
   работы, плейсхолдеры и версия для слабовидящих.
   Подключается и к главной (template.html), и к страницам (partials/top.html). */

.skip{position:absolute;left:-9999px;top:0;background:var(--bronze);color:#fff;padding:10px 18px;z-index:200;border-radius:0 0 10px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--bronze);outline-offset:2px}

.icon-btn{background:none;border:1.5px solid var(--line);border-radius:999px;width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);flex:none}
.icon-btn:hover{border-color:var(--bronze);color:var(--bronze)}
.icon-btn svg{width:19px;height:19px}
.nav-links a[aria-current="page"]{color:var(--bronze);font-weight:600}

/* подвал с обязательными сведениями */
footer .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}
footer h4{color:rgb(225,214,198);font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  font-family:inherit;font-weight:600;margin-bottom:12px}
footer .fgrid a{color:rgb(196,182,164);text-decoration:none;display:block;padding:3px 0}
footer .fgrid a:hover{color:var(--oak);text-decoration:underline}
footer .req-line{line-height:1.85}
footer .req-line b{color:rgb(214,202,186);font-weight:600}
footer .row{border-top:1px solid rgba(216,196,162,.16);padding-top:18px}
@media (max-width: 940px){ footer .fgrid{grid-template-columns:1fr 1fr} }
@media (max-width: 620px){ footer .fgrid{grid-template-columns:1fr} }

/* баннер о временном прекращении работы центра */
.closure{background:rgb(120,38,28);color:rgb(252,238,234);padding:16px 0;font-size:14.5px;position:relative;z-index:40}
.closure .wrap{display:flex;gap:16px;align-items:flex-start}
.closure svg{width:24px;height:24px;flex:none;margin-top:2px}
.closure b{display:block;font-size:16px;margin-bottom:3px;font-family:Georgia,serif;font-weight:400}
.closure a{color:#fff}

/* плейсхолдеры, требующие заполнения владельцем центра */
.tbd{color:var(--ink-soft);font-style:italic}
.tbd::after{content:"уточняется"}
html.show-tbd .tbd{background:rgba(220,60,60,.16);outline:1px dashed rgb(200,60,60);font-style:normal;border-radius:3px;padding:0 3px}
html.show-tbd .tbd::after{content:"ЗАПОЛНИТЬ: " attr(data-fill)}

/* ---------- версия для слабовидящих (ориентир — ГОСТ Р 52872-2019) ---------- */
html[data-bvi]{--fs:1.25rem;font-size:var(--fs)}
html[data-bvi] body{line-height:1.9;font-family:Arial,Verdana,sans-serif}
html[data-bvi] h1,html[data-bvi] h2,html[data-bvi] h3,html[data-bvi] h4,html[data-bvi] .serif,
html[data-bvi] .logo,html[data-bvi] .price,html[data-bvi] .hero-plaque{font-family:Arial,Verdana,sans-serif}
html[data-bvi] .btn,html[data-bvi] .card-link,html[data-bvi] .box,html[data-bvi] .doc,
html[data-bvi] .doc-row,html[data-bvi] .price-table,html[data-bvi] .card,html[data-bvi] .step,
html[data-bvi] .form-card{box-shadow:none!important;transform:none!important}
html[data-bvi] .btn::after{display:none}
html[data-bvi] .logo .heart,html[data-bvi] .heart{animation:none!important}
html[data-bvi] .page-head,html[data-bvi] .doc .ph,html[data-bvi] .hero,
html[data-bvi] .hero-plaque{background:var(--card)!important;color:var(--ink)!important}
html[data-bvi] .page-head h1,html[data-bvi] .page-head p,html[data-bvi] .crumbs,
html[data-bvi] .crumbs a,html[data-bvi] .hero h1,html[data-bvi] .hero p,
html[data-bvi] .hero .check,html[data-bvi] .cta-note,html[data-bvi] .badge{color:var(--ink)!important}
html[data-bvi] #bgfx,html[data-bvi] #progress,html[data-bvi] .ticker,html[data-bvi] .spark,
html[data-bvi] .monitor,html[data-bvi] .live-panel,html[data-bvi] .gallery,html[data-bvi] .pulse,
html[data-bvi] .hero-side,html[data-bvi] .why-photo,html[data-bvi] footer .top{display:none!important}
html[data-bvi] .reveal{opacity:1!important;transform:none!important}
html[data-bvi] .flow{margin-top:0!important;border-radius:0!important}
html[data-bvi] section.flow{padding-bottom:60px}
html[data-bvi] .hero-grid{grid-template-columns:1fr;padding-bottom:40px}
html[data-bvi] a:not(.btn){text-decoration:underline}
html[data-bvi] footer{background:var(--card)!important;color:var(--ink)!important;border-top:2px solid var(--ink)}
html[data-bvi] footer h4,html[data-bvi] footer .fgrid a,html[data-bvi] footer .req-line b,
html[data-bvi] footer .disc,html[data-bvi] footer .row span,html[data-bvi] footer a{color:var(--ink)!important}
html[data-bvi] .box,html[data-bvi] .card-link,html[data-bvi] .doc,html[data-bvi] .doc-row,
html[data-bvi] .note,html[data-bvi] .chip,html[data-bvi] .price-table,html[data-bvi] .card{border:2px solid var(--line)}
html[data-bvi="white"]{--marble:#fff;--cream:#fff;--card:#fff;--chip:#fff;--ink:#000;--ink-soft:#1a1a1a;--line:#000;--bronze:#000;--bronze-dark:#000;--oak:#000;--oak-deep:#000;--slat-mid:#fff;--green:#000}
html[data-bvi="white"] .btn{background:#000;color:#fff}
html[data-bvi="black"]{--marble:#000;--cream:#000;--card:#000;--chip:#000;--ink:#fff;--ink-soft:#f2f2f2;--line:#fff;--bronze:#ffe100;--bronze-dark:#ffe100;--oak:#ffe100;--oak-deep:#ffe100;--slat-mid:#000;--green:#ffe100}
html[data-bvi="black"] .btn{background:#ffe100;color:#000}
html[data-bvi="blue"]{--marble:#9dd1ff;--cream:#9dd1ff;--card:#9dd1ff;--chip:#9dd1ff;--ink:#063462;--ink-soft:#063462;--line:#063462;--bronze:#063462;--bronze-dark:#063462;--oak:#063462;--oak-deep:#063462;--slat-mid:#9dd1ff;--green:#063462}
html[data-bvi="blue"] .btn{background:#063462;color:#9dd1ff}
html[data-bvi] .bvi-bar{display:block}
.bvi-bar{display:none;background:var(--chip);border-bottom:2px solid var(--line);padding:12px 0;position:relative;z-index:45}
.bvi-bar .wrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:15px}
.bvi-bar .g{display:flex;gap:6px;align-items:center}
.bvi-bar button{font-family:inherit;font-size:15px;padding:6px 14px;border:2px solid var(--line);
  background:var(--card);color:var(--ink);cursor:pointer;border-radius:6px}
.bvi-bar button[aria-pressed="true"]{background:var(--ink);color:var(--marble)}
.bvi-bar .sw{width:36px;height:32px;border:2px solid var(--line);cursor:pointer;border-radius:6px;font-weight:700}
.bvi-bar .sw.w{background:#fff;color:#000}
.bvi-bar .sw.b{background:#000;color:#ffe100}
.bvi-bar .sw.u{background:#9dd1ff;color:#063462}

/* ======================================================================
   Общая полировка — работает и на главной, и на внутренних страницах.
   Главная подключает только этот файл, поэтому базовые вещи живут здесь.
   ====================================================================== */
:root{ --ease: cubic-bezier(.32,.72,0,1) }

/* пункты меню не переносятся по словам */
.nav-links a{white-space:nowrap}

/* отклик на нажатие, а не на отпускание */
.btn,.chip,.icon-btn,.card-link,.doc-row{transition-timing-function:var(--ease)}
.btn:active{transform:scale(.97);transition-duration:.09s}
.chip:active,.icon-btn:active{transform:scale(.95);transition-duration:.09s}

/* граница шапки появляется, только когда под неё заехал контент */
header{transition:border-color .28s var(--ease), background-color .28s var(--ease)}
@media (prefers-reduced-transparency: reduce){
  header{backdrop-filter:none}
}

/* переход между страницами: сайт листается как одно целое */
@media (prefers-reduced-motion: no-preference){
  @view-transition{ navigation: auto }
  ::view-transition-old(root){ animation:vtOut .18s var(--ease) both }
  ::view-transition-new(root){ animation:vtIn .26s var(--ease) both }
}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
