/* 777like r12 (07.10): публичные страницы — шапка, подвал, прайс для гостя, вход/регистрация, FAQ, блог, cookie.
   Подключается после lk-shell/lk-pages/lk-motion только на публичных страницах (body.lk-site).
   Движение — только при prefers-reduced-motion: no-preference; без JS всё видно и работает. */

/* ---------- B1. Липкая шапка: core.css даёт html/body height:100% — sticky упирался в body высотой 1 экран ---------- */
html:has(> body.lk-site){height:auto}
body.lk-site{height:auto}

/* ---------- 1. Шапка: сжатие при прокрутке, подчёркивание пунктов ---------- */
/* высота шапки (с рамкой 1px) — её же используют липкие панели ниже */
body.lk-site{--lk-sh:69px;--lk-sh-s:57px}
@media (max-width:899.98px){body.lk-site{--lk-sh:61px;--lk-sh-s:53px}}
.lk-site-head{transition:border-color var(--lk-dur-2) var(--lk-ease),box-shadow var(--lk-dur-2) var(--lk-ease),background-color var(--lk-dur-2) var(--lk-ease),margin var(--lk-dur-2) var(--lk-ease-out)}
.lk-site-head__in{transition:height var(--lk-dur-2) var(--lk-ease-out)}
.lk-site-head__logo .lk-logo{transition:height var(--lk-dur-2) var(--lk-ease-out)}
/* сжатие на 12px (8px на телефоне) компенсируем отступом снизу — контент под шапкой не прыгает */
.lk-site-head.is-scrolled{margin-bottom:12px;background:var(--lk-bg);-webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);box-shadow:0 10px 30px -18px rgba(0,0,0,.45)}
.lk-site-head.is-scrolled .lk-site-head__in{height:56px}
.lk-site-head.is-scrolled .lk-site-head__logo .lk-logo{height:36px}
html[data-theme="light"] .lk-site-head.is-scrolled{box-shadow:0 10px 30px -20px rgba(24,20,60,.28)}
@media (max-width:899.98px){
  .lk-site-head.is-scrolled{margin-bottom:8px}
  .lk-site-head.is-scrolled .lk-site-head__in{height:52px}
  .lk-site-head.is-scrolled .lk-site-head__logo .lk-logo{height:34px}
}
/* меню-бургер открыто — шапку не сжимаем, чтобы меню не «подпрыгивало» */
.lk-site-menu-open .lk-site-head.is-scrolled{margin-bottom:0}
.lk-site-menu-open .lk-site-head.is-scrolled .lk-site-head__in{height:68px}
@media (max-width:899.98px){.lk-site-menu-open .lk-site-head.is-scrolled .lk-site-head__in{height:60px}}

.lk-site-nav__link{position:relative;background:transparent!important}
.lk-site-nav__link.is-active{box-shadow:none;border-radius:10px}
.lk-site-nav__link::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:var(--lk-brand-grad);transform:scaleX(0);transform-origin:left center;transition:transform var(--lk-dur-2) var(--lk-ease-out),opacity var(--lk-dur-2);opacity:.9}
.lk-site-nav__link:hover::after,.lk-site-nav__link:focus-visible::after{transform:scaleX(1)}
.lk-site-nav__link.is-active::after{transform:scaleX(1);opacity:1}
@media (prefers-reduced-motion:reduce){
  .lk-site-head,.lk-site-head__in,.lk-site-head__logo .lk-logo,.lk-site-nav__link::after{transition:none}
}

/* ---------- B2 + 2. Прайс для гостя ---------- */
@media (min-width:768px){
  body.lk-site .lk-price-tools{top:var(--lk-sh);transition:box-shadow var(--lk-dur-2) var(--lk-ease),border-radius var(--lk-dur-2)} /* без перехода padding: JS меряет итоговую высоту */
  body.lk-site:has(.lk-site-head.is-scrolled) .lk-price-tools{top:var(--lk-sh-s)}
  body.lk-site:has(.lk-site-menu-open) .lk-price-tools{top:var(--lk-sh)}
  /* «прилипла» (lk-site.js ставит is-stuck): компактнее, без легенды; разницу высоты гасит margin-bottom из JS */
  body.lk-site .lk-price-tools.is-stuck{padding:10px 12px;gap:10px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 18px 36px -22px rgba(0,0,0,.55)}
  body.lk-site .lk-price-tools.is-stuck .lk-price-legend{display:none}
  body.lk-site .lk-price-tools.is-stuck .lk-chip{min-height:34px}
}
@media (prefers-reduced-motion:reduce){body.lk-site .lk-price-tools{transition:none}}

