:root{--indigo:#5b4de0;--indigo-deep:#42339f;--indigo-soft:#edebff;--lime:#d8f34f;--lime-ink:#2a3505;--ink:#111118;--ink-2:#44444f;--muted:#8a8a96;--bg:#f4f4f8;--card:#fff;--ok:#1f8a4c;--ok-bg:#e6f6ec;--err:#c8322b;--err-bg:#fbe9e7;--disp:'Unbounded',sans-serif;--sans:'Golos Text',-apple-system,BlinkMacSystemFont,sans-serif;--r:16px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);min-height:100dvh;line-height:1.4;-webkit-font-smoothing:antialiased}
.wrap{max-width:440px;margin:0 auto;padding:14px 16px calc(28px + env(safe-area-inset-bottom))}
a{color:var(--indigo)}
/* шапка */
.top{display:flex;align-items:center;gap:12px;padding:6px 0 16px}
.top img{height:34px;width:auto}
.top .pt{font:600 11px/1 var(--disp);letter-spacing:.06em;color:var(--indigo);text-transform:uppercase;background:var(--indigo-soft);padding:7px 10px;border-radius:999px;margin-left:auto;white-space:nowrap}
h1{font:700 22px/1.2 var(--disp);letter-spacing:-.01em;margin-bottom:6px}
.addr{color:var(--ink-2);font-size:14px}
.addr b{font-weight:600;color:var(--ink)}
.hours{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:var(--ink-2)}
.hours i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.help{font-size:13.5px;color:var(--ink-2);margin-top:10px;line-height:1.45}
.help a{font-weight:600;text-decoration:none;white-space:nowrap}
/* выбор действия */
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 12px}
.choice button{appearance:none;border:2px solid transparent;border-radius:var(--r);background:var(--card);padding:18px 12px 16px;text-align:left;cursor:pointer;box-shadow:0 1px 2px rgba(17,17,24,.05);transition:border-color .15s,background .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.choice button:active{transform:scale(.98)}
.choice button svg{width:36px;height:36px;display:block;margin-bottom:12px;color:var(--indigo)}
.choice button .t{font:700 16px/1.15 var(--disp);display:block}
.choice button .s{display:block;font-size:12.5px;color:var(--muted);margin-top:5px}
.choice button[aria-expanded="true"]{border-color:var(--indigo);background:var(--indigo-soft)}
.choice button[aria-expanded="true"] .t{color:var(--indigo-deep)}
/* раскрывающиеся панели */
.panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.panel[data-open]{grid-template-rows:1fr}
.panel>div{overflow:hidden}
.card{background:var(--card);border-radius:var(--r);padding:18px 16px 16px;box-shadow:0 1px 2px rgba(17,17,24,.05);margin-bottom:12px}
.card h2{font:700 16px/1.25 var(--disp);margin-bottom:4px}
.card .lead{font-size:13.5px;color:var(--ink-2);margin-bottom:14px}
label.f{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin:12px 0 6px}
.inp{width:100%;font:500 17px/1.2 var(--sans);padding:14px 14px;border:1.5px solid #dcdce6;border-radius:12px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s}
.inp:focus{border-color:var(--indigo)}
.inp.bad{border-color:var(--err)}
/* размеры ячеек */
.sizes{display:grid;gap:8px}
.sizes label{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid #dcdce6;border-radius:12px;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sizes input{position:absolute;opacity:0;pointer-events:none}
.sizes .box{width:22px;height:22px;border-radius:6px;border:2px solid var(--indigo);flex:none;display:grid;place-items:center}
.sizes .box::after{content:"";width:12px;height:12px;border-radius:3px;background:var(--indigo);transform:scale(0);transition:transform .15s}
.sizes .sz{display:block;font:700 14px/1 var(--disp)}
.sizes .hn{font-size:12.5px;color:var(--muted);margin-top:4px}
/* результат: номер ячейки и код */
.result{display:none;margin-top:14px;border-radius:14px;background:var(--indigo-soft);padding:16px;text-align:center}
.result.on{display:block}
.result .swap{background:#fff3d6;color:#7a4b00;border-radius:10px;padding:9px 12px;font-size:13.5px;margin-bottom:12px;text-align:left}
.result .lbl2{font-size:12.5px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}
.result .big{font:700 40px/1.1 var(--disp);color:var(--indigo-deep);margin:4px 0 10px}
.result .code{font:700 34px/1.1 var(--disp);letter-spacing:.12em;color:var(--ink);margin-top:4px}
.result .steps{text-align:left;margin:14px 0 0;padding-left:22px;font-size:14px;line-height:1.45;color:var(--ink)}
.result .steps li{margin-bottom:6px}
.result .steps li::marker{font-weight:600;color:var(--indigo)}
.nw{white-space:nowrap}
.result .help2{margin-top:12px;font-size:13.5px;color:var(--ink-2)}
.result .help2 a{font-weight:600;text-decoration:none}
.result .test{font-size:11px;color:var(--muted);margin-top:8px}
.sizes label:has(input:checked){border-color:var(--indigo);background:var(--indigo-soft)}
.sizes label:has(input:checked) .box::after{transform:scale(1)}
.sizes.bad label{border-color:var(--err)}
/* кнопка */
.btn{width:100%;margin-top:16px;appearance:none;border:0;border-radius:14px;background:var(--indigo);color:#fff;font:700 15px/1 var(--disp);padding:17px 16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,opacity .15s;-webkit-tap-highlight-color:transparent}
.btn:active{background:var(--indigo-deep)}
.btn[disabled]{opacity:.6;cursor:default}
.btn .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;display:none}
.btn.busy .spin{display:block}
@keyframes sp{to{transform:rotate(360deg)}}
.note{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center}
/* статус */
.status{display:none;border-radius:12px;padding:12px 14px;font-size:14px;margin-top:14px;line-height:1.4}
.status.on{display:block}
.status.ok{background:var(--ok-bg);color:var(--ok)}
.status.err{background:var(--err-bg);color:var(--err)}
.status b{font-weight:600}
/* прайс */
.price{margin-top:8px}
.price h2{font:700 15px/1.2 var(--disp);margin-bottom:10px}
.price table{width:100%;border-collapse:collapse;font-size:14px}
.price td{padding:10px 0;border-top:1px solid #ececf2;vertical-align:top}
.price tr:first-child td{border-top:0}
.price td:last-child{text-align:right;font-weight:600;white-space:nowrap;padding-left:12px}
.price small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.price .all{display:inline-block;margin-top:10px;font-size:13.5px}
/* отзывы */
.rev h2{font:700 15px/1.2 var(--disp);margin-bottom:10px}
.rev .rating{font-size:13.5px;color:var(--ink-2);margin-bottom:12px}
.rev .stars{color:#f5b301;letter-spacing:1px}
.rq{border-left:3px solid var(--indigo-soft);padding:2px 0 2px 12px;margin:0 0 12px}
.rq p{font-size:14px;line-height:1.45}
.rq footer{font-size:12px;color:var(--muted);margin-top:4px}
.rev .all{display:inline-block;font-size:13.5px}
/* низ */
.foot{margin-top:18px;text-align:center;font-size:13px;color:var(--muted)}
.foot .call{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--lime-ink);text-decoration:none;font:700 14px/1 var(--disp);padding:14px 20px;border-radius:999px;margin-bottom:12px}
.foot .links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.foot .links a{text-decoration:none;font-weight:500}
.hp{position:absolute;left:-9999px;opacity:0}

/* мессенджеры после сдачи */
.msgr{margin-top:14px;border-radius:14px;background:var(--card);border:1.5px solid var(--indigo-soft);padding:16px}
.msgr__t{font:700 15px/1.25 var(--disp);margin-bottom:6px}
.msgr__p{font-size:13.5px;color:var(--ink-2);line-height:1.45;margin-bottom:12px}
.msgr__opt{font-size:12.5px;color:var(--muted);margin:-6px 0 12px}
.msgr__btns{display:grid;gap:8px}
.msgr__b{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 12px;border-radius:12px;text-decoration:none;color:#fff;font:700 14px/1 var(--disp);-webkit-tap-highlight-color:transparent}
.msgr__b svg{width:22px;height:22px;flex:none}
.msgr__b--max{background:#7c3aed}
.msgr__b--tg{background:#2aabee}
.msgr__b--vk{background:#0077ff}
