/* ============================================================
   GLAZOVLAB · PC — вход, регистрация, редактирование страницы
   Опирается на переменные и кнопки из style.css
   ============================================================ */

/* ---------- кнопка входа в шапке ---------- */
.hd-auth{display:flex;align-items:center;gap:10px}
.hd-user{display:flex;align-items:center;gap:10px}
.hd-user-n{display:flex;align-items:center;gap:9px;font-family:var(--fd);font-weight:800;font-size:14.5px;
  letter-spacing:-.02em;white-space:nowrap}
.hd-ava{width:32px;height:32px;flex-shrink:0;background:var(--violet);color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:var(--fd);font-weight:800;font-size:14px}
.hd-ava.t{background:var(--green)}
.hd-out{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--line);background:#fff;transition:.2s var(--e)}
.hd-out svg{width:17px;height:17px;fill:none;stroke:var(--gray);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hd-out:hover{border-color:var(--black);background:var(--black)}
.hd-out:hover svg{stroke:#fff}
.hd-login{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;font-family:var(--fb);
  font-weight:700;font-size:14.5px;border:1.5px solid var(--black);background:#fff;color:var(--black);
  transition:.22s var(--e)}
.hd-login svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hd-login:hover{background:var(--black);color:#fff;box-shadow:5px 5px 0 var(--violet)}

.mob-auth{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-direction:column;gap:12px}
.mob-auth .mob-u{font-family:var(--fd);font-weight:800;font-size:22px;letter-spacing:-.03em;color:#fff}
.mob-auth button,.mob-auth a{display:flex;align-items:center;justify-content:center;padding:16px 22px;
  font-family:var(--fb);font-weight:700;font-size:15.5px;border:1.5px solid #fff;color:#fff;
  background:transparent;border-bottom:1.5px solid #fff}
.mob-auth .p{background:var(--violet);border-color:var(--violet)}

/* В шапке прибавились кнопки входа и кабинета, поэтому меню и телефон
   поджимаются заранее — иначе пункты переносятся на вторую строку. */
@media(max-width:1520px){
  .hd-in{gap:14px}
  .nav a{font-size:14px;padding:9px 8px}
  .hd-r{gap:10px}
}
@media(max-width:1380px){
  .logo{font-size:17px}
  .logo img{width:36px;height:36px}
}
@media(max-width:1140px){.hd-auth{display:none}}

/* ============================================================
   ПОЛНОЭКРАННЫЙ ЭКРАН ВХОДА
   ============================================================ */
.au{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  background:#fff;opacity:0;visibility:hidden;transition:opacity .34s var(--e),visibility .34s}
.au.on{opacity:1;visibility:visible}
body.au-open{overflow:hidden}

/* ---------- левая половина ---------- */
.au-l{position:relative;overflow:hidden;background:#fff;display:flex;flex-direction:column;
  transform:translateY(18px);opacity:0;transition:.5s var(--e) .08s}
.au.on .au-l{transform:none;opacity:1}
.au-d1{width:58px;height:58px;top:9%;right:12%;opacity:.5;animation:auSpin 16s linear infinite}
.au-d2{width:26px;height:26px;bottom:6%;left:5%;opacity:.22}
@keyframes auSpin{to{transform:rotate(360deg)}}

.au-x{position:absolute;top:22px;right:22px;z-index:6;width:46px;height:46px;display:flex;
  align-items:center;justify-content:center;border:1.5px solid var(--line);background:#fff;transition:.2s var(--e)}
.au-x svg{width:19px;height:19px;fill:none;stroke:var(--black);stroke-width:2.2;stroke-linecap:round}
.au-x:hover{background:var(--black);border-color:var(--black)}
.au-x:hover svg{stroke:#fff}

.au-scroll{position:relative;z-index:3;flex:1;overflow-y:auto;overscroll-behavior:contain;
  display:flex;align-items:center;justify-content:center;padding:56px 28px}
.au-box{width:100%;max-width:452px}

.au-logo{margin-bottom:26px}
.au-tag{margin-bottom:16px}
.au-h{font-family:var(--fd);font-weight:800;font-size:clamp(1.75rem,3vw,2.6rem);letter-spacing:-.035em;
  line-height:1.04;margin-bottom:11px}
.au-sub{color:var(--gray);font-size:15.5px;line-height:1.55;margin-bottom:26px;max-width:400px}

/* вкладки */
.au-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--black);
  margin-bottom:22px}
.au-tab{position:relative;z-index:2;padding:14px 10px;font-family:var(--fb);font-weight:700;font-size:14.5px;
  color:var(--gray);transition:color .28s var(--e)}
.au-tab.on{color:#fff}
.au-tab-ink{position:absolute;z-index:1;top:0;bottom:0;left:0;width:50%;background:var(--black);
  transition:transform .32s var(--e)}
.au-tabs.reg .au-tab-ink{transform:translateX(100%)}

/* сообщение */
.au-msg{display:none;padding:13px 16px;font-size:14px;font-weight:600;line-height:1.45;margin-bottom:16px;
  border-left:4px solid var(--violet);background:var(--lilac);color:var(--violet-dk)}
.au-msg.on{display:block;animation:auIn .3s var(--e)}
.au-msg.err{border-color:#D64545;background:#FDECEC;color:#B02B2B}
.au-msg.ok{border-color:var(--green);background:var(--green-lt);color:var(--green-dk)}
@keyframes auIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* формы */
.au-form{display:none}
.au-form.on{display:block;animation:auIn .32s var(--e)}
.au-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.au-pw{position:relative}
.au-pw input{padding-right:48px!important}
.au-eye{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;
  display:flex;align-items:center;justify-content:center}
.au-eye svg{width:19px;height:19px;fill:none;stroke:var(--gray);stroke-width:1.9}
.au-eye:hover svg{stroke:var(--violet)}
.au-eye.off svg{stroke:var(--violet)}

.au-str{display:flex;align-items:center;gap:11px;margin:2px 0 15px;font-size:12px;font-weight:700;
  color:var(--gray);height:16px;opacity:0;transition:opacity .25s}
.au-str.on{opacity:1}
.au-str i{flex:1;height:4px;background:var(--line);position:relative;overflow:hidden}
.au-str i::after{content:'';position:absolute;inset:0 100% 0 0;background:var(--violet);
  transition:right .35s var(--e),background .35s}
.au-str.s1 i::after{right:66%;background:#D64545}
.au-str.s2 i::after{right:33%;background:#E8A33D}
.au-str.s3 i::after{right:0;background:var(--green)}

.au-check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--gray);
  margin:4px 0 20px;cursor:pointer;user-select:none}
.au-check input{position:absolute;opacity:0;width:0;height:0}
.au-check-b{flex-shrink:0;width:22px;height:22px;border:1.5px solid var(--black);background:#fff;
  display:flex;align-items:center;justify-content:center;transition:.2s var(--e)}
.au-check-b svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;
  stroke-linejoin:round;opacity:0;transform:scale(.5);transition:.2s var(--e)}
.au-check input:checked + .au-check-b{background:var(--violet);border-color:var(--violet)}
.au-check input:checked + .au-check-b svg{opacity:1;transform:none}
.au-check a{color:var(--violet);font-weight:600;text-decoration:underline;text-underline-offset:2px}

.au-submit{width:100%;padding:17px 24px}
.au-submit[disabled]{opacity:.6;pointer-events:none}

.au-or{position:relative;text-align:center;margin:24px 0 18px}
.au-or::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}
.au-or span{position:relative;background:#fff;padding:0 14px;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.13em;color:var(--gray)}

.au-alt{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.au-alt-b{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 14px;
  border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:14.5px;transition:.22s var(--e)}
.au-alt-b:hover{border-color:var(--black);box-shadow:4px 4px 0 var(--black)}
.au-alt-b svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.au-ya i{width:24px;height:24px;background:#FC3F1D;color:#fff;font-style:normal;font-weight:800;
  font-size:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}

.au-qr-box{display:none;margin-top:18px;padding:20px;border:1.5px solid var(--line);text-align:center}
.au-qr-box.on{display:block;animation:auIn .3s var(--e)}
.au-qr-box img{width:190px;height:190px;margin:0 auto 14px;image-rendering:pixelated}
.au-qr-txt{font-size:13.5px;color:var(--gray);line-height:1.5;margin-bottom:12px}
.au-qr-txt.ok{color:var(--green-dk);font-weight:700}
.au-qr-txt.err{color:#B02B2B;font-weight:700}
.au-qr-cancel{font-size:13px;font-weight:700;color:var(--violet);text-decoration:underline;text-underline-offset:3px}

.au-foot{margin-top:22px;font-size:12px;line-height:1.55;color:var(--gray)}

/* ============================================================
   ПРАВАЯ ПОЛОВИНА — АНИМАЦИЯ
   ============================================================ */
.au-r{position:relative;overflow:hidden;background:var(--black);
  clip-path:inset(0 0 0 0);transform:translateX(24px);opacity:0;transition:.55s var(--e) .1s}
.au.on .au-r{transform:none;opacity:1}
.au-r-grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:52px 52px;animation:auGrid 26s linear infinite}
@keyframes auGrid{to{background-position:52px 52px}}

.au-glow{position:absolute;border-radius:50%;filter:blur(85px);pointer-events:none}
.g-a{width:52%;padding-bottom:52%;background:rgba(106,85,232,.55);top:-14%;right:-12%;
  animation:auDrift 15s ease-in-out infinite}
.g-b{width:46%;padding-bottom:46%;background:rgba(128,178,78,.4);bottom:-16%;left:-14%;
  animation:auDrift 19s ease-in-out infinite reverse}
@keyframes auDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6%,7%) scale(1.13)}}

.au-mol{position:absolute;inset:0;width:100%;height:100%;opacity:.4}
.au-mol line{stroke:rgba(255,255,255,.45);stroke-width:1.4}
.au-mol circle{fill:#fff}
.au-mol .mol-a{animation:auFloatA 17s ease-in-out infinite}
.au-mol .mol-b{animation:auFloatB 21s ease-in-out infinite}
@keyframes auFloatA{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-32px)}}
@keyframes auFloatB{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,24px)}}

.au-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);
  width:min(64%,420px);aspect-ratio:1/1.25}

