:root{--bg:#f3e9de;--surface:#fbf6f0;--surface2:#efe3d5;--fg:#2a2118;--muted:#8a7a68;--line:#e2d3c1;--gold:#c37c2c;--on-gold:#fff;--warn:#b4532a}:root[data-theme=dark]{--bg:#111a19;--surface:#182322;--surface2:#1f2c2a;--fg:#eef2ef;--muted:#8ea09b;--line:#263533;--gold:#e8bd73;--on-gold:#2a1d05;--warn:#e08a5f}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}a{color:inherit}header{justify-content:space-between;align-items:center;gap:12px;max-width:1120px;margin:0 auto;padding:18px 16px;display:flex}.logo{display:flex}.logo img{width:auto;height:60px;display:block}.theme{background:var(--surface);border:1px solid var(--line);cursor:pointer;width:34px;height:34px;color:var(--fg);border-radius:50%;font-size:14px}.wrap{max-width:1120px;margin:0 auto;padding:0 16px 56px}.hero{letter-spacing:-.02em;max-width:760px;margin:20px 0 24px;font-size:clamp(20px,2.6vw,28px);font-weight:600;line-height:1.2}.lead{color:var(--muted);max-width:560px;margin:0 0 32px}.search{background:var(--surface);border:1px solid var(--line);border-radius:20px;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr auto;align-items:end;gap:14px;padding:22px;display:grid;position:relative}.field label{color:var(--muted);margin:0 0 6px;font-size:12px;display:block}select,input{background:var(--surface2);width:100%;color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:12px;padding:11px 12px;font-size:15px}select:focus,input:focus{outline:2px solid var(--gold);outline-offset:-1px}select option{color:var(--fg);background:var(--surface)}.go{background:var(--gold);color:var(--on-gold);font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;padding:12px 26px;font-size:15px;font-weight:700}.go:disabled{opacity:.6}.budget{color:var(--muted);grid-column:1/-1;margin-top:-2px;font-size:13px}.budget b{color:var(--gold);font-size:15px}@media (max-width:1000px){.search{grid-template-columns:1fr 1fr}.field.wide,.go{grid-column:1/-1}}.bar{justify-content:flex-end;margin:32px 0 16px;display:flex}.sort{width:auto;padding:8px 12px;font-size:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (max-width:800px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px}.card.best{border-color:var(--gold);grid-column:1/-1}.badges{flex-wrap:wrap;gap:6px;min-height:4px;margin-bottom:12px;display:flex}.badge{background:var(--surface2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11px}.badge.gold{background:var(--gold);color:var(--on-gold);border-color:var(--gold);font-weight:600}.top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.loc{letter-spacing:-.01em;font-size:20px;font-weight:600}.price{color:var(--gold);white-space:nowrap;font-size:28px;font-weight:700}.price small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:400}.facts,.way{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.facts>div,.way>div{background:var(--surface2);border-radius:12px;padding:10px 12px;font-size:15px;font-weight:600}.facts small,.way small{color:var(--muted);margin-bottom:2px;font-size:11px;font-weight:400;display:block}.hint{color:var(--warn);margin-top:10px;font-size:13px}.mapbtn{text-align:center;background:var(--surface2);border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:11px;font-size:14px;font-weight:600;text-decoration:none;display:block}.mapbtn:hover{border-color:var(--gold);color:var(--gold)}.empty,.error{color:var(--muted);text-align:center;padding:40px 0}.error{color:var(--warn)}.more{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;cursor:pointer;border-radius:12px;margin-top:20px;padding:13px;font-size:15px}.note{color:var(--muted);margin-top:32px;font-size:12px}.back{color:var(--muted);font-size:14px;text-decoration:none}.mapgrid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.map{border:1px solid var(--line);border-radius:20px;height:70vh;min-height:380px;overflow:hidden}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tab{background:var(--surface2);color:var(--muted);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:12px;padding:10px;font-size:14px}.tab.on{background:var(--gold);color:var(--on-gold);border-color:var(--gold);font-weight:700}.budget.route{justify-content:space-between;align-items:baseline;margin:16px 0 0;display:flex}.steps{max-height:50vh;margin:12px 0 0;padding:0;list-style:none;overflow:auto}.steps li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;font-size:14px;display:flex}.steps small{color:var(--muted);white-space:nowrap}@media (max-width:860px){.mapgrid{grid-template-columns:1fr}.map{height:50vh}}.footer{border-top:1px solid var(--line);max-width:1120px;margin:0 auto;padding:32px 16px 48px}.footer h3{text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:0 0 14px;font-size:12px;font-weight:600}.contacts{flex-wrap:wrap;gap:14px 44px;display:flex}.contacts a,.contact-static{color:var(--fg);text-decoration:none;display:block}.contacts span{color:var(--muted);font-size:12px;display:block}.contacts small{font-size:15px}.contact-static{color:var(--muted)}.footer p{color:var(--muted);margin:24px 0 0;font-size:12px}.actions{gap:6px;margin-left:auto;display:flex}.act{background:var(--surface2);color:var(--muted);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px}.act:hover{border-color:var(--gold);color:var(--gold)}.act.on{background:var(--gold);color:var(--on-gold);border-color:var(--gold);font-weight:600}.tabs{max-width:460px;margin-top:8px}.uni-note{color:var(--muted);margin:0 0 6px 4px;font-size:12px}.nav{align-items:center;gap:14px;display:flex}.navlink{color:var(--fg);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:14px;text-decoration:none}.navlink:hover{border-color:var(--gold);color:var(--gold)}.navlink b{color:var(--gold);margin-left:4px}.cta{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.cta .mapbtn{margin-top:0}.mapbtn.call{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}.mapbtn.call:hover{color:var(--on-gold);opacity:.9}@media (max-width:520px){.cta{grid-template-columns:1fr}}
