.stay-intro { padding:54px 0 24px; max-width:920px; }
.stay-intro h1 { font-size:clamp(36px,5vw,64px); margin:12px 0; }
.stay-intro p { color:var(--ink-soft); }
.stay-tools { display:flex; flex-wrap:wrap; gap:16px; align-items:end; padding:22px 0; }
.stay-tools label { flex:1 1 170px; display:grid; gap:8px; }
.stay-tools label:first-child { flex:2 1 260px; }
.stay-tools input,.stay-tools select { width:100%; padding:12px; background:#081b30; color:#fff; border:1px solid #405269; border-radius:8px; }
.stay-workspace { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr); gap:24px; align-items:start; padding-bottom:50px; }
.stay-map-panel { position:sticky; top:96px; }
.stay-map { position:relative; height:560px; overflow:hidden; background:#dce1df; border:1px solid #405269; border-radius:12px; color:#07182d; }
.stay-map.active { touch-action:none; cursor:grab; }
#map-tiles img { position:absolute; width:256px; height:256px; max-width:none; pointer-events:none; }
#map-pins { position:absolute; inset:0; pointer-events:none; }
.stay-pin { position:absolute; transform:translate(-50%,-50%); width:29px; height:29px; padding:0; border:2px solid #fff; border-radius:50%; color:#fff; background:#123b68; font-size:12px; font-weight:700; box-shadow:0 1px 5px #0009; cursor:pointer; pointer-events:auto; }
.stay-pin.hostel { background:#17624c; }.stay-pin.aparthotel { background:#673c79; }
.stay-pin.venue-pin { background:#ffbd26; color:#08182c; width:42px; height:42px; font-size:25px; z-index:3; }
.stay-pin.selected { outline:4px solid #ffbd26; z-index:4; }
.map-controls { position:absolute; left:12px; top:12px; z-index:5; display:flex; gap:6px; }
.map-controls button { background:#fff; color:#102a44; border:1px solid #a5b0ba; min-width:38px; min-height:38px; border-radius:5px; cursor:pointer; }
.map-attribution { position:absolute; bottom:0; right:0; padding:3px 7px; background:#fff; color:#143654; font-size:11px; z-index:5; }
#map-start { position:absolute; top:45%; left:50%; transform:translate(-50%,-50%); z-index:6; white-space:nowrap; }
#map-error { position:absolute; bottom:28px; left:12px; right:12px; background:#fff; padding:10px; z-index:5; font-size:13px; }
.stay-legend { display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; font-size:13px; }
.venue-note { border-left:3px solid #ffbd26; padding:16px; margin:16px 0; background:#081b30; }
.stay-list { display:grid; gap:12px; max-height:880px; overflow:auto; padding:0 6px 6px 0; }
.stay-card { padding:22px; border:1px solid var(--line); background:#071b30; border-radius:10px; }
.stay-card:focus { outline:2px solid #ffbd26; }
.stay-card h3 { font-size:23px; margin:8px 0; }.stay-card p { margin:8px 0; }
.stay-kind { text-transform:uppercase; color:#aebfd2; font-size:11px; letter-spacing:.08em; }
.stay-km { color:#ffbd26; font-size:20px; }.stay-small { color:#aebfd2; font-size:12px; line-height:1.5; }
.stay-links { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:14px; font-size:13px; }
.stay-links .btn { padding:9px 12px; font-size:12px; }
.stay-method { padding:24px; border:1px solid var(--line); margin-bottom:40px; }
.stay-nav { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }.stay-nav a { font-size:13px; }
@media(max-width:900px) { .stay-workspace { grid-template-columns:1fr; }.stay-map-panel { position:static; }.stay-map { height:440px; }.stay-list { max-height:none; }.stay-intro { padding-top:32px; } }
@media(max-width:450px) { .stay-nav { gap:10px; }.stay-nav a { font-size:12px; }.stay-map { height:360px; }.stay-card { padding:16px; } }

.stay-map [hidden] { display:none !important; }
.stay-legend span:nth-child(2) { color:#8cbcec; }.stay-legend span:nth-child(3) { color:#66d6ac; }.stay-legend span:nth-child(4) { color:#cd9beb; }
