/* Витрина системы записи (ТЗ 16, решения 07.10.2026). Только светлая тема, цвета – нежно-неоновые,
   как у новой админ-панели. Шрифт Manrope, иконки Phosphor. */

@font-face{font-family:'Manrope';font-weight:200 800;font-display:swap;src:url("/static/fonts/manrope-cyrillic.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Manrope';font-weight:200 800;font-display:swap;src:url("/static/fonts/manrope-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  color-scheme:light;
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bg:#FFFFFF; --bg-2:#F6F8FC; --surface:#FFFFFF; --line:#DFE5EE; --line-2:#C9D2DF;
  --text:#0F1729; --text-2:#525C6E; --text-3:#7D8798;
  --accent:#2B6CD8; --accent-hover:#2360C4; --accent-soft:#E8F0FC; --accent-ink:#163C7C;
  --danger:#D03A3A; --danger-soft:#FDEEEE; --ok:#1C8550;
  --neon-blue:#5B9DFF; --neon-aqua:#3FD7E6; --neon-violet:#A884FF; --neon-pink:#FF7EC4;
  --r-sm:12px; --r-md:16px; --r-lg:24px; --r-xl:32px;
  --shadow:0 1px 2px rgba(19,40,82,.05),0 10px 30px rgba(19,40,82,.07);
  --shadow-lg:0 2px 6px rgba(19,40,82,.06),0 30px 80px rgba(19,40,82,.14);
  --ease:cubic-bezier(.22,.8,.24,1);
  --head-h:76px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 12px);background:var(--bg);}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:#D5E4FC;color:var(--text);}
html{scrollbar-color:var(--line-2) transparent;}
a{color:inherit;}
svg{fill:currentColor;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;}
[hidden]{display:none !important;}
html.v-locked{overflow:hidden;}
h1,h2,h3{margin:0;text-wrap:balance;}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:800;margin-bottom:28px;}
p{margin:0;}
.v-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px);}
.v-text{max-width:60ch;color:var(--text-2);font-size:18px;}
.v-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--text);color:#fff;text-decoration:none;}
.v-skip:focus{top:12px;}

/* ---------- кнопки ---------- */
.v-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border-radius:var(--r-sm);
  border:1px solid transparent;font:700 15px/1 var(--font);text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background-color .18s,border-color .18s,color .18s,transform .12s,box-shadow .18s;}
.v-btn svg{width:18px;height:18px;transition:transform .2s var(--ease);}
.v-btn:hover svg{transform:translateX(3px);}
.v-btn:active{transform:translateY(1px);}
.v-btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(19,40,82,.14),0 8px 20px rgba(43,108,216,.22);}
.v-btn-primary:hover{background:var(--accent-hover);}
.v-btn-ghost{background:var(--surface);border-color:var(--line-2);color:var(--text);}
.v-btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.v-btn-danger{background:var(--surface);border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger);}
.v-btn-danger:hover{background:var(--danger-soft);}

/* ---------- шапка ---------- */
.v-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(16px) saturate(1.8);backdrop-filter:blur(16px) saturate(1.8);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s;}
.v-head.scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px rgba(19,40,82,.05);}
.v-head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--head-h);}
.v-brand{font-weight:800;font-size:15px;line-height:1.15;letter-spacing:-.01em;text-decoration:none;color:var(--text);white-space:nowrap;}
.v-nav{display:flex;gap:4px;}
.v-nav a{padding:9px 14px;border-radius:10px;color:var(--text-2);font-weight:600;font-size:15px;text-decoration:none;transition:background-color .18s,color .18s;}
.v-nav a:hover{background:var(--bg-2);color:var(--text);}
.v-nav a.on{color:var(--accent);background:var(--accent-soft);}
.v-head-cta{min-height:42px;}
.v-burger{display:none;position:relative;width:42px;height:42px;margin-left:auto;padding:0;border:0;border-radius:12px;background:var(--bg-2);color:var(--text);cursor:pointer;}
.v-burger span{position:absolute;left:12px;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease);}
.v-burger span:nth-child(1){top:14px;} .v-burger span:nth-child(2){top:20px;} .v-burger span:nth-child(3){top:26px;}
.v-burger[aria-expanded="true"] span:nth-child(1){top:20px;transform:rotate(45deg);}
.v-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.v-burger[aria-expanded="true"] span:nth-child(3){top:20px;transform:rotate(-45deg);}
.v-scrim{position:fixed;inset:0;z-index:35;background:rgba(15,23,41,.32);}