/* B6. Ряд площадок: прокрутка с «затуханием» у края (has-l/has-r ставит JS), привязка к чипам */
body.lk-site #lk-price-chips{scroll-snap-type:x proximity;scroll-padding-inline:2px;overscroll-behavior-x:contain;padding:2px;margin:-2px}
body.lk-site #lk-price-chips > .lk-chip{scroll-snap-align:start;flex:none}
body.lk-site #lk-price-chips.has-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
body.lk-site #lk-price-chips.has-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
body.lk-site #lk-price-chips.has-l.has-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 56px),transparent)}
body.lk-site #lk-price-chips .lk-chip.is-active,body.lk-site #lk-price-chips .lk-chip[aria-pressed="true"]{background:var(--lk-accent);border-color:var(--lk-accent);color:var(--lk-on-accent,#fff);box-shadow:0 6px 18px -10px var(--lk-accent)}
body.lk-site #lk-price-chips .lk-chip.is-active .lk-chip__count,body.lk-site #lk-price-chips .lk-chip[aria-pressed="true"] .lk-chip__count{color:inherit;opacity:.8;background:rgba(255,255,255,.16)}
body.lk-site #lk-price-chips .lk-chip.is-active .lk-dot{box-shadow:0 0 0 2px rgba(255,255,255,.7)}
@media (prefers-reduced-motion:no-preference){body.lk-site #lk-price-chips{scroll-behavior:smooth}}

/* строки: плотнее (~56px), цены моноширинными цифрами, «Заказать» — тихая, заливается при наведении на строку */
body.lk-site .lk-price-row .lk-num,body.lk-site .lk-price-row__free{font-variant-numeric:tabular-nums}
@media (min-width:768px){
  body.lk-site .lk-price-table td{padding:9px 16px}
  body.lk-site .lk-price-row__title{display:inline}
  body.lk-site .lk-price-row__more{margin:0 0 0 10px;font-size:12.5px;vertical-align:baseline}
  body.lk-site .lk-price-row > td:nth-child(3) b{font-size:15px}
  body.lk-site .lk-price-row .lk-btn{background:transparent;border-color:var(--lk-line);color:var(--lk-muted)!important;box-shadow:none}
  body.lk-site .lk-price-row:hover .lk-btn,body.lk-site .lk-price-row:focus-within .lk-btn{background:var(--lk-brand-grad) border-box;border-color:transparent;color:#fff!important;box-shadow:var(--lk-brand-shadow)}
  body.lk-site .lk-price-table tbody tr.lk-price-row:hover{background:color-mix(in srgb,var(--lk-accent) 5%,transparent)}
}
/* телефон: карточка «ID | цена» / название / «мин–макс | Заказать» */
@media (max-width:767px){
  body.lk-site .lk-price-table tr.lk-price-row{grid-template-areas:"id price" "name name" "mm act";gap:8px 12px;padding:12px 14px}
  body.lk-site .lk-price-row > td:nth-child(3){align-self:center;justify-self:end;text-align:right}
  body.lk-site .lk-price-row > td:nth-child(3) b{font-size:17px;font-weight:700}
  body.lk-site .lk-price-table tr.lk-price-row > td:nth-child(4){text-align:left;align-self:center}
  body.lk-site .lk-price-row > td:nth-child(5){align-self:end}
  body.lk-site .lk-price-row .lk-btn{background:var(--lk-accent-soft);border-color:var(--lk-accent-line);color:var(--lk-text)!important}
}

/* ---------- 3. Вход и регистрация ---------- */
body.lk-site .lk-auth{min-height:0;align-items:stretch}
@media (min-width:960px){
  body.lk-site .lk-auth__main{align-items:flex-start;padding:56px 24px 72px}
  body.lk-site .lk-auth__aside{justify-content:flex-start;padding-top:72px;padding-bottom:72px}
}
@media (max-width:959.98px){
  body.lk-site .lk-auth{grid-template-columns:minmax(0,1fr)}
  body.lk-site .lk-auth__main{padding:24px 16px 8px}
  body.lk-site .lk-auth__aside{padding:20px 16px 28px;gap:12px;border-top:0;background:transparent}
  body.lk-site .lk-auth__aside::before,body.lk-site .lk-auth__aside::after{display:none}
  body.lk-site .lk-auth__aside .lk-kicker,body.lk-site .lk-auth__lead{display:none}
  body.lk-site .lk-auth__title{font:650 15px/1.35 var(--lk-font-ui);letter-spacing:0;color:var(--lk-muted);text-align:center;max-width:none}
  body.lk-site .lk-auth__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:none}
  body.lk-site .lk-auth__fact{flex-direction:row;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--lk-pill)}
  body.lk-site .lk-auth__fact span{display:none}
  body.lk-site .lk-auth__fact .lk-i{width:15px;height:15px}
  body.lk-site .lk-auth__fact b{font-size:13px;font-weight:600}
}
/* живая проверка полей — только после взаимодействия (:user-invalid) */
.lk-auth .lk-input:user-invalid{border-color:var(--lk-danger)}
.lk-auth .lk-input:user-invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--lk-danger) 26%,transparent)}
.lk-auth .lk-input:user-valid:not(:placeholder-shown){border-color:color-mix(in srgb,var(--lk-success) 55%,var(--lk-line))}
.lk-auth .lk-input-group:has(.lk-input:user-invalid) > .lk-i{color:var(--lk-danger)}
/* загрузка: подпись остаётся видна, спиннер слева (lk.css прятал текст; блик lk-motion ломал позицию ::after) */
body.lk-site .lk-btn.is-loading{color:inherit!important;cursor:progress}
body.lk-site .lk-btn--primary.is-loading,body.lk-site .lk-btn--primary.is-loading[disabled]{color:#fff!important;opacity:.9}
body.lk-site .lk-btn.is-loading::after{content:"";position:static;inset:auto;z-index:auto;order:-1;flex:none;width:16px;height:16px;margin:0;border-radius:50%;background:none;border:2px solid currentColor;border-right-color:transparent;transform:none;animation:lk-spin .7s linear infinite;pointer-events:none}
/* индикатор надёжности пароля */
.lk-pwm{display:flex;align-items:center;gap:10px;min-height:18px}
.lk-pwm[hidden]{display:none}
.lk-pwm__bars{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:84px;flex:none}
.lk-pwm__bars i{height:4px;border-radius:2px;background:var(--lk-surface-3);transition:background-color var(--lk-dur-2) var(--lk-ease)}
.lk-pwm[data-lvl="1"] .lk-pwm__bars i:nth-child(1){background:var(--lk-danger)}
.lk-pwm[data-lvl="2"] .lk-pwm__bars i:nth-child(-n+2){background:var(--lk-warning)}
.lk-pwm[data-lvl="3"] .lk-pwm__bars i{background:var(--lk-success)}
.lk-pwm__text{font-size:12.5px;line-height:1.3;color:var(--lk-subtle)}
/* часовой пояс — свёрнут в строку-сводку; select внутри <details> отправляется с формой и без JS */
.lk-tz{margin:-4px 0 0;min-width:0}
.lk-tz__sum{min-width:0;display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer;list-style:none;font-size:13px;color:var(--lk-muted);border-radius:8px}
.lk-tz__sum::-webkit-details-marker{display:none}
.lk-tz__sum > span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-tz__sum .lk-i{width:15px;height:15px;flex:none;color:var(--lk-subtle)}
.lk-tz__sum b{font-weight:600;color:var(--lk-text)}
.lk-tz__edit{margin-left:auto;flex:none;color:var(--lk-accent);text-decoration:underline;text-underline-offset:3px}
.lk-tz[open] .lk-tz__edit{display:none}
.lk-tz .lk-select{margin-top:6px;width:100%}

/* ---------- 4. FAQ ---------- */
body.lk-site .lk-faq__chev{display:none}
/* «+» из двух полосок фоном; поворот на 135° даёт «×» */
body.lk-site .lk-faq__item summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;color:var(--lk-muted);
  background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 12px no-repeat,var(--lk-surface-2);
  transition:transform .36s var(--lk-ease-spring),color var(--lk-dur-2)}
