*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Arial,sans-serif;color:#08264c;background:#f3f7fb}body{padding-bottom:78px}a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 18px}.top{background:#fff;border-bottom:1px solid #dbe5ef}.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:20px}.brand img{width:48px;height:48px}.nav{display:flex;gap:18px;font-weight:700}.nav a{text-decoration:none}.hero{padding:28px 0}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fff;border:1px solid #dce7f1;border-radius:22px;padding:24px;box-shadow:0 8px 28px rgba(8,38,76,.06)}h1{font-size:34px;margin:0 0 14px}h2{font-size:26px;margin:28px 0 14px}h3{font-size:20px}.muted{color:#60758f;line-height:1.55}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.pill{background:#f4f8fc;border-radius:14px;padding:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;background:#ffd42a;color:#071d3b;font-weight:800;text-decoration:none;border-radius:13px;padding:14px 20px;border:0}.btn.secondary{background:#e9f4ff;color:#0069c7}.city-art{height:100%;min-height:310px;border-radius:18px;background:linear-gradient(135deg,#0aa8e8,#1c6bd6);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:26px;color:#fff}.city-art:before{content:'';position:absolute;left:-5%;right:-5%;bottom:0;height:52%;background:linear-gradient(160deg,transparent 20%,rgba(255,255,255,.18) 21% 24%,transparent 25%),linear-gradient(to top,rgba(4,29,64,.85),rgba(4,29,64,.1));clip-path:polygon(0 75%,8% 42%,15% 70%,22% 35%,29% 62%,36% 28%,43% 67%,50% 38%,58% 68%,65% 30%,72% 65%,80% 40%,88% 72%,95% 44%,100% 70%,100% 100%,0 100%)}.city-art b{position:relative;font-size:34px}.widget{background:#fff;border:1px solid #dce7f1;border-radius:22px;padding:20px;overflow:hidden}.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.city{min-height:150px;border-radius:18px;padding:18px;display:flex;align-items:flex-end;text-decoration:none;color:#fff;font-weight:800;font-size:20px;background-color:#0b5799;background-size:cover;background-position:center;position:relative;overflow:hidden}.city:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,20,50,.88) 0%,rgba(0,20,50,.35) 55%,rgba(0,20,50,.08) 100%)}.city span{position:relative;z-index:1}.route-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;padding:26px 0}.route-main,.side{min-width:0}.badge{display:inline-flex;background:#eafff0;border:1px solid #72dc94;color:#087c31;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:800}.schedule{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d8e5ef;border-radius:16px;overflow:hidden;background:#fff}.schedule th{background:#eaf6ff;text-align:left;font-size:12px;text-transform:uppercase;padding:14px}.schedule td{padding:13px;border-top:1px solid #e1eaf2}.schedule td:first-child{font-weight:800}.schedule .btn{padding:10px 14px}.side .card{margin-bottom:16px}.sticky{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid #dce5ee;padding:10px;z-index:50;text-align:center}.sticky .btn{min-width:275px}.footer{padding:35px 0;color:#60758f}.allroutes{columns:3}.allroutes a{display:block;padding:6px 0}.tour,.hotel{margin-top:22px}.notice{background:#f8fbfe;border-left:4px solid #0aa8e8;padding:14px 16px;border-radius:10px;line-height:1.5}@media(max-width:800px){.nav{display:none}.hero-grid,.route-layout{grid-template-columns:1fr}.cities{grid-template-columns:repeat(2,1fr)}h1{font-size:28px}.contact-grid{grid-template-columns:1fr}.allroutes{columns:1}.schedule,.schedule tbody,.schedule tr,.schedule td{display:block;width:100%}.schedule thead{display:none}.schedule tr{margin:0 0 16px;border:1px solid #dce7f1;border-radius:18px;padding:16px;background:#fff}.schedule td{border:0;padding:5px 0}.schedule td:before{display:block;color:#6f8299;font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:3px}.schedule td:nth-child(1):before{content:'Отправление'}.schedule td:nth-child(2):before{content:'Дни'}.schedule td:nth-child(3):before{content:'Откуда'}.schedule td:nth-child(4):before{content:'Куда'}.schedule td:nth-child(5):before{content:''}.schedule td:nth-child(5) .btn{width:100%;margin-top:8px}.widget{padding:12px;overflow:hidden}.side{display:none}}@media(max-width:480px){.cities{grid-template-columns:1fr}.wrap{padding:0 12px}.card{padding:18px}.actions .btn{width:100%}}
.saratov-hero{background-image:url('/assets/images/saratov-bus.webp');background-size:cover;background-position:center;min-height:310px}.saratov-hero:before{display:none}

/* Mobile hero: two CTAs on one row */
@media (max-width: 600px) {
  .hero-grid .actions {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%}
  .hero-grid .actions .btn {width:100%;min-width:0;margin:0;padding:12px 6px;font-size:12px;line-height:1.25;text-align:center;display:flex;align-items:center;justify-content:center;white-space:normal}
}
