/* ===== страница отеля (перенос с /p/hot.html) ===== */
.hp{--mut:var(--muted);--org:var(--orange);--dark:#273b2f;--ok:#2f7d4f;--okbg:#e6f4ea;--blue:#2563eb;--line:#E6E8EC;--bg:#F3F4F6;--lime:#dfff58;--ink:#161918;
  font:15px/1.45 var(--font);color:var(--ink)}
.hpov{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:120;display:flex;align-items:flex-end;justify-content:center}
.hp{background:var(--bg);width:100%;height:100%;overflow:auto;position:relative;animation:up .22s ease-out}
@media(min-width:760px){.hpov{align-items:center;padding:20px}.hp{width:min(860px,100%);height:auto;max-height:92vh;border-radius:22px}}
.hp .mh{height:260px;background:#111 center/cover;position:relative}@media(max-width:760px){.hp .mh{height:230px}}
.hp .mh .x{position:absolute;top:14px;right:14px;z-index:3;width:36px;height:36px;border-radius:50%;background:#fff;border:0;font:800 18px var(--font);cursor:pointer}
.hstrip{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hstrip::-webkit-scrollbar{display:none}
.hsl{flex:none;width:100%;height:100%;scroll-snap-align:start;background:#cbd5e1 center/cover;cursor:pointer}
.hdots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;z-index:2;pointer-events:none}.hdots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}.hdots i.on{background:#fff}
.hp .mb{padding:14px 16px 30px;display:flex;flex-direction:column;gap:12px}
.hp .thumbs{display:flex;gap:6px;padding:10px 16px 0;overflow-x:auto;scrollbar-width:none}.hp .thumbs div{flex:none;width:64px;height:48px;border-radius:8px;background:#cbd5e1 center/cover;cursor:pointer;border:2px solid transparent}.hp .thumbs div.on{border-color:var(--ink)}
.hp .hprice{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:14px;padding:12px 16px}
.hp .hprice b{font:800 22px var(--font);font-variant-numeric:tabular-nums;color:var(--lime)}.hp .hprice small{display:block;color:#CFD3DA;font-weight:600}
.hp .hprice button{border:0;background:var(--lime);color:#1B2A00;border-radius:10px;padding:10px 14px;font:800 14px var(--font);cursor:pointer}
.hcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px}
.hrow{display:flex;justify-content:space-between;align-items:center;gap:10px}.hst{color:#f5b301;font-size:22px;letter-spacing:1px}
.bk{display:flex;align-items:center;gap:8px}.bkt{text-align:right;line-height:1.15}.bkt b{font-size:11px;color:#003580}.bkt small{display:block;font-size:11px;color:var(--mut);font-weight:700}
.bkn{background:var(--dark);color:var(--lime);font-weight:800;font-size:17px;border-radius:9px;padding:8px 9px;min-width:44px;text-align:center}
.hname{font-weight:800;font-size:19px;letter-spacing:-.3px;margin-top:8px;line-height:1.2}.hloc{color:var(--mut);font-weight:700;font-size:13.5px;margin-top:3px}
.hbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mapbtn{display:inline-flex;align-items:center;gap:6px;background:var(--bg);color:var(--dark);text-decoration:none;font-weight:800;font-size:13px;border-radius:10px;padding:9px 12px}.mapbtn span{color:var(--org)}
.hrec{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px}
.hrec .ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--dark);display:grid;place-items:center;font-size:20px}
.hrec b{display:block;font-size:15px}.hrec small{display:block;color:#334155;font-size:13px;font-weight:600;line-height:1.45;margin-top:3px}
.hsec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px}.hh{font-weight:800;font-size:17px;margin-bottom:8px}
.hs{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.hs:first-of-type{border-top:0}
.hsp{flex:none;width:78px;height:78px;border-radius:12px;background:#e5e7eb center/cover}.hsb{min-width:0;flex:1}
.hst2{font-weight:800;font-size:15px;margin-bottom:3px}.hsx{font-size:13px;color:#334155;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hsx.open{display:block}
.more{display:inline-block;margin-top:4px;color:var(--blue);font-weight:800;font-size:13px;cursor:pointer}
.svcs{display:flex;flex-wrap:wrap;gap:6px}.svc{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;background:var(--bg);padding:6px 10px;border-radius:999px;color:#334155}.svc img{width:16px;height:16px;object-fit:contain}
.rtabs{display:flex;background:var(--bg);border-radius:14px;padding:4px;margin:4px 0 12px}.rtabs button{flex:1;border:1.5px solid transparent;background:transparent;border-radius:11px;padding:10px;font:800 14px var(--font);cursor:pointer;color:var(--ink)}.rtabs button.on{background:#fff;border-color:var(--dark)}
.rtags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.rtag{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font:700 13.5px var(--font);color:var(--dark);cursor:pointer}.rtag b{font-size:10.5px;color:var(--org);vertical-align:super;margin-left:2px}.rtag.on{border-color:var(--dark);background:var(--dark);color:#fff}.rtag.on b{color:var(--lime)}
.rv2{padding:12px 0;border-top:1px solid var(--line)}.rv2:first-child{border-top:0}.rh{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ra{font-weight:800;font-size:16px}.rd{color:var(--mut);font-size:12.5px;font-weight:600;margin-top:2px}.rs{display:flex;align-items:center;gap:8px}.rs small{text-align:right;color:var(--mut);font-size:11px;font-weight:700;line-height:1.3}
.rn{min-width:40px;height:40px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff}.rn.g{background:var(--ok)}.rn.m{background:var(--org)}.rn.b{background:#b91c1c}
.rtx mark{background:var(--lime);color:var(--ink);border-radius:4px;padding:0 3px;font-weight:700}
.rlb{font-weight:800;font-size:13.5px;margin-top:8px}.rtx{font-size:13.5px;color:#334155;line-height:1.5;margin-top:3px}
.allrv{width:100%;margin-top:6px;border:0;background:var(--bg);color:var(--blue);border-radius:12px;padding:12px;font:800 14px var(--font);cursor:pointer}
.gavg{font-size:14px;color:var(--ok);margin-left:6px}.gcnt{display:block;font-size:12px;color:var(--mut);font-weight:700;margin-top:2px}
.grades{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.gr{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700}.gr span{width:92px;color:#334155}.gr i{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.gr i b{display:block;height:100%;background:var(--dark);border-radius:3px}.gr em{font-style:normal;width:26px;text-align:right;font-weight:800}
.prm{max-height:150px;overflow:hidden;position:relative}.prm:after{content:"";position:absolute;left:0;right:0;bottom:0;height:50px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff)}.prm.open{max-height:none}.prm.open:after{display:none}
.pg{padding:6px 0;border-top:1px solid var(--line);font-size:12.5px;line-height:1.45}.pg:first-child{border-top:0}.pg b{display:block;font-size:13px}.pg span{color:#334155}
.rtip{margin-top:8px;background:var(--okbg);color:var(--ok);border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700;line-height:1.4}
@media(max-width:700px){.grades{grid-template-columns:1fr}}

/* hero свайп, видео, галерея */
.md .mh{background:#111}.md .mh:after{display:none}.hstrip{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hstrip::-webkit-scrollbar{display:none}
.hsl{flex:none;width:100%;height:100%;scroll-snap-align:start;background:#cbd5e1 center/cover;cursor:pointer}
.hdots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;z-index:2;pointer-events:none}.hdots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}.hdots i.on{background:#fff}
.vrow{display:flex;gap:14px;padding:12px 24px 0;overflow-x:auto;scrollbar-width:none}.vrow::-webkit-scrollbar{display:none}.vrow.in{padding:12px 16px;background:#fff;border-radius:16px;margin:0 0 10px}
.vc{flex:none;width:72px;text-align:center;cursor:pointer}.vci{width:66px;height:66px;margin:0 auto;border-radius:50%;background:#ddd center/cover;border:2px solid var(--dark);padding:2px;background-clip:content-box;position:relative}
.vci span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.vc small{display:block;font-size:11.5px;font-weight:700;margin-top:5px;color:var(--ink)}
.gal{position:fixed;inset:0;background:var(--bg);z-index:60;overflow-y:auto;display:none;padding:0 12px 30px}.gal.show{display:block}
.galh{position:sticky;top:0;background:var(--bg);display:flex;align-items:center;gap:12px;padding:14px 0 10px;z-index:2}.galh button{width:40px;height:40px;border-radius:50%;border:0;background:#fff;font:800 24px/1 var(--font);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}.galh b{font-size:18px;flex:1;text-align:center}.galh span{color:var(--mut);font-size:12px;font-weight:700;width:60px;text-align:right}
.galc{display:flex;gap:10px;overflow-x:auto;padding:10px 4px;scrollbar-width:none;background:#fff;border-radius:16px 16px 0 0;margin-top:4px}.galc::-webkit-scrollbar{display:none}
.gc{flex:none;width:92px;text-align:center;cursor:pointer}.gci{width:88px;height:88px;border-radius:14px;background:#ddd center/cover;border:2.5px solid transparent;margin:0 auto}.gc.on .gci{border-color:var(--dark)}.gc small{display:block;font-size:12.5px;font-weight:700;margin-top:5px}
.galg{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;padding:8px;border-radius:0 0 16px 16px}.gp{aspect-ratio:4/3;border-radius:12px;background:#ddd center/cover;cursor:pointer}
.lb{position:fixed;inset:0;background:#000;z-index:70;display:none}.lb.show{display:block}.lb .x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font:800 18px var(--font);cursor:pointer}
.lbs{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.lbs::-webkit-scrollbar{display:none}.lbi{flex:none;width:100%;height:100%;scroll-snap-align:start;display:grid;place-items:center}.lbi img{max-width:100%;max-height:100%;object-fit:contain}
.lbc{position:absolute;left:0;right:0;bottom:18px;text-align:center;color:#fff;font-weight:800;font-size:13px;opacity:.8}
.vp{position:fixed;inset:0;background:#000;z-index:80;display:none;place-items:center}.vp.show{display:grid}.vp video{width:100%;max-height:100%}.vp .x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font:800 18px var(--font);cursor:pointer}.vp .vt{position:absolute;top:22px;left:20px;color:#fff;font-weight:800}
@media(max-width:700px){.vrow{padding:12px 14px 0}.galg{grid-template-columns:1fr 1fr}}
.desc{font-size:13.5px;color:#334155;line-height:1.55}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{font-size:11.5px;font-weight:700;background:var(--bg);padding:4px 9px;border-radius:999px;color:#334155}
.addr{font-size:12.5px;color:var(--mut);font-weight:600;margin-top:8px}
.vars{margin-top:6px}.var{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.var:first-child{border-top:0}.var .op{font-weight:800}.var .op small{font-weight:700;color:var(--mut);margin-left:6px;font-size:11px}
.var .rm{color:#334155;font-weight:600;font-size:12.5px;margin-top:2px}.var .pr2{flex:none;text-align:right;font-weight:800;font-size:16px}.var .pr2 small{display:block;color:var(--mut);font-size:10.5px;font-weight:700}
.var.best .pr2{color:var(--ok)}
.load{color:var(--mut);font-size:13px;font-weight:700;display:flex;gap:8px;align-items:center}.spin{width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:var(--blue);border-radius:50%;animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}

.gal.hp{z-index:130}.lb.hp{z-index:140}.vp.hp{z-index:150}
.hp .var{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.hp .var.best{background:var(--okbg);margin:0 -16px;padding:10px 16px;border-radius:10px;border-top:0}
.hp .var .op{font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hp .var .rm{color:#334155;font-weight:600;font-size:12.5px;margin-top:2px}
.hp .pr2{flex:none;text-align:right;font-weight:800;font-size:16px;color:var(--ok);font-variant-numeric:tabular-nums}.hp .pr2 small{display:block;color:var(--mut);font-size:10.5px;font-weight:700}
.hp .pr2 .pickv{display:block;margin:6px 0 0 auto;border:0;background:var(--ink);color:#fff;border-radius:8px;padding:6px 12px;font:800 12px var(--font);cursor:pointer}
.hp .tag{font-size:11px;font-weight:800;border-radius:8px;padding:2px 7px}.hp .tag.inst{background:var(--okbg);color:var(--ok)}.hp .tag.req{background:#fff4d6;color:#8a6200}
/* окно «Номера и поставщики» */
.hpvs{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:160;display:flex;align-items:flex-end;justify-content:center}
.hpvs .vsp{background:#fff;width:100%;max-width:560px;border-radius:22px 22px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));max-height:88vh;overflow:auto;animation:up .22s ease-out}
@media(min-width:760px){.hpvs{align-items:center;padding:20px}.hpvs .vsp{border-radius:22px;max-height:86vh}}
.vsh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vsh b{font-size:18px}
.vsx{width:34px;height:34px;border-radius:50%;border:0;background:var(--bg);font-size:22px;line-height:1;cursor:pointer}
.vsf{display:flex;flex-direction:column;gap:8px;margin:4px 0 6px}.vops{display:flex;flex-wrap:wrap;gap:6px}
.vch{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font:700 13px var(--font);color:var(--ink);cursor:pointer;text-align:left}
.vch.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vsb{margin-top:12px;text-align:center}.vsb .lk{border:0;background:transparent;color:var(--blue);font:600 13px var(--font);text-decoration:underline dotted;cursor:pointer}
