/* Arashan Transfer v4 — content pages, guide, mini ticket, live widgets. Builds on site.css tokens. */
:root{--prose:68ch;--note:#EEF4F2;--ok:#2F7A4F;--warn:#B7791F;--bad:#B3261E}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--note:#183027;--ok:#7FD3A0;--warn:#F3C431;--bad:#FFB4A8}}
:root[data-theme="dark"]{--note:#183027;--ok:#7FD3A0;--warn:#F3C431;--bad:#FFB4A8}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--acc);color:var(--on-acc);padding:10px 14px;border-radius:0 0 8px 0;font-weight:700}
.skip:focus{left:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main{overflow-wrap:break-word}
.hnav{gap:12px 16px}

/* ===== page frame ===== */
.pg{padding-bottom:8px}
.pg>h1{margin-top:12px;max-width:22ch}
.pg>.lead{font-size:var(--f17);color:var(--muted);max-width:var(--prose);margin-bottom:8px}
@media(min-width:720px){.pg>.lead{font-size:19px;line-height:1.55}}
.pg-upd{font-size:13px;color:var(--muted);margin:0 0 8px}
.crumbs{margin:10px 0 0;font-size:13px;color:var(--muted)}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:2px 0}
.crumbs li{margin:0;max-width:none;display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 8px;color:var(--line2)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs [aria-current]{display:inline-block;max-width:24ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}

/* ===== prose ===== */
.prose{max-width:var(--prose)}
.prose>:first-child{margin-top:28px}
.prose h2{margin:44px 0 10px;scroll-margin-top:16px}
.prose h3{margin:26px 0 6px}
.prose h2+h3{margin-top:14px}
.prose p,.prose li{line-height:1.65}
.prose ul,.prose ol{padding-left:1.25em}
.prose ul li::marker{color:var(--muted)}
.prose ol li::marker{font-weight:700;font-variant-numeric:tabular-nums}
.prose a{text-decoration-color:var(--acc);text-decoration-thickness:2px}
.prose a:hover{text-decoration-color:currentColor}
.prose strong{font-weight:700}
.prose .tw{margin:16px 0 20px}
.prose table{font-size:var(--f15)}
.prose thead th{font-weight:700;color:var(--ink);border-top:0;border-bottom:1.5px solid var(--ink);white-space:nowrap}
.prose tbody tr:first-child td{border-top:0}
.prose td{font-variant-numeric:tabular-nums}
.tw{-webkit-overflow-scrolling:touch;max-width:100%}
.callout{background:var(--note);border-radius:12px;padding:16px 18px;margin:22px 0;position:relative}
.callout::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--acc)}
.callout p{margin:0 0 8px;font-size:var(--f15);line-height:1.6}
.callout p:last-child{margin:0}
.callout a{color:var(--ink)}
.cta-line{margin:22px 0}
.cta-line .btn{min-width:220px}
@media(max-width:560px){.cta-line .btn{width:100%}}
.wa-btn svg{width:18px;height:18px;fill:currentColor}
.day{margin-bottom:8px}

/* ===== mini ticket ===== */
.mtk{margin:24px 0 8px;max-width:var(--prose)}
.mtk .tk-main{padding:18px 20px}
.mtk .tk-route{font-size:var(--f21);font-weight:700;line-height:1.2}
.mtk .tk-sub{margin-top:4px}
.mtk-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-top:14px}
.mtk .tk-times{margin:0;gap:22px}
.mtk .tk-times b{font-size:var(--f17)}
.mtk .tk-price{margin:0 0 0 auto;flex-direction:column;align-items:flex-end;text-align:right;gap:4px}
.mtk .tk-price b{font-size:var(--f28)}
.mtk .tk-price span{font-size:13px}
.mtk-more{display:block;margin-top:2px}
.mtk-more b{font-size:13px!important;color:var(--tk-ink)!important;letter-spacing:0!important}
.mtk .tk-stub{padding:16px 20px 18px}
.mtk .tk-stub .btn{margin-top:12px}
.mtk .dstrip{margin:0 -20px;padding-inline:20px}
@media(min-width:640px){
  .mtk .tk-main{padding:22px 28px}
  .mtk .tk-stub{padding:18px 28px 22px}
  .mtk .dstrip{margin:0 -28px;padding-inline:28px}
  .mtk .tk-stub .btn{margin-top:14px;width:auto;min-width:220px}
  .mtk .tk-price{align-items:flex-end;text-align:right}
}
.mtk .dchip{width:52px;padding:7px 0 8px}
.mtk .dstrip{min-height:79px}
.mtk .dchip .dd{font-size:var(--f17)}

/* ===== closing CTA ===== */
.pg-end{margin:48px 0 0;max-width:var(--prose);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;
  padding:20px 0;border-top:1.5px dashed var(--line2);border-bottom:1.5px dashed var(--line2)}
.pg-end p{margin:0;max-width:40ch}
.pg-end b{font-size:var(--f21);font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--acc);color:var(--on-acc);padding:1px 8px;border-radius:6px;margin-right:4px}
.pg-end span{color:var(--muted);font-size:var(--f15)}
@media(max-width:560px){.pg-end .btn{width:100%}}

/* ===== FAQ + related ===== */
.pg-faq{max-width:var(--prose)}
.pg-faq h2,.pg-rel h2{margin-top:48px}
.pg-rel{max-width:var(--prose)}
.pg-rel .plan li span{font-size:var(--f15)}
@media(min-width:640px){.pg-rel .plan li{grid-template-columns:1fr}}