body.lk-site .lk-faq__item[open] summary::after{transform:rotate(135deg);color:var(--lk-accent);
  background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 12px no-repeat,var(--lk-accent-soft)}
body.lk-site .lk-faq__item summary:hover::after{color:var(--lk-text)}
@media (prefers-reduced-motion:reduce){body.lk-site .lk-faq__item summary::after{transition:none}}
body.lk-site .lk-faq__answer{max-width:68ch}
body.lk-site .lk-faq__item summary:focus-visible{outline:none;box-shadow:var(--lk-focus)}
@supports selector(::details-content){
  @media (prefers-reduced-motion:no-preference){
    body.lk-site .lk-faq__list{interpolate-size:allow-keywords}
    body.lk-site .lk-faq__item::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .34s var(--lk-ease-out),opacity .26s var(--lk-ease),content-visibility .34s allow-discrete}
    body.lk-site .lk-faq__item[open]::details-content{block-size:auto;opacity:1}
  }
}
.lk-faq__search{margin-bottom:12px}
.lk-faq__search[hidden],.lk-faq__none[hidden]{display:none}
.lk-faq__none{margin:12px 2px 0;font-size:14px}
.lk-faq__item[hidden]{display:none}

/* ---------- B4. Блог: карточка-ссылка целиком, заглушка обложки, 3 строки анонса ---------- */
body.lk-site .lk-blog__card{position:relative}
body.lk-site .lk-blog__link{text-decoration:none!important}
body.lk-site .lk-blog__link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
body.lk-site .lk-blog__link:focus-visible{box-shadow:none}
body.lk-site .lk-blog__card:has(.lk-blog__link:focus-visible){box-shadow:var(--lk-focus);border-color:var(--lk-accent)}
body.lk-site .lk-blog__meta a{position:relative;z-index:2}
body.lk-site .lk-blog__card:hover .lk-blog__title a{color:var(--lk-accent)!important}
body.lk-site .lk-blog__title a{transition:color var(--lk-dur-1)}
body.lk-site .lk-blog__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
body.lk-site .lk-blog__img{position:relative}
body.lk-site .lk-blog__img.is-broken img{display:none}
body.lk-site .lk-blog__img.is-broken{background:
  radial-gradient(120% 90% at 85% 0%,color-mix(in srgb,var(--lk-brand-b) 38%,transparent),transparent 60%),
  radial-gradient(90% 90% at 0% 100%,color-mix(in srgb,var(--lk-brand-a) 42%,transparent),transparent 62%),
  var(--lk-surface-2)}