/* ---------- первый экран ---------- */
.v-hero{position:relative;padding:clamp(40px,6vw,72px) 0 clamp(56px,7vw,96px);overflow:hidden;isolation:isolate;}
/* панель на весь экран – над шапкой: на это время первый экран не держит ее в своем слое */
html.v-locked .v-hero{isolation:auto;}
.v-hero h1{font-size:clamp(34px,4.6vw,62px);line-height:1.05;letter-spacing:-.035em;font-weight:800;max-width:16ch;}
.v-hero h1 span{color:var(--accent);}
.v-lead{max-width:46ch;margin-top:18px;color:var(--text-2);font-size:clamp(16px,1.3vw,18px);line-height:1.55;}
/* Нежно-неоновое свечение за демо – медленно плывет. Каждый круг гаснет к своему краю сам
   (радиальный градиент до прозрачного), поэтому нигде не обрывается: ни у нижнего края экрана, ни под подписью */
.v-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.v-glow i{position:absolute;border-radius:50%;animation:glow 22s ease-in-out infinite alternate;}
.v-glow i:nth-child(1){width:760px;height:760px;left:-260px;top:120px;background:radial-gradient(closest-side,rgba(91,157,255,.42),rgba(91,157,255,.16) 55%,rgba(91,157,255,0));}
.v-glow i:nth-child(2){width:700px;height:700px;right:-220px;top:-40px;background:radial-gradient(closest-side,rgba(168,132,255,.4),rgba(168,132,255,.14) 55%,rgba(168,132,255,0));animation-delay:-7s;}
.v-glow i:nth-child(3){width:640px;height:640px;left:34%;bottom:40px;background:radial-gradient(closest-side,rgba(63,215,230,.32),rgba(63,215,230,.1) 55%,rgba(63,215,230,0));animation-delay:-14s;}
@keyframes glow{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(50px,-30px,0) scale(1.06);}}

.v-demo{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start;margin-top:clamp(32px,4vw,48px);}
.v-demo-strip{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin:0;padding:9px 16px;
  border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);color:var(--accent-ink);font-size:15px;font-weight:700;text-align:center;
  background:linear-gradient(90deg,rgba(91,157,255,.16),rgba(168,132,255,.14) 50%,rgba(63,215,230,.16));}
.v-demo-strip svg{flex:none;width:20px;height:20px;color:var(--accent);}
.v-window{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);}
.v-window.full{position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none;}
.v-window.full .v-admin{flex:1;height:auto;min-height:0;}
.v-window-bar{display:flex;align-items:center;gap:10px;height:42px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg-2);
  font-size:13px;font-weight:700;color:var(--text-2);}
.v-dots{display:inline-flex;gap:6px;margin-right:6px;}
.v-dots i{width:10px;height:10px;border-radius:50%;background:var(--line-2);}
.v-pill{padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:800;}
.v-full{display:inline-flex;align-items:center;gap:7px;height:30px;margin-left:auto;padding:0 12px;border:0;border-radius:9px;background:var(--accent);color:#fff;
  font:700 13px/1 var(--font);white-space:nowrap;cursor:pointer;box-shadow:0 4px 12px rgba(43,108,216,.28);transition:background-color .18s,transform .12s;}
.v-full:hover{background:var(--accent-hover);}
.v-full:active{transform:translateY(1px);}
.v-full svg{width:16px;height:16px;}
.v-admin{display:block;width:100%;height:640px;border:0;background:var(--bg-2);border-radius:0 0 calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px);}
.v-window.full .v-admin{border-radius:0;}
.v-demo-note{margin-top:18px;font-size:14px;color:var(--text-2);}

/* ---------- окно записи (booking.js) ---------- */
.v-booking{display:flex;flex-direction:column;gap:12px;}
.bw{--on-accent:#FFFFFF;display:flex;flex-direction:column;height:682px;border-radius:var(--r-xl);background:var(--surface);color:var(--text);border:1px solid var(--line);
  box-shadow:var(--shadow-lg);overflow:hidden;transition:background-color .25s,border-color .25s;}