/* ===== road status ===== */
.road{margin:24px 0 8px;max-width:var(--prose);background:var(--panel);color:var(--ink);border-radius:var(--r);padding:18px 20px;position:relative;overflow:hidden}
.road::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line2)}
.road[data-state="ok"]::after{background:var(--ok)}
.road[data-state="warn"]::after{background:var(--warn)}
.road[data-state="bad"]::after{background:var(--bad)}
.road p{margin:0}
.road-st{display:flex;align-items:center;gap:10px;font-size:var(--f21);line-height:1.2}
.road-st b{font-weight:700}
.road .dot{width:12px;height:12px;border-radius:50%;background:var(--muted);flex:0 0 auto}
.road[data-state="ok"] .dot{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 22%,transparent)}
.road[data-state="warn"] .dot{background:var(--warn)}
.road[data-state="bad"] .dot{background:var(--bad)}
.road-tx{margin-top:8px!important;line-height:1.55}
.road-tx:empty{display:none}
.road-up{margin-top:10px!important;font-size:13px;color:var(--muted)}
.road-up:empty{display:none}
@media(min-width:640px){.road{padding:22px 28px}}

/* ===== departures ===== */
.deps{margin:24px 0 8px;max-width:var(--prose)}
.deps>p{font-size:var(--f15);margin:0 0 6px}
.dtab{font-size:var(--f15)}
.dtab th{white-space:nowrap}
.dtab td{padding:11px 10px 11px 0;vertical-align:middle}
.dtab tr{cursor:pointer}
.dtab tbody tr:hover td{background:color-mix(in srgb,var(--panel) 45%,transparent)}
.dtab .dd{white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}
.dtab .dn{text-align:center;width:3.5em}
.dtab .da{text-align:right;white-space:nowrap}
.dtab .da a{font-weight:700;text-decoration-color:var(--acc);text-decoration-thickness:2px}
.dtab .dbtn{display:inline-block;background:var(--acc);color:var(--on-acc);padding:5px 12px;border-radius:8px;text-decoration:none;position:relative}
.dtab .dbtn::after{content:"";position:absolute;inset:-5px -2px}
.dtab .st{display:inline-flex;align-items:center;gap:6px}
.dtab .st::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);flex:0 0 auto}
.dtab .st.conf{font-weight:500}
.dtab .st.off::before{background:var(--line2)}
.dtab tr.off .dd,.dtab tr.off .st{color:var(--muted)}
.dtab tr.off .da a{font-weight:500;font-size:13px;text-decoration-color:var(--line2)}
@media(max-width:420px){.dtab td{padding-right:6px}.dtab .ds{font-size:13px}}

/* ===== prices insert ===== */
.ptab td:nth-child(2){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}
.ptab td:nth-child(2) small{font-weight:400}
.ptab td:last-child{text-align:right;width:1%;white-space:nowrap}
.ptab td:last-child a{font-weight:700;text-decoration-color:var(--acc);text-decoration-thickness:2px;display:inline-block;padding:12px 4px;margin:-12px -4px}
.prose .ptab td{font-variant-numeric:tabular-nums}
.ptab b{font-weight:500}

/* ===== guide index ===== */
.gidx{list-style:none;padding:0;margin:28px 0 0;max-width:var(--prose);border-top:1px solid var(--line)}
.gidx li{margin:0;padding:18px 0;border-bottom:1px solid var(--line);display:grid;gap:4px;max-width:none}
.gidx a{font-size:var(--f17);font-weight:700;line-height:1.3;text-decoration-color:var(--acc);text-decoration-thickness:2px;justify-self:start;padding-block:11px;margin-block:-11px}
@media(min-width:720px){.gidx a{font-size:var(--f21)}}
.gidx span{color:var(--muted);font-size:var(--f15);line-height:1.5}
.gidx time{font-size:13px;color:var(--muted)}
.chips{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{margin:0}
.chips a{display:inline-block;padding:10px 14px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);text-decoration:none;font-size:var(--f15)}
.chips a:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}

/* ===== 404 ===== */
.nf-code{font-size:72px;line-height:1;font-weight:700;color:var(--acc);margin:32px 0 0;letter-spacing:-.03em;
  -webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}

/* ===== footer site map ===== */
.f-map{margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.f-h{color:var(--ink);font-weight:500;margin:0 0 8px!important}
.f-map ul{list-style:none;padding:0;margin:0;columns:2;column-gap:20px}
.f-map li{margin:0 0 6px;break-inside:avoid}
@media(min-width:640px){.f-map ul{columns:3}}

/* home extras */
.plan li>a{font-size:var(--f17)}

@media print{.mtk,.pg-end,.deps,.road,.crumbs{display:none}
  :root,:root:not([data-theme="light"]),:root[data-theme="dark"]{--note:#fff;--ok:#000;--warn:#000;--bad:#000}
  .callout{border:1px solid #8a8a8a}}
.prose .mtk ul,.prose .mtk ol{padding:0}
.prose .mtk li{line-height:1.2;margin:0}
.prose .mtk p{line-height:1.35}
.mtk[data-mtk="private469"] .tk-price{margin-left:0;align-items:flex-start;text-align:left}

/* touch screens: 44px tap targets (see site.css) */
@media (pointer:coarse){
  .f-map li{margin:0}
  .f-map a{display:block;padding:10.5px 0}
  .crumbs a{display:inline-block;padding:12px 10px;margin:-12px -10px}
}