body.lk-site .lk-blog__img.is-broken::after{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(var(--lk-line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--lk-line-soft) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%)}
.lk-blog__ph{display:none}
body.lk-site .lk-blog__img.is-broken .lk-blog__ph{display:block;position:absolute;left:18px;right:18px;bottom:16px;z-index:1;font:700 clamp(18px,1.7vw,22px)/1.1 var(--lk-font-display);letter-spacing:-.025em;color:var(--lk-text);opacity:.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body.lk-site .lk-blog__card:nth-child(3n+2) .lk-blog__img.is-broken{background:
  radial-gradient(110% 90% at 0% 0%,color-mix(in srgb,var(--lk-brand-a) 40%,transparent),transparent 60%),
  radial-gradient(90% 90% at 100% 100%,color-mix(in srgb,var(--lk-brand-b) 34%,transparent),transparent 62%),
  var(--lk-surface-2)}
body.lk-site .lk-blog__card:nth-child(3n) .lk-blog__img.is-broken{background:
  radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--lk-accent) 36%,transparent),transparent 62%),
  radial-gradient(80% 80% at 100% 100%,color-mix(in srgb,var(--lk-brand-b) 28%,transparent),transparent 60%),
  var(--lk-surface-2)}
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
  body.lk-site .lk-blog__img.is-broken .lk-blog__ph{transition:transform var(--lk-dur-3) var(--lk-ease-out)}
  body.lk-site .lk-blog__card:hover .lk-blog__img.is-broken .lk-blog__ph{transform:translateY(-3px)}
  body.lk-site .lk-blog__img img{transition:transform var(--lk-dur-3) var(--lk-ease-out)}
  body.lk-site .lk-blog__card:hover .lk-blog__img img{transform:scale(1.04)}
}