.bw[data-theme="dark"]{color-scheme:dark;--surface:#141922;--bg-2:#1A202B;--line:#2E3644;--line-2:#46526A;--text:#E9EDF3;--text-2:#9BA5B6;--text-3:#8590A1;
  --accent:#6EA8F7;--accent-hover:#8BBAF9;--on-accent:#0A1324;--accent-soft:#162540;--accent-ink:#C3D8FB;--danger:#F07575;--danger-soft:#3A1C20;--ok:#5DCB92;}
.bw-theme{flex:none;display:grid;place-items:center;width:36px;height:36px;margin-left:auto;padding:0;border:1px solid var(--line);border-radius:50%;
  background:var(--surface);color:var(--text-2);cursor:pointer;transition:color .2s,border-color .2s;}
.bw-theme:hover{color:var(--accent);border-color:var(--accent);}
.bw-theme svg{width:18px;height:18px;}
/* смена темы окна записи: новая тема открывается кругом поверх старой (booking.js) */
::view-transition-group(booking-theme){animation:none;}
::view-transition-old(booking-theme),::view-transition-new(booking-theme){animation:none;mix-blend-mode:normal;}
.bw-head{display:flex;align-items:center;gap:10px;padding:18px 18px 10px;}
.bw-back{flex:none;width:36px;height:36px;}
.bw-back{display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--bg-2);color:var(--text);cursor:pointer;}
.bw-back:hover{background:var(--accent-soft);color:var(--accent);}
.bw-back svg{width:18px;height:18px;}
.bw-step{display:block;font-size:12px;font-weight:700;color:var(--text-3);}
.bw-title{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.2;}
.bw-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0 18px 12px;}
.bw-bars i{height:4px;border-radius:4px;background:var(--line);transition:background-color .3s;}
.bw-bars i.on{background:var(--accent);}
.bw-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 14px 14px;scrollbar-width:thin;}
.bw-foot{padding:12px 14px 14px;border-top:1px solid var(--line);}
.bw-main{width:100%;min-height:50px;border:0;border-radius:14px;background:var(--accent);color:var(--on-accent);font:800 15px/1 var(--font);cursor:pointer;transition:background-color .18s,opacity .18s;}
.bw-main:hover:not(:disabled){background:var(--accent-hover);}
.bw-main:disabled{opacity:.38;cursor:not-allowed;}
.bw-main.danger{background:var(--danger);}
.bw-option{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;
  background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;}