.au-flask{position:absolute;left:13%;top:2%;width:74%;height:96%;overflow:visible;
  animation:auBob 6.5s ease-in-out infinite}
@keyframes auBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-11px) rotate(-1.6deg)}}
.au-glass{fill:none;stroke:#fff;stroke-width:11;stroke-linejoin:round;stroke-linecap:round}
.au-glass.f{fill:none}
.au-liq-body{fill:var(--violet);animation:auLiq 9s ease-in-out infinite}
.au-liq-top{fill:none;stroke:rgba(255,255,255,.6);stroke-width:3}
.au-liq{animation:auWave 4.2s ease-in-out infinite}
@keyframes auWave{0%,100%{transform:translateX(0)}50%{transform:translateX(-46px)}}
@keyframes auLiq{0%,100%{fill:#6A55E8}50%{fill:#80B24E}}
.au-bub{fill:rgba(255,255,255,.65)}
.b1{animation:auBub 3.4s ease-in infinite}
.b2{animation:auBub 4.6s ease-in .8s infinite}
.b3{animation:auBub 3.9s ease-in 1.7s infinite}
.b4{animation:auBub 5.2s ease-in 2.4s infinite}
@keyframes auBub{0%{transform:translateY(0) scale(.5);opacity:0}
  18%{opacity:.75}90%{opacity:.05}100%{transform:translateY(-130px) scale(1.15);opacity:0}}

.au-atom{position:absolute;left:50%;top:-4%;transform:translateX(-50%);width:52%;overflow:visible;opacity:.95}
.au-atom ellipse{fill:none;stroke:rgba(255,255,255,.5);stroke-width:2}
.au-atom-rot{transform-origin:110px 110px;animation:auSpin 22s linear infinite}
.au-nuc{fill:var(--green)}
.au-el{fill:#fff}
.e1{offset-path:path('M 10 110 a 100 38 0 1 0 200 0 a 100 38 0 1 0 -200 0');animation:auOrb 3.4s linear infinite}
.e2{offset-path:path('M 10 110 a 100 38 0 1 0 200 0 a 100 38 0 1 0 -200 0');
  animation:auOrb 4.6s linear infinite;transform-box:fill-box}
.e3{offset-path:path('M 10 110 a 100 38 0 1 0 200 0 a 100 38 0 1 0 -200 0');animation:auOrb 5.5s linear infinite reverse}
@keyframes auOrb{to{offset-distance:100%}}
/* запасной вариант для браузеров без offset-path */
@supports not (offset-path: path('M 0 0')){
  .au-el{display:none}
}

.au-cap{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:38px clamp(28px,3.4vw,52px) clamp(30px,3.6vw,48px);
  color:#fff;background:linear-gradient(transparent,rgba(11,11,15,.86) 42%)}
.au-cap-t{font-family:var(--fd);font-weight:800;font-size:clamp(1.15rem,1.7vw,1.65rem);letter-spacing:-.03em;
  line-height:1.12;margin-bottom:9px;min-height:1.12em}
.au-cap-s{font-size:14px;line-height:1.5;color:rgba(255,255,255,.62);max-width:390px}
.au-cap-n{display:flex;gap:clamp(18px,2.6vw,38px);margin-top:24px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.16)}
.au-cap-n div{display:flex;flex-direction:column}
.au-cap-n b{font-family:var(--fd);font-weight:800;font-size:clamp(1.1rem,1.6vw,1.5rem);letter-spacing:-.03em}
.au-cap-n span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.45);margin-top:5px}

@media(prefers-reduced-motion:reduce){
  .au-r *,.au-l *{animation:none!important}
}

/* ---------- планшет и телефон ---------- */
@media(max-width:1000px){
  .au{grid-template-columns:1fr;grid-template-rows:1fr}
  .au-r{display:none}
  .au-scroll{padding:80px 22px 48px;align-items:flex-start}
}
@media(max-width:520px){
  .au-two{grid-template-columns:1fr}
  .au-alt{grid-template-columns:1fr}
  .au-x{top:14px;right:14px;width:42px;height:42px}
}

/* ============================================================
   МАЛЕНЬКИЕ ОКНА (выход, панель администратора)
   ============================================================ */
.au-mini{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;
  padding:22px;background:rgba(11,11,15,.62);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:.26s var(--e)}
.au-mini.on{opacity:1;visibility:visible}
.au-mini-p{position:relative;width:100%;max-width:420px;background:#fff;border:1.5px solid var(--black);
  box-shadow:10px 10px 0 var(--violet);padding:clamp(26px,3vw,36px);
  transform:translateY(16px) scale(.97);transition:.3s var(--e)}
.au-mini.on .au-mini-p{transform:none}
.au-mini.wide .au-mini-p{max-width:660px;max-height:86vh;overflow-y:auto}
.au-mini-p h3{font-size:clamp(1.15rem,1.7vw,1.4rem);margin-bottom:10px}
.au-mini-p > p{color:var(--gray);font-size:14.5px;line-height:1.55;margin-bottom:22px}
.au-mini-b{display:flex;gap:12px}
.au-mini-b .btn{flex:1}
.au-mini-x{position:absolute;top:16px;right:16px;width:38px;height:38px;display:flex;align-items:center;
  justify-content:center;border:1.5px solid var(--line);transition:.2s var(--e)}
.au-mini-x svg{width:16px;height:16px;fill:none;stroke:var(--black);stroke-width:2.2;stroke-linecap:round}
.au-mini-x:hover{background:var(--black)}
.au-mini-x:hover svg{stroke:#fff}

.au-adm-b{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.au-adm-b button{display:flex;align-items:center;gap:12px;width:100%;padding:16px 18px;
  border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:14.5px;text-align:left;
  transition:.2s var(--e)}
.au-adm-b button:hover{border-color:var(--black);box-shadow:5px 5px 0 var(--violet)}
.au-adm-b button svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:var(--violet);stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.au-adm-b button small{display:block;font-weight:500;font-size:12.5px;color:var(--gray);margin-top:3px}
.au-adm-b .cnt{margin-left:auto;flex-shrink:0;min-width:24px;height:24px;padding:0 7px;background:var(--violet);
  color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}

.au-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.au-card{border:1.5px solid var(--line);padding:16px 18px}
.au-card .r1{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.au-card b{font-family:var(--fd);font-weight:800;font-size:15.5px;letter-spacing:-.02em}
.au-card .dt{font-size:12px;color:var(--gray);white-space:nowrap}
.au-card a{color:var(--violet);font-weight:700}
.au-card p{font-size:14px;line-height:1.5;color:var(--gray);margin-top:8px;font-style:italic}
.au-card .st{display:inline-flex;gap:2px;color:#E8A33D;font-size:14px;margin-top:6px}
.au-card .acts{display:flex;gap:10px;margin-top:14px}
.au-card .acts button{flex:1;padding:10px;font-weight:700;font-size:13.5px;border:1.5px solid var(--black);
  background:#fff;transition:.2s var(--e)}
.au-card .acts .yes{background:var(--green);border-color:var(--green);color:#fff}
.au-card .acts .no{background:#fff;color:#B02B2B;border-color:#E4B4B4}
.au-card .acts button:hover{box-shadow:4px 4px 0 var(--black)}
.au-empty{padding:34px 10px;text-align:center;color:var(--gray);font-size:14.5px}

/* ============================================================
   РЕЖИМ РЕДАКТИРОВАНИЯ
   ============================================================ */
.au-gear{position:fixed;right:22px;bottom:22px;z-index:95;width:54px;height:54px;display:none;
  align-items:center;justify-content:center;background:var(--black);transition:.24s var(--e)}
.au-gear.on{display:flex}
.au-gear svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.au-gear:hover{background:var(--violet);transform:rotate(45deg)}
@media(max-width:860px){.au-gear{right:14px;bottom:86px;width:48px;height:48px}}

.au-edbar{position:fixed;left:0;right:0;bottom:0;z-index:150;display:none;align-items:center;gap:14px;
  padding:14px clamp(16px,3vw,32px);background:var(--black);color:#fff;
  transform:translateY(100%);transition:transform .32s var(--e)}
.au-edbar.on{display:flex;transform:none}
.au-edbar-d{width:9px;height:9px;flex-shrink:0;background:var(--green);animation:blink 1.5s infinite}
.au-edbar b{font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:-.02em;white-space:nowrap}
.au-edbar-h{flex:1;font-size:13px;color:rgba(255,255,255,.55);line-height:1.4}
.au-edbar .btn-o{border-color:#fff;color:#fff}
.au-edbar .btn-o:hover{background:#fff;color:var(--black)}
@media(max-width:760px){.au-edbar-h{display:none}.au-edbar{gap:10px}}

body.au-edit [data-content-key]{outline:1.5px dashed rgba(106,85,232,.55);outline-offset:3px;
  transition:outline-color .2s;cursor:text;min-height:1em;border-radius:2px}
body.au-edit [data-content-key]:hover{outline-color:var(--violet);background:rgba(106,85,232,.05)}
body.au-edit [data-content-key]:focus{outline:2px solid var(--violet);background:rgba(106,85,232,.07)}
body.au-edit{padding-bottom:70px}

.au-img-b{position:absolute;top:10px;left:10px;z-index:20;display:inline-flex;align-items:center;gap:7px;
  padding:9px 14px;background:var(--black);color:#fff;font-weight:700;font-size:12.5px;
  box-shadow:4px 4px 0 var(--violet)}
.au-img-b svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.au-img-b:hover{background:var(--violet);box-shadow:4px 4px 0 var(--black)}
.au-img-b.busy{opacity:.6;pointer-events:none}

/* ---------- окно отзыва ---------- */
.au-mini-p .fl textarea{width:100%;padding:14px 15px;border:1.5px solid var(--black);font:inherit;
  font-size:15px;background:#fff;resize:vertical;line-height:1.5}
.au-mini-p .fl textarea:focus{outline:none;border-color:var(--violet);background:var(--lilac)}
.rev-stars{display:flex;gap:4px}
.rev-stars button{font-size:30px;line-height:1;color:var(--line);transition:color .12s,transform .12s;
  padding:0 2px}
/* .on — выбранная оценка, .hv — подсветка под курсором.
   Прежнее правило .rev-stars:hover button гасило все звёзды, пока курсор
   был над рядом, поэтому выбор был виден только после отвода мыши. */
.rev-stars button.on,.rev-stars button.hv{color:#E8A33D}
.rev-stars button.hv{transform:scale(1.12)}
.rev-stars button:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
#revModal .au-msg{margin-bottom:14px}
#revOpen{background:#fff}

/* карточка отзыва, пришедшая с сервера */
.rv-c.live .rv-a{background:var(--green)}

/* ============================================================
   ПЕРЕКЛЮЧАТЕЛЬ ПРЕДМЕТА — сам логотип
   Отдельной кнопки нет: клик по GLAZOVLAB меняет предмет, и «LAB»
   перекрашивается из фиолетового в зелёный.
   ============================================================ */
.logo{cursor:pointer;user-select:none}
.logo .vio{transition:color .35s var(--e)}
body.sub-bio .logo .vio{color:var(--green)}
.ft .logo .vio{color:#A99BF5}
body.sub-bio .ft .logo .vio{color:#B7D89A}

/* биология — зелёный акцент вместо фиолетового там, где это уместно */
body.sub-bio .lab{--liquid:#80B24E}
body.sub-bio .tag{background:var(--green-lt);color:var(--green-dk)}
body.sub-bio .tag::before{background:var(--green)}
body.sub-bio .hd-login:hover{box-shadow:5px 5px 0 var(--green)}
body.sub-bio .hd-ava{background:var(--green)}

/* Правила ниже стоят последними намеренно: они должны перебивать
   базовые размеры .logo и кнопок, объявленные выше по файлу. */
/* пункты меню не переносятся по словам — иначе шапка становится двухэтажной */
.nav a{white-space:nowrap}

@media(max-width:1440px){
  .nav a{padding:9px 7px}
  /* телефон уступает место кнопкам входа: он остаётся в меню,
     в первом экране и в подвале */
  .hd-tel{display:none}
}
@media(max-width:1380px){
  .logo{font-size:17px}
  .logo img{width:36px;height:36px;margin-right:8px}
  .hd-login{padding:11px 16px;font-size:13.5px}
  .hd-r .btn-sm{padding:11px 16px;font-size:13.5px}
}

/* ---------- кнопка кабинета и фото профиля в шапке ---------- */
.hd-lk{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;font-family:var(--fb);
  font-weight:700;font-size:14px;border:1.5px solid var(--violet);background:var(--violet);color:#fff;
  white-space:nowrap;transition:.22s var(--e)}
.hd-lk svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.hd-lk:hover{background:var(--violet-dk);border-color:var(--violet-dk);box-shadow:5px 5px 0 var(--black)}
body.sub-bio .hd-lk{background:var(--green);border-color:var(--green)}
body.sub-bio .hd-lk:hover{background:var(--green-dk);border-color:var(--green-dk)}

.hd-ava{overflow:hidden}
.hd-ava.ph{background:var(--line)}
.hd-ava.ph img{width:100%;height:100%;object-fit:cover;display:block}
.hd-ava.em{background:var(--lilac);font-size:17px}

.mob-auth .mob-u{display:flex;align-items:center;gap:12px}
.mob-auth .mob-u .hd-ava{width:38px;height:38px;font-size:16px}

/* Когда в шапке появились имя, кабинет и выход, «Записаться» уже не помещается:
   на средних экранах она уходит — записаться можно из первого экрана и снизу. */
@media(max-width:1500px){
  .hd-r.logged .btn-sm{display:none}
}
@media(max-width:1240px){
  .hd-lk span{display:none}
  .hd-lk{padding:11px 13px}
}

/* подзаголовок внутри панели модерации */
.au-sub{margin:20px 0 10px;font-size:11.5px;font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;color:var(--gray)}
.au-sub:first-child{margin-top:14px}
