
:root{--blue:#0b5fc6;--blue2:#03a9f4;--ink:#0a2342;--muted:#64748b;--bg:#f3f7fb;--line:#dce6f2;--yellow:#ffd52e;--green:#17a34a;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);font-family:Arial,"Helvetica Neue",sans-serif;color:#111827;line-height:1.48;overflow-x:hidden;padding-bottom:78px}a{color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}.top{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e5edf6;box-shadow:0 3px 18px rgba(15,43,75,.06)}.nav{min-height:76px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;color:var(--ink);min-width:240px}.brand img{width:46px;height:46px}.brand small{display:block;font-size:12px;color:#60738a;font-weight:600}.menu{display:flex;gap:20px;align-items:center;margin-left:auto}.menu a{text-decoration:none;font-weight:700;font-size:14px}.menu .buy{background:var(--yellow);padding:11px 18px;border-radius:12px}.hamb{display:none;background:none;border:0;font-size:28px;margin-left:auto}.hero{padding:36px 0 30px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 30px rgba(36,73,112,.07)}.hero-copy{padding:36px}.eyebrow{color:#0d67c7;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero h1{font-size:44px;line-height:1.05;margin:10px 0 14px;color:#071f3f}.lead{font-size:18px;color:#42566d;max-width:700px}.actions{display:flex;gap:12px;margin:22px 0 25px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 21px;border-radius:13px;text-decoration:none;font-weight:800;border:1px solid transparent}.btn-yellow{background:var(--yellow);color:#081528}.btn-outline{border-color:#bfd0e4;background:white;color:#0a4fa3}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fact{background:#f7faff;border-radius:14px;padding:13px}.fact b{display:block;color:#0b2c54;font-size:13px}.fact span{font-size:14px;color:#495e75}.hero-photo{overflow:hidden;min-height:430px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.section{padding:20px 0 34px}.section h2{font-size:30px;line-height:1.16;color:#071f3f;margin:0 0 8px}.sub{color:#5c7087;margin:0 0 20px}.widget-box{padding:22px;overflow:hidden}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.city-card{position:relative;height:205px;border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 8px 22px rgba(20,46,75,.12)}.city-card img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.city-card:hover img{transform:scale(1.04)}.city-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,20,44,.88))}.city-label{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:#fff}.city-label b{font-size:22px;display:block}.city-label span{font-size:13px;color:#dbe9f8}.link-more{display:inline-block;margin-top:18px;color:#075ec4;font-weight:800;text-decoration:none}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.info-card{padding:20px;text-decoration:none}.info-card .ico{font-size:26px}.info-card b{display:block;margin:7px 0;color:#0a2c56}.footer{background:#071d36;color:#d5e0ed;padding:34px 0 86px;margin-top:18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px}.footer h3{color:#fff}.footer a{color:#dcecff}.sticky-buy{position:fixed;z-index:40;left:50%;bottom:14px;transform:translateX(-50%);background:var(--yellow);padding:15px 34px;border-radius:14px;text-decoration:none;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.2);white-space:nowrap}.page-head{padding:30px 0 12px}.breadcrumbs{font-size:13px;color:#67809a}.page-head h1{font-size:38px;color:#071f3f;margin:8px 0}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.content-card{padding:24px}.side-card{padding:20px;height:max-content}.side-card h3{margin-top:0}.route-meta{display:grid;gap:9px}.route-meta p{margin:0}.schedule-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:24px}.fresh{display:inline-flex;align-items:center;gap:5px;border:1px solid #7cdea1;background:#effdf3;color:#087a31;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.schedule{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:14px}.sch-row{display:grid;grid-template-columns:116px 1fr 1fr 1fr 135px;align-items:center;border-bottom:1px solid var(--line);min-height:64px}.sch-row:last-child{border-bottom:0}.sch-row>div{padding:12px}.sch-head{background:#eaf5fd;font-size:11px;font-weight:900;text-transform:uppercase;color:#274767}.sch-time{font-weight:900;color:#06294e;font-size:17px}.mini-buy{background:var(--yellow);border-radius:12px;padding:10px 12px;text-align:center;text-decoration:none;font-weight:900;display:block}.note{background:#f8fbff;border-left:4px solid #0c73fe;padding:14px 16px;border-radius:10px;margin:18px 0;color:#475c73}.allroutes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.route-link{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;text-decoration:none;font-weight:700;color:#0b417f}.route-link:hover{border-color:#7ab3ee}.travel-block{margin-top:22px;padding:22px}.travel-block h2{font-size:25px}.avia{margin-top:22px}.faq details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;margin-bottom:10px}.faq summary{font-weight:800;cursor:pointer}.legacy{background:#fff9df;border:1px solid #efd874;border-radius:15px;padding:16px}
@media(max-width:900px){.menu{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:16px 22px;flex-direction:column;align-items:flex-start;box-shadow:0 12px 25px rgba(0,0,0,.08)}.menu.open{display:flex}.hamb{display:block}.hero-grid,.two-col{grid-template-columns:1fr}.hero-copy{padding:26px}.hero h1,.page-head h1{font-size:34px}.hero-photo{min-height:330px}.cards{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.side-card{display:none}.sch-row{grid-template-columns:1fr 1fr}.sch-head{display:none}.sch-row>div{padding:10px 16px}.sch-row>div:nth-child(3),.sch-row>div:nth-child(4){grid-column:auto}.sch-row>div:last-child{grid-column:1/-1;padding-top:4px;padding-bottom:16px}.sch-row>div:before{display:block;font-size:10px;color:#75879a;text-transform:uppercase;font-weight:800}.sch-row>div:nth-child(1):before{content:'Отправление'}.sch-row>div:nth-child(2):before{content:'Дни'}.sch-row>div:nth-child(3):before{content:'Откуда'}.sch-row>div:nth-child(4):before{content:'Куда'}.schedule-head{align-items:flex-start;flex-direction:column}.allroutes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:min(100% - 22px,1180px)}.brand{min-width:0}.brand span{font-size:15px}.brand small{font-size:10px}.hero{padding-top:20px}.hero h1,.page-head h1{font-size:29px}.lead{font-size:16px}.facts{grid-template-columns:1fr}.cards,.allroutes,.info-grid{grid-template-columns:1fr}.city-card{height:190px}.widget-box,.content-card{padding:16px}.footer-grid{grid-template-columns:1fr}.sticky-buy{width:calc(100% - 38px);text-align:center;bottom:12px}.schedule{border-radius:16px}.sch-row{grid-template-columns:1fr 1fr}.sch-time{font-size:19px}.section h2{font-size:25px}}

/* Mobile overflow hardening — route pages and partner widgets */
html,body{max-width:100%;overflow-x:hidden}
.container,.two-col,.two-col>div,.content-card,.widget-box,.travel-block,.schedule,.sch-row,.sch-row>div{min-width:0;max-width:100%}
.panel{max-width:100%}
.content-card>script,.travel-block>script{max-width:100%}
.content-card iframe,.travel-block iframe,.widget-box iframe,
.content-card embed,.travel-block embed,.widget-box embed,
.content-card object,.travel-block object,.widget-box object{max-width:100%!important;width:100%!important}
.content-card img,.travel-block img,.widget-box img{max-width:100%;height:auto}
.mini-buy{width:100%;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
.sch-row>div{overflow-wrap:anywhere;word-break:normal}

@media(max-width:900px){
  .two-col{width:100%}
  .content-card,.travel-block{overflow:hidden}
  .schedule{width:100%;overflow:hidden}
  .sch-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
  .sch-row>div{min-width:0}
  .sch-row>div:nth-child(3),.sch-row>div:nth-child(4){grid-column:1/-1}
  .sch-row>div:last-child{grid-column:1/-1;width:100%}
}

@media(max-width:600px){
  .container{width:calc(100% - 22px);max-width:1180px}
  .page-head,.two-col{max-width:100%}
  .content-card{padding:14px}
  .travel-block{padding:14px}
  .schedule-head{gap:10px}
  .fresh{white-space:normal;max-width:100%;line-height:1.25}
  .sch-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sch-row>div{padding:10px 12px}
  .mini-buy{min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 12px}
  .sticky-buy{left:19px;right:19px;transform:none;width:auto;max-width:calc(100% - 38px);white-space:normal;line-height:1.2;padding:14px 18px}
}

/* Desktop schedule polish: keep labels and ticket buttons on one line */
@media(min-width:901px){
  .sch-row{grid-template-columns:138px minmax(105px,.9fr) minmax(130px,1.15fr) minmax(165px,1.45fr) 148px}
  .sch-head>div{white-space:nowrap;overflow-wrap:normal;word-break:normal}
  .sch-head>div:first-child{font-size:10px;letter-spacing:0}
  .sch-row>div:last-child{display:flex;align-items:center;justify-content:center;padding-left:8px;padding-right:8px}
  .mini-buy{width:100%;min-width:0;max-width:122px;min-height:40px;padding:7px 8px;border-radius:11px;font-size:13px;line-height:1;white-space:nowrap;overflow-wrap:normal;word-break:normal;overflow:hidden;text-overflow:clip}
}