.bw-option:hover{border-color:var(--line-2);}
.bw-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);}
.bw-option-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bw-option-main b{font-size:15px;font-weight:700;line-height:1.3;}
.bw-option-main span{font-size:13px;color:var(--text-2);line-height:1.35;}
.bw-option-side{flex:none;font-size:14px;font-weight:700;color:var(--text);}
.bw-check .bw-box{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);transition:background-color .15s,border-color .15s;}
.bw-check.selected .bw-box{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='white' d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center/13px no-repeat;}
.bw[data-theme="dark"] .bw-check.selected .bw-box{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%230A1324' d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E");}
.bw-group{margin-bottom:10px;}
.bw-group-title{margin:6px 2px 8px;font-size:13px;font-weight:800;color:var(--text-2);}
.bw-hint{margin:2px 2px 12px;font-size:13px;color:var(--text-2);line-height:1.5;}
.bw-note{margin:10px 2px 0;font-size:13px;color:var(--text-2);}
.bw-error{margin:10px 2px 0;font-size:13px;color:var(--danger);font-weight:600;}
.bw-ava{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--bg-2);}
.bw-ava-any{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);}
.bw-ava-any svg{width:22px;height:22px;}
.bw-days{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none;}
.bw-days::-webkit-scrollbar{display:none;}
.bw-day{flex:none;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font:700 13px/1 var(--font);cursor:pointer;}
.bw-day.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent);}
.bw-day:disabled{opacity:.4;cursor:not-allowed;}
.bw-times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.bw-time{position:relative;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:700 14px/1 var(--font);cursor:pointer;font-variant-numeric:tabular-nums;}
.bw-time:hover{border-color:var(--line-2);}
.bw-time.nice{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--accent-soft);color:var(--accent-ink);}
.bw-time.nice::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.bw-time.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent);}
.bw-time.selected::after{background:var(--on-accent);}
.bw-legend{display:flex;align-items:center;gap:8px;margin:12px 2px 0;font-size:12px;color:var(--text-2);}
.bw-legend i{width:8px;height:8px;border-radius:50%;background:var(--accent);}
.bw-loading{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;}
.bw-loading i{height:42px;border-radius:12px;background:linear-gradient(90deg,var(--bg-2),var(--line),var(--bg-2));background-size:200% 100%;animation:shimmer 1.2s linear infinite;}
@keyframes shimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
.bw-field{display:block;margin:12px 2px 0;}
.bw-field span{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--text-2);}
.bw-field input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line-2);border-radius:12px;font:500 16px var(--font);color:var(--text);background:var(--surface);}
.bw-field input::placeholder{color:#7A8496;}
.bw-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.bw-field input::placeholder{color:var(--text-3);}
.bw-summary{display:grid;gap:8px;padding:14px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);}
.bw-summary div{display:flex;justify-content:space-between;gap:12px;font-size:14px;}
.bw-summary span{color:var(--text-2);}
.bw-summary b{text-align:right;font-weight:700;}
.bw-done{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 6px 16px;text-align:center;}
.bw-done p{font-size:14px;color:var(--text-2);}
.bw-done-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok);animation:pop .45s var(--ease);}
.bw-done-icon svg{width:30px;height:30px;}
.bw-cancelled .bw-done-icon{background:var(--danger-soft);color:var(--danger);}
@keyframes pop{from{transform:scale(.6);opacity:0;}to{transform:none;opacity:1;}}
.bw-code{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);}
.bw-code span{font-size:13px;color:var(--text-2);}
.bw-code b{font-size:clamp(19px,5.6vw,24px);letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--accent-ink);flex:1;white-space:nowrap;}
.bw-copy{border:0;border-radius:10px;padding:8px 12px;background:var(--surface);color:var(--accent);font:700 13px var(--font);cursor:pointer;}
.bw-after{display:grid;grid-template-columns:1fr 1fr;gap:10px;animation:rise .4s var(--ease);}
.bw-after .v-btn{width:100%;padding:0 12px;}
@keyframes rise{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.bw-after .v-btn[hidden] + .v-btn{grid-column:1 / -1;}

/* ---------- разделы ---------- */
.v-section{padding:clamp(64px,8vw,112px) 0;}
.v-tint{background:var(--bg-2);}

/* карточки с живым фоном (cards.js): разные размеры, текст на матовой подложке */
.v-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.v-card{position:relative;grid-column:span 2;min-height:280px;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  display:flex;align-items:flex-end;padding:12px;background:var(--fallback);box-shadow:var(--shadow);}
.v-card-xl{grid-column:span 4;min-height:320px;}
.v-card-xl + .v-card{min-height:320px;}
.v-card-wide{grid-column:span 6;min-height:220px;}
.v-card-canvas{position:absolute;inset:0;z-index:-1;width:100%;height:100%;opacity:0;transition:opacity .8s ease;}
.v-card.live .v-card-canvas{opacity:1;}
.v-card[data-palette="blue"]{--fallback:radial-gradient(70% 90% at 20% 20%,#9CC3FF,transparent 70%),radial-gradient(60% 80% at 85% 70%,#5B8DEF,transparent 70%),#DCE9FF;}
.v-card[data-palette="aqua"]{--fallback:radial-gradient(70% 90% at 20% 20%,#9AF0F2,transparent 70%),radial-gradient(60% 80% at 85% 70%,#33C3D6,transparent 70%),#D8F8F8;}
.v-card[data-palette="violet"]{--fallback:radial-gradient(70% 90% at 20% 20%,#D6C7FF,transparent 70%),radial-gradient(60% 80% at 85% 70%,#9C7CF6,transparent 70%),#EEE8FF;}
.v-card[data-palette="pink"]{--fallback:radial-gradient(70% 90% at 20% 20%,#FFC7E6,transparent 70%),radial-gradient(60% 80% at 85% 70%,#F06AB0,transparent 70%),#FFE6F3;}
.v-card[data-palette="green"]{--fallback:radial-gradient(70% 90% at 20% 20%,#A8F0CF,transparent 70%),radial-gradient(60% 80% at 85% 70%,#34C48C,transparent 70%),#DBF7EA;}
.v-card[data-palette="orange"]{--fallback:radial-gradient(70% 90% at 20% 20%,#FFD2AE,transparent 70%),radial-gradient(60% 80% at 85% 70%,#F7914D,transparent 70%),#FFEBDD;}
.v-card-body{display:flex;flex-direction:column;width:100%;padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 20px rgba(19,40,82,.08);}
.v-card-xl .v-card-body,.v-card-wide .v-card-body{max-width:560px;}
.v-card-icon{display:block;width:30px;height:30px;margin-bottom:12px;color:var(--text);}
.v-card h3{font-size:21px;font-weight:800;letter-spacing:-.015em;line-height:1.2;}
.v-card-xl h3{font-size:26px;}
.v-card p{margin-top:8px;font-size:15px;line-height:1.55;color:#38425A;}
.v-card p.v-card-note{margin-top:auto;padding-top:12px;font-size:12.5px;line-height:1.45;color:#56607A;}

.v-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:stretch;}
.v-who{display:flex;flex-direction:column;justify-content:space-between;gap:28px;}
.v-who h2{margin:0;}
.v-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.v-chips li{padding:9px 15px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:15px;font-weight:600;}
/* блок с галочками: содержимое посередине по высоте – от заголовка до верха столько же, сколько от последнего пункта до низа */
.v-panel{display:flex;flex-direction:column;justify-content:center;padding:28px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);}
.v-panel h3{font-size:21px;font-weight:800;margin-bottom:16px;}
.v-list{margin:0;padding:0;list-style:none;display:grid;gap:12px;}
.v-list li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45;}
.v-list svg{flex:none;width:22px;height:22px;color:var(--accent);margin-top:1px;}

/* галерея: карусель Squeeze (vitrina.js) – открытый скриншот целиком, следом колонки и полоски */
.v-shots-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;}
.v-shots-head h2{margin:0;}
.v-arrows{display:flex;gap:8px;}
.v-arrow{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--text);
  cursor:pointer;transition:border-color .18s,color .18s,background-color .18s;}
.v-arrow:hover{border-color:var(--accent);color:var(--accent);}
.v-arrow:active{background:var(--accent-soft);}
.v-arrow svg{width:20px;height:20px;}
.v-sq{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:28px;align-items:center;}
.v-sq-stage{position:relative;height:400px;overflow:hidden;touch-action:pan-y;}
.v-sq-card{position:absolute;top:0;left:0;height:100%;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg-2);
  cursor:pointer;transition:transform .7s cubic-bezier(.16,1,.3,1),width .7s cubic-bezier(.16,1,.3,1),border-radius .4s;}
/* скриншот всегда одного размера и по центру карточки: колонка показывает его середину, при открытии он не прыгает */
.v-sq-card img{position:absolute;top:0;left:50%;display:block;height:100%;max-width:none;transform:translateX(-50%);user-select:none;-webkit-user-drag:none;}
.v-sq-card::after{content:"";position:absolute;inset:0;background:rgba(15,23,41,.06);transition:background-color .3s;pointer-events:none;}
.v-sq-card:hover::after,.v-sq-card.is-open::after{background:transparent;}
.v-sq-card.is-open{cursor:zoom-in;box-shadow:var(--shadow);}
.v-sq-card.is-slat{border-radius:4px;}
.v-sq-zoom{position:absolute;right:12px;bottom:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;
  background:rgba(15,23,41,.74);color:#fff;font-size:13px;font-weight:700;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;pointer-events:none;}
.v-sq-zoom svg{width:16px;height:16px;}
.v-sq-card.is-open .v-sq-zoom{opacity:1;transform:none;transition-delay:.3s;}
/* узкий экран: открытый скриншот вписан в карточку целиком, остальные – полоски справа */
.v-sq-stage.narrow .v-sq-card img{left:0;width:100%;transform:none;object-fit:contain;}
.v-sq-stage.narrow .v-sq-card.is-slat img{opacity:0;}
.v-sq-list{display:grid;gap:2px;margin:0;padding:0;list-style:none;}
.v-sq-list button{display:block;width:100%;padding:7px 12px;border:0;border-left:3px solid var(--line);border-radius:0 10px 10px 0;background:none;
  color:var(--text-2);font:600 14px/1.38 var(--font);text-align:left;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s;}
.v-sq-list button:hover{color:var(--text);background:var(--bg-2);}
.v-sq-list button.on{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:800;}
.v-lightbox{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:rgba(15,23,41,.82);}
.v-lightbox img{max-width:min(1400px,100%);max-height:84vh;border-radius:14px;box-shadow:var(--shadow-lg);}
.v-lightbox p{color:#E6ECF5;font-weight:600;}
.v-lightbox-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;}
.v-lightbox-close svg{width:22px;height:22px;}

/* как работает */
.v-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 40px;padding:0;list-style:none;counter-reset:step;}
.v-steps li{position:relative;padding:24px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}
.v-steps li::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:36px;height:36px;margin-bottom:16px;border-radius:12px;
  background:var(--accent-soft);color:var(--accent);font-weight:800;}
.v-steps h3{font-size:19px;font-weight:800;margin-bottom:8px;}
.v-steps p{font-size:15px;color:var(--text-2);}
.v-how-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch;}
.v-compare{display:grid;grid-auto-rows:1fr;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);overflow:hidden;}
.v-compare-row{display:grid;grid-template-columns:.8fr 1fr 1fr;}
.v-compare-row + .v-compare-row{border-top:1px solid var(--line);}
.v-compare-row span{display:flex;align-items:center;padding:14px 18px;font-size:15px;line-height:1.45;}
.v-compare-row span:first-child{font-weight:700;}
.v-compare-row span:last-child{background:var(--accent-soft);color:var(--accent-ink);font-weight:700;}
.v-compare-head span{font-weight:800;color:var(--text-2);}
.v-compare-head span:last-child{color:var(--accent-ink);}
/* Вопросы – ровно высотой с таблицу: свой размер в высоту ряда не вносят (contain), открытый вопрос забирает
   все оставшееся место. Поэтому при смене вопроса блок не растет и не сжимается – меняется только то, что внутри */
.v-faq{display:flex;flex-direction:column;gap:10px;contain:size;}
.v-faq details{flex:none;}
.v-faq details[open]{flex:1 1 auto;min-height:0;overflow:auto;}
.v-faq details{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);padding:0 18px;transition:box-shadow .2s;}
.v-faq details[open]{box-shadow:var(--shadow);}
.v-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;font-weight:700;cursor:pointer;list-style:none;}
.v-faq summary::-webkit-details-marker{display:none;}
.v-faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--text-3);border-bottom:2px solid var(--text-3);transform:rotate(45deg) translateY(-3px);transition:transform .25s var(--ease);}
.v-faq details[open] summary::after{transform:rotate(-135deg) translateY(-3px);}
.v-faq details[open] summary{cursor:default;}
.v-faq p{padding:0 0 16px;color:var(--text-2);font-size:15px;}
.v-faq p:has(+ .v-faq-note){padding-bottom:6px;}
.v-faq .v-faq-note{font-size:13px;color:var(--text-3);}

/* партнерам */
.v-partners{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:stretch;}
.v-partners-text{display:flex;flex-direction:column;align-items:flex-start;}
.v-partners-text h2{margin:0 0 16px;}
.v-partners .v-btn{margin-top:auto;}
.v-deal{display:grid;gap:14px;}
.v-deal-card{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;padding:22px 24px;border-radius:var(--r-lg);
  background:linear-gradient(135deg,#F3F7FF,#FFFFFF 60%);border:1px solid var(--line);box-shadow:var(--shadow);}
.v-deal-card svg{grid-row:span 2;width:44px;height:44px;padding:10px;border-radius:14px;background:var(--accent-soft);color:var(--accent);}
.v-deal-card b{font-size:20px;font-weight:800;letter-spacing:-.01em;}
.v-deal-card span{font-size:15px;color:var(--text-2);}

/* контакты */
/* контакты – на белом, без свечения (решение 08.10.2026) */
.v-contacts{background:var(--bg);}
.v-contact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;}
.v-contact{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-decoration:none;
  box-shadow:var(--shadow);transition:transform .2s var(--ease),border-color .2s;}
.v-contact:hover{transform:translateY(-2px);border-color:var(--accent);}
.v-contact svg{flex:none;width:28px;height:28px;color:var(--accent);}
.v-contact span{display:flex;flex-direction:column;font-size:15px;color:var(--text-2);min-width:0;overflow-wrap:anywhere;}
.v-contact b{color:var(--text);font-size:17px;}

/* подвал – по образцу rvdcode.pro */
.v-foot{padding:64px 0 32px;border-top:1px solid var(--line);}
/* блоки подвала на равных расстояниях: первый у левого края, «Контакты» (самая длинная строка – почта) у правого */
.v-foot-top{display:flex;justify-content:space-between;gap:32px;}
.v-foot-ask{display:flex;flex-direction:column;width:max-content;max-width:100%;}
.v-foot-ask p{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:18px;}
.v-foot-ask .v-btn{width:100%;}
.v-foot-col{display:flex;flex-direction:column;gap:10px;}
.v-foot-col p{font-size:13px;font-weight:800;color:var(--text-3);margin-bottom:4px;}
.v-foot-col a{color:var(--text-2);text-decoration:none;font-size:15px;width:max-content;max-width:100%;}
.v-foot-col a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.v-foot-col a.hl{color:var(--accent);font-weight:700;}
.v-foot-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);}
.v-foot-bottom p{font-size:13px;color:var(--text-3);text-align:right;line-height:1.6;}

/* ---------- планшет и телефон ---------- */
@media (max-width:1080px){
  .v-demo{grid-template-columns:minmax(0,1fr) 360px;}
  .v-steps{grid-template-columns:repeat(2,1fr);}
  .v-how-grid{grid-template-columns:1fr;}
  .v-faq{contain:none;}
  .v-faq details[open]{flex:none;overflow:visible;}
  .v-foot-top{display:grid;grid-template-columns:1fr 1fr;}
}
@media (max-width:960px){
  :root{--head-h:64px;}
  .v-nav{position:fixed;left:0;right:0;top:var(--head-h);z-index:38;flex-direction:column;gap:2px;margin:0;padding:12px 16px 18px;
    background:var(--surface);border-bottom:1px solid var(--line);border-radius:0 0 24px 24px;box-shadow:var(--shadow-lg);
    transform:translateY(calc(-100% - var(--head-h)));visibility:hidden;transition:transform .34s var(--ease),visibility 0s linear .34s;}
  .v-nav.open{transform:none;visibility:visible;transition:transform .34s var(--ease),visibility 0s;}
  .v-nav a{padding:14px 12px;font-size:17px;}
  .v-burger{display:block;}
  .v-head-cta{display:none;}
  .v-demo{grid-template-columns:1fr;}
  .v-booking{order:-1;max-width:460px;width:100%;margin:0 auto;}
  .v-demo-strip{order:-2;}
  .v-sq{grid-template-columns:1fr;gap:16px;}
  .v-sq-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;}
  .v-sq-list::-webkit-scrollbar{display:none;}
  .v-sq-list li{flex:none;}
  .v-sq-list button{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;white-space:nowrap;}
  .v-sq-list button.on{border-color:var(--accent);}
  .v-admin{height:620px;}
  .v-split,.v-partners{grid-template-columns:1fr;}
  .v-bento{grid-template-columns:1fr 1fr;}
  .v-card,.v-card-xl{grid-column:span 1;min-height:260px;}
  .v-card-xl,.v-card-wide{grid-column:1 / -1;}
  .v-contact-list{grid-template-columns:1fr;}
}
@media (max-width:620px){
  body{font-size:16px;}
  .v-bento{grid-template-columns:1fr;}
  .v-steps{grid-template-columns:1fr;}
  /* на телефоне в полосе окна место только для названия и кнопки «на весь экран» */
  .v-dots,.v-window-bar .v-pill{display:none;}
  .v-window-bar{padding:0 10px 0 14px;}
  .v-compare-row{grid-template-columns:1fr 1fr;}
  .v-compare-row span:first-child{grid-column:1 / -1;padding-bottom:4px;}
  .v-compare-head span:first-child{display:none;}
  .v-foot-top{grid-template-columns:1fr;}
  .v-foot-bottom{flex-direction:column;align-items:flex-start;}
  .v-foot-bottom p{text-align:left;}
  .bw{height:640px;}
  .v-admin{height:600px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}

/* ---------- страница 404 ---------- */
.v-404 .v-section{padding:clamp(72px,12vw,160px) 0;}
.v-404-code{font-size:clamp(64px,10vw,120px);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--accent-soft);
  -webkit-text-stroke:2px color-mix(in srgb,var(--accent) 35%,transparent);margin-bottom:12px;}
.v-404 h1{font-size:clamp(32px,4.2vw,54px);line-height:1.08;letter-spacing:-.03em;font-weight:800;}
/* кнопки – ровно шириной строки под заголовком, обе одного размера, текст посередине */
.v-404-box{display:inline-grid;max-width:100%;}
.v-404-box .v-lead{max-width:none;}
.v-404-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;}
.v-404-actions .v-btn{width:100%;padding:0 12px;justify-content:center;}
@media (max-width:620px){.v-404-actions{grid-template-columns:1fr;}}