/* ---------- 5. Подвал: компактнее, на телефоне — разделы-аккордеоны ---------- */
body.lk-site .lk-site-foot{padding:40px 0 22px}
body.lk-site .lk-site-foot__grid{gap:24px}
body.lk-site .lk-site-foot__brand{gap:12px}
body.lk-site .lk-site-foot__logo .lk-logo{height:38px}
body.lk-site .lk-site-foot__bottom{margin-top:28px;padding-top:18px}
/* тема и язык уже есть в шапке; язык в шапке скрыт только ≤420px — там и оставляем его в подвале */
.lk-site-foot__prefs .lk-theme-toggle{display:none}
@media (min-width:421px){.lk-site-foot__prefs{display:none}}
.lk-site-foot__acc > summary{list-style:none}
.lk-site-foot__acc > summary::-webkit-details-marker{display:none}
.lk-site-foot__links{display:flex;flex-direction:column;gap:10px}
.lk-site-foot__col > .lk-site-foot__acc{display:block}
@media (min-width:768px){
  .lk-js .lk-site-foot__acc > summary{cursor:default;pointer-events:none}
  .lk-site-foot__acc > .lk-site-foot__title{margin-bottom:12px}
}
@media (max-width:767.98px){
  body.lk-site .lk-site-foot__grid{grid-template-columns:1fr;gap:0}
  body.lk-site .lk-site-foot__brand{margin-bottom:16px}
  .lk-site-foot__col{border-top:1px solid var(--lk-line-soft)}
  .lk-site-foot__col:last-child{border-bottom:1px solid var(--lk-line-soft)}
  .lk-site-foot__acc > summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin:0;cursor:pointer}
  .lk-site-foot__acc > summary::after{content:"";width:8px;height:8px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--lk-dur-2) var(--lk-ease-out);opacity:.6}
  .lk-site-foot__acc[open] > summary::after{transform:translateY(2px) rotate(-135deg)}
  .lk-site-foot__links{padding:0 0 14px}
}
@media (max-width:767.98px) and (pointer:coarse){.lk-site-foot__links{gap:0}}

/* ---------- B3. Код подтверждения сайта в подвале — в разметке есть, глазу не мешает ---------- */
.lk-site-foot__verify.lk-sr{position:absolute!important}

/* ---------- 6. Cookie: на телефоне — полоса во всю ширину, кнопки в ряд; появление с задержкой (consent.php) ---------- */
.lk-cookie:not(.is-in){pointer-events:none}
@media (max-width:600px){
  body.lk-site .lk-cookie{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;transform:translateY(calc(100% + 16px));flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45}
  body.lk-site .lk-cookie.is-in{transform:none}
  body.lk-site .lk-cookie__btns{flex-wrap:nowrap}
  body.lk-site .lk-cookie__btns .lk-btn{flex:1 1 0;min-width:0}
}
@media (max-width:600px) and (prefers-reduced-motion:reduce){body.lk-site .lk-cookie,body.lk-site .lk-cookie.is-in{transform:none}}

/* ---------- 7. Появление при прокрутке (lk-site.js ставит html.lk-rv, на главной не работает) ---------- */
@media (prefers-reduced-motion:no-preference){
  html.lk-rv .lk-rv-i{opacity:0;translate:0 14px}
  html.lk-rv .lk-rv-i.is-in{opacity:1;translate:0 0;transition:opacity var(--lk-dur-3) var(--lk-ease-out),translate var(--lk-dur-3) var(--lk-ease-out);transition-delay:var(--lk-rv-d,0ms)}
  html.lk-rv .lk-rv-g:not(.is-in) > .lk-price-group__head{opacity:0;translate:0 8px}
  html.lk-rv .lk-rv-g.is-in > .lk-price-group__head{transition:opacity var(--lk-dur-3) var(--lk-ease-out),translate var(--lk-dur-3) var(--lk-ease-out)}
}
@media print{html.lk-rv .lk-rv-i,html.lk-rv .lk-rv-g > .lk-price-group__head{opacity:1!important;translate:none!important}}

/* r12: полупрозрачная шапка — только где есть color-mix */
@supports (background:color-mix(in srgb,#000 74%,transparent)){.lk-site-head.is-scrolled{background:color-mix(in srgb,var(--lk-bg) 74%,transparent)}}
/* r12 (ревью Astra): сфокусированный с клавиатуры блок показываем сразу */
html.lk-rv .lk-rv-i:focus-within,html.lk-rv .lk-rv-g:focus-within > .lk-price-group__head{opacity:1!important;translate:none!important;transition:none!important}
