/* Sky-blue expedition palette, shared visually with the home page. */
body.editorial.schedule-page {
  --bg:#f5f8fd; --bg-2:#eaf1fc; --surface:#fff; --ink:#172238;
  --ink-2:#43516a; --muted:#5d6b82; --accent:#2459ed; --accent-2:#1742bc;
  --action:#2459ed; --on-action:#fff; --line:#dbe3f0; --line-2:#bdcce2;
  --contour:#46628b; background:var(--bg); color:var(--ink); color-scheme:light;
}
body.editorial.schedule-page .site-header { background:#fffffff5; color:var(--ink); border-bottom:1px solid var(--line); box-shadow:none; }
body.editorial.schedule-page .header-call { background:transparent; border:1px solid var(--line-2); color:var(--ink); }
body.editorial.schedule-page .btn { border-radius:12px; box-shadow:none; }
body.editorial.schedule-page .btn-accent { background:var(--action); color:var(--on-action); border-color:var(--action); }
body.editorial.schedule-page .btn-line { background:transparent; color:var(--ink); border:1px solid var(--line-2); }
body.editorial.schedule-page .btn:hover { box-shadow:none; }
body.editorial.schedule-page :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
body.schedule-page .crumbs { color:var(--muted); font-size:11px; }
body.schedule-page .page-head { padding-top:24px; background:radial-gradient(ellipse at 80% 10%,#dceeff 0,transparent 65%); }
.night-intro { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; padding-block:16px 32px; }
.night-eyebrow { display:block; color:var(--muted); font:500 11px/1.5 var(--text); letter-spacing:.12em; text-transform:uppercase; }
body.editorial.schedule-page .page-head h1 { font-size:clamp(58px,6.8vw,98px); line-height:.94; font-weight:600; letter-spacing:-.065em; margin:18px 0 22px; }
.night-intro h1 em { color:var(--accent); font-style:normal; }
body.schedule-page .night-intro .lead { font-size:16px; color:var(--ink-2); line-height:1.6; margin:0; }
.night-landscape { position:relative; margin:0; height:290px; border-radius:24px; overflow:hidden; }
.night-landscape::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#10213bd9,transparent 65%); pointer-events:none; }
.night-landscape img { width:100%; height:100%; object-fit:cover; }
.night-landscape figcaption { position:absolute; inset:auto 22px 18px; z-index:1; display:flex; justify-content:space-between; gap:16px; color:#edf5ff; font-size:11px; }
.night-tabs { display:flex; gap:30px; border-bottom:1px solid var(--line); }
.night-tabs a { display:flex; align-items:center; gap:8px; min-height:50px; color:var(--ink-2); font-size:14px; text-decoration:none; }
.night-tabs a:first-child { color:var(--accent); border-bottom:2px solid var(--accent); }
.night-tabs span { color:var(--muted); font-size:11px; }
.night-tabs a:last-child { margin-left:auto; }
body.schedule-page .schedule-filters { background:transparent; padding:16px 0; margin:0; border:0; border-radius:0; }
body.schedule-page .schedule-filters select { background:var(--surface); color:var(--ink); border-color:var(--line-2); border-radius:10px; }
body.schedule-page .schedule-filters label { color:var(--muted); }
body.schedule-page .schedule-section-title { font-size:19px; }
body.schedule-page .schedule-section-title span { background:var(--bg-2); color:var(--accent); }
body.schedule-page .schedule-events { gap:12px; }
body.schedule-page .schedule-events .tl-month { color:var(--muted); padding:16px 0; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
body.schedule-page .tl-month small { color:var(--muted); }
body.schedule-page .schedule-event { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:24px; grid-template-columns:80px 180px minmax(0,1fr) 205px; gap:24px; }
body.schedule-page .schedule-event:not(.schedule-event-past) { border-top:2px solid #7eafff; }
body.schedule-page .event-date b { font-size:58px; color:var(--accent); line-height:1; }
body.schedule-page .event-photo { border-radius:12px; height:160px; }
body.schedule-page .event-status { color:var(--accent); background:#edf3ff; border-radius:6px; letter-spacing:.03em; }
body.schedule-page .event-description h3 { font-size:24px; }
body.schedule-page .event-facts { color:var(--ink-2); }
body.schedule-page .event-price { font-size:32px; }
body.schedule-page .event-booking .btn { border-radius:10px; }
body.schedule-page .schedule-event-past .event-date b { font-size:40px; color:var(--ink-2); }
body.schedule-page .schedule-event-past .event-photo { height:105px; }
body.schedule-page .schedule-event-past .event-description h3 { font-size:21px; }
body.schedule-page .schedule-event-past .event-status { color:var(--muted); background:transparent; padding:0; }
body.schedule-page .schedule-help { border-color:var(--line); padding-block:28px; }
body.schedule-page .schedule-help h2 { color:var(--ink); }
body.schedule-page .section-head .arrow-link { color:var(--ink-2); }
#departures, #past-title { scroll-margin-top:90px; }
body.schedule-page .site-footer { --ink:#f0f5ff; --ink-2:#cad8ed; --muted:#a7bddb; --line:#344761; background:#10213b; color:var(--ink-2); }
body.schedule-page .footer-h, body.schedule-page .footer-phone { color:#f0f5ff; }
body.schedule-page .mobile-dock { background:#f5f8fdf5; border-color:var(--line); }
body.schedule-page .mobile-dock a { color:var(--ink); background:transparent; }
body.schedule-page .mobile-dock .mobile-dock-main { color:var(--on-action); background:var(--accent); }
body.schedule-page .burger-panel { background:var(--surface); color:var(--ink); border-color:var(--line); }
/* Geographic map retains its readable light cartographic surface. */
body.schedule-page #na-karte { background:#eaf1fc; }
body.schedule-page #na-karte .map-wrap {
  --bg:#f5f8fd; --bg-2:#eaf1fc; --surface:#fff; --ink:#172238; --ink-2:#43516a;
  --muted:#5d6b82; --line:#dbe3f0; --line-2:#bdcce2; --accent:#2459ed; --contour:#46628b;
  color:var(--ink); background:var(--bg); padding:20px; border-radius:8px;
}
body.schedule-page #na-karte .chip { color:var(--ink); background:white; border-color:var(--line); }
body.schedule-page #na-karte .chip.is-on { color:white; background:var(--accent); border-color:var(--accent); }
@media (max-width:1100px) and (min-width:761px) {
  .night-intro { gap:32px; }
  body.schedule-page .schedule-event { grid-template-columns:64px 110px minmax(0,1fr) 170px; gap:16px; }
  body.schedule-page .event-description h3 { font-size:20px; }
}
@media (max-width:760px) {
  .night-intro { grid-template-columns:1fr; gap:24px; padding-block:12px 22px; }
  body.editorial.schedule-page .page-head h1 { font-size:clamp(58px,15vw,78px); }
  .night-landscape { height:150px; border-radius:18px; }
  .night-landscape figcaption { font-size:10px; inset-inline:14px; gap:8px; }
  .night-tabs { gap:16px; }
  .night-tabs a { font-size:12px; gap:5px; }
  body.schedule-page .schedule-event { grid-template-columns:64px minmax(0,1fr); gap:16px; padding:18px; }
  body.schedule-page .event-photo, body.schedule-page .schedule-event-past .event-photo { height:105px; }
  body.schedule-page .event-description h3 { font-size:23px; }
  body.schedule-page .event-date b { font-size:48px; }
  body.schedule-page .event-price { font-size:28px; }
}
