/* Стили и токены гида. Перенесены из <style> одностраничной версии без изменений. */
*{box-sizing:border-box;margin:0;padding:0}
body{background:#12233a;font-family:'Manrope',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;color:#1b2f45;line-height:1.5}
a{color:#c8542f;text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:#e0873a;color:#fff}
button{font-family:inherit}
@keyframes popin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pop{animation:popin .3s ease}
@media (prefers-reduced-motion:reduce){.pop{animation:none}}
:focus-visible{outline:2px solid #c8542f;outline-offset:2px}
/* Внутри карточек рамку рисуем внутрь: у .card overflow:hidden, наружная
   срезалась бы по краю. */
.card :focus-visible,.rcard:focus-visible{outline-offset:-3px;border-radius:12px}
.sheet{max-width:520px;margin:0 auto;min-height:100vh;background:#f7f1e6;position:relative;box-shadow:0 0 60px rgba(0,0,0,.35)}
.top{position:sticky;top:0;z-index:400;background:#f7f1e6;border-bottom:1px solid #e7dcc6;display:flex;justify-content:space-between;align-items:center;padding:9px 16px}
.brand{font-family:'DM Serif Display',serif;font-size:15px;color:#1b2f45}
.badge{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#efe4cf;color:#8a7444;padding:5px 10px;border-radius:16px}
/* Место под липкую полосу внизу - только там, где она есть. */
.body{padding:0 18px 28px}
body.with-bar .body{padding-bottom:104px}
.kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8542f}
.h1{font-family:'DM Serif Display',serif;font-size:32px;line-height:1.05;color:#1b2f45;margin-top:4px}
.sub{font-size:12.5px;color:#8a9099;margin-top:4px}
.lab{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a08a5a;margin-bottom:8px}
.card{background:#fffdf8;border:1px solid #e7dcc6;border-radius:16px;margin-bottom:11px;overflow:hidden}
.rule{height:1px;background:#efe6d3;margin:0 0 12px}
.p{font-size:13.5px;color:#4a5666;max-width:46ch}
.chip{border:1px solid #e7dcc6;background:#fffdf8;color:#6b7787;font-weight:700;font-size:12px;padding:7px 12px;border-radius:20px;cursor:pointer}
.chip[aria-pressed="true"]{background:#1b2f45;border-color:#1b2f45;color:#f7f1e6}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}
.box{background:#f7f1e6;border-radius:10px;padding:9px 11px}
.box .k{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a08a5a}
.box .v{font-size:12.5px;color:#3c4855;margin-top:3px}
.pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:20px}
.warn{background:#fdf3e6;border:1px solid #f0dfc4;border-radius:10px;padding:10px 12px;margin-top:9px}
.warn .k{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b07a2a}
.warn .v{font-size:12.5px;color:#6d5426;margin-top:3px}
.mapbox{position:relative;height:230px;border-radius:12px;overflow:hidden;border:1px solid #e7dcc6;margin-top:12px;background:#eee6d6}
/* Метка - обычный div: Яндекс ставит его левым верхним углом в точку,
   поэтому сдвигаем на половину себя. */
.mk{transform:translate(-50%,-50%);box-sizing:border-box;border-radius:50%;border:3px solid #fff;color:#fff;font-size:11px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.35)}
.mk.home,.mk.band{width:16px;height:16px;border-width:2px}
.mapcard{background:#fffdf8;border:1px solid #e7dcc6;border-radius:12px;padding:11px 13px;margin-top:9px}
.mapcard[hidden]{display:none}
.mc-n{font-family:'DM Serif Display',serif;font-size:16px;color:#1b2f45;display:flex;align-items:center;gap:8px}
.mc-d{font-size:12px;color:#8a9099;margin-top:3px}
.ptrow{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #efe6d3}
.ptnum{flex:none;width:20px;height:20px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
.eat{border:1px solid #e7dcc6;border-radius:12px;padding:11px 13px;margin-top:9px;background:#fffdf8}
.tag{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:12px;margin:3px 4px 0 0}
.t-y{background:#e3ede9;color:#3f6f5f}
.t-n{background:#f6e3da;color:#b0472a}
.t-q{background:#efe4cf;color:#8a7444}
.nav{position:sticky;bottom:0;max-width:520px;margin:0 auto;background:#f7f1e6;border-top:1px solid #e7dcc6;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 4px 9px;z-index:400}
.nav button{border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;color:#a9b0b8}
.nav button[aria-current="true"]{color:#c8542f}
.nav span{font-size:10px;font-weight:700}
.hd{width:100%;border:0;background:none;cursor:pointer;text-align:left}
.lnk{font-size:11.5px;font-weight:700;color:#c8542f}

/* ─── новый поток ─── */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{line-height:1.2}
.qhint{font-size:11.5px;color:#8a9099;margin-top:8px;max-width:42ch}
.bar{position:sticky;bottom:0;max-width:520px;margin:0 auto;background:#f7f1e6;border-top:1px solid #e7dcc6;padding:11px 16px 14px;z-index:400}
.cta{width:100%;border:0;border-radius:14px;padding:15px 17px;font-size:14.5px;font-weight:800;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(120deg,#e0873a,#c8542f)}
.cta .n{font-family:'DM Serif Display',serif;font-size:21px;line-height:1;font-weight:400}
.cta[disabled]{background:#ece3d2;color:#9a8f79;cursor:default}
.barhint{font-size:11.5px;color:#8a9099;margin-top:9px;text-align:center}
.tl{display:flex;align-items:center;gap:8px;min-width:0}
.back{border:0;background:none;cursor:pointer;color:#c8542f;font-size:26px;line-height:.8;padding:0 4px 3px 0}
.rcard{padding:13px}
.rrow{display:flex;gap:13px;align-items:center}
.km{flex:none;width:56px;height:56px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.km .v{font-family:'DM Serif Display',serif;font-size:19px;line-height:1}
.km .u{font-size:10px;font-weight:700;text-transform:uppercase;margin-top:2px}
.rname{font-family:'DM Serif Display',serif;font-size:18px;color:#1b2f45;margin-top:5px;line-height:1.1}
.rar{font-size:12px;color:#8a9099;margin-top:2px}
.chev{flex:none;color:#c8a15a;font-size:18px}
.rpitch{font-size:12.5px;color:#6b7787;margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tl .brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top .badge{flex:none}
.note-blue{background:#e2edf1;border-radius:10px;padding:11px 13px;margin-top:9px;font-size:12.5px;color:#2c5061}
.foot{font-size:11.5px;color:#b3ab97;margin-top:13px;padding:0 2px}
.infolinks{display:flex;justify-content:center;align-items:center;gap:9px;margin:18px 0 4px}
.infolink{width:auto;font-size:12px;font-weight:700;color:#a09580;padding:6px 2px}
.infolink:hover{color:#c8542f}
.infolinks .sep{color:#cfc4ad;font-size:12px}
.dark{background:#1b2f45;border-radius:16px;padding:16px 16px 14px;margin-top:6px}
.dark-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e0873a}
.dark-t{font-family:'DM Serif Display',serif;font-size:21px;color:#f7f1e6;margin-top:6px;line-height:1.15}
.dark-v{font-size:12.5px;color:#93a3b3;margin-top:8px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat{background:#fffdf8;border:1px solid #e7dcc6;border-radius:14px;padding:13px 14px}
.stat .v{font-family:'DM Serif Display',serif;font-size:24px}
.stat .k{font-size:11.5px;color:#8a9099;margin-top:2px}
.mapbox.tall{height:300px}
.kmrow{padding:11px 0;border-bottom:1px solid #efe6d3}
.kmbar{height:4px;border-radius:4px;background:#eadfc8;margin-top:7px;overflow:hidden}
.kmfill{height:4px;border-radius:4px}
.mapoff{padding:16px;font-size:12.5px;color:#8a9099;line-height:1.45}
