
:root{--blue:#078fd1;--blue2:#03a9f4;--dark:#12263a;--text:#243447;--muted:#65758b;--yellow:#F9DD00;--green:#1b9b55;--bg:#f4f7f9;--border:#e2e8ef;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,"Helvetica Neue",sans-serif;color:var(--text);background:var(--bg);line-height:1.55;padding-bottom:84px}
a{color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}
.topbar{background:#0b2942;color:#d9e8f4;font-size:14px}.topbar .container{display:flex;gap:24px;justify-content:space-between;padding:8px 0;flex-wrap:wrap}
.header{background:white;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border)}.header-row{display:flex;align-items:center;gap:28px;min-height:76px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:19px;color:var(--dark);white-space:nowrap}.brand-icon{width:42px;height:42px;border:2px solid var(--blue);border-radius:10px;display:grid;place-items:center;font-size:22px}
.nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}.nav a{text-decoration:none;font-weight:650;font-size:14px;color:#31485e}.nav a:hover{color:var(--blue)}
.hero{background:linear-gradient(120deg,rgba(5,111,169,.96),rgba(3,169,244,.86));color:white;padding:54px 0}.hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:34px;align-items:center}.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.03;margin:0 0 14px}.hero p{font-size:18px;max-width:760px;color:#eaf8ff}.hero-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);border-radius:var(--radius);padding:22px}.hero-facts{display:grid;gap:12px}.hero-fact{display:flex;gap:10px;align-items:flex-start}.hero-fact b{display:block}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:13px 20px;text-decoration:none;font-weight:800;border:0;cursor:pointer}.btn-yellow{background:var(--yellow);color:#111}.btn-white{background:white;color:#0b6ea5}.btn-blue{background:var(--blue);color:white}.btn-outline{border:2px solid var(--blue);color:var(--blue);background:white}
.section{padding:44px 0}.section-white{background:#fff}.section h2{font-size:clamp(26px,3vw,38px);line-height:1.15;color:var(--dark);margin:0 0 12px}.lead{color:var(--muted);margin:0 0 24px;max-width:850px}
.widget-shell{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:0 8px 28px rgba(26,48,68,.08);overflow:hidden}
.routes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.route-card{position:relative;height:210px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0b6ea5,#03a9f4);color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(28,51,72,.1)}.route-card img{width:100%;height:100%;object-fit:cover;display:block}.route-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,18,31,.78),rgba(5,18,31,.05) 70%)}.route-card .route-card-text{position:absolute;z-index:2;left:16px;right:16px;bottom:14px}.route-card b{display:block;font-size:20px}.route-card span{font-size:14px;color:#edf7ff}.route-card:hover{transform:translateY(-2px)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card,.content-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:22px}.info-card h3,.content-card h3{margin:0 0 8px;color:var(--dark)}
.route-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.route-link{background:white;border:1px solid var(--border);border-radius:12px;text-decoration:none;padding:13px 15px;display:flex;justify-content:space-between;gap:12px}.route-link:hover{border-color:#8ed6f7}.price{font-weight:800;color:#0b7a45;white-space:nowrap}
.breadcrumbs{font-size:14px;color:var(--muted);margin:18px 0}.breadcrumbs a{color:#366985}
.route-head{background:#fff;padding:20px 0 30px;border-bottom:1px solid var(--border)}.route-head h1{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:8px 0 8px;color:var(--dark)}.status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actual-badge{background:#e7f7ed;color:#11743f;border:1px solid #a6dfbc;border-radius:999px;padding:8px 13px;font-size:14px;font-weight:750}.source-note{color:var(--muted);font-size:13px}
.schedule-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.schedule-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#f8fafc;border-bottom:1px solid var(--border);gap:12px}.schedule-group{padding:18px 20px;border-bottom:8px solid #f0f3f6}.schedule-group:last-child{border-bottom:0}.day-label{font-weight:800;color:var(--dark);margin-bottom:10px}.times{display:flex;flex-wrap:wrap;gap:10px}.time{font-weight:800;font-size:18px;background:#edf7fc;color:#086a9f;border:1px solid #c8e8f7;padding:9px 13px;border-radius:9px}.buy-row{padding:14px 20px;border-top:1px solid var(--border);background:white}.buy-row .btn{width:100%}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.fact{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}.fact small{display:block;color:var(--muted);margin-bottom:4px}.fact b{font-size:18px;color:var(--dark)}
.faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:15px 18px;margin-bottom:10px}.faq summary{font-weight:800;cursor:pointer;color:var(--dark)}
.footer{background:#0b2336;color:#d9e6f0;padding:36px 0 90px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px}.footer a{color:#d9e6f0}.footer small{color:#8fa8ba}
.sticky-buy{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:14px;width:min(540px,calc(100% - 24px));background:var(--yellow);color:#111;text-decoration:none;text-align:center;font-weight:900;border-radius:14px;padding:15px 22px;box-shadow:0 10px 35px rgba(0,0,0,.25)}
.searchbox{display:flex;gap:10px;margin:15px 0 22px}.searchbox input{flex:1;border:1px solid #cfdbe5;border-radius:10px;padding:13px 14px;font-size:16px}
.notice{background:#fff8d8;border:1px solid #f1dc78;border-radius:13px;padding:15px 18px;color:#6a5711}
.photo-note{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.routes-grid{grid-template-columns:repeat(2,1fr)}.info-grid,.route-list,.facts{grid-template-columns:1fr 1fr}.nav{display:none}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(100% - 20px,1180px)}.topbar .container{gap:6px}.hero{padding:34px 0}.routes-grid,.info-grid,.route-list,.facts,.footer-grid{grid-template-columns:1fr}.route-card{height:185px}.header-row{min-height:64px}.brand{font-size:16px}.brand-icon{width:36px;height:36px}.section{padding:30px 0}.schedule-head{align-items:flex-start;flex-direction:column}.sticky-buy{bottom:9px}.hero-actions .btn{width:100%}}


/* 2026-10-06 homepage/header refinement for Ulan-Ude */
.topbar{display:none}
body{background:#eef3f7;padding-bottom:96px}
.header{background:#fff;position:static;border-bottom:1px solid #e3eaf1}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--dark)}
.brand-icon{display:none}
.brand-logo{width:40px;height:40px;display:block;flex:0 0 40px}
.brand-text{display:flex;flex-direction:column;line-height:1.08}
.brand-text b{font-size:17px;font-weight:800;color:var(--dark)}
.brand-text small{font-size:13px;color:#78889c;font-weight:500;margin-top:2px}
.header-actions{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav{display:flex;gap:28px;align-items:center;margin-left:0}
.nav a{font-size:15px;font-weight:700;color:#17365d}
.header-buy{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--yellow);color:#111;text-decoration:none;font-weight:800;border-radius:14px;padding:14px 22px;box-shadow:0 10px 20px rgba(17,17,17,.06)}
.header-buy:hover{transform:translateY(-1px)}
.hero-home{padding:26px 0 24px;background:#eef3f7}
.hero-home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.hero-panel{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px 30px;box-shadow:0 8px 24px rgba(29,53,87,.05)}
.hero-overline{font-size:13px;line-height:1.1;letter-spacing:.15em;text-transform:uppercase;color:#0e6ecc;font-weight:900;margin-bottom:12px}
.hero-panel h1{font-size:clamp(32px,4vw,44px);line-height:1.05;margin:0 0 14px;color:#13294b}
.hero-panel .desc{font-size:18px;line-height:1.48;color:#58708d;margin:0 0 20px;max-width:640px}
.hero-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}
.hero-mini{background:#f2f5f9;border-radius:16px;padding:14px 16px;min-height:94px}
.hero-mini strong{display:block;font-size:14px;line-height:1.2;color:#13294b;margin-bottom:6px}
.hero-mini span{display:block;font-size:16px;line-height:1.35;color:#22384f}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.hero-buttons .btn{padding:15px 22px;border-radius:14px;font-size:15px}
.hero-buttons .btn-blue{background:#2287dd}
.hero-buttons .btn-blue:hover,.hero-buttons .btn-yellow:hover{transform:translateY(-1px)}
.hero-visual{border-radius:28px;overflow:hidden;box-shadow:0 8px 24px rgba(29,53,87,.06);border:1px solid var(--border);background:#dbe7f0;min-height:100%}
.hero-visual img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:16/9}
.home-widget{background:#fff;border:1px solid var(--border);border-radius:24px;padding:20px;box-shadow:0 8px 24px rgba(29,53,87,.05)}
.home-widget-section{padding-top:8px}
.sticky-buy{width:auto;min-width:270px;max-width:calc(100% - 24px);border-radius:16px;padding:15px 26px;bottom:12px}
@media(max-width:980px){.hero-home-grid{grid-template-columns:1fr}.header-row{min-height:76px}.header-buy{display:none}.hero-mini-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.nav{display:none}.brand-text small{display:none}.hero-panel{padding:22px}.hero-panel .desc{font-size:17px}.hero-mini-grid{grid-template-columns:1fr}.hero-buttons .btn{width:100%}.hero-home{padding:18px 0 18px}}


/* Schedule cards — mobile-first layout based on approved reference */
.schedule-intro{margin:0 0 16px}.schedule-intro h2{margin-bottom:4px}.schedule-subtitle{margin:0 0 14px;color:#6d8098;font-size:17px}
.schedule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.schedule-card{background:#fff;border:1px solid #dbe5ee;border-radius:18px;padding:16px;box-shadow:0 4px 14px rgba(19,42,72,.03);overflow:hidden}
.schedule-card-top{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.schedule-card-col{padding:0 14px 12px 0;min-width:0}
.schedule-card-col+.schedule-card-col{border-left:1px solid #e2e9f0;padding-left:16px;padding-right:0}
.schedule-label{display:block;color:#778aa3;font-size:12px;line-height:1.1;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}
.schedule-time{display:block;color:#071f44;font-size:27px;line-height:1;font-weight:900}
.schedule-days{display:block;color:#0d2b55;font-size:16px;line-height:1.22;font-weight:800;overflow-wrap:anywhere}
.schedule-card-divider{height:1px;background:#e3eaf1;margin:0 0 13px}
.schedule-point{padding:0 0 11px}.schedule-point+.schedule-point{border-top:1px solid #e8edf2;padding-top:11px}
.schedule-point strong{display:block;color:#071f44;font-size:18px;line-height:1.25;font-weight:850}
.schedule-card .btn{width:100%;margin-top:2px;border-radius:14px;padding:14px 18px;font-size:18px}
.schedule-section{padding-top:28px}
.schedule-section .actual-badge{display:inline-flex;margin:0 0 16px;font-size:13px;padding:6px 10px}
.schedule-note{margin-top:18px}
@media(max-width:760px){
  .route-head{padding:12px 0 18px}.route-head .breadcrumbs{margin:10px 0}.route-head h1{font-size:29px;line-height:1.1;margin:6px 0 4px}.route-head .status-row{display:none}
  .route-head .facts{grid-template-columns:1fr;gap:8px;margin-top:14px}.route-head .fact{padding:13px 15px}.route-head .fact b{font-size:16px}
  .schedule-section{padding-top:22px}.schedule-intro h2{font-size:28px}.schedule-subtitle{font-size:16px;margin-bottom:12px}
  .schedule-cards{grid-template-columns:1fr;gap:14px}
  .schedule-card{padding:15px;border-radius:18px}
  .schedule-time{font-size:26px}.schedule-days{font-size:15px}.schedule-point strong{font-size:17px}
  .schedule-card .btn{font-size:18px;padding:14px}
  .notice.schedule-note{font-size:14px;padding:13px 15px}
}
@media(max-width:380px){.schedule-card-col{padding-right:10px}.schedule-card-col+.schedule-card-col{padding-left:12px}.schedule-time{font-size:24px}.schedule-days{font-size:14px}}

/* Fix spacing before dynamically inserted current date */
.actual-badge .actual-date{margin-left:.32em}
