:root{--tzvt-ink:#12202b;--tzvt-muted:#657483;--tzvt-line:#e4eaef;--tzvt-panel:#f7f9fb;--tzvt-green:#0f6b56;--tzvt-green2:#19a37d;--tzvt-night:#102732;--tzvt-gold:#f2b84b;--tzvt-white:#fff}
body.tzvt-page #top-nav,body.tzvt-page .stream-item-top-wrapper,body.tzvt-page #footer,body.tzvt-page .footer-widget-area{display:none!important}
body.tzvt-page--fullwidth .sidebar,body.tzvt-page--fullwidth #sidebar,body.tzvt-page--fullwidth .sidebar-right,body.tzvt-page--fullwidth .sidebar-left,body.tzvt-page--fullwidth #content aside.widget-area,body.tzvt-page--fullwidth #content .tie-col-md-4.sidebar{display:none!important}
body.tzvt-page--fullwidth .main-content,body.tzvt-page--fullwidth #main-content,body.tzvt-page--fullwidth .content,body.tzvt-page--fullwidth .site-content,body.tzvt-page--fullwidth #content .tie-col-md-8.main-content,body.tzvt-page--fullwidth #content .entry-content{width:100%!important;max-width:none!important;float:none!important}
body.tzvt-page--fullwidth .container-wrapper,body.tzvt-page--fullwidth #content .container{max-width:none!important}
body.tzvt-page--fullwidth #content .main-content-row{display:block!important}
body.tzvt-page--fullwidth #content .entry-header,body.tzvt-page--fullwidth #content .post-title,body.tzvt-page--fullwidth .breadcrumb,body.tzvt-page--fullwidth .breadcrumbs,body.tzvt-page--fullwidth #breadcrumb,body.tzvt-page--fullwidth .tie-breadcrumbs,body.tzvt-page--fullwidth .entry-header-outer{display:none!important}
.tzvt-shell{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tzvt-ink);max-width:1440px;margin:0 auto;padding:0 22px 60px;box-sizing:border-box}
.tzvt-shell *{box-sizing:border-box}.tzvt-shell a{text-decoration:none}.tzvt-shell h1,.tzvt-shell h2,.tzvt-shell h3,.tzvt-shell p{margin-top:0}.tzvt-shell button,.tzvt-shell select,.tzvt-shell input{font:inherit}
.tzvt-hero{position:relative;overflow:hidden;min-height:430px;margin:18px 0 24px;padding:64px;border-radius:32px;background:linear-gradient(135deg,#0b1d27 0%,#10333b 50%,#0f6b56 100%);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;box-shadow:0 24px 60px rgba(18,32,43,.18)}
.tzvt-hero__glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.25}.tzvt-hero__glow--a{width:340px;height:340px;background:#26c69a;right:-80px;top:-140px}.tzvt-hero__glow--b{width:240px;height:240px;background:#f2b84b;left:38%;bottom:-190px}.tzvt-hero__content,.tzvt-hero__rail{position:relative;z-index:1}.tzvt-kicker,.tzvt-eyebrow{font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.tzvt-kicker{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:9px 12px;border-radius:999px}.tzvt-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#35dfa6;box-shadow:0 0 0 5px rgba(53,223,166,.12)}.tzvt-hero h1{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;margin:22px 0 22px;max-width:780px}.tzvt-hero p{font-size:19px;line-height:1.65;color:rgba(255,255,255,.82);max-width:760px}.tzvt-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.tzvt-hero__chips span{font-size:13px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}
.tzvt-hero__rail{height:280px;border-radius:24px;background:rgba(4,16,23,.22);border:1px solid rgba(255,255,255,.12);overflow:hidden}.tzvt-rail-line{position:absolute;left:55px;right:55px;top:139px;height:4px;background:linear-gradient(90deg,#f2b84b,#fff,#35dfa6);transform:rotate(-9deg);transform-origin:center;border-radius:999px;box-shadow:0 0 20px rgba(255,255,255,.22)}.tzvt-rail-line:before,.tzvt-rail-line:after{content:"";position:absolute;width:17px;height:17px;border:4px solid #fff;background:#11323c;border-radius:50%;top:-7px}.tzvt-rail-line:before{left:0}.tzvt-rail-line:after{right:0}.tzvt-train-mark{position:absolute;top:104px;left:47%;font-size:35px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))}.tzvt-rail-city{position:absolute;display:flex;flex-direction:column}.tzvt-rail-city b{font-size:16px}.tzvt-rail-city span{font-size:12px;color:rgba(255,255,255,.65)}.tzvt-rail-city--a{left:30px;bottom:34px}.tzvt-rail-city--b{right:28px;top:30px;text-align:right}
.tzvt-planner-card,.tzvt-section,.tzvt-stations-section{background:#fff;border:1px solid var(--tzvt-line);border-radius:26px;padding:30px;box-shadow:0 12px 32px rgba(31,45,58,.06)}.tzvt-planner-card{margin-top:-54px;position:relative;z-index:3;margin-left:26px;margin-right:26px}.tzvt-section{margin-top:24px}.tzvt-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.tzvt-section-head h2{font-size:30px;letter-spacing:-.025em;margin:5px 0 0}.tzvt-section-head p{color:var(--tzvt-muted);max-width:540px;margin:0;text-align:right}.tzvt-eyebrow{color:var(--tzvt-green)}.tzvt-eyebrow--light{color:#77dfbe}.tzvt-source-pill{white-space:nowrap;font-size:12px;font-weight:800;background:#edf9f5;color:#0d6f55;border:1px solid #cceee3;padding:8px 11px;border-radius:999px}
.tzvt-planner{display:grid;grid-template-columns:minmax(220px,1.2fr) 44px minmax(220px,1.2fr) minmax(150px,.75fr) minmax(145px,.7fr) auto;gap:12px;align-items:end}.tzvt-field{display:flex;flex-direction:column;gap:7px}.tzvt-field span{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#52616e}.tzvt-field select,.tzvt-field input{width:100%;min-height:52px;border:1px solid #d9e1e7;background:#fbfcfd;border-radius:13px;padding:0 14px;color:#13202a;outline:none}.tzvt-field select:focus,.tzvt-field input:focus{border-color:#47af91;box-shadow:0 0 0 3px rgba(25,163,125,.11)}.tzvt-swap{height:45px;width:45px;border:1px solid #dce4e9;border-radius:50%;background:#fff;color:#0f6b56;font-size:20px;cursor:pointer;margin-bottom:4px}.tzvt-return{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:750;padding:0 2px 15px;white-space:nowrap}.tzvt-return input{accent-color:#0f6b56}.tzvt-field--return{grid-column:4/5}.tzvt-search{height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,#0f6b56,#19a37d);color:#fff;font-weight:850;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:20px;cursor:pointer;box-shadow:0 10px 22px rgba(15,107,86,.18)}.tzvt-search:hover{transform:translateY(-1px)}.tzvt-planner-note{margin-top:16px;border-left:4px solid #f2b84b;background:#fff9ec;padding:12px 14px;border-radius:8px;color:#68552d;font-size:13px;line-height:1.55}.tzvt-planner-result{margin-top:18px}.tzvt-result-message{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:16px;background:#eef8f5;border:1px solid #cee9df}.tzvt-result-message>div{display:flex;flex-direction:column;gap:4px}.tzvt-result-message__route{font-weight:850;color:#0f6b56}.tzvt-result-message__route i{font-style:normal;padding:0 5px}.tzvt-result-message small{color:#63717c;line-height:1.45}.tzvt-result-message a{white-space:nowrap;background:#0f6b56;color:#fff;padding:10px 12px;border-radius:10px;font-weight:800}.tzvt-result-message--error{background:#fff1f1;border-color:#f2caca;color:#9e2f2f}
.tzvt-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tzvt-quick{border:1px solid #e1e8ed;background:#fbfcfd;border-radius:16px;padding:17px;text-align:left;display:flex;gap:12px;align-items:flex-start;cursor:pointer;color:#12202b;transition:.18s}.tzvt-quick:hover{border-color:#90cfba;background:#f2fbf8;transform:translateY(-2px)}.tzvt-quick__icon{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:#e7f6f1;color:#0f6b56;font-weight:900}.tzvt-quick b,.tzvt-quick small{display:block}.tzvt-quick b{font-size:14px}.tzvt-quick small{font-size:12px;color:#74818c;margin-top:4px;line-height:1.4}
.tzvt-live-panel{position:relative;overflow:hidden;margin-top:24px;padding:34px;border-radius:28px;background:linear-gradient(145deg,#102732,#143f46);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center;box-shadow:0 18px 48px rgba(16,39,50,.16)}.tzvt-live-panel h2{font-size:34px;line-height:1.12;letter-spacing:-.03em;margin:9px 0 14px}.tzvt-live-panel p{color:rgba(255,255,255,.72);line-height:1.65}.tzvt-live-legend{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.tzvt-live-legend span{display:flex;align-items:center;gap:7px;font-size:12px}.tzvt-status{width:10px;height:10px;border-radius:50%}.tzvt-status--gps{background:#35dfa6;box-shadow:0 0 0 4px rgba(53,223,166,.12)}.tzvt-outline-btn{display:inline-flex;border:1px solid rgba(255,255,255,.24);color:#fff;padding:11px 13px;border-radius:11px;font-weight:800}.tzvt-live-map{position:relative;min-height:350px;border-radius:21px;background:#e8f0ec;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.tzvt-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(17,56,59,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(17,56,59,.05) 1px,transparent 1px);background-size:28px 28px}.tzvt-live-map svg{position:absolute;inset:0;width:100%;height:100%}.tzvt-map-route{fill:none;stroke:#0f6b56;stroke-width:7;stroke-linecap:round;stroke-dasharray:8 6}.tzvt-map-route--ghost{stroke:#fff;stroke-width:13;stroke-dasharray:none;opacity:.65}.tzvt-map-node{position:absolute;background:#fff;color:#173038;border:1px solid #d6e2de;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;box-shadow:0 4px 12px rgba(16,39,50,.08)}.tzvt-map-node--bangkok{left:8%;bottom:8%}.tzvt-map-node--ayutthaya{left:29%;bottom:34%}.tzvt-map-node--lampang{right:31%;top:20%}.tzvt-map-node--chiangmai{right:7%;top:5%}.tzvt-map-card{position:absolute;left:16px;right:16px;bottom:15px;background:rgba(16,39,50,.92);color:#fff;border-radius:13px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center}.tzvt-map-card b{font-size:12px}.tzvt-map-card small{grid-column:2;color:rgba(255,255,255,.67);font-size:10px}
.tzvt-lines-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tzvt-line-card{font:inherit;text-align:left;cursor:pointer;position:relative;min-height:150px;padding:20px;border-radius:19px;display:flex;align-items:center;gap:16px;overflow:hidden;border:1px solid transparent}.tzvt-line-card__mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.78);font-weight:950;box-shadow:0 8px 20px rgba(0,0,0,.06)}.tzvt-line-card h3{margin:0 0 6px;font-size:18px}.tzvt-line-card p{margin:0;font-size:12px;line-height:1.5;color:rgba(18,32,43,.7)}.tzvt-line-card__arrow{margin-left:auto;font-size:22px}.tzvt-line-card--emerald{background:#eaf8f3;border-color:#c8eadf}.tzvt-line-card--violet{background:#f2effb;border-color:#ddd5f4}.tzvt-line-card--sky{background:#edf7fb;border-color:#d1e8f2}.tzvt-line-card--amber{background:#fff6e3;border-color:#f5dfad}.tzvt-line-card--rose{background:#fff0f0;border-color:#f1d0d0}.tzvt-line-card--teal{background:#eaf7f7;border-color:#cbe7e7}
.tzvt-stations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.tzvt-station-card{position:relative;padding:20px;border-radius:18px;border:1px solid #e1e8ed;background:linear-gradient(180deg,#fff,#f8fafb)}.tzvt-station-card__badge{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.09em;background:#e7f5f0;color:#0f6b56;padding:5px 7px;border-radius:999px}.tzvt-station-card h3{font-size:19px;margin:14px 0 4px}.tzvt-station-card strong{font-size:12px;color:#4c5a66}.tzvt-station-card p{font-size:12px;line-height:1.55;color:#72808c;margin:10px 0 20px}.tzvt-station-card button{padding:0;border:0;background:transparent;color:#0f6b56;font-weight:850;font-size:12px;cursor:pointer}.tzvt-station-card button span{padding-left:5px}
.tzvt-split{margin-top:24px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.tzvt-info-stack,.tzvt-ticket-card{border-radius:26px;padding:30px}.tzvt-info-stack{background:#f5f7f8;border:1px solid #e0e6ea}.tzvt-info-stack h2{font-size:30px;margin:6px 0 9px}.tzvt-info-stack p{color:#6d7b87}.tzvt-info-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px}.tzvt-info-list span{background:#fff;border:1px solid #dfe6ea;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:750}.tzvt-ticket-card{background:linear-gradient(135deg,#f1b749,#ffd77f);box-shadow:0 14px 30px rgba(242,184,75,.15)}.tzvt-ticket-card__top{font-size:10px;font-weight:900;letter-spacing:.11em}.tzvt-ticket-card h3{font-size:29px;margin:12px 0 9px}.tzvt-ticket-card p{font-size:13px;line-height:1.6;color:#5c4b29}.tzvt-ticket-card a{display:inline-flex;background:#17242c;color:#fff;padding:11px 13px;border-radius:10px;font-weight:850;font-size:12px;margin-top:8px}.tzvt-warning-card{margin-top:18px;border:1px solid #f0d2a1;background:#fff8ea;border-radius:18px;padding:18px 20px;display:flex;gap:14px;align-items:flex-start}.tzvt-warning-card__icon{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#f2b84b;color:#513d18;font-weight:950}.tzvt-warning-card b{display:block;margin-bottom:4px}.tzvt-warning-card p{margin:0;color:#786541;font-size:12px;line-height:1.55}.tzvt-footer-status{margin-top:18px;border-radius:18px;background:#11252e;color:#fff;padding:18px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tzvt-footer-status div{display:flex;flex-direction:column;gap:3px}.tzvt-footer-status span{font-size:10px;color:rgba(255,255,255,.56);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.tzvt-footer-status b{font-size:12px}
@media (max-width:1180px){.tzvt-planner{grid-template-columns:1fr 44px 1fr 1fr}.tzvt-search{grid-column:4}.tzvt-return{grid-column:1}.tzvt-field--return{grid-column:2/4}.tzvt-quick-grid{grid-template-columns:repeat(2,1fr)}.tzvt-stations-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.tzvt-shell{padding:0 12px 40px}.tzvt-hero{grid-template-columns:1fr;padding:34px 28px;min-height:auto;border-radius:24px}.tzvt-hero__rail{height:210px}.tzvt-planner-card{margin:-22px 8px 0;padding:21px}.tzvt-section{padding:22px}.tzvt-planner{grid-template-columns:1fr 42px 1fr}.tzvt-field--date,.tzvt-field--time{grid-column:auto}.tzvt-search{grid-column:3}.tzvt-return{grid-column:1}.tzvt-field--return{grid-column:2/4}.tzvt-live-panel{grid-template-columns:1fr}.tzvt-lines-grid{grid-template-columns:repeat(2,1fr)}.tzvt-split{grid-template-columns:1fr}.tzvt-section-head{align-items:flex-start;flex-direction:column;gap:8px}.tzvt-section-head p{text-align:left}}
@media (max-width:640px){.tzvt-hero{padding:27px 20px}.tzvt-hero h1{font-size:40px}.tzvt-hero p{font-size:16px}.tzvt-hero__rail{display:none}.tzvt-planner{display:grid;grid-template-columns:1fr}.tzvt-planner .tzvt-field,.tzvt-search,.tzvt-return,.tzvt-field--return{grid-column:1!important}.tzvt-swap{justify-self:center;margin:-2px 0;transform:rotate(90deg)}.tzvt-search{width:100%}.tzvt-quick-grid,.tzvt-lines-grid,.tzvt-stations-grid,.tzvt-footer-status{grid-template-columns:1fr}.tzvt-live-panel{padding:24px 18px}.tzvt-live-panel h2,.tzvt-section-head h2,.tzvt-info-stack h2{font-size:26px}.tzvt-live-map{min-height:300px}.tzvt-result-message{align-items:flex-start;flex-direction:column}.tzvt-result-message a{width:100%;text-align:center}.tzvt-source-pill{white-space:normal}}

/* v0.2.0 – živé výsledky SRT */
.tzvt-result-loading{display:flex;align-items:center;gap:14px;padding:20px;border-radius:16px;background:#f7faf9;border:1px solid #dbe8e3}.tzvt-result-loading b,.tzvt-result-loading small{display:block}.tzvt-result-loading small{margin-top:3px;color:#64748b}.tzvt-spinner{width:30px;height:30px;border:3px solid #d8e5df;border-top-color:#0f8a63;border-radius:50%;animation:tzvt-spin .8s linear infinite}@keyframes tzvt-spin{to{transform:rotate(360deg)}}
.tzvt-search-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.tzvt-search-summary b{display:block;margin-top:5px}.tzvt-search-summary a{white-space:nowrap;text-decoration:none;font-weight:800;color:#096a4d;background:#e9f7f1;padding:10px 14px;border-radius:12px}.tzvt-train-results{display:grid;gap:12px}.tzvt-train-result{display:grid;grid-template-columns:100px minmax(190px,1.1fr) minmax(220px,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid #dfe9e5;background:#fff;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.tzvt-train-result__no span,.tzvt-train-result__times span{display:block;font-size:10px;letter-spacing:.08em;font-weight:800;color:#718096}.tzvt-train-result__no b{font-size:27px;line-height:1}.tzvt-train-result__no small{display:block;margin-top:4px;color:#0f766e;font-weight:700}.tzvt-train-result__times{display:flex;align-items:center;gap:16px}.tzvt-train-result__times b{font-size:23px}.tzvt-train-result__times i{font-style:normal;color:#94a3b8}.tzvt-train-result__meta{display:flex;flex-wrap:wrap;gap:8px}.tzvt-train-result__meta span{background:#f6f8f8;padding:7px 9px;border-radius:9px;font-size:12px;font-weight:700}.tzvt-train-result__actions{display:flex;flex-direction:column;gap:7px}.tzvt-train-result__actions a{text-decoration:none;text-align:center;font-size:12px;font-weight:800;padding:9px 11px;border-radius:10px;background:#0f172a;color:#fff}.tzvt-train-result__actions .tzvt-train-result__ticket{background:#0f8a63}.tzvt-result-source{font-size:11px;color:#73808b;margin-top:12px}.tzvt-result-message__route{display:block;font-weight:900;margin-bottom:4px}.tzvt-result-message__route i{font-style:normal;color:#0f8a63}
@media(max-width:900px){.tzvt-train-result{grid-template-columns:80px 1fr}.tzvt-train-result__meta,.tzvt-train-result__actions{grid-column:1/-1}.tzvt-train-result__actions{flex-direction:row}.tzvt-train-result__actions a{flex:1}}
@media(max-width:560px){.tzvt-search-summary{align-items:flex-start;flex-direction:column}.tzvt-train-result{grid-template-columns:1fr}.tzvt-train-result__meta,.tzvt-train-result__actions{grid-column:auto}.tzvt-train-result__times{justify-content:flex-start}}

/* v0.4.0 – časové filtry, nejbližší odjezd a zpáteční cesta */
.tzvt-journey-block{display:grid;gap:12px}.tzvt-journey-block+.tzvt-journey-block{margin-top:28px;padding-top:24px;border-top:2px dashed #dce7e2}.tzvt-journey-title{margin:0;font-size:20px;color:#122b32;display:flex;align-items:center;gap:8px}.tzvt-journey-title:before{content:'🚆';font-size:18px}.tzvt-filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.tzvt-filter-chips span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f0f7f4;color:#315e50;font-size:10px;font-weight:850}.tzvt-train-result--next{border-color:#8bd0b8;box-shadow:0 11px 30px rgba(15,138,99,.11);background:linear-gradient(135deg,#fff,#f2fbf7)}.tzvt-next-badge{display:inline-flex;margin-top:7px;padding:4px 6px;border-radius:999px;background:#0f8a63;color:#fff;font-size:8px;font-style:normal;font-weight:950;letter-spacing:.08em}.tzvt-result-empty{display:flex;flex-direction:column;gap:4px;padding:17px 18px;border-radius:15px;border:1px solid #eadbb5;background:#fff9eb;color:#655126}.tzvt-result-empty span{font-size:12px;line-height:1.5}.tzvt-return-loading{margin-top:22px;padding:13px 15px;border-radius:13px;background:#f5f8f7;color:#50665e;font-size:12px;font-weight:800}.tzvt-planner-result>.tzvt-result-message+.tzvt-result-message{margin-top:18px}
@media(max-width:560px){.tzvt-filter-chips{margin-top:10px}.tzvt-journey-title{font-size:18px}}

/* v0.5.0 — service profile, live TTS lookup and class guide */
.tzvt-train-result__service{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.tzvt-train-result__service>span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.02em}.tzvt-train-result__service>span.is-reserved{background:#e9f8ef;color:#126739}.tzvt-train-result__service>span.is-local{background:#eef2f7;color:#425166}.tzvt-train-result__service small{color:#6d7580;font-size:12px;line-height:1.45;max-width:480px}
.tzvt-live-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:18px;max-width:520px}.tzvt-live-lookup label{display:flex;flex-direction:column;gap:6px}.tzvt-live-lookup label span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}.tzvt-live-lookup input{height:46px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;padding:0 14px;font:inherit;outline:none}.tzvt-live-lookup input:focus{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.12)}.tzvt-live-lookup button{align-self:end;height:46px;border:0;border-radius:12px;padding:0 16px;font-weight:800;cursor:pointer;background:#fff;color:#152434}.tzvt-live-result{margin-top:12px;max-width:620px}.tzvt-live-result__loading,.tzvt-live-result__error{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-size:13px}.tzvt-live-result__error{background:rgba(190,54,54,.23)}.tzvt-live-result__card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.tzvt-live-result__card>div:first-child{display:flex;flex-direction:column;gap:3px}.tzvt-live-result__card span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.66)}.tzvt-live-result__card b{color:#fff}.tzvt-live-result__card small{color:rgba(255,255,255,.72);line-height:1.4}.tzvt-live-result__card a{white-space:nowrap;color:#fff;font-weight:800;text-decoration:none}.tzvt-live-result__facts{display:flex;gap:8px;flex-wrap:wrap}.tzvt-live-result__facts span{background:rgba(255,255,255,.1);padding:6px 8px;border-radius:8px}.tzvt-live-result__card--fallback{background:rgba(255,178,69,.12);border-color:rgba(255,178,69,.23)}
.tzvt-class-guide{margin-top:24px}.tzvt-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tzvt-class-grid article{position:relative;padding:22px;border:1px solid #e5e8ec;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(18,34,52,.06)}.tzvt-class-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#152434;color:#fff;font-weight:900;margin-bottom:14px}.tzvt-class-grid h3{margin:0 0 8px;font-size:20px}.tzvt-class-grid p{margin:0;color:#68717c;line-height:1.6}.tzvt-booking-rules{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin-top:16px;padding:16px 18px;border-radius:16px;background:#f3f7fb}.tzvt-booking-rules b{color:#173a5e}.tzvt-booking-rules span{color:#52606d;line-height:1.55}
@media(max-width:780px){.tzvt-live-lookup{grid-template-columns:1fr}.tzvt-live-result__card{align-items:flex-start;flex-direction:column}.tzvt-class-grid{grid-template-columns:1fr}.tzvt-booking-rules{grid-template-columns:1fr}}


/* v0.6.0 — detail konkrétního vlaku a časová osa TTS */
.tzvt-train-result__actions button{border:0;text-align:center;font:inherit;font-size:12px;font-weight:800;padding:9px 11px;border-radius:10px;background:#e8f3ef;color:#11634b;cursor:pointer}.tzvt-train-result__actions button:hover{background:#d9eee6}.tzvt-train-result__actions button:disabled{opacity:.55;cursor:wait}
.tzvt-train-detail{grid-column:1/-1;margin:-4px 0 10px;padding:18px;border:1px solid #d7e5df;border-radius:18px;background:linear-gradient(180deg,#f9fcfb,#fff);box-shadow:0 10px 28px rgba(15,23,42,.05)}.tzvt-train-detail[hidden]{display:none}.tzvt-train-detail__loading{display:flex;gap:12px;align-items:center;min-height:48px;color:#35564b}.tzvt-train-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.tzvt-train-detail__head>div{display:flex;flex-direction:column;gap:3px}.tzvt-train-detail__head span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#0f8a63}.tzvt-train-detail__head b{font-size:18px;color:#132d34}.tzvt-train-detail__head small{color:#708078;line-height:1.45}.tzvt-train-detail__head a{text-decoration:none;white-space:nowrap;border-radius:10px;padding:8px 10px;background:#eef6f3;color:#16664e;font-size:11px;font-weight:850}.tzvt-train-detail__live{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;margin-bottom:16px;padding:13px 14px;border-radius:14px;background:#102d35;color:#fff}.tzvt-train-detail__live>span{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.58)}.tzvt-train-detail__live>b{grid-column:1;font-size:16px}.tzvt-train-detail__live>small{grid-column:1;color:rgba(255,255,255,.7)}.tzvt-train-detail__live>div{grid-column:2;grid-row:1/4;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.tzvt-train-detail__live em{font-style:normal;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.1);font-size:10px}.tzvt-train-detail__empty{padding:13px 14px;border-radius:12px;background:#fff8e8;color:#6f5522;font-size:12px;line-height:1.55}.tzvt-train-detail__empty a{color:inherit;font-weight:900}.tzvt-timeline{position:relative;display:grid;gap:0;margin:4px 0}.tzvt-timeline:before{content:'';position:absolute;left:10px;top:15px;bottom:15px;width:2px;background:#dce9e4}.tzvt-timeline__stop{position:relative;display:grid;grid-template-columns:22px 82px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:6px 0}.tzvt-timeline__dot{position:relative;z-index:1;width:10px;height:10px;margin-left:6px;border-radius:50%;background:#b9c9c3;border:2px solid #fff;box-shadow:0 0 0 2px #dce9e4}.tzvt-timeline__time{display:flex;flex-direction:column}.tzvt-timeline__time>b{font-size:14px;color:#253c43}.tzvt-timeline__time small,.tzvt-timeline__station small{display:block;color:#83918c;font-size:10px;margin-top:2px}.tzvt-timeline__station>b{font-size:13px;color:#253c43}.tzvt-timeline__stop>em{font-style:normal;border-radius:999px;padding:4px 7px;background:#0f8a63;color:#fff;font-size:8px;font-weight:950;letter-spacing:.07em}.tzvt-timeline__stop.is-passed .tzvt-timeline__dot{background:#6fb59e;box-shadow:0 0 0 2px #bfe0d5}.tzvt-timeline__stop.is-current{background:#eef9f5;border-radius:10px}.tzvt-timeline__stop.is-current .tzvt-timeline__dot{width:12px;height:12px;margin-left:5px;background:#0f8a63;box-shadow:0 0 0 4px rgba(15,138,99,.15)}.tzvt-timeline__stop.is-upcoming .tzvt-timeline__dot{background:#fff}.tzvt-train-detail__foot{margin-top:11px;padding-top:10px;border-top:1px solid #e6eeeb;color:#7b8984;font-size:10px}
@media(max-width:640px){.tzvt-train-detail__head{flex-direction:column}.tzvt-train-detail__head a{width:100%;text-align:center}.tzvt-train-detail__live{grid-template-columns:1fr}.tzvt-train-detail__live>div{grid-column:1;grid-row:auto}.tzvt-timeline__stop{grid-template-columns:22px 62px minmax(0,1fr)}.tzvt-timeline__stop>em{grid-column:3;justify-self:start}.tzvt-train-result__actions{flex-wrap:wrap}.tzvt-train-result__actions button,.tzvt-train-result__actions a{flex:1 1 120px}}

/* v0.7.0 — oficiální katalog stanic + geografická SVG vrstva */
.tzvt-live-map--geo{min-height:520px;background:linear-gradient(160deg,#e8f1ee,#dbe9e5)}
.tzvt-geo-map{position:absolute!important;inset:48px 0 0!important;width:100%!important;height:calc(100% - 48px)!important;z-index:1}
.tzvt-geo-map__toolbar{position:absolute;z-index:4;left:14px;right:14px;top:12px;display:flex;gap:7px;flex-wrap:wrap}
.tzvt-geo-map__toolbar button{border:1px solid rgba(16,39,50,.12);border-radius:999px;background:rgba(255,255,255,.88);color:#254047;padding:6px 9px;font-size:10px;font-weight:850;cursor:pointer;box-shadow:0 3px 10px rgba(16,39,50,.05)}
.tzvt-geo-map__toolbar button.is-active{background:#0f6b56;color:#fff;border-color:#0f6b56}
.tzvt-geo-map__bg{fill:rgba(255,255,255,.28);stroke:rgba(15,107,86,.06);stroke-width:1}
.tzvt-geo-map__route-shadow{fill:none;stroke:#fff;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:.72}
.tzvt-geo-map__route{fill:none;stroke:#0f6b56;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.tzvt-geo-map__station circle{fill:#fff;stroke:#0f6b56;stroke-width:3}.tzvt-geo-map__station.is-start circle{fill:#f2b84b}.tzvt-geo-map__station.is-end circle{fill:#35dfa6}
.tzvt-geo-map__station text{fill:#17343a;font-size:11px;font-weight:850;paint-order:stroke;stroke:rgba(255,255,255,.95);stroke-width:4px;stroke-linejoin:round}
.tzvt-live-map--geo .tzvt-map-card{z-index:5}.tzvt-live-map--geo .tzvt-map-grid{z-index:0}
.tzvt-detail-map{margin:16px 0 4px;padding:13px;border:1px solid #dce9e4;border-radius:14px;background:#f4faf7}.tzvt-detail-map__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.tzvt-detail-map__head b{font-size:12px;color:#214b3e}.tzvt-detail-map__head span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;background:#fff4d9;color:#765b19;padding:4px 7px}.tzvt-detail-map svg{display:block;width:100%;height:240px;border-radius:10px;background:linear-gradient(180deg,#edf7f3,#e4f0ec)}.tzvt-detail-map__shadow{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.tzvt-detail-map__route{fill:none;stroke:#0f8a63;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.tzvt-detail-map circle{fill:#fff;stroke:#0f8a63;stroke-width:2.5}.tzvt-detail-map circle.is-passed{fill:#8bd0b8}.tzvt-detail-map circle.is-current{fill:#f2b84b;stroke:#7e611c;stroke-width:3}.tzvt-detail-map__label{fill:#17343a;font-size:10px;font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:4px;stroke-linejoin:round}.tzvt-detail-map__label.is-current{fill:#725615}.tzvt-detail-map__state{display:grid;gap:2px;margin-top:9px;padding:10px 12px;border-radius:11px;background:#153b42;color:#fff}.tzvt-detail-map__state span{font-size:8px;font-weight:950;letter-spacing:.09em;color:#8fe7ca}.tzvt-detail-map__state b{font-size:14px}.tzvt-detail-map__state small{color:rgba(255,255,255,.72)}.tzvt-detail-map__state.is-unknown{background:#55666a}.tzvt-detail-map>small{display:block;margin-top:7px;color:#70827b;font-size:9px;line-height:1.45}
.tzvt-coach-diagram{margin:12px 0;padding:12px;border:1px solid #cfe3d8;border-radius:13px;background:#fff}.tzvt-coach-diagram__head{display:flex;flex-direction:column;gap:2px}.tzvt-coach-diagram__head span{font-size:9px;font-weight:950;letter-spacing:.09em;color:#0f7d5b}.tzvt-coach-diagram__head b{font-size:14px;color:#193b2e}.tzvt-coach-diagram__vehicles{display:flex;gap:4px;overflow-x:auto;padding:11px 2px 8px}.tzvt-coach-diagram__vehicles>span{position:relative;flex:0 0 55px;min-height:42px;border:2px solid #9fc7b8;border-radius:9px;background:#edf8f3;display:flex;flex-direction:column;align-items:center;justify-content:center}.tzvt-coach-diagram__vehicles>span:not(:last-child):after{content:'';position:absolute;right:-6px;width:6px;height:2px;background:#55766a}.tzvt-coach-diagram__vehicles .is-engine{flex-basis:72px;border-color:#0f7d5b;background:#dff4eb}.tzvt-coach-diagram__vehicles i{font-style:normal;font-weight:950;color:#17664e}.tzvt-coach-diagram__vehicles b{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#516860}.tzvt-coach-diagram__types{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.tzvt-coach-diagram__types span{padding:5px 8px;border-radius:999px;background:#eef6f3;color:#28584a;font-size:10px;font-weight:850}.tzvt-coach-diagram>small{display:block;color:#65766f;line-height:1.45}
@media(max-width:780px){.tzvt-live-map--geo{min-height:470px}.tzvt-geo-map__station text{font-size:9px}.tzvt-detail-map svg{height:155px}}

.tzvt-hub-subpages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.tzvt-hub-subpages a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:13px 14px;border:1px solid #d8e6e1;border-radius:14px;background:#fff;color:#173b31;text-decoration:none;box-shadow:0 6px 20px rgba(15,45,53,.05)}.tzvt-hub-subpages a>span{grid-row:1/3;font-size:22px}.tzvt-hub-subpages b{font-size:13px}.tzvt-hub-subpages small{color:#71827b;font-size:10px}.tzvt-hub-subpages a:hover{border-color:#70bba1;transform:translateY(-1px)}.tzvt-hub-subpages a.is-primary{background:#0f6b56;color:#fff;border-color:#0f6b56}.tzvt-hub-subpages a.is-primary small{color:rgba(255,255,255,.72)}
@media(max-width:820px){.tzvt-hub-subpages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tzvt-hub-subpages{grid-template-columns:1fr}}



/* v0.8.0 — rozšířená síť, větve a přívoz Mae Klong */
.tzvt-geo-map__connector{stroke:#1d6b8c;stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round;opacity:.9}.tzvt-geo-map__connector--ferry{stroke:#177da4}.tzvt-geo-map__connector-label{fill:#145a76;font-size:9px;font-weight:950;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:4px;stroke-linejoin:round}.tzvt-geo-map__toolbar{max-height:76px;overflow:auto;scrollbar-width:thin}.tzvt-geo-map__toolbar button{transition:transform .15s ease,background .15s ease}.tzvt-geo-map__toolbar button:hover{transform:translateY(-1px)}


/* v0.9.0 — detailní traťová geometrie + rozšířený jih */
.tzvt-geo-map__detailed{pointer-events:none}
.tzvt-geo-map__track-shadow{fill:none;stroke:rgba(255,255,255,.88);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.tzvt-geo-map__track{fill:none;stroke:#164f43;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.86}
.tzvt-geo-map.has-detailed-geometry .tzvt-geo-map__route-shadow{opacity:.34}
.tzvt-geo-map.has-detailed-geometry .tzvt-geo-map__route{opacity:.38;stroke-dasharray:8 6}
.tzvt-map-source{grid-column:2;justify-self:start;display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.11);color:rgba(255,255,255,.82);font-size:9px;font-weight:850;letter-spacing:.02em}
.tzvt-map-source[data-mode="geometry"]{background:rgba(53,223,166,.16);color:#9df0d2}
.tzvt-map-source[data-mode="fallback"]{background:rgba(242,184,75,.14);color:#f8d98d}
.tzvt-map-source[data-mode="loading"]::before{content:"";width:7px;height:7px;margin-right:5px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tzvtMapSpin .8s linear infinite}
@keyframes tzvtMapSpin{to{transform:rotate(360deg)}}
@media(max-width:780px){
  .tzvt-geo-map__track{stroke-width:2}.tzvt-geo-map__track-shadow{stroke-width:5}
  .tzvt-map-source{font-size:8px}
}

/* v10.46.3 / CP75: canonical SRT suspension notice for the border segment. */
.tzvt-service-restriction{margin:12px 0;padding:14px 16px;border:1px solid #e6b9ad;border-left:5px solid #b7422e;border-radius:13px;background:#fff5f1;color:#633229}.tzvt-service-restriction>div:first-child{display:flex;flex-direction:column;gap:4px}.tzvt-service-restriction>div:first-child small{font-size:9px;font-weight:950;letter-spacing:.08em;color:#a33b2a}.tzvt-service-restriction>div:first-child>b{font-size:15px;color:#7d2e22}.tzvt-service-restriction p{margin:0;font-size:11px;line-height:1.55;color:#633229}.tzvt-service-restriction__facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tzvt-service-restriction__facts>span{display:flex;flex-direction:column;gap:2px;min-width:135px;padding:7px 9px;border:1px solid #eccfc7;border-radius:9px;background:#fff}.tzvt-service-restriction__facts small{font-size:9px;color:#956a61}.tzvt-service-restriction__facts b{font-size:11px;color:#6e3027}.tzvt-service-restriction__links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}.tzvt-service-restriction__links a{display:inline-flex;padding:8px 10px;border-radius:8px;background:#8c3426;color:#fff;font-size:10px;font-weight:900;text-decoration:none}.tzvt-service-restriction__links span{font-size:10px;line-height:1.45;color:#75473e}.tzvt-service-restriction.is-compact{margin:10px 0;padding:12px}.tzvt-station-board-warning.is-restricted{background:#fff5f1;border-color:#eccfc7}.tzvt-station-board-warning.is-restricted b{color:#9a3929}.tzvt-station-board-warning.is-restricted span{color:#75473e}
@media(max-width:680px){.tzvt-service-restriction{padding:13px}.tzvt-service-restriction__facts{display:grid;grid-template-columns:1fr}.tzvt-service-restriction__facts>span{min-width:0}.tzvt-service-restriction__links{display:grid}.tzvt-service-restriction__links a{justify-content:center;text-align:center;min-height:44px}.tzvt-service-restriction__links span{display:block}}

/* v10.28 – přehledný veřejný rozcestník a skutečné indexové podstránky */
.tzvt-home-hub{display:grid;gap:28px}
.tzvt-home-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:32px;align-items:center;padding:clamp(28px,5vw,64px);border-radius:36px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(52,211,153,.26),transparent 32%),linear-gradient(135deg,#063b46,#08735d);box-shadow:0 24px 70px rgba(4,57,66,.18)}
.tzvt-home-hero h1{margin:10px 0 14px;font-size:clamp(38px,6vw,70px);line-height:1.02;color:#fff}
.tzvt-home-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.88);font-size:clamp(18px,2vw,23px);line-height:1.55}
.tzvt-home-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.tzvt-home-hero__actions a{display:inline-flex;padding:15px 22px;border-radius:14px;background:#fff;color:#075c4e;font-weight:800;text-decoration:none}
.tzvt-home-hero__actions a+ a{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.tzvt-home-hero__stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tzvt-home-hero__stats span{display:grid;gap:2px;padding:18px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.82)}
.tzvt-home-hero__stats b{font-size:30px;color:#fff}
.tzvt-home-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tzvt-home-directory a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-height:108px;padding:20px;border:1px solid #d6e6e1;border-radius:20px;background:#fff;color:#113c36;text-decoration:none;box-shadow:0 10px 30px rgba(14,68,60,.06);transition:.18s ease}
.tzvt-home-directory a:hover{transform:translateY(-2px);border-color:#159576;box-shadow:0 16px 35px rgba(14,68,60,.11)}
.tzvt-home-directory a>span{font-size:30px}.tzvt-home-directory b{display:block;font-size:19px}.tzvt-home-directory small{display:block;margin-top:5px;color:#617b76;line-height:1.35}.tzvt-home-directory i{font-style:normal;font-size:22px;color:#0d8b70}
.tzvt-home-popular,.tzvt-home-truth{padding:26px;border:1px solid #d6e6e1;border-radius:24px;background:#fff}
.tzvt-home-popular{display:grid;grid-template-columns:minmax(230px,.55fr) 1fr;gap:24px;align-items:center}.tzvt-home-popular h2{margin:7px 0 0}.tzvt-home-popular__links{display:flex;flex-wrap:wrap;gap:10px}.tzvt-home-popular__links a{padding:11px 14px;border-radius:999px;background:#eef8f5;color:#086b58;font-weight:750;text-decoration:none}
.tzvt-home-truth{display:grid;grid-template-columns:auto 1fr auto;gap:12px 20px;align-items:center;background:#f8fbfa}.tzvt-home-truth a{color:#08735d;font-weight:800}
.tzvt-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tzvt-index-card{display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid #d8e6e2;border-radius:22px;background:#fff}.tzvt-index-card>span{font-size:30px}.tzvt-index-card h2{margin:12px 0 8px;font-size:22px}.tzvt-index-card p{margin:0 0 18px;color:#5c746f;line-height:1.55}.tzvt-index-card a{color:#08735d;font-weight:800}.tzvt-index-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tzvt-index-card__actions a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border-radius:10px;background:#eef8f5;text-decoration:none}
.tzvt-province-index{display:grid;gap:28px}.tzvt-province-index__region h2{margin:0 0 12px}.tzvt-province-index__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tzvt-province-index__grid a,.tzvt-station-index__grid a{display:grid;gap:4px;padding:14px 16px;border:1px solid #d9e7e3;border-radius:14px;background:#fff;color:#123e37;text-decoration:none}.tzvt-province-index__grid span,.tzvt-station-index__grid span{font-size:13px;color:#6a807c}
.tzvt-index-filter{display:grid;gap:7px;max-width:600px;font-weight:800}.tzvt-index-filter input{min-height:54px;padding:0 17px;border:1px solid #c8dbd6;border-radius:14px;background:#fff;font:inherit}
.tzvt-index-filter-status{margin:10px 0 18px;color:#54706a;font-size:14px;font-weight:750}.tzvt-index-filter-status.is-empty{padding:13px 15px;border:1px solid #e0b4a9;border-radius:12px;background:#fff7f5;color:#8b3c2e}
.tzvt-station-index>label{display:grid;gap:7px;max-width:600px;font-weight:800}.tzvt-station-index input{min-height:54px;padding:0 17px;border:1px solid #c8dbd6;border-radius:14px;font:inherit}.tzvt-station-index__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tzvt-planner-page>section:not(.tzvt-hero):not(.tzvt-planner-card){display:none!important}
.tzvt-planner-page>.tzvt-hub-subpages{margin-bottom:0}
.tzvt-planner-page .tzvt-traveller-fare-note{background:#f5faf8;border-color:#d5e6e1;color:#385b54}
@media(max-width:980px){.tzvt-home-hero{grid-template-columns:1fr}.tzvt-home-directory,.tzvt-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-province-index__grid,.tzvt-station-index__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tzvt-home-popular{grid-template-columns:1fr}.tzvt-home-truth{grid-template-columns:1fr}}
@media(max-width:640px){.tzvt-home-hero{padding:26px 20px;border-radius:24px}.tzvt-home-hero__stats,.tzvt-home-directory,.tzvt-index-grid,.tzvt-province-index__grid,.tzvt-station-index__grid{grid-template-columns:1fr}.tzvt-home-directory a{min-height:auto}.tzvt-planner-page .tzvt-planner{grid-template-columns:1fr!important}.tzvt-planner-page .tzvt-field--date,.tzvt-planner-page .tzvt-field--time,.tzvt-planner-page .tzvt-field--adults,.tzvt-planner-page .tzvt-field--children{grid-column:1!important}.tzvt-date-shortcuts{flex-wrap:wrap}}
.tzvt-planner-page .tzvt-field,.tzvt-planner-page .tzvt-smart-search,.tzvt-planner-page input,.tzvt-planner-page select{min-width:0;max-width:100%}
.tzvt-planner-page .tzvt-field--date input[type="date"]{display:block;width:100%;box-sizing:border-box}
.tzvt-planner-page .tzvt-field--date small{display:block;line-height:1.35;margin-top:5px}
.tzvt-planner-page .tzvt-date-shortcuts{margin-top:6px}
.tzvt-planner-page .tzvt-traveller-fare-note{min-width:0;flex-wrap:wrap}
[data-tzvt-index-item][hidden]{display:none!important}



/* v0.10.1+ — exact-live-only; no interpolated train position */
.tzvt-status--tts{background:#9fb0b5;box-shadow:0 0 0 4px rgba(159,176,181,.12)}
.tzvt-live-exact-only{margin-top:10px;padding:14px 15px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(8,24,30,.38);display:flex;flex-direction:column;gap:4px}
.tzvt-live-exact-only b{font-size:13px;color:#fff}.tzvt-live-exact-only span{font-size:10px;line-height:1.5;color:rgba(255,255,255,.72)}

/* v0.11.0 — exact-live gate: marker only for fresh verified coordinates */
.tzvt-exact-feed-state{margin-top:10px;max-width:620px;padding:11px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);display:flex;flex-direction:column;gap:3px;color:rgba(255,255,255,.8);font-size:11px;line-height:1.45}
.tzvt-exact-feed-state b{font-size:12px;color:#fff}.tzvt-exact-feed-state.is-live{background:rgba(53,223,166,.12);border-color:rgba(53,223,166,.34)}.tzvt-exact-feed-state.is-offline{background:rgba(255,178,69,.08);border-color:rgba(255,178,69,.2)}
.tzvt-exact-live-marker{pointer-events:none}.tzvt-exact-live-marker__pulse{fill:rgba(53,223,166,.18);stroke:#18a879;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:tzvtExactPulse 1.4s ease-out infinite}.tzvt-exact-live-marker__dot{fill:#20d699;stroke:#083d31;stroke-width:2.4}.tzvt-exact-live-marker__label{fill:#083d31;font-size:10px;font-weight:950;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
@keyframes tzvtExactPulse{0%{transform:scale(.65);opacity:1}100%{transform:scale(1.55);opacity:0}}

/* v0.12.0 — official Bangkok TTS terminals + exact-live diagnostics */
.tzvt-live-policy{margin-top:14px;padding:14px 16px;border-radius:14px;background:#f5f7f8;color:#53636a;font-size:12px;line-height:1.55}.tzvt-live-policy b{display:block;color:#20363c;margin-bottom:3px}.tzvt-live-policy span{display:block}.tzvt-live-policy.is-ready{background:#ebf8f3;color:#356757}.tzvt-live-policy.is-waiting{background:#fff8e8;color:#725a2d}.tzvt-search-summary__links{display:flex;flex-direction:column;gap:8px;align-items:stretch}.tzvt-search-summary__links a{white-space:nowrap}.tzvt-search-summary__live{background:#0f8a63!important;color:#fff!important;border-color:#0f8a63!important}@media(max-width:820px){.tzvt-search-summary__links{width:100%}}

/* v0.13.0 — verified SRT coach/class profiles */
.tzvt-train-result__coaches{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #d8e7df;border-radius:14px;background:linear-gradient(135deg,#f2fbf6,#f8fbff)}
.tzvt-train-result__coaches>b,.tzvt-train-result__coaches div>b{color:#145f3d}.tzvt-train-result__coaches small{color:#52606d;line-height:1.45}.tzvt-train-result__coaches a{font-weight:800;text-decoration:none;color:#176a49;white-space:nowrap}.tzvt-coach-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.tzvt-coach-badges span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #cfe4d8;color:#275a43;font-size:12px;font-weight:800}
@media(max-width:900px){.tzvt-train-result__coaches{grid-template-columns:1fr}.tzvt-train-result__coaches a{white-space:normal}}
.tzvt-coach-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.tzvt-coach-guide article{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:#122b32;color:#fff}.tzvt-coach-guide article b{font-size:13px}.tzvt-coach-guide article strong{font-size:18px;color:#7ee2bd}.tzvt-coach-guide article span{font-size:11px;line-height:1.5;color:#c8d7d9}.tzvt-coach-source{display:inline-flex;margin-top:12px;font-weight:850;text-decoration:none;color:#176a49}@media(max-width:980px){.tzvt-coach-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tzvt-coach-guide{grid-template-columns:1fr}}
.tzvt-train-result__amenities{grid-column:1/-1;padding:13px 15px;border-radius:14px;background:#f6f9fc;border:1px solid #dfe7ef}.tzvt-train-result__amenities>b{display:block;color:#23435f;margin-bottom:8px}.tzvt-train-result__amenities>div{display:flex;gap:7px;flex-wrap:wrap}.tzvt-train-result__amenities>div span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #d9e4ee;color:#365268;font-size:12px;font-weight:800}.tzvt-train-result__amenities small{display:block;margin-top:7px;color:#657585;line-height:1.45}.tzvt-coach-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.tzvt-coach-facts>span{display:inline-flex;padding:5px 8px;border-radius:9px;background:#e8f5ee;color:#22533b;font-size:11px;line-height:1.35}.tzvt-train-result__status-warning{grid-column:1/-1;padding:9px 11px;border-radius:10px;background:#fff4e5;border:1px solid #f1d19a;color:#7b5116;font-size:12px;font-weight:750;line-height:1.45}

/* v0.15.0 – ověřené provozní poznámky konkrétních vlaků */
.tzvt-train-result__service-note{margin:12px 0 0;padding:12px 14px;border:1px solid rgba(32,93,71,.18);border-radius:14px;background:rgba(238,248,244,.72);display:grid;gap:6px}.tzvt-train-result__service-note>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tzvt-train-result__service-note>div>b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#176b50}.tzvt-train-result__service-note>div>span{font-weight:800}.tzvt-train-result__service-note p,.tzvt-train-result__service-note small{margin:0;line-height:1.45}.tzvt-train-result__service-note a{font-weight:800;font-size:12px}.tzvt-train-result__service-note.is-suspended{border-color:rgba(173,55,55,.28);background:rgba(255,239,239,.86)}.tzvt-train-result__service-note.is-suspended>div>b{color:#a52b2b}.tzvt-train-result__service-note.is-current{border-color:rgba(36,128,78,.3);background:rgba(237,250,241,.9)}.tzvt-train-result__service-note.is-snapshot{border-color:#fed7aa;background:#fff7ed}.tzvt-train-result__service-note.is-snapshot>div>b{color:#9a5215}


/* v0.16.0 — transparent D‑Ticket booking window and purchase flow */
.tzvt-booking-window{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 15px;border-radius:14px;border:1px solid #dce5ea;background:#f7fafb}.tzvt-booking-window__icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:950;background:#e9eef2;color:#405463}.tzvt-booking-window b{display:block;color:#193747;margin-bottom:3px}.tzvt-booking-window p{margin:0;color:#526570;font-size:12px;line-height:1.5}.tzvt-booking-window small,.tzvt-booking-window em{display:block;margin-top:5px;font-size:10px;line-height:1.45;color:#71808a;font-style:normal}.tzvt-booking-window em{font-weight:850}.tzvt-booking-window>a{display:inline-flex;justify-content:center;padding:9px 11px;border-radius:10px;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap;background:#163f34;color:#fff}.tzvt-booking-window.is-open{border-color:#9cd9bd;background:#f0fbf6}.tzvt-booking-window.is-open .tzvt-booking-window__icon{background:#0f8a63;color:#fff}.tzvt-booking-window.is-wait{background:#fff9e9;border-color:#efdaa0}.tzvt-booking-window.is-cutoff,.tzvt-booking-window.is-closed{background:#fff4ef;border-color:#ecc8bb}.tzvt-booking-window.is-warning{background:#fff2e5;border-color:#e9c092}.tzvt-booking-window.is-station{background:#f3f6fa;border-color:#d8e0e9}.tzvt-booking-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.tzvt-booking-flow article{position:relative;padding:15px 14px 14px 48px;border-radius:14px;background:#f6faf8;border:1px solid #dbe9e2}.tzvt-booking-flow article>span{position:absolute;left:13px;top:14px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0f8a63;color:#fff;font-size:11px;font-weight:950}.tzvt-booking-flow b{display:block;color:#173d31;font-size:13px}.tzvt-booking-flow p{margin:5px 0 0;color:#5c6b65;font-size:11px;line-height:1.5}.tzvt-booking-rules a{margin-left:auto;color:#176a49;font-weight:850;text-decoration:none}.tzvt-booking-rules{gap:8px;align-items:center}.tzvt-booking-rules span{flex:1}
@media(max-width:900px){.tzvt-booking-window{grid-template-columns:auto 1fr}.tzvt-booking-window>a{grid-column:1/-1}.tzvt-booking-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-booking-rules a{margin-left:0}}
@media(max-width:560px){.tzvt-booking-flow{grid-template-columns:1fr}.tzvt-booking-window{grid-template-columns:1fr}.tzvt-booking-window__icon{display:none}}

/* v0.17.0 — exact schedule context + inline TTS status (text only, never map position) */
.tzvt-schedule-strip{grid-column:1/-1;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;border:1px solid #dbe6ec;border-radius:12px;background:#f7fafc;color:#40545f;font-size:11px;line-height:1.4}
.tzvt-schedule-strip>strong{padding:4px 7px;border-radius:999px;background:#173d47;color:#fff;font-size:9px;letter-spacing:.08em}.tzvt-schedule-strip>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:8px;background:#fff;border:1px solid #e2e9ee}.tzvt-schedule-strip>span b{color:#203944}.tzvt-schedule-strip em{font-style:normal;font-weight:900;color:#975b11}.tzvt-schedule-strip small{margin-left:auto;color:#72818a}.tzvt-schedule-countdown{background:#eef9f5!important;border-color:#cde9df!important;color:#0d7356!important;font-weight:900}
.tzvt-train-result__live-status{border:1px solid #a9d9c8;background:#eefaf6;color:#0d6f53;border-radius:9px;padding:9px 11px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.tzvt-train-result__live-status:hover{background:#e3f6ef}
.tzvt-inline-live-slot{grid-column:1/-1}.tzvt-inline-tts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center;margin-top:10px;padding:13px 14px;border-radius:13px;border:1px solid #dbe5e9;background:#f7fafb}.tzvt-inline-tts.is-live{border-color:#a4d9c6;background:#effaf5}.tzvt-inline-tts.is-fallback{border-color:#ead5a9;background:#fff9ed}.tzvt-inline-tts.is-loading{display:flex;align-items:center;gap:10px}.tzvt-inline-tts__head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.tzvt-inline-tts__head>b{color:#0c7555}.tzvt-inline-tts__head>small{color:#718079}.tzvt-inline-tts__grid{display:flex;gap:8px;flex-wrap:wrap}.tzvt-inline-tts__grid>span{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:9px;background:#fff;border:1px solid #d9e9e2;min-width:130px}.tzvt-inline-tts__grid small{font-size:9px;color:#75847e;text-transform:uppercase;letter-spacing:.04em}.tzvt-inline-tts__grid b{font-size:12px;color:#163e32}.tzvt-inline-tts p{grid-column:1/-1;margin:0;font-size:11px;line-height:1.45;color:#52655d}.tzvt-inline-tts em{grid-column:1/-1;font-style:normal;font-size:10px;font-weight:800;color:#6e7c76}.tzvt-inline-tts>a{font-size:11px;font-weight:900;color:#0e6e53;white-space:nowrap}
@media(max-width:720px){.tzvt-schedule-strip{align-items:flex-start}.tzvt-schedule-strip small{width:100%;margin-left:0}.tzvt-inline-tts{grid-template-columns:1fr}.tzvt-inline-tts__head{align-items:flex-start;flex-direction:column}.tzvt-inline-tts>a{white-space:normal}}
.tzvt-payment-note{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.tzvt-payment-note>div{padding:13px 14px;border-radius:13px;border:1px solid #e0e7eb;background:#fbfcfd}.tzvt-payment-note b{display:block;color:#233d48;font-size:12px;margin-bottom:4px}.tzvt-payment-note span{display:block;color:#65757d;font-size:11px;line-height:1.5}@media(max-width:700px){.tzvt-payment-note{grid-template-columns:1fr}}

/* v0.18.0 — decision support from current SRT result only */
.tzvt-choice-panel{margin:14px 0 12px;padding:14px;border:1px solid #dce7e3;border-radius:16px;background:linear-gradient(135deg,#f7fbf9,#fbfcfd)}
.tzvt-choice-panel__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.tzvt-choice-panel__head b{font-size:14px;color:#173c31}.tzvt-choice-panel__head span{font-size:10px;color:#708078;text-align:right}
.tzvt-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.tzvt-choice-card{appearance:none;border:1px solid #dbe5e2;background:#fff;border-radius:13px;padding:12px;text-align:left;color:#183038;display:flex;flex-direction:column;gap:3px;min-height:86px}.tzvt-choice-card:is(button){cursor:pointer;transition:.16s}.tzvt-choice-card:is(button):hover{transform:translateY(-1px);border-color:#88cdb5;box-shadow:0 7px 18px rgba(25,70,56,.08)}.tzvt-choice-card small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#718079}.tzvt-choice-card b{font-size:13px}.tzvt-choice-card span{font-size:11px;color:#596a64}.tzvt-choice-card.is-next{border-color:#9ed8c4;background:#f0faf6}.tzvt-choice-card.is-fast{border-color:#b7d2ee;background:#f5f9fd}.tzvt-choice-card.is-cheap{border-color:#ead6a1;background:#fffaf0}.tzvt-choice-card.is-stats{border-color:#d8dee6;background:#f7f8fa}
.tzvt-result-sort{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 12px}.tzvt-result-sort>span{font-size:10px;font-weight:900;color:#667780;text-transform:uppercase;letter-spacing:.05em;margin-right:2px}.tzvt-result-sort button{appearance:none;border:1px solid #dbe3e7;background:#fff;color:#40525c;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850;cursor:pointer}.tzvt-result-sort button.is-active{background:#173d47;color:#fff;border-color:#173d47}.tzvt-decision-badges{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.tzvt-decision-badges span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;border:1px solid #dbe5e8;background:#f7f9fa;color:#43545d}.tzvt-decision-badges .is-fast{background:#eef6fd;border-color:#c9ddf1;color:#285b83}.tzvt-decision-badges .is-cheap{background:#fff8e9;border-color:#ead59c;color:#79591a}.tzvt-decision-badges .is-sleeper{background:#f4f1fb;border-color:#d8cfee;color:#594879}.tzvt-decision-badges .is-ticket{background:#eef9f4;border-color:#c9e8d9;color:#186246}.tzvt-decision-badges .is-direct{background:#edf9f4;border-color:#c5e8d9;color:#126146}
.tzvt-train-result--flash{animation:tzvtResultFlash 1.8s ease}@keyframes tzvtResultFlash{0%,100%{box-shadow:inherit}20%,65%{box-shadow:0 0 0 3px rgba(25,163,125,.28),0 14px 28px rgba(18,60,48,.12)}}
@media(max-width:980px){.tzvt-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tzvt-choice-grid{grid-template-columns:1fr}.tzvt-choice-panel__head{align-items:flex-start;flex-direction:column}.tzvt-choice-panel__head span{text-align:left}}

/* v0.19.0 — one-transfer planner: both legs verified independently in SRT */
.tzvt-transfer-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:14px 16px;border:1px dashed #b9d9ce;border-radius:14px;background:#f5fbf8}.tzvt-transfer-cta>div{display:flex;flex-direction:column;gap:3px}.tzvt-transfer-cta b{font-size:13px;color:#174536}.tzvt-transfer-cta span{font-size:11px;color:#687a73}.tzvt-transfer-search-btn{appearance:none;border:0;border-radius:11px;padding:10px 13px;background:#173d47;color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.tzvt-transfer-search-btn:disabled{opacity:.6;cursor:default}.tzvt-result-empty .tzvt-transfer-search-btn{margin-top:12px}.tzvt-transfer-loading{display:flex;align-items:center;gap:10px;margin:12px 0;padding:14px;border:1px solid #dce6e2;border-radius:13px;background:#f8fbfa;color:#355248;font-size:12px}
.tzvt-transfer-panel{margin:14px 0 4px;padding:16px;border:1px solid #cfe2db;border-radius:18px;background:linear-gradient(135deg,#f4fbf8,#fbfcfd)}.tzvt-transfer-panel.is-empty{background:#fafbfc;border-color:#dce4e8}.tzvt-transfer-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.tzvt-transfer-panel__head>div>span{font-size:9px;font-weight:950;letter-spacing:.08em;color:#0f7557}.tzvt-transfer-panel__head h4{font-size:18px;margin:3px 0 4px;color:#173b31}.tzvt-transfer-panel__head p,.tzvt-transfer-panel.is-empty p{margin:0;font-size:11px;line-height:1.5;color:#60716a}.tzvt-transfer-panel__head>em{font-style:normal;padding:5px 8px;border-radius:999px;background:#e4f5ee;color:#146347;font-size:10px;font-weight:900}.tzvt-transfer-options{display:grid;gap:12px}.tzvt-transfer-option{border:1px solid #dce6e2;background:#fff;border-radius:15px;padding:14px;box-shadow:0 5px 14px rgba(19,61,48,.04)}.tzvt-transfer-option__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #edf1ef}.tzvt-transfer-option__top small{display:block;color:#74827d;font-size:9px;text-transform:uppercase;font-weight:900}.tzvt-transfer-option__top b{display:block;color:#173d31}.tzvt-transfer-option__top>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tzvt-transfer-option__top>div:last-child span{padding:5px 7px;border-radius:8px;background:#f3f6f5;color:#52645e;font-size:10px;font-weight:800}
.tzvt-transfer-leg{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(170px,1fr) minmax(180px,1.1fr);gap:12px;align-items:center;padding:12px 2px}.tzvt-transfer-leg__no small,.tzvt-transfer-leg__no span{display:block;font-size:9px;color:#75827d}.tzvt-transfer-leg__no b{display:block;font-size:14px;color:#183c31}.tzvt-transfer-leg__times{display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:start;gap:8px}.tzvt-transfer-leg__times b{font-size:16px}.tzvt-transfer-leg__times i{font-style:normal;color:#86a298}.tzvt-transfer-leg__times small{grid-column:1/-1;color:#76847f;font-size:9px}.tzvt-transfer-leg__meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tzvt-transfer-leg__meta span{padding:5px 7px;border-radius:8px;background:#f5f7f8;color:#52636b;font-size:9px;font-weight:800}.tzvt-transfer-leg__meta span.is-open{background:#edf9f4;color:#176246}.tzvt-transfer-change{display:flex;align-items:center;gap:11px;margin:1px 0;padding:9px 11px;border-radius:12px;background:#fff8e9;border:1px solid #ead59d}.tzvt-transfer-change>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#dfaa39;color:#fff;font-weight:950}.tzvt-transfer-change b,.tzvt-transfer-change small{display:block}.tzvt-transfer-change b{font-size:11px;color:#674f1d}.tzvt-transfer-change small{font-size:9px;color:#7b6b49;margin-top:2px}.tzvt-transfer-option__foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:10px;border-top:1px solid #edf1ef}.tzvt-transfer-option__foot span{font-size:11px;font-weight:850;color:#294c40}.tzvt-transfer-option__foot strong{font-size:9px;color:#8a5c24;text-align:right}.tzvt-transfer-disclaimer{margin-top:10px;padding:10px 12px;border-radius:11px;background:#f1f4f5;color:#65747a;font-size:9px;line-height:1.5}
@media(max-width:760px){.tzvt-transfer-cta,.tzvt-transfer-panel__head,.tzvt-transfer-option__top,.tzvt-transfer-option__foot{align-items:flex-start;flex-direction:column}.tzvt-transfer-leg{grid-template-columns:1fr}.tzvt-transfer-leg__meta{justify-content:flex-start}.tzvt-transfer-option__top>div:last-child{justify-content:flex-start}.tzvt-transfer-option__foot strong{text-align:left}.tzvt-transfer-search-btn{white-space:normal}}


/* v0.20.0 — graph-based transfer candidates + verified onward departures from destination */
.tzvt-station-next-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 16px;border:1px solid #d8e4ea;border-radius:14px;background:linear-gradient(135deg,#f7fafc,#fbfcfd)}.tzvt-station-next-cta>div{display:flex;flex-direction:column;gap:3px}.tzvt-station-next-cta b{font-size:13px;color:#1c4050}.tzvt-station-next-cta span{font-size:11px;color:#667882}.tzvt-station-next-cta button{appearance:none;border:0;border-radius:11px;background:#24566a;color:#fff;padding:10px 13px;font:inherit;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.tzvt-station-next-cta button:disabled{opacity:.6;cursor:default}
.tzvt-station-connections{margin:12px 0 15px;padding:16px;border:1px solid #d7e3e7;border-radius:18px;background:linear-gradient(135deg,#f7fafb,#fff)}.tzvt-station-connections.is-empty{background:#fafbfc}.tzvt-station-connections__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.tzvt-station-connections__head span{font-size:9px;font-weight:950;letter-spacing:.08em;color:#25647c}.tzvt-station-connections__head h4{margin:3px 0 4px;font-size:18px;color:#1b3d4a}.tzvt-station-connections__head p,.tzvt-station-connections.is-empty p{margin:0;font-size:11px;line-height:1.5;color:#61737b}.tzvt-station-connections__head em{font-style:normal;padding:5px 8px;border-radius:999px;background:#e9f3f7;color:#245a70;font-size:10px;font-weight:900}.tzvt-station-connections__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tzvt-station-connection{border:1px solid #dfe8eb;border-radius:14px;background:#fff;padding:12px}.tzvt-station-connection__title{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:start;padding-bottom:8px;border-bottom:1px solid #edf2f4}.tzvt-station-connection__title small{grid-column:1/-1;font-size:9px;text-transform:uppercase;font-weight:900;color:#798991}.tzvt-station-connection__title b{font-size:13px;color:#1a4050}.tzvt-station-connection__title a{font-size:10px;font-weight:900;color:#21617a;text-decoration:none}.tzvt-station-connection__trains{display:grid;gap:7px;padding-top:8px}.tzvt-station-connection__trains>div{padding:8px;border-radius:10px;background:#f7f9fa}.tzvt-station-connection__trains span,.tzvt-station-connection__trains b,.tzvt-station-connection__trains small{display:block}.tzvt-station-connection__trains span{font-size:9px;font-weight:900;color:#60747e}.tzvt-station-connection__trains b{font-size:12px;color:#173e4e;margin:2px 0}.tzvt-station-connection__trains small{font-size:9px;line-height:1.4;color:#718188}.tzvt-station-connections__note,.tzvt-station-connections__foot{margin-top:10px;padding:9px 11px;border-radius:10px;font-size:9px;line-height:1.5}.tzvt-station-connections__note{background:#fff6df;border:1px solid #ead7a4;color:#745c25}.tzvt-station-connections__foot{background:#f0f4f5;color:#64757b}
@media(max-width:900px){.tzvt-station-connections__grid{grid-template-columns:1fr}.tzvt-station-next-cta,.tzvt-station-connections__head{align-items:flex-start;flex-direction:column}.tzvt-station-next-cta button{white-space:normal}}
.tzvt-station-connections__head small{display:block;margin:1px 0 5px;font-size:10px;color:#788990}.tzvt-station-connections__head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tzvt-station-connections__head-actions button{appearance:none;border:1px solid #cbdde4;background:#fff;color:#24576a;border-radius:9px;padding:7px 9px;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.tzvt-station-connections__head-actions em{font-style:normal;padding:5px 8px;border-radius:999px;background:#e9f3f7;color:#245a70;font-size:10px;font-weight:900}@media(max-width:900px){.tzvt-station-connections__head-actions{justify-content:flex-start}}


/* v0.21.0 · centrum stanice */
.tzvt-station-center{overflow:hidden}.tzvt-station-browser{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(160px,.7fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #dbe5e9;border-radius:18px;background:linear-gradient(135deg,#f7fafb,#fff)}.tzvt-station-browser label{display:flex;flex-direction:column;gap:6px}.tzvt-station-browser label>span{font-size:10px;font-weight:900;letter-spacing:.06em;color:#5d707a;text-transform:uppercase}.tzvt-station-browser select,.tzvt-station-browser input{width:100%;min-height:46px;border:1px solid #cedbe0;border-radius:12px;background:#fff;color:#153846;padding:0 12px;font:inherit;font-size:13px}.tzvt-station-browser>button{min-height:46px;border:0;border-radius:12px;background:#153f51;color:#fff;padding:0 16px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.tzvt-station-browser>button:disabled{opacity:.6;cursor:default}.tzvt-station-board-slot{margin-top:14px}.tzvt-station-board-placeholder{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px dashed #cad8de;border-radius:16px;background:#f9fbfc;color:#61727a}.tzvt-station-board-placeholder b{color:#214656;font-size:14px}.tzvt-station-board-placeholder span{font-size:11px;line-height:1.55}.tzvt-network-status-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border-radius:15px;background:#102f3d;color:#fff}.tzvt-network-status-link>div{display:flex;align-items:center;gap:10px}.tzvt-network-status-link>div>div{display:flex;flex-direction:column;gap:2px}.tzvt-network-status-link b{font-size:13px}.tzvt-network-status-link small{font-size:10px;color:#bdd1da}.tzvt-network-status-link a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:9px 11px;font-size:10px;font-weight:900;white-space:nowrap}.tzvt-station-board{border:1px solid #d6e2e6;border-radius:20px;background:#fff;overflow:hidden}.tzvt-station-board__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;background:linear-gradient(135deg,#eef7f5,#f8fbfc)}.tzvt-station-board__head span{font-size:9px;font-weight:950;letter-spacing:.09em;color:#17735c}.tzvt-station-board__head h3{margin:4px 0 2px;font-size:24px;color:#173d4b}.tzvt-station-board__head small{font-size:10px;color:#687b84}.tzvt-station-board__actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tzvt-station-board__actions button,.tzvt-station-board__actions a{appearance:none;border:1px solid #c8d9df;background:#fff;color:#24586b;border-radius:9px;padding:8px 9px;font:inherit;font-size:9px;font-weight:900;text-decoration:none;cursor:pointer}.tzvt-station-board__actions a.is-live{background:#e8f8f2;border-color:#bde8d8;color:#0b7055}.tzvt-station-context{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin:14px 16px 0}.tzvt-station-context>div{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid #dde7ea;border-radius:12px;background:#f8fbfc}.tzvt-station-context small{font-size:8px;font-weight:950;letter-spacing:.08em;color:#6f8189}.tzvt-station-context b{font-size:11px;color:#1e4757}.tzvt-station-context span{font-size:9px;line-height:1.45;color:#74858d}.tzvt-station-context>div.is-ok{background:#f0faf6;border-color:#c9e8dc}.tzvt-station-context>div.is-ok b{color:#146d55}.tzvt-station-context>div.is-pending{background:#fff9ec;border-color:#eadfbd}.tzvt-station-context>div.is-pending b{color:#826321}.tzvt-station-transfer-note{display:flex;gap:10px;align-items:flex-start;margin:10px 16px 0;padding:10px 12px;border-radius:12px;background:#eef6ff;border:1px solid #cddff0}.tzvt-station-transfer-note b{font-size:8px;white-space:nowrap;color:#315f82}.tzvt-station-transfer-note span{font-size:9px;line-height:1.5;color:#4c687b}.tzvt-station-source-note{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 16px 0;padding:8px 10px;border-radius:10px;background:#f5f8f9;border:1px solid #e0e8eb}.tzvt-station-source-note span{font-size:9px;color:#667b85}.tzvt-station-source-note a{font-size:9px;font-weight:900;color:#23627a;text-decoration:none}.tzvt-station-board-warning{display:flex;align-items:flex-start;gap:10px;margin:14px 16px 0;padding:10px 12px;border-radius:12px;background:#fff8e6;border:1px solid #ead9a9}.tzvt-station-board-warning b{font-size:9px;color:#86631f;white-space:nowrap}.tzvt-station-board-warning span{font-size:10px;line-height:1.45;color:#745f31}.tzvt-station-board-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.tzvt-station-board-columns h4{margin:0 0 9px;font-size:14px;color:#204a5b}.tzvt-station-board-groups{display:grid;gap:10px}.tzvt-station-board-group{border:1px solid #e0e8eb;border-radius:14px;overflow:hidden;background:#fbfcfd}.tzvt-station-board-group__head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;border-bottom:1px solid #e6edef;background:#f3f7f8}.tzvt-station-board-group__head>div{display:flex;flex-direction:column;gap:2px}.tzvt-station-board-group__head small{font-size:8px;font-weight:950;letter-spacing:.08em;color:#74858d}.tzvt-station-board-group__head b{font-size:12px;color:#1d4656}.tzvt-station-board-group__head a{font-size:9px;font-weight:900;text-decoration:none;color:#23627a}.tzvt-station-board-train{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-top:1px solid #edf2f4;background:#fff}.tzvt-station-board-train:first-of-type{border-top:0}.tzvt-station-board-train>div{display:flex;flex-direction:column;gap:1px}.tzvt-station-board-train small{font-size:8px;color:#72838b}.tzvt-station-board-train b{font-size:13px;color:#173d4b}.tzvt-station-board-train span{font-size:8px;color:#819098}.tzvt-station-board-train>a{font-size:9px;font-weight:900;text-decoration:none;color:#1d6a83}.tzvt-station-board-empty{padding:15px;border:1px dashed #d5e0e4;border-radius:12px;color:#78878e;font-size:10px;background:#fafcfc}.tzvt-station-board-note{margin:0 16px 12px;padding:9px 11px;border-radius:10px;background:#fff4da;color:#755c22;font-size:10px}.tzvt-station-board__foot{padding:10px 16px;background:#f5f8f9;color:#708088;font-size:9px;line-height:1.45}
@media(max-width:900px){.tzvt-station-browser{grid-template-columns:1fr 1fr}.tzvt-station-browser>button{grid-column:1/-1}.tzvt-station-board__head,.tzvt-network-status-link{align-items:flex-start;flex-direction:column}.tzvt-station-board__actions{justify-content:flex-start}.tzvt-station-board-columns{grid-template-columns:1fr}.tzvt-network-status-link a{white-space:normal}}
@media(max-width:900px){.tzvt-station-context{grid-template-columns:1fr}.tzvt-station-source-note{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.tzvt-station-browser{grid-template-columns:1fr}.tzvt-station-browser>button{grid-column:1}.tzvt-station-board-train{grid-template-columns:1fr 1fr}.tzvt-station-board-train>a{grid-column:1/-1}.tzvt-station-board__head h3{font-size:20px}}


/* v0.22.0 · Centrum stanice: nejbližší spoj + TTS/detail */
.tzvt-station-board-train-wrap{border-top:1px solid #edf2f4;background:#fff}.tzvt-station-board-train-wrap:first-of-type{border-top:0}.tzvt-station-board-train-wrap .tzvt-station-board-train{border-top:0}.tzvt-station-board-train.is-nearest{background:linear-gradient(90deg,#effbf7,#fff)}.tzvt-station-board-nearest{display:inline-flex!important;width:max-content;margin-top:3px;padding:2px 6px;border-radius:999px;background:#dff5ec;color:#087253!important;font-size:7px!important;font-weight:950;letter-spacing:.05em}.tzvt-station-board-train__actions{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.tzvt-station-board-train__actions button,.tzvt-station-board-train__actions a{appearance:none;border:1px solid #cbdbe1;border-radius:8px;background:#fff;color:#1d6179;padding:6px 7px;font:inherit;font-size:8px;font-weight:900;text-decoration:none;cursor:pointer;white-space:nowrap}.tzvt-station-board-train__actions button:first-child{background:#edf9f5;border-color:#c8eadf;color:#087253}.tzvt-station-board-inline{padding:0 10px 10px}.tzvt-station-board-inline[hidden]{display:none}.tzvt-station-board-inline .tzvt-inline-tts,.tzvt-station-board-inline .tzvt-train-detail{margin-top:0}.tzvt-train-detail--station-board{border-radius:12px;overflow:hidden}
@media(max-width:720px){.tzvt-station-board-train{grid-template-columns:1fr 1fr}.tzvt-station-board-train__actions{grid-column:1/-1;justify-content:flex-start}}


/* v0.23.0 — návraty a odjezdy z jednotlivých zastávek */
.tzvt-return-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:14px 0 16px;padding:15px 16px;border:1px solid rgba(16,185,129,.25);border-radius:16px;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(14,165,233,.05))}
.tzvt-return-toolbar>div{display:grid;gap:2px}.tzvt-return-toolbar>div>span{font-size:11px;font-weight:900;letter-spacing:.09em;color:#047857}.tzvt-return-toolbar>div>b{font-size:16px;color:#0f172a}.tzvt-return-toolbar>div>small{color:#64748b;line-height:1.45}
.tzvt-return-toolbar label{display:grid;gap:5px;min-width:155px;font-size:11px;font-weight:800;color:#475569}.tzvt-return-toolbar input{height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff;color:#0f172a;font:inherit}
.tzvt-timeline__station{min-width:0}.tzvt-stop-srt,.tzvt-stop-unresolved{display:block;margin-top:3px;font-size:10px!important}.tzvt-stop-srt{color:#0f766e!important}.tzvt-stop-unresolved{color:#94a3b8!important}
.tzvt-timeline__actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.tzvt-timeline__actions button{appearance:none;border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:6px 9px;font-size:11px;font-weight:800;color:#334155;cursor:pointer}.tzvt-timeline__actions button:hover{border-color:#0ea5e9;color:#0369a1}.tzvt-timeline__actions button.is-return{border-color:#a7f3d0;color:#047857;background:#ecfdf5}.tzvt-timeline__actions button:disabled{opacity:.55;cursor:wait}
.tzvt-timeline__inline{grid-column:2/-1;margin-top:10px}.tzvt-stop-return{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:13px}.tzvt-stop-return__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.tzvt-stop-return__head>div{display:grid;gap:2px}.tzvt-stop-return__head span{font-size:10px;letter-spacing:.08em;font-weight:900;color:#2563eb}.tzvt-stop-return__head b{font-size:14px;color:#0f172a}.tzvt-stop-return__head small{color:#64748b}.tzvt-stop-return__head a{white-space:nowrap;font-size:11px;font-weight:800}.tzvt-stop-return__trains{display:grid;gap:7px;margin-top:10px}.tzvt-stop-return__trains>div{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(115px,.7fr) 1fr;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.tzvt-stop-return__trains span,.tzvt-stop-return__trains small{font-size:11px;color:#64748b}.tzvt-stop-return__trains b{font-size:13px;color:#0f172a}.tzvt-stop-return__note,.tzvt-stop-return__empty{margin-top:9px;font-size:11px;line-height:1.5;color:#64748b}.tzvt-stop-return__empty{display:grid;gap:3px;padding:10px;border-radius:10px;background:#fff7ed;color:#9a3412}.tzvt-stop-return__empty b{color:#7c2d12}
@media(max-width:700px){.tzvt-return-toolbar{align-items:stretch;flex-direction:column}.tzvt-return-toolbar label{min-width:0}.tzvt-stop-return__head{flex-direction:column}.tzvt-stop-return__trains>div{grid-template-columns:1fr}.tzvt-timeline__inline{grid-column:1/-1}}


/* v0.24.0 – plánování přes skutečné mezizastávky */
.tzvt-via-toggle{grid-column:1/-1;justify-self:start;border:1px solid #cfe4dc;background:#f1faf7;color:#0e7258;border-radius:11px;padding:9px 13px;font-weight:850;cursor:pointer}.tzvt-via-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr .75fr 1.25fr;gap:12px;align-items:end;padding:14px;border:1px solid #d9ebe4;border-radius:15px;background:linear-gradient(135deg,#f8fcfa,#eef8f4)}.tzvt-via-fields[hidden]{display:none!important}.tzvt-via-note{min-height:52px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 11px;border-left:3px solid #159b75;color:#426057;font-size:11px;line-height:1.45}.tzvt-via-note b{color:#0d6f55}.tzvt-via-panel{margin-top:14px;border:1px solid #cfe5dc;background:#f8fcfa;border-radius:18px;padding:17px}.tzvt-via-panel.is-empty{border-color:#eadbb5;background:#fffaf0}.tzvt-via-panel__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:13px}.tzvt-via-panel__head span,.tzvt-via-panel.is-empty span{font-size:9px;font-weight:950;letter-spacing:.09em;color:#0e7e5e}.tzvt-via-panel__head h3,.tzvt-via-panel.is-empty h3{margin:3px 0 4px;font-size:19px}.tzvt-via-panel__head p,.tzvt-via-panel.is-empty p{margin:5px 0 0;font-size:12px;color:#607169;line-height:1.5}.tzvt-via-panel__head em{font-style:normal;background:#e2f5ed;color:#0e7358;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;white-space:nowrap}.tzvt-via-options{display:grid;gap:12px}.tzvt-via-option{border:1px solid #dce9e4;background:#fff;border-radius:15px;padding:13px;box-shadow:0 7px 18px rgba(30,70,55,.04)}.tzvt-via-option__top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.tzvt-via-option__top div{display:flex;flex-direction:column}.tzvt-via-option__top small{font-size:9px;color:#738078;text-transform:uppercase;font-weight:900}.tzvt-via-option__top b{font-size:15px}.tzvt-via-option__top>span{font-size:11px;font-weight:800;color:#285b4c}.tzvt-via-leg{display:grid;grid-template-columns:110px 1fr auto;gap:13px;align-items:center;padding:11px 0;border-top:1px solid #edf2ef}.tzvt-via-leg__no{display:flex;flex-direction:column}.tzvt-via-leg__no small{font-size:8px;text-transform:uppercase;color:#7b8882;font-weight:900}.tzvt-via-leg__no b{font-size:15px;color:#0c6f55}.tzvt-via-leg__no span{font-size:10px;color:#697973}.tzvt-via-leg__route{display:flex;flex-direction:column;gap:2px}.tzvt-via-leg__route b{font-size:13px}.tzvt-via-leg__route span{font-size:11px;color:#607169}.tzvt-via-leg__meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:10px;color:#546860}.tzvt-via-leg__meta a{background:#edf7f3;color:#0d7358;border-radius:8px;padding:5px 7px;font-weight:850}.tzvt-via-wait{display:flex;align-items:center;gap:8px;background:#fff7e7;border:1px solid #f0dfb9;border-radius:10px;padding:7px 9px;margin:2px 0}.tzvt-via-wait>span{color:#c98716;font-weight:950}.tzvt-via-wait b{font-size:11px;color:#795818}.tzvt-via-wait small{font-size:10px;color:#806d49}.tzvt-via-option__foot{margin-top:8px;padding-top:8px;border-top:1px dashed #dae6e1;color:#786329;font-size:10px;font-weight:700}.tzvt-via-sources{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.tzvt-via-sources a{font-size:10px;font-weight:850;background:#fff;border:1px solid #e3d5b0;border-radius:8px;padding:6px 8px;color:#755a20}
@media(max-width:900px){.tzvt-via-fields{grid-template-columns:1fr 1fr}.tzvt-via-note{grid-column:1/-1}.tzvt-via-leg{grid-template-columns:100px 1fr}.tzvt-via-leg__meta{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:640px){.tzvt-via-fields{grid-template-columns:1fr}.tzvt-via-note{grid-column:1}.tzvt-via-leg{grid-template-columns:1fr}.tzvt-via-leg__meta{grid-column:1}.tzvt-via-panel__head,.tzvt-via-option__top{flex-direction:column;align-items:flex-start}.tzvt-via-wait{align-items:flex-start;flex-wrap:wrap}}

/* v0.25.0 – aktuální omezení SRT */
.tzvt-service-alerts-slot{margin:14px 0 18px}
.tzvt-service-alerts{border-radius:16px;border:1px solid rgba(15,23,42,.12);padding:14px 16px;background:#fff;display:flex;gap:16px;align-items:flex-start;justify-content:space-between;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.tzvt-service-alerts>div{min-width:0}
.tzvt-service-alerts b{display:block;font-size:14px;line-height:1.35;color:#0f172a}
.tzvt-service-alerts span,.tzvt-service-alerts small{display:block;margin-top:4px;font-size:12px;line-height:1.45;color:#475569}
.tzvt-service-alerts a{flex:0 0 auto;text-decoration:none;font-weight:800;font-size:12px;border-radius:999px;padding:8px 11px;background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.13)}
.tzvt-service-alerts.is-loading{justify-content:flex-start;align-items:center;background:#f8fafc}
.tzvt-service-alerts.is-alert{display:block;border-color:#fecaca;background:#fff7f7;box-shadow:0 8px 24px rgba(127,29,29,.06)}
.tzvt-service-alerts.is-clear{border-color:#bbf7d0;background:#f6fff9}
.tzvt-service-alerts.is-unknown{border-color:#fde68a;background:#fffbeb}
.tzvt-service-alerts__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.tzvt-service-alerts__head>div{min-width:0}
.tzvt-service-alerts__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.tzvt-service-alerts__items article{padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #fee2e2}
.tzvt-service-alerts__items article span{margin:0 0 3px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c}
.tzvt-service-alerts__items article b{font-size:13px}
.tzvt-service-alerts__items article small{font-size:10px;color:#64748b}
.tzvt-service-alerts__foot{margin-top:10px!important}
@media (max-width:720px){.tzvt-service-alerts{display:block}.tzvt-service-alerts a{display:inline-block;margin-top:10px}.tzvt-service-alerts__head{display:block}.tzvt-service-alerts__items{grid-template-columns:1fr}}

/* v0.26.0 – provinční železniční průvodce */
.tzvt-province-guide{overflow:hidden}.tzvt-province-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.tzvt-province-stats span{display:flex;align-items:baseline;gap:7px;padding:12px 13px;border:1px solid #dbe5ea;border-radius:14px;background:#f8fafb;color:#526570;font-size:11px;font-weight:750}.tzvt-province-stats b{font-size:20px;line-height:1;color:#173d4b}.tzvt-province-stats .is-yes{background:#f1fbf6;border-color:#c9ead9;color:#17634d}.tzvt-province-stats .is-yes b{color:#0c8060}.tzvt-province-stats .is-build{background:#fff9e9;border-color:#eddca7;color:#7a6128}.tzvt-province-stats .is-build b{color:#ad7612}.tzvt-province-stats .is-no{background:#fff7f4;border-color:#efd8cf;color:#78584c}.tzvt-province-stats .is-no b{color:#a64f31}.tzvt-province-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #dce7eb;border-radius:18px;background:linear-gradient(135deg,#f7fafb,#fff)}.tzvt-province-form label{display:flex;flex-direction:column;gap:6px}.tzvt-province-form label>span{font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;color:#60747d}.tzvt-province-form select{width:100%;min-height:48px;border:1px solid #cddbe1;border-radius:12px;background:#fff;color:#173d4b;padding:0 12px;font:inherit}.tzvt-province-form>button{min-height:48px;border:0;border-radius:12px;background:#173f50;color:#fff;padding:0 17px;font:inherit;font-size:12px;font-weight:950;cursor:pointer}.tzvt-province-form>button:disabled{opacity:.6;cursor:default}.tzvt-province-quick{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 0}.tzvt-province-quick button{appearance:none;border:1px solid #d3e0e5;background:#fff;color:#29576a;border-radius:999px;padding:7px 10px;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.tzvt-province-quick button:hover{border-color:#7db6c8;color:#0b6685}.tzvt-province-result{margin-top:14px}.tzvt-province-placeholder{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px dashed #cbd9df;border-radius:16px;background:#f9fbfc;color:#62747d}.tzvt-province-placeholder b{font-size:14px;color:#214958}.tzvt-province-placeholder span{font-size:11px;line-height:1.5}.tzvt-province-placeholder.is-loading{flex-direction:row;align-items:center}.tzvt-province-placeholder.is-error{border-color:#efcfc4;background:#fff7f4}.tzvt-province-card{border:1px solid #d9e5e9;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(17,52,67,.06)}.tzvt-province-card__head{display:flex;gap:14px;align-items:flex-start;padding:17px 18px;background:#f7fafb}.tzvt-province-card__icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e9f0f3;font-size:20px;flex:0 0 auto}.tzvt-province-card__head>div{display:grid;gap:2px}.tzvt-province-card__head small{font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#6d7e86}.tzvt-province-card__head h3{margin:0;font-size:22px;color:#173d4b}.tzvt-province-card__head b{font-size:11px;color:#4f6670}.tzvt-province-card.is-passenger{border-color:#bfe4d3}.tzvt-province-card.is-passenger .tzvt-province-card__head{background:linear-gradient(135deg,#eefaf4,#f8fcfa)}.tzvt-province-card.is-passenger .tzvt-province-card__icon{background:#dff5e9}.tzvt-province-card.is-passenger .tzvt-province-card__head b{color:#087252}.tzvt-province-card.is-construction{border-color:#ead79e}.tzvt-province-card.is-construction .tzvt-province-card__head{background:#fff9e9}.tzvt-province-card.is-freight{border-color:#d5dce2}.tzvt-province-card.is-freight .tzvt-province-card__head{background:#f4f6f8}.tzvt-province-card.is-no-rail{border-color:#ecd5cc}.tzvt-province-card.is-no-rail .tzvt-province-card__head{background:#fff8f5}.tzvt-province-card__note{margin:13px 18px 0;padding:10px 12px;border-left:3px solid #d7a43a;background:#fffaf0;border-radius:8px;color:#68572f;font-size:11px;line-height:1.5}.tzvt-province-station{display:grid;gap:2px;margin:14px 18px 0;padding:14px;border:1px solid #cfe8db;border-radius:14px;background:#f7fcf9}.tzvt-province-station small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#5f776d}.tzvt-province-station b{font-size:17px;color:#125840}.tzvt-province-station span{font-size:10px;color:#5d746b}.tzvt-province-actions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 18px 16px}.tzvt-province-actions button{appearance:none;border:0;border-radius:10px;background:#0f7d5d;color:#fff;padding:9px 11px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.tzvt-province-actions button.is-secondary{border:1px solid #c9dce2;background:#fff;color:#245a6e}.tzvt-province-unresolved{margin:14px 18px 16px;padding:13px 14px;border-radius:13px;border:1px solid #e4d7af;background:#fff9e9;display:grid;gap:4px}.tzvt-province-unresolved b{font-size:13px;color:#70591e}.tzvt-province-unresolved span{font-size:11px;line-height:1.5;color:#75684a}.tzvt-province-unresolved.is-build{border-color:#ead69d;background:#fff8e7}.tzvt-province-unresolved.is-freight{border-color:#d6dde2;background:#f6f8f9}.tzvt-province-unresolved.is-freight b{color:#475569}.tzvt-province-unresolved.is-no{border-color:#edcec2;background:#fff7f4}.tzvt-province-unresolved.is-no b{color:#8e412b}.tzvt-province-card__foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 18px;border-top:1px solid #e6edef;background:#fbfcfd}.tzvt-province-card__foot span{font-size:10px;line-height:1.45;color:#64767f}.tzvt-province-card__foot a{white-space:nowrap;font-size:10px;font-weight:900;text-decoration:none;color:#23657d}.tzvt-province-source{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:13px;background:#f4f7f8;color:#5a6e77}.tzvt-province-source b{font-size:10px;color:#234d5d;white-space:nowrap}.tzvt-province-source span{font-size:10px;line-height:1.5}
@media(max-width:820px){.tzvt-province-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-province-form{grid-template-columns:1fr}.tzvt-province-card__foot{align-items:flex-start;flex-direction:column}.tzvt-province-source{flex-direction:column;gap:4px}}
@media(max-width:480px){.tzvt-province-stats{grid-template-columns:1fr}.tzvt-province-card__head h3{font-size:19px}.tzvt-province-actions{flex-direction:column}.tzvt-province-actions button{width:100%}}
.tzvt-province-stats .is-freight{background:#f4f6f8;border-color:#d8dee3;color:#53616b}.tzvt-province-stats .is-freight b{color:#475569}
@media(min-width:1100px){.tzvt-province-stats{grid-template-columns:repeat(5,minmax(0,1fr))}}


/* v0.27.0 – provozní upozornění pro každý úsek víceúsekové cesty */
.tzvt-via-alerts{margin:14px 0 16px;padding:14px;border:1px solid #d9e5e9;border-radius:16px;background:#f8fafb}.tzvt-via-alerts__head{display:grid;gap:3px;margin:0 0 10px}.tzvt-via-alerts__head b{font-size:13px;color:#173d4b}.tzvt-via-alerts__head span{font-size:10px;line-height:1.5;color:#657780}.tzvt-via-alert-leg{margin-top:10px}.tzvt-service-alerts-scope{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:8px 10px;border-radius:10px 10px 0 0;background:#eaf1f4;border:1px solid #d4e0e5;border-bottom:0}.tzvt-service-alerts-scope b{font-size:10px;color:#214f61}.tzvt-service-alerts-scope span{font-size:9px;color:#657780}.tzvt-service-alerts-scope+.tzvt-service-alerts-slot .tzvt-service-alerts{border-radius:0 0 12px 12px;margin-top:0}@media(max-width:720px){.tzvt-service-alerts-scope{display:grid;gap:2px}}
.tzvt-multimodal{margin:14px 18px 16px;border:1px solid #d7dfc6;border-radius:16px;background:#fffdf7;overflow:hidden}.tzvt-multimodal__badge{padding:8px 12px;background:#f2f7e8;color:#55702b;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.tzvt-multimodal__rail,.tzvt-multimodal__onward{display:grid;gap:3px;padding:13px 14px}.tzvt-multimodal__rail{border-bottom:1px solid #e8eadf;background:#fbfdf5}.tzvt-multimodal__rail small,.tzvt-multimodal__onward small{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#67735b}.tzvt-multimodal__rail b{font-size:17px;color:#3f6127}.tzvt-multimodal__rail span{font-size:10px;color:#66745d}.tzvt-multimodal__rail p,.tzvt-multimodal__onward p{margin:4px 0 0;font-size:10px;line-height:1.5;color:#657067}.tzvt-multimodal__onward b{font-size:14px;color:#294e5c}.tzvt-multimodal__warning{display:grid;gap:3px;margin:0 14px 4px;padding:10px 11px;border:1px solid #efc9b8;border-radius:11px;background:#fff6f1}.tzvt-multimodal__warning b{font-size:10px;color:#9a4328}.tzvt-multimodal__warning span{font-size:10px;line-height:1.45;color:#765749}.tzvt-multimodal .tzvt-province-actions{padding:8px 14px 10px}.tzvt-multimodal .tzvt-province-actions button{background:#456d2f}.tzvt-multimodal__sources{display:flex;gap:12px;flex-wrap:wrap;padding:0 14px 13px}.tzvt-multimodal__sources a{font-size:9px;font-weight:900;color:#24657a;text-decoration:none}.tzvt-multimodal__sources a:hover{text-decoration:underline}@media(max-width:480px){.tzvt-multimodal__sources{flex-direction:column;gap:6px}}

/* v0.34.0 – metropolitan rail handoff (not a long-distance SRT through service) */
.tzvt-urban-handoff{margin:14px 18px 16px;border:1px solid #c8d9ee;border-radius:16px;background:#f8fbff;overflow:hidden}.tzvt-urban-handoff__badge{padding:8px 12px;background:#eaf3ff;color:#315d8c;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.tzvt-urban-handoff__anchor,.tzvt-urban-handoff__route{display:grid;gap:3px;padding:13px 14px}.tzvt-urban-handoff__anchor{border-bottom:1px solid #dfeaf6;background:#f4f9ff}.tzvt-urban-handoff__anchor small,.tzvt-urban-handoff__route>small,.tzvt-urban-handoff__targets>small{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#5d7188}.tzvt-urban-handoff__anchor b{font-size:17px;color:#234f7e}.tzvt-urban-handoff__anchor span{font-size:10px;color:#63788e}.tzvt-urban-handoff__anchor p,.tzvt-urban-handoff__route>p{margin:4px 0 0;font-size:10px;line-height:1.5;color:#5c6d7c}.tzvt-urban-handoff__route>b{font-size:14px;color:#294e6f}.tzvt-urban-handoff__systems{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.tzvt-urban-handoff__systems span{padding:5px 8px;border-radius:999px;background:#edf4fb;border:1px solid #d6e4f1;color:#315d7c;font-size:9px;font-weight:850}.tzvt-urban-handoff__steps{margin:7px 0 3px;padding-left:20px;color:#526879}.tzvt-urban-handoff__steps li{margin:3px 0;font-size:10px;line-height:1.45}.tzvt-urban-handoff__targets{display:grid;gap:5px;margin-top:7px}.tzvt-urban-handoff__targets>div{display:flex;gap:5px;flex-wrap:wrap}.tzvt-urban-handoff__targets span{padding:4px 7px;border:1px solid #d8e4ef;border-radius:8px;background:#fff;color:#48677e;font-size:9px}.tzvt-urban-handoff__warning{display:grid;gap:3px;margin:0 14px 4px;padding:10px 11px;border:1px solid #e4c69d;border-radius:11px;background:#fff9ef}.tzvt-urban-handoff__warning b{font-size:10px;color:#8a5b18}.tzvt-urban-handoff__warning span{font-size:10px;line-height:1.45;color:#765f40}.tzvt-urban-handoff .tzvt-province-actions{padding:8px 14px 10px;align-items:center}.tzvt-urban-handoff .tzvt-province-actions button{background:#315f8c}.tzvt-urban-handoff__bkk{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid #bdd0e3;border-radius:10px;background:#fff;color:#285b83;font-size:10px;font-weight:900;text-decoration:none}.tzvt-urban-handoff__sources{display:flex;gap:12px;flex-wrap:wrap;padding:0 14px 13px}.tzvt-urban-handoff__sources a{font-size:9px;font-weight:900;color:#24657a;text-decoration:none}.tzvt-urban-handoff__sources a:hover,.tzvt-urban-handoff__bkk:hover{text-decoration:underline}@media(max-width:480px){.tzvt-urban-handoff__sources{flex-direction:column;gap:6px}.tzvt-urban-handoff__bkk{width:100%;justify-content:center}.tzvt-urban-handoff .tzvt-province-actions button{width:100%}}


/* v0.39.0 — branch-aware guide cards */



/* v0.40.0 — official SRT service-type guide */
.tzvt-service-types{margin-top:24px}
.tzvt-service-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tzvt-service-type-card{display:flex;flex-direction:column;min-height:100%;padding:18px;border:1px solid #dce6eb;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafb);box-shadow:0 8px 24px rgba(22,48,67,.05)}
.tzvt-service-type-card__top{display:flex;align-items:center;gap:11px}
.tzvt-service-type-card__top>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#173b50;color:#fff;font-size:12px;font-weight:950;letter-spacing:.03em}
.tzvt-service-type-card__top h3{margin:0;font-size:17px;line-height:1.2;color:#173b50}
.tzvt-service-type-card__top small{display:block;margin-top:3px;color:#7a8991;font-size:10px;font-weight:800}
.tzvt-service-type-card>p{margin:13px 0;color:#556670;font-size:12px;line-height:1.58}
.tzvt-service-type-card dl{display:grid;gap:7px;margin:auto 0 0}
.tzvt-service-type-card dl>div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px 9px;border-radius:10px;background:#eef4f7}
.tzvt-service-type-card dt{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:#456474}
.tzvt-service-type-card dd{margin:0;font-size:10px;line-height:1.4;color:#53646d}
.tzvt-service-type-note{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:14px;background:#f2f6f8;border:1px solid #dce7eb}
.tzvt-service-type-note b{color:#173b50;font-size:12px}
.tzvt-service-type-note span{color:#5b6d76;font-size:11px;line-height:1.5}
.tzvt-service-type-note a{white-space:nowrap;color:#176a49;font-size:11px;font-weight:900;text-decoration:none}
@media(max-width:1100px){.tzvt-service-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-service-type-note{grid-template-columns:1fr}.tzvt-service-type-note a{white-space:normal}}
@media(max-width:620px){.tzvt-service-type-grid{grid-template-columns:1fr}}

/* v0.42.0 — bezpečné filtry výsledků + porovnání až 3 skutečně načtených vlaků */
.tzvt-result-tools{display:grid;gap:10px;margin:14px 0 12px;padding:12px;border:1px solid #d9e5ea;border-radius:16px;background:#f8fafb}
.tzvt-result-filter{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.tzvt-result-filter>span{margin-right:3px;font-size:10px;font-weight:900;color:#506771}.tzvt-result-filter button{appearance:none;border:1px solid #d0dee4;border-radius:999px;background:#fff;color:#315669;padding:7px 10px;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.tzvt-result-filter button small{margin-left:3px;color:#7a8b93;font-size:9px}.tzvt-result-filter button.is-active{border-color:#174d65;background:#174d65;color:#fff}.tzvt-result-filter button.is-active small{color:#d9edf5}.tzvt-result-filter button:disabled{opacity:.42;cursor:not-allowed}.tzvt-result-filter__state{font-size:9px;line-height:1.5;color:#667983}.tzvt-train-result[hidden]{display:none!important}
.tzvt-train-result.is-compared{box-shadow:0 0 0 2px rgba(20,100,130,.28),0 10px 28px rgba(20,64,82,.08)}.tzvt-train-result__compare{border:1px solid #bfd5df!important;background:#eef6f9!important;color:#17556e!important}.tzvt-train-result.is-compared .tzvt-train-result__compare{border-color:#176a83!important;background:#176a83!important;color:#fff!important}
.tzvt-compare-bar{margin:12px 0 14px;padding:14px;border:1px solid #c7dce5;border-radius:17px;background:linear-gradient(180deg,#f7fcfe,#eef6f9)}.tzvt-compare-bar__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px}.tzvt-compare-bar__head>div{display:grid;gap:2px}.tzvt-compare-bar__head b{font-size:13px;color:#173f50}.tzvt-compare-bar__head span{font-size:9px;color:#607680}.tzvt-compare-bar__head>button{appearance:none;border:1px solid #c4d7df;border-radius:9px;background:#fff;color:#315d70;padding:7px 9px;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.tzvt-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tzvt-compare-grid article{padding:12px;border:1px solid #d3e2e8;border-radius:13px;background:#fff}.tzvt-compare-grid article>div:first-child{display:grid;gap:1px;margin-bottom:8px}.tzvt-compare-grid article small{font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#6e8189}.tzvt-compare-grid article>div:first-child b{font-size:20px;color:#173f50}.tzvt-compare-grid article>div:first-child span{font-size:9px;color:#61757e}.tzvt-compare-grid dl{display:grid;gap:5px;margin:0}.tzvt-compare-grid dl>div{display:grid;grid-template-columns:64px 1fr;gap:7px;padding:6px 7px;border-radius:8px;background:#f4f8fa}.tzvt-compare-grid dt{font-size:8px;font-weight:900;text-transform:uppercase;color:#637983}.tzvt-compare-grid dd{margin:0;font-size:9px;line-height:1.35;color:#334f5b}.tzvt-compare-grid article>button{margin-top:9px;appearance:none;border:0;border-radius:8px;background:#edf3f6;color:#31586a;padding:7px 9px;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.tzvt-compare-limit{margin-bottom:9px;padding:8px 10px;border-radius:10px;background:#fff3d7;border:1px solid #efd79d;color:#715714;font-size:10px;font-weight:800}
@media(max-width:900px){.tzvt-compare-grid{grid-template-columns:1fr}.tzvt-compare-bar__head{align-items:flex-start;flex-direction:column}.tzvt-result-filter{align-items:flex-start}}
.tzvt-share-planner{min-height:46px;border:1px solid #c7d9e0;border-radius:12px;background:#fff;color:#245d72;padding:0 13px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.tzvt-share-planner:hover{border-color:#7eb0c2;background:#f5fafc}@media(max-width:720px){.tzvt-share-planner{width:100%}}

/* v0.43.0 — přeshraniční SRT + praktické hlavní stanice + future-service stav */
.tzvt-international-section{margin-top:24px}.tzvt-international-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tzvt-international-card{display:flex;flex-direction:column;padding:20px;border:1px solid #d7e4e9;border-radius:20px;background:linear-gradient(160deg,#fff 0%,#f5fafb 100%);box-shadow:0 10px 28px rgba(20,54,72,.06)}.tzvt-international-card__top{display:flex;align-items:center;gap:12px}.tzvt-international-card__top>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#173d50;color:#fff;font-size:12px;font-weight:950}.tzvt-international-card__top h3{margin:0;color:#173d50;font-size:19px}.tzvt-international-card__top small{display:block;margin-top:3px;color:#6f818a;font-size:10px;font-weight:850}.tzvt-international-card>p{margin:14px 0;color:#536770;font-size:13px;line-height:1.6}.tzvt-international-card__route,.tzvt-international-card__fare{display:grid;gap:4px;padding:11px 12px;border-radius:12px;background:#eef5f7;margin-top:8px}.tzvt-international-card__route b,.tzvt-international-card__fare b{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#315d70}.tzvt-international-card__route span,.tzvt-international-card__fare span{font-size:11px;line-height:1.5;color:#4f636d}.tzvt-international-card__fare{background:#f5f2e9}.tzvt-international-card__warning{margin-top:10px;padding:10px 11px;border:1px solid #ead6a8;border-radius:12px;background:#fff9ec;color:#725b24;font-size:10px;line-height:1.5}.tzvt-international-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.tzvt-international-card__actions button,.tzvt-international-card__actions a{appearance:none;border:0;border-radius:10px;padding:9px 11px;font:inherit;font-size:10px;font-weight:900;cursor:pointer;text-decoration:none}.tzvt-international-card__actions button{background:#173d50;color:#fff}.tzvt-international-card__actions button.is-secondary{background:#e9f2f5;color:#245b70}.tzvt-international-card__actions a{background:#edf5ef;color:#176246}.tzvt-international-note{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid #dce7ea;border-radius:14px;background:#f6f8f9}.tzvt-international-note b{font-size:11px;color:#173d50}.tzvt-international-note span{font-size:10px;line-height:1.55;color:#62737b}
.tzvt-train-result__service-note.is-future{border-color:#d7c6ee;background:#f7f2fd}.tzvt-train-result__service-note.is-future>div>b{color:#68458b}
@media(max-width:760px){.tzvt-international-grid{grid-template-columns:1fr}.tzvt-international-note{grid-template-columns:1fr}.tzvt-international-card__actions button,.tzvt-international-card__actions a{width:100%;text-align:center}}

/* v0.44.0 – provozní změny 2025/2026 */
.tzvt-network-updates{margin-top:24px}.tzvt-network-update-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tzvt-network-update-card{display:flex;flex-direction:column;padding:18px;border:1px solid #d9e5e9;border-radius:18px;background:linear-gradient(160deg,#fff 0%,#f7fafb 100%);box-shadow:0 8px 24px rgba(20,50,66,.05)}.tzvt-network-update-card__top{display:flex;align-items:center;gap:10px}.tzvt-network-update-card__top>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#173d50;color:#fff;font-size:10px;font-weight:950}.tzvt-network-update-card__top h3{margin:0;color:#183f50;font-size:15px;line-height:1.25}.tzvt-network-update-card__top small{display:block;margin-top:3px;color:#788990;font-size:9px;font-weight:800}.tzvt-network-update-card>p{margin:13px 0;color:#52666f;font-size:11px;line-height:1.55}.tzvt-network-update-card__warning{margin-top:auto;padding:10px 11px;border:1px solid #ead8aa;border-radius:11px;background:#fff9ed;color:#725b24;font-size:10px;line-height:1.5}.tzvt-network-update-card>a{display:inline-block;margin-top:10px;color:#245b70;font-size:9px;font-weight:900;text-decoration:none}@media(max-width:1100px){.tzvt-network-update-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.tzvt-network-update-grid{grid-template-columns:1fr}}


/* v0.45.0 — knihovna cest */
.tzvt-journey-library{overflow:hidden}.tzvt-journey-group{margin-top:20px}.tzvt-journey-group__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}.tzvt-journey-group__head h3{margin:0;color:#173d4b;font-size:18px}.tzvt-journey-group__head span{font-size:10px;font-weight:900;color:#60747d;background:#f1f5f7;border:1px solid #dce6ea;border-radius:999px;padding:5px 9px}.tzvt-journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tzvt-journey{appearance:none;border:1px solid #d9e4e8;background:linear-gradient(145deg,#fff,#f8fbfc);border-radius:15px;padding:14px;text-align:left;display:grid;gap:5px;cursor:pointer;color:#173d4b;transition:.18s}.tzvt-journey:hover{transform:translateY(-2px);border-color:#88c8b5;box-shadow:0 8px 20px rgba(18,77,64,.08)}.tzvt-journey__route{font-size:13px;font-weight:950}.tzvt-journey small{font-size:10px;line-height:1.4;color:#6d7f87}.tzvt-journey b{font-size:10px;color:#0b7658;margin-top:3px}.tzvt-journey-note{display:flex;gap:8px;align-items:flex-start;margin-top:16px;padding:12px 14px;border:1px solid #d7e7df;background:#f5fbf8;border-radius:13px;font-size:10px;line-height:1.5;color:#45645a}.tzvt-journey-note b{color:#146149;white-space:nowrap}@media(max-width:1100px){.tzvt-journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.tzvt-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.tzvt-journey-grid{grid-template-columns:1fr}.tzvt-journey-note{display:grid}}


/* v0.46.0 — speciální planner Mae Klong: dva fyzicky oddělené železniční úseky */
.tzvt-maeklong-special{position:relative;overflow:hidden}
.tzvt-maeklong-route{display:grid;grid-template-columns:1fr auto 1.2fr auto 1fr;gap:12px;align-items:stretch;margin:22px 0}
.tzvt-maeklong-route>div{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid rgba(15,23,42,.10);border-radius:16px;background:#fff}
.tzvt-maeklong-route>div>b{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#0f766e;color:#fff}
.tzvt-maeklong-route>div.is-ferry{background:#f0fdfa;border-color:#99f6e4}.tzvt-maeklong-route>div.is-ferry>b{background:#0284c7}.tzvt-maeklong-route>i{align-self:center;font-style:normal;font-weight:900;color:#64748b}
.tzvt-maeklong-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) auto;gap:12px;align-items:end;padding:18px;border-radius:18px;background:#0f172a}
.tzvt-maeklong-form label{display:grid;gap:7px;color:#cbd5e1;font-size:12px;font-weight:800;text-transform:uppercase}.tzvt-maeklong-form select,.tzvt-maeklong-form input{min-height:46px;border:0;border-radius:11px;padding:0 12px;background:#fff;color:#0f172a}.tzvt-maeklong-form button{min-height:46px;border:0;border-radius:11px;padding:0 18px;background:#14b8a6;color:#042f2e;font-weight:900;cursor:pointer}
.tzvt-maeklong-result{margin-top:16px}.tzvt-maeklong-placeholder,.tzvt-maeklong-loading,.tzvt-maeklong-empty{padding:18px;border:1px dashed #94a3b8;border-radius:16px;background:#f8fafc;display:grid;gap:5px}.tzvt-maeklong-result__head{display:flex;justify-content:space-between;gap:14px;margin:18px 0 12px}.tzvt-maeklong-result__head>div{display:grid;gap:3px}.tzvt-maeklong-result__head b{font-size:20px}.tzvt-maeklong-result__head span{color:#64748b}
.tzvt-maeklong-leg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tzvt-maeklong-leg{border:1px solid #e2e8f0;border-radius:18px;background:#fff;overflow:hidden}.tzvt-maeklong-leg__head{padding:16px 17px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.tzvt-maeklong-leg__head span{font-size:11px;font-weight:900;color:#0f766e}.tzvt-maeklong-leg__head h3{margin:4px 0}.tzvt-maeklong-leg__head small{color:#64748b}.tzvt-maeklong-trains{display:grid}.tzvt-maeklong-train{display:grid;grid-template-columns:1.15fr .7fr .7fr auto;gap:10px;align-items:center;padding:12px 15px;border-bottom:1px solid #f1f5f9}.tzvt-maeklong-train.is-next{background:#ecfdf5}.tzvt-maeklong-train>div{display:grid;gap:2px}.tzvt-maeklong-train small{font-size:10px;color:#64748b;font-weight:800}.tzvt-maeklong-train b{font-size:16px}.tzvt-maeklong-train span{font-size:12px;color:#475569}.tzvt-maeklong-train a,.tzvt-maeklong-source{font-weight:800;text-decoration:none}.tzvt-maeklong-source{display:block;padding:12px 15px;background:#f8fafc}.tzvt-maeklong-crossing{margin-top:16px;padding:16px 18px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;display:grid;gap:5px}.tzvt-maeklong-crossing small{color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tzvt-maeklong-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tzvt-maeklong-sources a{padding:8px 11px;border-radius:999px;background:#f1f5f9;text-decoration:none;font-size:12px;font-weight:800}
@media(max-width:820px){.tzvt-maeklong-route{grid-template-columns:1fr}.tzvt-maeklong-route>i{display:none}.tzvt-maeklong-form{grid-template-columns:1fr}.tzvt-maeklong-leg-grid{grid-template-columns:1fr}.tzvt-maeklong-train{grid-template-columns:1fr .6fr .6fr}.tzvt-maeklong-train a{grid-column:1/-1}}

/* Konsolidované UX: jedna knihovna cest, jeden síťový přehled, praktické info přímo v Centru stanice */
.tzvt-journey-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 8px}.tzvt-journey-featured .tzvt-quick{height:100%}.tzvt-journey-group{border-top:1px solid #e5ecef;padding-top:12px}.tzvt-journey-group>summary{list-style:none;cursor:pointer}.tzvt-journey-group>summary::-webkit-details-marker{display:none}.tzvt-journey-group[open]>.tzvt-journey-group__head span{background:#e8f5ef;color:#146149;border-color:#c9e7d8}.tzvt-journey-group .tzvt-journey-grid{padding-top:4px}
.tzvt-network-guide-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:26px 0 12px;padding-top:22px;border-top:1px solid #e3eaed}.tzvt-network-guide-head h3{margin:3px 0 0;color:#173d4b;font-size:20px}.tzvt-network-guide-head p{max-width:520px;margin:0;color:#61747d;font-size:11px;line-height:1.5}.tzvt-network-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tzvt-network-guide{border:1px solid #dce6ea;border-radius:15px;background:#fff;overflow:hidden}.tzvt-network-guide>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;list-style:none}.tzvt-network-guide>summary::-webkit-details-marker{display:none}.tzvt-network-guide>summary>i{font-style:normal;font-size:18px;color:#57707a;transition:transform .18s}.tzvt-network-guide[open]>summary>i{transform:rotate(45deg)}.tzvt-network-guide__mark{display:grid;place-items:center;min-width:36px;height:36px;padding:0 7px;border-radius:10px;background:#173d50;color:#fff;font-size:9px;font-weight:950}.tzvt-network-guide__summary{display:grid;gap:2px}.tzvt-network-guide__summary small{font-size:8px;font-weight:950;letter-spacing:.07em;color:#73848c}.tzvt-network-guide__summary b{font-size:13px;color:#183f50;line-height:1.35}.tzvt-network-guide__body{padding:0 14px 14px;border-top:1px solid #edf1f3;background:#fbfcfd}.tzvt-network-guide__body>p{margin:12px 0;color:#556971;font-size:11px;line-height:1.55}.tzvt-network-guide__routes{display:grid;gap:7px}.tzvt-network-guide__routes>div{display:grid;gap:2px;padding:9px 10px;border-radius:10px;background:#eef4f6}.tzvt-network-guide__routes b{font-size:9px;color:#244f60}.tzvt-network-guide__routes span{font-size:10px;line-height:1.45;color:#5e7078}.tzvt-network-guide__note{margin-top:9px;padding:9px 10px;border-radius:10px;background:#fff8e9;color:#6d592b;font-size:9px;line-height:1.45}.tzvt-network-guide__actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.tzvt-network-guide__actions button,.tzvt-network-guide__actions a{appearance:none;border:0;border-radius:9px;padding:8px 9px;font:inherit;font-size:9px;font-weight:900;text-decoration:none;cursor:pointer}.tzvt-network-guide__actions button{background:#173d50;color:#fff}.tzvt-network-guide__actions a{background:#eaf2f5;color:#245b70}
.tzvt-station-practical{margin:12px 0;padding:14px 15px;border:1px solid #cfe3d9;border-radius:14px;background:#f6fbf8}.tzvt-station-practical__head{display:flex;align-items:center;gap:10px}.tzvt-station-practical__head>span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 7px;border-radius:10px;background:#17634d;color:#fff;font-size:9px;font-weight:950}.tzvt-station-practical__head>div{display:grid;gap:2px}.tzvt-station-practical__head small{font-size:8px;font-weight:950;letter-spacing:.07em;color:#618071}.tzvt-station-practical__head b{font-size:13px;color:#184f3d}.tzvt-station-practical ul{margin:10px 0 0;padding-left:18px}.tzvt-station-practical li{margin:0 0 6px;color:#536b61;font-size:10px;line-height:1.5}.tzvt-station-practical>a{display:inline-block;margin-top:5px;color:#17634d;font-size:9px;font-weight:900;text-decoration:none}.tzvt-live-terminal-compact{margin-top:12px;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.08)}.tzvt-live-terminal-compact>b{display:block;margin-bottom:8px;font-size:10px;color:#e8f2f5}.tzvt-live-terminal-compact__links{display:flex;flex-wrap:wrap;gap:7px}.tzvt-live-terminal-compact__links a{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:9px;font-weight:850}.tzvt-consolidation-note{display:flex;gap:10px;align-items:flex-start;margin:12px 0 24px;padding:12px 14px;border:1px solid #d8e5ea;border-radius:13px;background:#f6f9fa}.tzvt-consolidation-note b{white-space:nowrap;font-size:10px;color:#214c5c}.tzvt-consolidation-note span{font-size:10px;line-height:1.5;color:#61747d}
@media(max-width:980px){.tzvt-journey-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-network-guides{grid-template-columns:1fr}.tzvt-network-guide-head{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:620px){.tzvt-journey-featured{grid-template-columns:1fr}.tzvt-consolidation-note{display:grid;gap:4px}.tzvt-live-terminal-compact__links{display:grid}.tzvt-live-terminal-compact__links a{text-align:center}}
.tzvt-station-practical__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.tzvt-station-practical__links a{display:inline-block;color:#17634d;font-size:9px;font-weight:900;text-decoration:none}

/* v0.55 production trip draft */
.tzvt-trip-draft{margin-top:18px;padding:18px;border:1px solid #cfe2da;border-radius:18px;background:linear-gradient(180deg,#f8fcfa,#eef8f4);box-shadow:0 10px 28px rgba(15,107,86,.06)}
.tzvt-trip-draft__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.tzvt-trip-draft__head>div:first-child{display:grid;gap:4px}.tzvt-trip-draft__head span{font-size:9px;font-weight:950;letter-spacing:.09em;color:#0f8a63}.tzvt-trip-draft__head h3{margin:0;color:#153a31;font-size:20px}.tzvt-trip-draft__head p{margin:0;max-width:760px;color:#5d716a;font-size:11px;line-height:1.5}.tzvt-trip-draft__actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.tzvt-trip-draft__actions button,.tzvt-trip-draft__actions a{appearance:none;border:1px solid #bcd9ce;border-radius:10px;background:#fff;color:#17674f;text-decoration:none;padding:8px 10px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.tzvt-trip-draft__actions .is-clear{color:#8b3b3b;border-color:#e7caca}.tzvt-trip-draft__legs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tzvt-trip-draft__leg{display:grid;gap:4px;padding:13px;border:1px solid #d6e5df;border-radius:13px;background:#fff}.tzvt-trip-draft__leg small{font-size:8px;font-weight:950;letter-spacing:.07em;color:#6c8078}.tzvt-trip-draft__leg b{font-size:13px;color:#173f34}.tzvt-trip-draft__leg span{font-size:11px;color:#405d53}.tzvt-trip-draft__leg em{font-size:9px;color:#71867e;font-style:normal}.tzvt-trip-draft__leg a{margin-top:4px;font-size:9px;font-weight:900;color:#0f7859;text-decoration:none}.tzvt-trip-draft__leg.is-empty{border-style:dashed;background:rgba(255,255,255,.55)}.tzvt-train-result__select{background:#0f8a63!important;color:#fff!important}.tzvt-train-result__select.is-selected{background:#075d43!important}
@media(max-width:760px){.tzvt-trip-draft__head{flex-direction:column}.tzvt-trip-draft__actions{justify-content:flex-start}.tzvt-trip-draft__legs{grid-template-columns:1fr}}
.tzvt-date-adjustment{margin-top:12px;padding:10px 12px;border:1px solid #ead6a2;border-radius:11px;background:#fff8e6;color:#6e5620;display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.45}.tzvt-date-adjustment b{white-space:nowrap}.tzvt-date-adjustment[hidden]{display:none}
.tzvt-stale-results{margin-bottom:12px;padding:10px 12px;border:1px solid #e5ccb0;border-radius:11px;background:#fff5e8;color:#76522d;display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.45}.tzvt-stale-results b{white-space:nowrap}.tzvt-planner-result.is-stale>.tzvt-journey-block,.tzvt-planner-result.is-stale>.tzvt-result-message{opacity:.62}

/* v0.60.0 — consolidated journey workflow: recent searches, quick dates, multi-segment trip plan */
.tzvt-date-shortcuts{display:flex!important;gap:5px;flex-wrap:wrap;margin-top:-2px;font-size:inherit!important;font-weight:inherit!important;letter-spacing:normal!important;text-transform:none!important;color:inherit!important}
.tzvt-date-shortcuts button{appearance:none;border:1px solid #d7e3de;background:#f7fbf9;color:#17684f;border-radius:8px;padding:4px 7px;font:inherit;font-size:9px;font-weight:850;cursor:pointer}
.tzvt-date-shortcuts button:hover,.tzvt-date-shortcuts button:focus-visible{border-color:#61b69b;background:#edf8f4;outline:none;box-shadow:0 0 0 2px rgba(25,163,125,.1)}
.tzvt-planner-status{margin-top:10px;padding:9px 11px;border-radius:10px;background:#f6f8fa;color:#586970;font-size:10px;line-height:1.45}
.tzvt-planner-status:empty{display:none}
.tzvt-recent-searches{margin-top:12px;padding:13px;border:1px solid #e0e8e4;border-radius:14px;background:#fbfdfc}
.tzvt-recent-searches__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.tzvt-recent-searches__head>div{display:grid;gap:2px}.tzvt-recent-searches__head b{font-size:12px;color:#23463b}.tzvt-recent-searches__head span{font-size:9px;color:#77867f}.tzvt-recent-searches__head>button{appearance:none;border:0;background:transparent;color:#8a4b4b;font-size:9px;font-weight:850;cursor:pointer}
.tzvt-recent-searches__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tzvt-recent-searches__grid>button{appearance:none;text-align:left;border:1px solid #dde9e4;background:#fff;border-radius:10px;padding:9px 10px;display:grid;gap:3px;cursor:pointer}.tzvt-recent-searches__grid>button:hover,.tzvt-recent-searches__grid>button:focus-visible{border-color:#79bea8;background:#f4fbf8;outline:none}.tzvt-recent-searches__grid b{font-size:10px;color:#20473a}.tzvt-recent-searches__grid span{font-size:9px;color:#6c7d76;line-height:1.35}
.tzvt-trip-draft__journeys{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.tzvt-trip-draft__journey{padding:13px;border:1px solid #d6e5df;border-radius:14px;background:#fff;display:grid;gap:10px}.tzvt-trip-draft__journey.is-empty{border-style:dashed;background:rgba(255,255,255,.58)}.tzvt-trip-draft__journey.is-stale{border-color:#efd398;background:#fffcf5}.tzvt-trip-draft__journey.is-old{border-color:#e4b9b9;background:#fff8f8}
.tzvt-trip-draft__journey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tzvt-trip-draft__journey-head>div:first-child{display:grid;gap:3px}.tzvt-trip-draft__journey-head small{font-size:8px;font-weight:950;letter-spacing:.07em;color:#637b72}.tzvt-trip-draft__journey-head b{font-size:13px;color:#173f34}.tzvt-trip-draft__journey-head span{font-size:9px;color:#76867f}.tzvt-trip-draft__journey-head>div:last-child{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.tzvt-trip-draft__journey-head button{appearance:none;border:1px solid #cadfd7;background:#f6fbf9;color:#17664f;border-radius:8px;padding:6px 7px;font:inherit;font-size:8px;font-weight:900;cursor:pointer}.tzvt-trip-draft__journey-head button.is-clear{color:#8c4141;border-color:#e8cccc;background:#fffafa}
.tzvt-trip-draft__segments{display:grid;gap:7px}.tzvt-trip-draft__segment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border-radius:10px;background:#f7faf9;border:1px solid #e4ece8}.tzvt-trip-draft__segment>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#167b5e;color:#fff;font-size:8px;font-weight:950}.tzvt-trip-draft__segment>div{display:grid;gap:2px}.tzvt-trip-draft__segment b{font-size:10px;color:#203e35}.tzvt-trip-draft__segment small{font-size:9px;color:#63756e;line-height:1.4}.tzvt-trip-draft__segment em{font-size:8px;color:#7c8984;font-style:normal}.tzvt-trip-draft__segment>a{font-size:8px;font-weight:900;color:#0f7658;white-space:nowrap}
.tzvt-trip-draft__connection{padding:9px 10px;border-radius:10px;background:#fff8e9;border:1px dashed #e4c983;display:grid;gap:2px}.tzvt-trip-draft__connection b{font-size:10px;color:#76571b}.tzvt-trip-draft__connection span,.tzvt-trip-draft__connection small{font-size:8px;color:#806d49}.tzvt-trip-draft__warning{padding:8px 9px;border-radius:9px;background:#fff6e8;color:#7b5b24;font-size:9px;font-weight:750;line-height:1.45}.tzvt-trip-draft__note{margin:0;font-size:9px;color:#687a73;line-height:1.45}
.tzvt-transfer-option__foot button,.tzvt-via-option__foot button,.tzvt-maeklong-result__head>button{appearance:none;border:1px solid #8bcab6;background:#0f7d5e;color:#fff;border-radius:9px;padding:7px 9px;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.tzvt-transfer-option__foot button:hover,.tzvt-via-option__foot button:hover,.tzvt-maeklong-result__head>button:hover{background:#0b684f}.tzvt-via-option__foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.tzvt-via-option__foot>span{line-height:1.45}.tzvt-transfer-option__foot{flex-wrap:wrap}.tzvt-transfer-option__foot button{margin-left:auto}.tzvt-maeklong-result__head>button{align-self:center}
.tzvt-shell button:focus-visible,.tzvt-shell a:focus-visible,.tzvt-shell select:focus-visible,.tzvt-shell input:focus-visible{outline:2px solid #168f6b;outline-offset:2px}
@media(max-width:900px){.tzvt-recent-searches__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-trip-draft__journeys{grid-template-columns:1fr}.tzvt-via-option__foot{align-items:flex-start;flex-direction:column}.tzvt-transfer-option__foot button{margin-left:0}}
@media(max-width:560px){.tzvt-recent-searches__grid{grid-template-columns:1fr}.tzvt-recent-searches__head,.tzvt-trip-draft__journey-head{align-items:flex-start;flex-direction:column}.tzvt-trip-draft__journey-head>div:last-child{justify-content:flex-start}.tzvt-trip-draft__segment{grid-template-columns:auto 1fr}.tzvt-trip-draft__segment>a{grid-column:2}.tzvt-maeklong-result__head{flex-direction:column}.tzvt-maeklong-result__head>button{width:100%}}

/* v0.65.0 — trip workspace v3, booking preparation, portable local plan */
@media(min-width:1181px){
  .tzvt-planner{grid-template-columns:minmax(220px,1.2fr) 44px minmax(220px,1.2fr) minmax(150px,.75fr) minmax(145px,.7fr) 96px 96px}
  .tzvt-return{grid-column:1}
  .tzvt-field--return{grid-column:2/4}
  .tzvt-search{grid-column:4}
  .tzvt-share-planner{grid-column:5/7}
}
.tzvt-field--travellers select{min-width:88px}
.tzvt-field--plan-note{grid-column:1/-1}
.tzvt-field--plan-note input{min-height:46px}
.tzvt-trip-draft__travellers{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px}.tzvt-trip-draft__travellers b{padding:5px 8px;border-radius:999px;background:#e8f6f1;color:#17684f;font-size:9px}.tzvt-trip-draft__travellers span{font-size:9px!important;font-weight:600!important;letter-spacing:0!important;color:#6d7c76!important}
.tzvt-trip-draft__meta{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);gap:10px;margin:0 0 12px;padding:11px;border:1px solid #d7e6e0;border-radius:12px;background:rgba(255,255,255,.72)}.tzvt-trip-draft__meta label{display:grid;gap:5px}.tzvt-trip-draft__meta label>span{font-size:8px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:#647b72}.tzvt-trip-draft__meta input,.tzvt-trip-draft__meta textarea{width:100%;border:1px solid #cfdfd9;background:#fff;color:#193c32;border-radius:9px;padding:8px 10px;font:inherit;font-size:10px;line-height:1.45;resize:vertical}.tzvt-trip-draft__meta input:focus,.tzvt-trip-draft__meta textarea:focus{outline:none;border-color:#52aa8e;box-shadow:0 0 0 2px rgba(25,163,125,.1)}
.tzvt-trip-draft__storage-warning,.tzvt-trip-draft__expired{padding:8px 10px;border-radius:9px;background:#fff3e5;border:1px solid #e8cda8;color:#795424;font-size:9px;line-height:1.45}.tzvt-trip-draft__storage-warning{margin-bottom:10px}.tzvt-trip-draft__journey.is-past{border-color:#dfb7b7;background:#fff8f8}
.tzvt-trip-draft__segment-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.tzvt-trip-draft__segment-actions a,.tzvt-trip-draft__segment-actions button{appearance:none;border:1px solid #c8ded6;border-radius:7px;background:#fff;color:#116e53;padding:5px 7px;font:inherit;font-size:8px;font-weight:900;text-decoration:none;white-space:nowrap;cursor:pointer}.tzvt-trip-draft__segment-actions button:hover{background:#eef8f4}
.tzvt-trip-draft__actions input[type=file]{display:none!important}
@media(max-width:900px){.tzvt-trip-draft__meta{grid-template-columns:1fr}.tzvt-field--travellers{min-width:0}}
@media(max-width:560px){.tzvt-trip-draft__segment-actions{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.tzvt-trip-draft__travellers{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.tzvt-shell *{scroll-behavior:auto!important}.tzvt-shell *,.tzvt-shell *:before,.tzvt-shell *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
.tzvt-trip-draft__empty-state{display:flex;align-items:center;justify-content:space-between;gap:16px}.tzvt-trip-draft__empty-state>div:first-child{display:grid;gap:4px}.tzvt-trip-draft__empty-state span{font-size:9px;font-weight:950;letter-spacing:.09em;color:#0f8a63}.tzvt-trip-draft__empty-state b{font-size:14px;color:#173f34}.tzvt-trip-draft__empty-state p{margin:0;color:#6a7b74;font-size:10px;line-height:1.5}.tzvt-trip-draft__empty-state button{appearance:none;border:1px solid #bcd9ce;border-radius:10px;background:#fff;color:#17674f;padding:8px 10px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.tzvt-trip-draft__empty-state input[type=file]{display:none!important}@media(max-width:560px){.tzvt-trip-draft__empty-state{align-items:flex-start;flex-direction:column}}

/* v0.70.0 – detail cele cesty / audit a hromadne overeni */
.tzvt-trip-audit{margin-top:14px;padding:15px;border:1px solid #cfe1da;border-radius:15px;background:#fff;display:grid;gap:12px}.tzvt-trip-audit__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tzvt-trip-audit__head>div:first-child{display:grid;gap:4px}.tzvt-trip-audit__head span{font-size:8px;font-weight:950;letter-spacing:.08em;color:#0f8060}.tzvt-trip-audit__head h4{margin:0;color:#173f34;font-size:15px}.tzvt-trip-audit__head p{margin:0;max-width:780px;color:#667a72;font-size:9px;line-height:1.5}.tzvt-trip-audit__actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tzvt-trip-audit__actions button{appearance:none;border:1px solid #bfd8cf;border-radius:8px;background:#f7fbf9;color:#17674f;padding:7px 9px;font:inherit;font-size:8px;font-weight:900;cursor:pointer}.tzvt-trip-audit__actions button:first-child{background:#0f8a63;color:#fff;border-color:#0f8a63}.tzvt-trip-audit__actions button:disabled{opacity:.55;cursor:wait}.tzvt-trip-audit__actions button.is-clear{color:#8b4141;border-color:#e4c8c8;background:#fffafa}
.tzvt-trip-audit__stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.tzvt-trip-audit__stats>div{padding:9px 10px;border:1px solid #e0ebe6;border-radius:10px;background:#f8fbfa;display:grid;gap:2px}.tzvt-trip-audit__stats b{font-size:15px;color:#173f34}.tzvt-trip-audit__stats span{font-size:8px;color:#687b73;letter-spacing:0;font-weight:750}
.tzvt-trip-audit__verification{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#f4f8f6;border:1px solid #dce9e4}.tzvt-trip-audit__verification>b{font-size:9px;color:#2b4c41}.tzvt-trip-audit__verification>span{padding:4px 7px;border-radius:999px;font-size:8px!important;letter-spacing:0!important}.tzvt-trip-audit__verification .is-ok{background:#ddf4e9;color:#176247}.tzvt-trip-audit__verification .is-warn{background:#fff0d7;color:#80591e}.tzvt-trip-audit__verification .is-neutral{background:#eef2f0;color:#66756f}.tzvt-trip-audit__verification small{margin-left:auto;font-size:8px;color:#788781}
.tzvt-trip-audit__verify-list{display:grid;gap:6px}.tzvt-trip-audit__verify-list>div{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.4fr);gap:8px;padding:8px 9px;border-radius:9px;border:1px solid #e2eae7;background:#fafcfb}.tzvt-trip-audit__verify-list b{font-size:9px;color:#29493e}.tzvt-trip-audit__verify-list span{font-size:8px!important;font-weight:650!important;letter-spacing:0!important;color:#6c7a75}.tzvt-trip-audit__verify-list .is-confirmed{border-left:3px solid #48a67d}.tzvt-trip-audit__verify-list .is-changed{border-left:3px solid #d6a440;background:#fffbf3}.tzvt-trip-audit__verify-list .is-missing,.tzvt-trip-audit__verify-list .is-error{border-left:3px solid #cf6969;background:#fff8f8}.tzvt-trip-audit__verify-list .is-skipped,.tzvt-trip-audit__verify-list .is-past{border-left:3px solid #99a7a1}
.tzvt-trip-audit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tzvt-trip-audit__grid>div{padding:11px;border:1px solid #e1eae6;border-radius:11px;background:#fbfdfc}.tzvt-trip-audit__grid h5{margin:0 0 8px;color:#23483b;font-size:10px}.tzvt-trip-audit__grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tzvt-trip-audit__grid li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:flex-start}.tzvt-trip-audit__grid li>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:8px!important;letter-spacing:0!important;font-weight:950!important;background:#eef3f1;color:#60736b}.tzvt-trip-audit__grid li>b{font-size:8px;line-height:1.45;color:#52665f}.tzvt-trip-audit__grid li.is-error>span{background:#fde3e3;color:#a24343}.tzvt-trip-audit__grid li.is-warning>span,.tzvt-trip-audit__grid li.is-warn>span{background:#fff0d7;color:#8b611e}.tzvt-trip-audit__grid li.is-info>span{background:#e7f0f8;color:#456b87}.tzvt-trip-audit__grid li.is-ok>span{background:#ddf4e9;color:#176247}.tzvt-trip-audit__grid li.is-error>b{color:#8b4343}.tzvt-trip-audit__grid li.is-warning>b,.tzvt-trip-audit__grid li.is-warn>b{color:#76561f}
@media(max-width:900px){.tzvt-trip-audit__head{flex-direction:column}.tzvt-trip-audit__actions{justify-content:flex-start}.tzvt-trip-audit__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.tzvt-trip-audit__grid{grid-template-columns:1fr}.tzvt-trip-audit__verify-list>div{grid-template-columns:1fr}.tzvt-trip-audit__verification small{margin-left:0;width:100%}}
@media(max-width:560px){.tzvt-trip-audit__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-trip-audit__actions button{flex:1 1 auto}.tzvt-trip-audit__head h4{font-size:13px}}


/* v0.75.0 – režim dne cesty: PLÁN SRT vs TTS vs exact GPS */
.tzvt-travel-day{margin-top:14px;padding:15px;border:1px solid #c8ded6;border-radius:15px;background:linear-gradient(180deg,#f7fcfa 0,#fff 100%);display:grid;gap:12px}.tzvt-travel-day__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tzvt-travel-day__head>div:first-child{display:grid;gap:4px}.tzvt-travel-day__head span{font-size:8px;font-weight:950;letter-spacing:.08em;color:#0f8060}.tzvt-travel-day__head h4{margin:0;color:#153f33;font-size:16px}.tzvt-travel-day__head p{margin:0;max-width:790px;color:#60766e;font-size:9px;line-height:1.55}.tzvt-travel-day__clock{min-width:118px;padding:9px 11px;border:1px solid #cfe2da;border-radius:11px;background:#fff;display:grid;text-align:right;gap:1px}.tzvt-travel-day__clock small{font-size:7px;color:#788a83}.tzvt-travel-day__clock b{font-size:18px;color:#0b7355}.tzvt-travel-day__clock span{font-size:8px!important;letter-spacing:0!important;color:#647870!important}
.tzvt-travel-day__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.tzvt-travel-day__summary>div{padding:9px 10px;border:1px solid #dce9e4;border-radius:10px;background:#fff;display:grid;gap:2px}.tzvt-travel-day__summary b{font-size:15px;color:#173f34}.tzvt-travel-day__summary span{font-size:8px!important;letter-spacing:0!important;color:#687b73!important;font-weight:750!important}.tzvt-travel-day__verify{padding:8px 10px;border-radius:10px;border:1px solid #dce8e3;background:#f6f9f8;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.tzvt-travel-day__verify b{font-size:9px}.tzvt-travel-day__verify span{font-size:8px!important;letter-spacing:0!important;font-weight:600!important;color:#64766f!important}.tzvt-travel-day__verify.is-ok{background:#e9f8f1;border-color:#c2e4d5}.tzvt-travel-day__verify.is-warn{background:#fff7e9;border-color:#ead6ad}.tzvt-travel-day__verify.is-alert{background:#fff1f1;border-color:#e8c0c0}
.tzvt-travel-day__toolbar{display:flex;flex-wrap:wrap;gap:7px}.tzvt-travel-day__toolbar button,.tzvt-travel-day__row-actions button{appearance:none;border:1px solid #bed8ce;border-radius:8px;background:#fff;color:#126c51;padding:7px 9px;font:inherit;font-size:8px;font-weight:900;cursor:pointer}.tzvt-travel-day__toolbar button:first-child{background:#0f8a63;color:#fff;border-color:#0f8a63}.tzvt-travel-day__toolbar button:disabled,.tzvt-travel-day__row-actions button:disabled{opacity:.48;cursor:not-allowed}.tzvt-travel-day__rows{display:grid;gap:8px}.tzvt-travel-day__row{padding:10px;border:1px solid #dfe9e5;border-left:4px solid #9eaaa5;border-radius:11px;background:#fff;display:grid;gap:8px}.tzvt-travel-day__row.is-upcoming{border-left-color:#2f9a72}.tzvt-travel-day__row.is-window{border-left-color:#2c7db0;background:#f7fbfe}.tzvt-travel-day__row.is-past{border-left-color:#a8aca9;background:#fafafa}.tzvt-travel-day__row.is-transfer{border-left-color:#c89a43;background:#fffbf3}.tzvt-travel-day__row-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center}.tzvt-travel-day__row-main>span{padding:4px 6px;border-radius:999px;background:#e8f5f0;color:#17664e;font-size:7px!important;letter-spacing:.05em!important}.tzvt-travel-day__row-main>div{display:grid;gap:2px}.tzvt-travel-day__row-main b{font-size:10px;color:#25473c}.tzvt-travel-day__row-main small{font-size:8px;color:#708079}.tzvt-travel-day__row-main em{font-size:8px;font-style:normal;font-weight:850;color:#5a6f67;text-align:right}.tzvt-travel-day__row-actions{display:flex;flex-wrap:wrap;gap:5px}.tzvt-travel-day__runtime{display:grid;gap:6px}.tzvt-travel-day__live,.tzvt-travel-day__exact,.tzvt-travel-day__alert{padding:8px 9px;border:1px solid #dde8e4;border-radius:9px;background:#f9fbfa;display:grid;gap:4px}.tzvt-travel-day__live>div:first-child{display:flex;justify-content:space-between;gap:8px}.tzvt-travel-day__live b,.tzvt-travel-day__exact b,.tzvt-travel-day__alert b{font-size:8px;color:#29493e}.tzvt-travel-day__live span,.tzvt-travel-day__exact span,.tzvt-travel-day__alert span,.tzvt-travel-day__live small,.tzvt-travel-day__live em,.tzvt-travel-day__exact em{font-size:8px!important;letter-spacing:0!important;color:#6a7b74!important;font-style:normal}.tzvt-travel-day__live a,.tzvt-travel-day__alert a{font-size:8px;font-weight:900;color:#0c7556}.tzvt-travel-day__live-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.tzvt-travel-day__live-grid>span{padding:6px;border-radius:7px;background:#fff;display:grid;gap:2px}.tzvt-travel-day__live-grid b{font-size:9px}.tzvt-travel-day__live.is-live{border-color:#bce0d1;background:#f0faf6}.tzvt-travel-day__exact.is-exact{border-color:#afd9ca;background:#ecfaf5}.tzvt-travel-day__alert.is-alert{border-color:#e4b8b8;background:#fff5f5}.tzvt-travel-day__alert.is-clear{border-color:#bfdfd2;background:#f1faf6}.tzvt-travel-day__empty{padding:12px;border:1px dashed #ccdcd6;border-radius:10px;background:#fff;display:grid;gap:3px}.tzvt-travel-day__empty b{font-size:10px;color:#355248}.tzvt-travel-day__empty span{font-size:9px;color:#708079}
.tzvt-travel-day__checklist{padding:10px;border:1px solid #dfe9e5;border-radius:11px;background:#fbfdfc;display:grid;grid-template-columns:minmax(210px,1fr) repeat(4,minmax(140px,.7fr));gap:8px;align-items:center}.tzvt-travel-day__checklist>div{display:grid;gap:2px}.tzvt-travel-day__checklist b{font-size:9px;color:#29483e}.tzvt-travel-day__checklist span{font-size:8px!important;letter-spacing:0!important;color:#6d7e77!important}.tzvt-travel-day__checklist label{display:flex;align-items:flex-start;gap:6px;font-size:8px;color:#4f655d;line-height:1.4}.tzvt-travel-day__checklist input{margin-top:1px}.tzvt-travel-day__policy{padding:9px 10px;border-radius:10px;background:#eef4f2;border:1px solid #d8e3df;display:grid;gap:2px}.tzvt-travel-day__policy b{font-size:8px;color:#365149}.tzvt-travel-day__policy span{font-size:8px!important;letter-spacing:0!important;color:#687a73!important;line-height:1.5}.tzvt-travel-day__policy span b{font-size:inherit}
@media(max-width:1000px){.tzvt-travel-day__checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-travel-day__checklist>div{grid-column:1/-1}.tzvt-travel-day__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.tzvt-travel-day__head{flex-direction:column}.tzvt-travel-day__clock{text-align:left;width:100%}.tzvt-travel-day__summary{grid-template-columns:1fr 1fr}.tzvt-travel-day__row-main{grid-template-columns:1fr}.tzvt-travel-day__row-main>em{text-align:left}.tzvt-travel-day__live-grid{grid-template-columns:1fr}.tzvt-travel-day__checklist{grid-template-columns:1fr}.tzvt-travel-day__toolbar button{flex:1 1 auto}}

/* production QA – praktická pravidla SRT */
.tzvt-practical-rules{position:relative;overflow:hidden}.tzvt-practical-rules__guard{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid #ead6ad;border-radius:11px;background:#fff8ea}.tzvt-practical-rules__guard b{flex:0 0 auto;font-size:9px;color:#76541e}.tzvt-practical-rules__guard span{font-size:9px;line-height:1.55;color:#6f654f}.tzvt-practical-rules__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tzvt-practical-rule{border:1px solid #dce7e3;border-radius:12px;background:#fff;overflow:hidden}.tzvt-practical-rule[open]{border-color:#b9d8cd;box-shadow:0 8px 22px rgba(24,72,57,.07)}.tzvt-practical-rule summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:12px}.tzvt-practical-rule summary::-webkit-details-marker{display:none}.tzvt-practical-rule summary>span{min-width:48px;padding:5px 7px;border-radius:8px;background:#e9f5f0;color:#17684f;text-align:center;font-size:8px!important;font-weight:950!important;letter-spacing:.04em!important}.tzvt-practical-rule summary>div{display:grid;gap:4px}.tzvt-practical-rule summary b{font-size:10px;color:#274a3e}.tzvt-practical-rule summary small{font-size:8px;line-height:1.55;color:#667972}.tzvt-practical-rule summary i{font-style:normal;color:#33856b;font-size:15px;line-height:1}.tzvt-practical-rule[open] summary i{transform:rotate(45deg)}.tzvt-practical-rule__body{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 12px 12px;border-top:1px solid #edf2f0}.tzvt-practical-rule__body p{margin:10px 0 0;font-size:8px;line-height:1.6;color:#65756f}.tzvt-practical-rule__body a{flex:0 0 auto;margin-top:9px;padding:6px 8px;border:1px solid #c6dcd4;border-radius:7px;color:#0e7657;font-size:8px;font-weight:900;text-decoration:none}.tzvt-practical-rules__sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.tzvt-practical-rules__sources>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:10px 11px;border:1px solid #dce7e3;border-radius:10px;background:#f8fbfa}.tzvt-practical-rules__sources b{font-size:9px;color:#315247}.tzvt-practical-rules__sources span{grid-column:1/-1;font-size:8px;line-height:1.45;color:#708079}.tzvt-practical-rules__sources a{grid-column:2;grid-row:1;color:#0f7658;font-size:8px;font-weight:900;text-decoration:none}
@media(max-width:820px){.tzvt-practical-rules__grid{grid-template-columns:1fr}.tzvt-practical-rules__sources{grid-template-columns:1fr}.tzvt-practical-rules__guard{display:grid}.tzvt-practical-rule__body{display:grid}.tzvt-practical-rule__body a{justify-self:start;margin-top:0}}
@media(max-width:480px){.tzvt-practical-rule summary{grid-template-columns:auto minmax(0,1fr)}.tzvt-practical-rule summary i{display:none}.tzvt-practical-rule summary>span{min-width:42px}.tzvt-practical-rules__sources>div{grid-template-columns:1fr}.tzvt-practical-rules__sources a{grid-column:1;grid-row:auto}}
.tzvt-next-day-badge{display:inline-flex!important;margin-top:3px;padding:3px 5px;border-radius:999px;background:#fff0d7;color:#80591e!important;font-size:7px!important;font-weight:900!important;letter-spacing:0!important;white-space:nowrap}

/* v0.85.0 — safe empty-result continuation */
.tzvt-result-empty__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;align-items:center}.tzvt-result-empty__actions .tzvt-transfer-search-btn{margin-top:0}.tzvt-next-day-search-btn{appearance:none;border:0;border-radius:11px;padding:10px 13px;background:#0f8a63;color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.tzvt-next-day-search-btn:hover{filter:brightness(.96)}
@media(max-width:760px){.tzvt-result-empty__actions{align-items:stretch;flex-direction:column}.tzvt-next-day-search-btn,.tzvt-result-empty__actions .tzvt-transfer-search-btn{width:100%;white-space:normal}}

/* v0.90 station-board date/stale safety */
.tzvt-station-board.is-stale{opacity:.72;filter:saturate(.8)}
.tzvt-station-board-stale{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:#fff1db;border-bottom:1px solid #e8cc95;color:#6f511d}
.tzvt-station-board-stale b{font-size:10px;white-space:nowrap}.tzvt-station-board-stale span{font-size:10px;line-height:1.45}
.tzvt-station-board-service-date,.tzvt-station-board-calendar-warning{display:inline-flex!important;width:max-content;max-width:100%;margin-top:3px;padding:2px 6px;border-radius:999px;font-size:7px!important;font-weight:900!important;line-height:1.35!important}
.tzvt-station-board-service-date{background:#fff0d7;color:#80591e!important}
.tzvt-station-board-calendar-warning{background:#fff4d8;color:#7b5e20!important}
@media(max-width:560px){.tzvt-station-board-stale{flex-direction:column;gap:3px}.tzvt-station-board-stale b{white-space:normal}}
.tzvt-decision-badges .is-calendar-rule{background:#eef6fd;border-color:#c9ddf1;color:#285b83}.tzvt-decision-badges .is-holiday{background:#fff4df;border-color:#ead4a7;color:#74561c}.tzvt-decision-badges .is-calendar-check{background:#fff0e6;border-color:#e7c2ad;color:#824727}
.tzvt-province-placeholder.is-stale{border-color:#e5ccb0;background:#fff7ea;color:#76522d}.tzvt-province-placeholder.is-stale b{color:#68441f}

/* v0.95.0 – Bangkok multi-terminal planner */
.tzvt-bangkok-aggregate-note{margin:12px 0 16px;padding:12px 14px;border:1px solid rgba(19,86,133,.2);border-radius:14px;background:rgba(19,86,133,.06);display:flex;gap:8px 14px;align-items:flex-start;flex-wrap:wrap}.tzvt-bangkok-aggregate-note b{font-size:13px}.tzvt-bangkok-aggregate-note span{font-size:12px;line-height:1.5;opacity:.86}.tzvt-train-terminal{grid-column:1/-1;margin:2px 0 6px;padding:9px 11px;border-radius:11px;background:rgba(19,86,133,.055);border-left:3px solid currentColor;display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap}.tzvt-train-terminal small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.65}.tzvt-train-terminal b{font-size:12px}@media(max-width:700px){.tzvt-bangkok-aggregate-note,.tzvt-train-terminal{display:block}.tzvt-bangkok-aggregate-note span,.tzvt-train-terminal b{display:block;margin-top:4px}}
.tzvt-choice-card em,.tzvt-compare-grid article>div>em{display:block;margin-top:4px;font-size:8px;font-style:normal;line-height:1.35;opacity:.7}
.tzvt-transfer-terminal,.tzvt-via-terminal{display:block;margin-top:3px;font-size:8px;line-height:1.35;opacity:.72}
.tzvt-transfer-leg__route{display:block;margin-top:3px;font-size:8px!important;line-height:1.35!important;opacity:.72}

/* v1.05.0: transparent SRT route-fare provenance */
.tzvt-fare-disclosure{display:block;margin-top:7px;padding-top:7px;border-top:1px dashed currentColor;opacity:.86;line-height:1.45}

/* v1.30.0 – celostátní katalogy a společná bangkokská tabule */
.tzvt-directory-controls{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(170px,.7fr) minmax(180px,.8fr);gap:12px;margin:18px 0 12px}
.tzvt-directory-controls label,.tzvt-bangkok-board__controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;letter-spacing:.04em;color:#475569}
.tzvt-directory-controls input,.tzvt-directory-controls select,.tzvt-bangkok-board__controls input{width:100%;min-height:46px;border:1px solid #d7dee8;border-radius:12px;background:#fff;padding:10px 12px;font:inherit;color:#0f172a}
.tzvt-directory-controls input:focus,.tzvt-directory-controls select:focus,.tzvt-bangkok-board__controls input:focus{outline:2px solid rgba(14,116,144,.18);border-color:#0e7490}
.tzvt-directory-summary{display:flex;align-items:center;gap:6px;min-height:36px;padding:8px 12px;margin:0 0 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:13px}
.tzvt-directory-summary b{color:#0f172a;font-size:15px}
.tzvt-directory-more{display:block;margin:18px auto 0;border:0;border-radius:999px;background:#0f172a;color:#fff;padding:12px 20px;font-weight:800;cursor:pointer}
.tzvt-directory-empty{grid-column:1/-1;padding:24px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;text-align:center;display:flex;flex-direction:column;gap:5px;color:#64748b}
.tzvt-directory-empty b{color:#0f172a}

.tzvt-station-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tzvt-station-dir-card{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:15px;box-shadow:0 8px 22px rgba(15,23,42,.04);display:flex;flex-direction:column;min-height:235px}
.tzvt-station-dir-card__top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}
.tzvt-station-dir-card__top span{font-size:10px;font-weight:900;letter-spacing:.07em;color:#0e7490;text-transform:uppercase}
.tzvt-station-dir-card__top b{font-size:10px;border-radius:999px;background:#eef2ff;color:#4338ca;padding:4px 7px}
.tzvt-station-dir-card h3{margin:0 0 2px;font-size:17px;line-height:1.22;color:#0f172a}
.tzvt-station-dir-card>small{color:#64748b;line-height:1.3}
.tzvt-station-dir-card>p{margin:9px 0;color:#475569;font-size:13px}
.tzvt-station-dir-card__meta{display:flex;flex-wrap:wrap;gap:5px;margin:auto 0 10px}
.tzvt-station-dir-card__meta span{font-size:10px;border-radius:999px;background:#f1f5f9;padding:5px 7px;color:#64748b}
.tzvt-station-dir-card__meta span.is-ok{background:#ecfdf5;color:#047857}
.tzvt-station-dir-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tzvt-station-dir-card__actions button{border:1px solid #dbe3ec;background:#fff;border-radius:9px;padding:8px 6px;font-size:11px;font-weight:800;color:#0f172a;cursor:pointer}
.tzvt-station-dir-card__actions button:last-child{grid-column:1/-1;background:#0f172a;color:#fff;border-color:#0f172a}

.tzvt-train-directory__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 2px}
.tzvt-train-directory__stats span{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;padding:11px 13px;color:#64748b;font-size:12px}
.tzvt-train-directory__stats b{font-size:20px;color:#0f172a}
.tzvt-train-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tzvt-train-dir-card{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:16px;display:flex;flex-direction:column;min-height:270px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.tzvt-train-dir-card.is-suspended{background:#fff7ed;border-color:#fed7aa}
.tzvt-train-dir-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.tzvt-train-dir-card__head span{font-size:11px;font-weight:900;color:#0e7490;letter-spacing:.08em}
.tzvt-train-dir-card__head b{font-size:9px;border-radius:999px;padding:5px 7px;background:#ecfdf5;color:#047857}
.tzvt-train-dir-card.is-suspended .tzvt-train-dir-card__head b{background:#ffedd5;color:#c2410c}
.tzvt-train-dir-card h3{margin:0 0 7px;font-size:17px;line-height:1.25;color:#0f172a}
.tzvt-train-dir-card>p{margin:0 0 9px;color:#475569;font-size:13px;line-height:1.45}
.tzvt-train-dir-card__class{font-weight:800;color:#334155;font-size:12px;margin-bottom:8px}
.tzvt-train-dir-card__badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.tzvt-train-dir-card__badges span{font-size:10px;padding:5px 7px;border-radius:999px;background:#eef2ff;color:#4338ca}
.tzvt-train-dir-card__fare{border-top:1px dashed #dbe3ec;padding-top:8px;margin-top:auto;display:flex;flex-direction:column;gap:2px}
.tzvt-train-dir-card__fare small{color:#64748b}.tzvt-train-dir-card__fare b{font-size:12px;color:#0f172a}
.tzvt-train-dir-card__actions{display:flex;gap:7px;align-items:center;margin-top:10px}
.tzvt-train-dir-card__actions button,.tzvt-train-dir-card__actions a{border:0;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}
.tzvt-train-dir-card__actions button{background:#0f172a;color:#fff}.tzvt-train-dir-card__actions a{background:#f1f5f9;color:#334155}
.tzvt-train-dir-card__note{display:block;margin-top:8px;color:#9a3412;line-height:1.35}

.tzvt-bangkok-board__controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0}
.tzvt-bangkok-board__controls label{min-width:190px}.tzvt-bangkok-board__controls button{min-height:46px;border:0;border-radius:11px;background:#0f172a;color:#fff;padding:0 17px;font-weight:900;cursor:pointer}.tzvt-bangkok-board__controls small{flex:1;min-width:240px;color:#64748b;padding-bottom:8px}
.tzvt-bangkok-board__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tzvt-bkk-terminal{border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.tzvt-bkk-terminal__head{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:15px 16px;background:linear-gradient(135deg,#f8fafc,#eef6f8)}
.tzvt-bkk-terminal__head small{font-size:10px;font-weight:900;letter-spacing:.08em;color:#0e7490}.tzvt-bkk-terminal__head h3{margin:2px 0;font-size:18px}.tzvt-bkk-terminal__head span{display:block;color:#64748b;font-size:12px}.tzvt-bkk-terminal__head button{white-space:nowrap;border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:900;cursor:pointer}
.tzvt-bkk-terminal__body{padding:12px 15px;min-height:125px}.tzvt-bkk-terminal__rows{display:grid;gap:5px}.tzvt-bkk-terminal__rows>div{display:grid;grid-template-columns:58px 75px 1fr;gap:8px;align-items:center;border-bottom:1px solid #f1f5f9;padding:5px 0}.tzvt-bkk-terminal__rows b{font-size:15px;color:#0f172a}.tzvt-bkk-terminal__rows span{font-size:11px;font-weight:800;color:#334155}.tzvt-bkk-terminal__rows small{font-size:11px;color:#64748b}.tzvt-bkk-terminal__foot{display:flex;gap:7px;margin-top:9px}.tzvt-bkk-terminal__foot button,.tzvt-bkk-terminal__foot a{border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:900;text-decoration:none;cursor:pointer}.tzvt-bkk-terminal__foot button{background:#0f172a;color:#fff}.tzvt-bkk-terminal__foot a{background:#ecfeff;color:#0e7490}.tzvt-bkk-terminal__empty{display:flex;flex-direction:column;gap:4px;color:#64748b}.tzvt-bkk-terminal__empty b{color:#0f172a}.tzvt-bkk-terminal__loading{display:flex;align-items:center;gap:8px;color:#64748b;padding:18px 0}

@media(max-width:1050px){.tzvt-station-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tzvt-train-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tzvt-directory-controls{grid-template-columns:1fr}.tzvt-station-directory__grid,.tzvt-train-directory__grid,.tzvt-bangkok-board__grid{grid-template-columns:1fr}.tzvt-train-directory__stats{grid-template-columns:1fr}.tzvt-bangkok-board__controls{align-items:stretch}.tzvt-bangkok-board__controls label,.tzvt-bangkok-board__controls button{width:100%}.tzvt-bkk-terminal__rows>div{grid-template-columns:52px 70px 1fr}}

.tzvt-province-directory{margin:16px 0 18px;border:1px solid #dbe3ec;border-radius:16px;background:#fff;overflow:hidden}
.tzvt-province-directory__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#f8fafc}
.tzvt-province-directory__head>div{display:flex;flex-direction:column;gap:3px}.tzvt-province-directory__head b{font-size:15px;color:#0f172a}.tzvt-province-directory__head span{font-size:12px;color:#64748b}.tzvt-province-directory__head button{border:0;border-radius:9px;background:#0f172a;color:#fff;padding:9px 12px;font-weight:900;cursor:pointer}
.tzvt-province-directory__body{padding:15px}
.tzvt-province-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tzvt-province-dir-card{border:1px solid #e2e8f0;border-radius:13px;background:#fff;padding:13px;display:flex;flex-direction:column;min-height:190px}
.tzvt-province-dir-card.is-passenger{border-top:3px solid #059669}.tzvt-province-dir-card.is-construction{border-top:3px solid #d97706}.tzvt-province-dir-card.is-freight{border-top:3px solid #64748b}.tzvt-province-dir-card.is-no-rail{border-top:3px solid #cbd5e1}
.tzvt-province-dir-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tzvt-province-dir-card__top span{font-size:18px}.tzvt-province-dir-card__top small{font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.tzvt-province-dir-card h3{margin:8px 0 3px;font-size:16px;color:#0f172a}.tzvt-province-dir-card>b{font-size:11px;color:#475569}.tzvt-province-dir-card p{font-size:12px;color:#64748b;line-height:1.4;margin:8px 0 12px}.tzvt-province-dir-card button{margin-top:auto;border:0;border-radius:8px;background:#f1f5f9;color:#0f172a;padding:8px;font-size:10px;font-weight:900;cursor:pointer}
@media(max-width:1050px){.tzvt-province-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tzvt-province-directory__grid{grid-template-columns:1fr}.tzvt-province-directory__head{align-items:flex-start;flex-direction:column}.tzvt-province-directory__head button{width:100%}}

.tzvt-journey-filter{display:grid;grid-template-columns:1.5fr .7fr auto;gap:10px;align-items:end;margin:14px 0}
.tzvt-journey-filter label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.04em}.tzvt-journey-filter input,.tzvt-journey-filter select{min-height:44px;border:1px solid #d7dee8;border-radius:11px;background:#fff;padding:9px 11px;font:inherit;color:#0f172a}.tzvt-journey-filter>span{display:flex;align-items:center;min-height:44px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0;padding:0 12px;color:#64748b;font-size:12px;font-weight:800}.tzvt-journey-filter>span.is-empty{border-color:#f4c7c3;background:#fff7f6;color:#9f2d20}
@media(max-width:760px){.tzvt-journey-filter{grid-template-columns:1fr}.tzvt-journey-filter>span{min-height:38px}}

/* v1.60.0 — network status center */
.tzvt-network-status-center{position:relative;overflow:hidden}
.tzvt-network-status-controls{display:grid;grid-template-columns:auto minmax(220px,320px) 1fr;gap:12px;align-items:end;margin:18px 0}
.tzvt-network-status-controls>button{min-height:46px;border:0;border-radius:12px;padding:0 18px;font-weight:800;cursor:pointer}
.tzvt-network-status-controls label span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}
.tzvt-network-status-controls select{width:100%;min-height:46px;border:1px solid #d8dde6;border-radius:12px;padding:0 12px;background:#fff}
.tzvt-network-status-controls small{line-height:1.5;color:#667085}
.tzvt-network-status-summary{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border:1px solid #e2e6ec;border-radius:14px;background:#fff}
.tzvt-network-status-summary>div:first-child b,.tzvt-network-status-summary>div:first-child span{display:block}.tzvt-network-status-summary>div:first-child span{margin-top:5px;color:#667085;font-size:12px}
.tzvt-network-status-summary>div:first-child a{display:inline-flex;margin-top:8px;color:#0e7490;font-size:12px;font-weight:850}
.tzvt-network-status-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tzvt-network-status-chips span{border-radius:999px;padding:5px 9px;background:#f4f6f8;font-size:11px;white-space:nowrap}.tzvt-network-status-chips b{font-size:13px}
.tzvt-network-status-grid{display:grid;gap:10px;margin-top:12px}.tzvt-network-status-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}.tzvt-network-status-item>span{font-size:22px;line-height:1}.tzvt-network-status-item small{font-weight:800;color:#667085}.tzvt-network-status-item p{margin:4px 0 0;line-height:1.5}.tzvt-network-status-item.is-cancelled{border-left:4px solid currentColor}.tzvt-network-status-item.is-incident{border-left:4px solid currentColor}.tzvt-network-status-item.is-maintenance{border-left:4px solid currentColor}
.tzvt-network-status-empty{padding:18px;border:1px dashed #cfd5dd;border-radius:12px;background:#fafbfc}.tzvt-network-status-empty b,.tzvt-network-status-empty span{display:block}.tzvt-network-status-empty span{margin-top:5px;color:#667085}
.tzvt-network-status-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:12px;border-radius:12px;background:#f7f8fa;font-size:12px}.tzvt-network-status-foot a{margin-left:auto;font-weight:800}
@media(max-width:820px){.tzvt-network-status-controls{grid-template-columns:1fr}.tzvt-network-status-summary{display:block}.tzvt-network-status-chips{justify-content:flex-start;margin-top:12px}.tzvt-network-status-foot a{width:100%;margin-left:0}}

/* v1.60.0 — standalone transfer center */
.tzvt-transfer-center__form{display:grid;grid-template-columns:1.15fr 1.15fr .85fr .8fr auto;gap:10px;align-items:end;margin:18px 0}.tzvt-transfer-center__form label span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.tzvt-transfer-center__form select,.tzvt-transfer-center__form input{width:100%;min-height:46px;border:1px solid #d8dde6;border-radius:12px;padding:0 12px;background:#fff}.tzvt-transfer-center__form button{min-height:46px;border:0;border-radius:12px;padding:0 18px;font-weight:800;cursor:pointer}.tzvt-transfer-center__rules{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tzvt-transfer-center__rules span{padding:7px 10px;border-radius:999px;background:#f5f7f9;font-size:11px;font-weight:700}.tzvt-transfer-center__result{position:relative}.tzvt-transfer-center__result.is-stale{opacity:.76}.tzvt-transfer-center__placeholder{border:1px dashed #cfd5dd;border-radius:14px;padding:18px;background:#fafbfc}.tzvt-transfer-center__placeholder b,.tzvt-transfer-center__placeholder span{display:block}.tzvt-transfer-center__placeholder span{margin-top:5px;color:#667085}.tzvt-stale-banner{margin-bottom:10px;padding:10px 12px;border-radius:10px;background:#fff7e8}.tzvt-stale-banner b,.tzvt-stale-banner span{display:block}.tzvt-stale-banner span{font-size:12px;margin-top:3px}
@media(max-width:1050px){.tzvt-transfer-center__form{grid-template-columns:1fr 1fr}.tzvt-transfer-center__form button{grid-column:1/-1}}@media(max-width:620px){.tzvt-transfer-center__form{grid-template-columns:1fr}}

/* v1.60.0 — station passport */
.tzvt-station-passport{margin-top:18px;border:1px solid #dfe4ea;border-radius:16px;padding:14px;background:#f9fafb}.tzvt-station-passport__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.tzvt-station-passport__head span,.tzvt-station-passport__head b{display:block}.tzvt-station-passport__head span{font-size:11px;font-weight:900;letter-spacing:.08em}.tzvt-station-passport__head button{border:1px solid #d6dbe2;border-radius:10px;background:#fff;padding:8px 12px;cursor:pointer;font-weight:800}.tzvt-station-passport__loading{display:flex;gap:10px;align-items:center;padding:20px}.tzvt-station-passport .tzvt-station-board{margin:0}

/* v1.60.0 — train profile panel */
.tzvt-train-profile-panel{margin-top:18px;border:1px solid #dfe4ea;border-radius:16px;padding:18px;background:#fff}.tzvt-train-profile__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tzvt-train-profile__head span,.tzvt-train-profile__head small{display:block}.tzvt-train-profile__head span{font-size:11px;font-weight:900;letter-spacing:.08em}.tzvt-train-profile__head h3{margin:4px 0}.tzvt-train-profile__head button{border:1px solid #d6dbe2;border-radius:10px;background:#fff;padding:8px 12px;cursor:pointer;font-weight:800}.tzvt-train-profile__route{font-size:16px;line-height:1.55}.tzvt-train-profile__class,.tzvt-train-profile__coach-note,.tzvt-train-profile__policy{padding:12px;border-radius:12px;background:#f7f8fa;margin:10px 0}.tzvt-train-profile__class b,.tzvt-train-profile__class span,.tzvt-train-profile__coach-note b,.tzvt-train-profile__coach-note span,.tzvt-train-profile__policy b,.tzvt-train-profile__policy span{display:block}.tzvt-train-profile__class span,.tzvt-train-profile__coach-note span,.tzvt-train-profile__policy span{margin-top:4px;color:#596273}.tzvt-train-profile__badges{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.tzvt-train-profile__badges span{padding:6px 9px;border-radius:999px;background:#eef2f6;font-size:11px;font-weight:800}.tzvt-train-profile__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.tzvt-train-profile__facts>div{padding:10px;border:1px solid #e5e7eb;border-radius:10px}.tzvt-train-profile__facts dt{font-size:11px;color:#667085}.tzvt-train-profile__facts dd{margin:4px 0 0;font-weight:800}.tzvt-train-profile__facts dd small{display:block;font-weight:400;margin-top:4px;color:#667085}.tzvt-train-profile__warning{padding:10px 12px;border-radius:10px;background:#fff4e5;font-weight:700}.tzvt-train-profile__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tzvt-train-profile__actions button,.tzvt-train-profile__actions a{border:1px solid #d8dde6;border-radius:10px;background:#fff;padding:9px 12px;font-weight:800;text-decoration:none;cursor:pointer}
@media(max-width:760px){.tzvt-train-profile__facts{grid-template-columns:1fr}.tzvt-train-profile__head{display:block}.tzvt-train-profile__head button{margin-top:10px}}

/* v1.60.0 — searchable route atlas */
.tzvt-route-atlas__controls{display:grid;grid-template-columns:1fr 260px;gap:10px;margin:18px 0}.tzvt-route-atlas__controls label span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.tzvt-route-atlas__controls input,.tzvt-route-atlas__controls select{width:100%;min-height:46px;border:1px solid #d8dde6;border-radius:12px;padding:0 12px;background:#fff}.tzvt-route-atlas__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.tzvt-route-atlas-card{border:1px solid #e1e5ea;border-radius:14px;padding:14px;background:#fff}.tzvt-route-atlas-card__top{display:flex;justify-content:space-between;gap:10px;align-items:center}.tzvt-route-atlas-card__top>span{font-weight:900}.tzvt-route-atlas-card__top small{font-weight:800;color:#667085}.tzvt-route-atlas-card h3{margin:8px 0 6px}.tzvt-route-atlas-card p{margin:0 0 10px;line-height:1.5}.tzvt-route-atlas-card__routes{display:grid;gap:7px}.tzvt-route-atlas-card__routes>div{padding:8px 10px;border-radius:10px;background:#f7f8fa}.tzvt-route-atlas-card__routes b,.tzvt-route-atlas-card__routes span{display:block}.tzvt-route-atlas-card__routes span{margin-top:3px;font-size:12px;color:#596273}.tzvt-route-atlas-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tzvt-route-atlas-card__actions button,.tzvt-route-atlas-card__actions a{border:1px solid #d8dde6;border-radius:9px;background:#fff;padding:8px 10px;text-decoration:none;font-weight:800;cursor:pointer}.tzvt-route-atlas-card__warning{display:block;margin-top:10px;color:#7b4f00}.tzvt-route-atlas__note{margin-top:12px;padding:12px;border-radius:12px;background:#f7f8fa}.tzvt-route-atlas__note b,.tzvt-route-atlas__note span{display:block}.tzvt-route-atlas__note span{margin-top:4px;color:#667085}
@media(max-width:760px){.tzvt-route-atlas__controls,.tzvt-route-atlas__grid{grid-template-columns:1fr}}

/* v1.60.0 — travel dossier */
.tzvt-trip-dossier{margin:18px 0;border:1px solid #dfe5ec;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.035)}
.tzvt-trip-dossier__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tzvt-trip-dossier__head span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#0e7490}.tzvt-trip-dossier__head h4{margin:4px 0 5px;font-size:18px}.tzvt-trip-dossier__head p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.tzvt-trip-dossier__head button{white-space:nowrap;border:0;border-radius:10px;background:#0f172a;color:#fff;padding:9px 12px;font-weight:800;cursor:pointer}
.tzvt-trip-dossier__journeys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.tzvt-trip-dossier__journeys article{border:1px solid #e2e8f0;border-radius:12px;padding:11px;background:#f8fafc}.tzvt-trip-dossier__journeys span,.tzvt-trip-dossier__journeys b,.tzvt-trip-dossier__journeys small{display:block}.tzvt-trip-dossier__journeys span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#0e7490}.tzvt-trip-dossier__journeys b{margin:3px 0;font-size:13px}.tzvt-trip-dossier__journeys small{color:#64748b;line-height:1.4}
.tzvt-trip-dossier__stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.tzvt-trip-dossier__stats div{padding:9px;border-radius:10px;background:#f8fafc;border:1px solid #eef2f6;text-align:center}.tzvt-trip-dossier__stats b,.tzvt-trip-dossier__stats span{display:block}.tzvt-trip-dossier__stats b{font-size:18px}.tzvt-trip-dossier__stats span{font-size:10px;color:#64748b;margin-top:2px}
.tzvt-trip-dossier__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tzvt-trip-dossier__grid>div{border:1px solid #e5e7eb;border-radius:12px;padding:11px}.tzvt-trip-dossier__grid h5{margin:0 0 8px}.tzvt-trip-dossier__grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tzvt-trip-dossier__grid li{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:8px;border-top:1px solid #f1f5f9;padding-top:6px}.tzvt-trip-dossier__grid li:first-child{border-top:0;padding-top:0}.tzvt-trip-dossier__grid li span{font-size:10px;color:#64748b}.tzvt-trip-dossier__grid li b{font-size:11px;line-height:1.4}
.tzvt-trip-dossier__verify,.tzvt-trip-dossier__policy{margin-top:10px;padding:10px 12px;border-radius:10px}.tzvt-trip-dossier__verify{display:flex;justify-content:space-between;gap:10px;background:#f8fafc}.tzvt-trip-dossier__verify.is-ok{background:#ecfdf5}.tzvt-trip-dossier__verify.is-warn{background:#fff7ed}.tzvt-trip-dossier__verify.is-alert{background:#fef2f2}.tzvt-trip-dossier__verify b,.tzvt-trip-dossier__verify span{font-size:11px}.tzvt-trip-dossier__policy{background:#f8fafc}.tzvt-trip-dossier__policy b,.tzvt-trip-dossier__policy span{display:block}.tzvt-trip-dossier__policy span{margin-top:3px;color:#64748b;font-size:11px;line-height:1.45}
@media(max-width:760px){.tzvt-trip-dossier__head{display:block}.tzvt-trip-dossier__head button{margin-top:10px}.tzvt-trip-dossier__journeys,.tzvt-trip-dossier__grid{grid-template-columns:1fr}.tzvt-trip-dossier__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-trip-dossier__verify{display:block}.tzvt-trip-dossier__verify span{display:block;margin-top:4px}}
.tzvt-train-directory .tzvt-directory-controls{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(150px,.72fr))}
@media(max-width:1050px){.tzvt-train-directory .tzvt-directory-controls{grid-template-columns:1fr 1fr}}@media(max-width:620px){.tzvt-train-directory .tzvt-directory-controls{grid-template-columns:1fr}}

/* v1.90 – chytré hledání města/provincie/cíle při zachování přesného SRT selectu jako fallbacku */
.tzvt-field--smart{position:relative}.tzvt-smart-search{position:relative}.tzvt-smart-search>input{padding-right:38px;background:#fff}.tzvt-smart-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:330px;overflow:auto;background:#fff;border:1px solid #d9e3e8;border-radius:14px;box-shadow:0 18px 38px rgba(25,43,55,.16);padding:6px}.tzvt-smart-results[hidden]{display:none}.tzvt-smart-option{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:10px;cursor:pointer;color:#18303a}.tzvt-smart-option:hover,.tzvt-smart-option.is-active{background:#edf8f4}.tzvt-smart-option__mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf4f6;font-size:15px}.tzvt-smart-option__body{min-width:0;display:flex;flex-direction:column;gap:2px}.tzvt-smart-option__body b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tzvt-smart-option__body small{font-size:10px;color:#6b7881;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tzvt-smart-option__kind{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#4d6b62}.tzvt-smart-empty{padding:11px 12px;color:#687984;font-size:11px;line-height:1.45}.tzvt-station-fallback{margin-top:5px}.tzvt-station-fallback summary{cursor:pointer;font-size:10px;font-weight:800;color:#53716a;list-style:none}.tzvt-station-fallback summary::-webkit-details-marker{display:none}.tzvt-station-fallback summary:before{content:'▸ ';}.tzvt-station-fallback[open] summary:before{content:'▾ ';}.tzvt-station-fallback select{margin-top:7px;min-height:42px;font-size:11px}.tzvt-smart-province-note{margin-top:8px;padding:9px 11px;border-radius:10px;background:#fff7e7;border:1px solid #efd59c;color:#6b5428;font-size:10px;line-height:1.45}
@media(max-width:640px){.tzvt-smart-results{position:fixed;z-index:10020;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));max-height:min(42vh,330px)}.tzvt-station-fallback select{min-height:48px}}

.tzvt-station-identity{margin:14px 0;padding:14px;border:1px solid #dfe6ee;border-radius:14px;background:#fff}
.tzvt-station-identity__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.tzvt-station-identity__head small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;color:#66758a}
.tzvt-station-identity__head b{display:block;font-size:17px;margin-top:2px}.tzvt-station-identity__head a{font-weight:700;text-decoration:none}
.tzvt-station-identity__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tzvt-station-identity__grid>div{padding:10px;border-radius:10px;background:#f6f8fb;border:1px solid #e5eaf0}.tzvt-station-identity__grid>div.is-unverified{background:#fff9ed;border-color:#f0dfb9}
.tzvt-station-identity__grid small{display:block;color:#66758a}.tzvt-station-identity__grid b{display:block;margin-top:3px;overflow-wrap:break-word;word-break:normal}
.tzvt-station-profile-status{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.tzvt-station-profile-status span{padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#fff4d9}.tzvt-station-profile-status span.is-ok{background:#e7f6ed}.tzvt-station-profile-note{display:block;margin-top:8px;color:#66758a}
@media(max-width:720px){.tzvt-station-identity__head{display:block}.tzvt-station-identity__head a{display:inline-block;margin-top:8px}.tzvt-station-identity__grid{grid-template-columns:1fr}}

/* Celostátní station-to-station databáze */
.tzvt-national-db-status{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:0 0 14px;border:1px solid rgba(22,111,82,.22);border-radius:14px;background:rgba(235,249,243,.72)}
.tzvt-national-db-status.is-limited{border-color:rgba(177,116,0,.3);background:rgba(255,247,226,.84)}
.tzvt-national-db-status>div:not(.tzvt-national-db-status__count){display:grid;gap:3px}
.tzvt-national-db-status strong,.tzvt-national-db-status b{color:#163f34}
.tzvt-national-db-status small{display:block;color:#52666a;line-height:1.4}
.tzvt-national-db-status__count{min-width:74px;text-align:center;padding:8px 10px;border-radius:12px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.05)}
.tzvt-national-db-status__count b{display:block;font-size:24px;line-height:1}
.tzvt-national-db-status__count span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667}
.tzvt-transfer-option--two .tzvt-transfer-change{border-left-width:4px}
@media(max-width:640px){.tzvt-national-db-status{align-items:flex-start}.tzvt-national-db-status__count{min-width:62px}.tzvt-national-db-status__count b{font-size:20px}}

/* Příprava oficiálního nákupu SRT */
.tzvt-ticket-prep{margin:10px 16px 16px;padding:15px;border:1px solid rgba(18,91,132,.22);border-radius:14px;background:#f6fbff}
.tzvt-ticket-prep__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.tzvt-ticket-prep__head>div{display:grid;gap:3px}.tzvt-ticket-prep__head span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#26627f}.tzvt-ticket-prep__head b{font-size:15px;color:#18394a}.tzvt-ticket-prep__head button{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer}
.tzvt-ticket-prep__route{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;border-radius:10px;background:#fff;margin-bottom:10px}.tzvt-ticket-prep__route strong{color:#173f52}.tzvt-ticket-prep p{margin:7px 0;color:#42575f;font-size:13px}.tzvt-ticket-prep__notice{padding:10px 12px;border-radius:10px;background:#fff4dc;color:#6d4a00;font-size:12px}.tzvt-ticket-prep__notice.is-ok{background:#eaf8f1;color:#18553c}.tzvt-ticket-prep__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.tzvt-ticket-prep__actions button,.tzvt-ticket-prep__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:9px;text-decoration:none;font-weight:750;font-size:12px}.tzvt-ticket-prep__actions button{border:1px solid #bfd2dc;background:#fff;color:#234}.tzvt-ticket-prep__actions a{background:#165d7d;color:#fff}
.tzvt-transfer-ticket-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:9px;background:#0f8a63;color:#fff!important;text-decoration:none;font-size:12px;font-weight:800}

.tzvt-timeline-source{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.14);background:#fff}
.tzvt-timeline-source b{font-size:12px;letter-spacing:.04em;white-space:nowrap}.tzvt-timeline-source span{font-size:13px;line-height:1.45}
.tzvt-timeline-source.is-snapshot{background:#fff7ed;border-color:#fed7aa}.tzvt-timeline-source.is-current{background:#ecfdf5;border-color:#a7f3d0}
@media (max-width:680px){.tzvt-timeline-source{display:block}.tzvt-timeline-source b{display:block;margin-bottom:5px;white-space:normal}}
.tzvt-stop-count-note{display:block;margin:0 0 8px;color:#64748b;font-size:11px;line-height:1.35}
.tzvt-station-normalized-trains{margin:14px 0;padding:14px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc}.tzvt-station-normalized-trains__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.tzvt-station-normalized-trains__head small,.tzvt-station-normalized-trains__head b{display:block}.tzvt-station-normalized-trains__head span,.tzvt-station-normalized-trains>small{color:#64748b;font-size:12px}.tzvt-station-normalized-trains__list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.tzvt-station-normalized-trains__list button{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer}.tzvt-station-normalized-trains__list button b,.tzvt-station-normalized-trains__list button span{display:block}.tzvt-station-normalized-trains__list button span{font-size:11px;color:#64748b}@media(max-width:680px){.tzvt-station-normalized-trains__head{display:block}.tzvt-station-normalized-trains__head>span{display:block;margin-top:4px}.tzvt-station-normalized-trains__list{display:grid;grid-template-columns:1fr 1fr}}
.tzvt-transfer-purchase-context{margin:10px 0;padding:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff}.tzvt-transfer-purchase-context__head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.tzvt-transfer-purchase-context__head b,.tzvt-transfer-purchase-context__head span{display:block}.tzvt-transfer-purchase-context__head span{font-size:11px;color:#64748b}.tzvt-transfer-purchase-context>div:not(.tzvt-transfer-purchase-context__head){padding:6px 0;border-top:1px solid #f1f5f9}.tzvt-transfer-purchase-context small,.tzvt-transfer-purchase-context b,.tzvt-transfer-purchase-context span{display:block}.tzvt-transfer-purchase-context span{font-size:11px;color:#64748b}.tzvt-transfer-purchase-context>a{display:inline-block;margin-top:8px;font-weight:700}@media(max-width:680px){.tzvt-transfer-purchase-context__head{display:block}}

/* v2.40.0 – celostátní route detail */
.tzvt-route-overview-btn{border:1px solid #1f5d42;background:#f3faf6;color:#163c2d;border-radius:10px;padding:11px 14px;font-weight:700;cursor:pointer}
.tzvt-route-overview-btn:disabled{opacity:.6;cursor:wait}
.tzvt-route-overview{margin-top:18px;border:1px solid #cfd8d3;border-radius:16px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(20,47,34,.08)}
.tzvt-route-overview.is-stale{opacity:.82}
.tzvt-route-detail__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.tzvt-route-detail__head span,.tzvt-route-detail__direction-head small{font-size:12px;font-weight:800;letter-spacing:.08em;color:#4d6e60}.tzvt-route-detail__head h2,.tzvt-route-detail__direction-head h3{margin:3px 0 5px}.tzvt-route-detail__head p{margin:0;color:#59645f}.tzvt-route-detail__head button{border:0;background:#eef2ef;border-radius:9px;padding:8px 11px;cursor:pointer}
.tzvt-route-detail__stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.tzvt-route-detail__station{border:1px solid #dde5e0;border-radius:12px;padding:14px;background:#fafcfb}.tzvt-route-detail__station>small{font-weight:800;color:#527164}.tzvt-route-detail__station h4{font-size:18px;margin:4px 0}.tzvt-route-detail__station>span{display:block;color:#68716d;margin-bottom:10px}.tzvt-route-detail__station-fact{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px dashed #e4e9e6}.tzvt-route-detail__station-fact b{font-size:12px}.tzvt-route-detail__station-fact span{text-align:right}.tzvt-route-detail__station a,.tzvt-route-detail__station em{display:block;margin-top:8px;font-size:12px}
.tzvt-route-detail__direction{border-top:3px solid #dce9e1;padding-top:14px;margin-top:18px}.tzvt-route-detail__choice{border:1px solid #d9e2dc;border-radius:13px;padding:14px;background:#fbfcfb}.tzvt-route-detail__choice-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px}.tzvt-route-detail__choice-head>span{font-size:11px;font-weight:800;color:#426453}.tzvt-route-detail__choice-head>b{font-size:18px}.tzvt-route-detail__choice-head>small{color:#68716d}.tzvt-route-detail__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tzvt-route-detail__metrics>span{background:#f2f6f3;border-radius:9px;padding:9px}.tzvt-route-detail__metrics small,.tzvt-route-detail__metrics em{display:block;font-size:11px;color:#68716d}.tzvt-route-detail__metrics b{display:block;margin:2px 0}.tzvt-route-detail__actions,.tzvt-route-detail__sources{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tzvt-route-detail__actions a,.tzvt-route-detail__sources a,.tzvt-route-detail__booking a{display:inline-flex;padding:8px 10px;border-radius:8px;background:#184f39;color:#fff;text-decoration:none;font-weight:700}.tzvt-route-detail__legs{display:grid;gap:8px}.tzvt-route-detail__leg{border-left:4px solid #2d7254;padding:10px 12px;background:#f3f7f4;border-radius:8px}.tzvt-route-detail__leg span,.tzvt-route-detail__leg small,.tzvt-route-detail__leg em{display:block}.tzvt-route-detail__leg span{font-size:11px;font-weight:800;color:#527164}.tzvt-route-detail__leg small,.tzvt-route-detail__leg em{margin-top:4px;color:#646d68}.tzvt-route-detail__warning{background:#fff7e7;border:1px solid #f0d59a;border-radius:9px;padding:10px}.tzvt-route-detail__booking{margin-top:16px;border-radius:12px;background:#eef7f1;padding:14px}.tzvt-route-detail__booking b,.tzvt-route-detail__booking span{display:block}.tzvt-route-detail__booking span{margin:4px 0 10px}.tzvt-route-detail__rule{display:block;margin-top:12px;color:#666}.tzvt-route-detail__none{border:1px solid #e2d8c9;background:#fffaf2;border-radius:10px;padding:13px}.tzvt-route-detail__none b,.tzvt-route-detail__none span{display:block}.tzvt-route-detail__none span{margin-top:4px}
@media(max-width:900px){.tzvt-route-detail__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.tzvt-route-detail__head{display:block}.tzvt-route-detail__head button{margin-top:8px}.tzvt-route-detail__stations{grid-template-columns:1fr}.tzvt-route-detail__metrics{grid-template-columns:1fr 1fr}.tzvt-route-detail__station-fact{display:block}.tzvt-route-detail__station-fact span{text-align:left;display:block;margin-top:2px}.tzvt-route-overview{padding:13px}}
.tzvt-snapshot-fallback-warning{margin:12px 0;border:1px solid #e8c977;background:#fff8df;border-radius:11px;padding:12px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tzvt-snapshot-fallback-warning b{color:#6d5100}.tzvt-snapshot-fallback-warning span{flex:1;min-width:260px}.tzvt-snapshot-fallback-warning a{font-weight:700}

/* v2.80.0 — permalink detaily stanic, tras a vlaků */
.tzvt-detail-page{padding-top:18px}.tzvt-detail-breadcrumb{display:flex;align-items:center;gap:8px;margin:4px 0 14px;font-size:12px;color:var(--tzvt-muted)}.tzvt-detail-breadcrumb a{color:var(--tzvt-green);font-weight:800}.tzvt-detail-hero{padding:34px;border-radius:26px;background:linear-gradient(135deg,#102732,#0f6b56);color:#fff;box-shadow:0 18px 42px rgba(16,39,50,.14)}.tzvt-detail-hero .tzvt-eyebrow{color:#8ce6c9}.tzvt-detail-hero h1{margin:8px 0 10px;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.04em}.tzvt-detail-hero p{margin:0;max-width:860px;color:rgba(255,255,255,.78);line-height:1.65}.tzvt-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.tzvt-detail-facts article{padding:16px;border:1px solid var(--tzvt-line);border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:5px}.tzvt-detail-facts small{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--tzvt-muted)}.tzvt-detail-facts b{font-size:16px}.tzvt-detail-facts span{font-size:11px;color:var(--tzvt-muted)}.tzvt-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.tzvt-detail-card{margin-top:16px;padding:24px;border:1px solid var(--tzvt-line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(18,32,43,.05)}.tzvt-detail-card h2{margin:6px 0 12px;font-size:25px;letter-spacing:-.025em}.tzvt-detail-card p,.tzvt-detail-card li,.tzvt-detail-card dd{color:#556571;line-height:1.65}.tzvt-detail-card ul{padding-left:20px}.tzvt-detail-card dl{display:grid;gap:9px;margin:0}.tzvt-detail-card dl>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding-bottom:8px;border-bottom:1px solid #edf1f4}.tzvt-detail-card dt{font-size:11px;font-weight:850;color:#70808c}.tzvt-detail-card dd{margin:0}.tzvt-detail-primary,.tzvt-detail-card>a{display:inline-flex;margin-top:8px;padding:10px 13px;border-radius:11px;background:#edf8f4;color:#0f6b56;font-weight:850}.tzvt-detail-muted{font-size:12px;color:#75838e!important}.tzvt-detail-board .tzvt-section-head{align-items:center}.tzvt-detail-board input[type=date],.tzvt-detail-card input[type=date]{min-height:42px;border:1px solid #d9e1e7;border-radius:10px;padding:0 10px}.tzvt-detail-stoplist{display:grid;gap:7px;max-height:560px;overflow:auto;padding-right:4px}.tzvt-detail-stoplist>div{display:flex;justify-content:space-between;gap:14px;padding:9px 11px;border-radius:10px;background:#f7faf9}.tzvt-detail-stoplist span{font-size:12px;color:#61716c}.tzvt-detail-page .tzvt-route-detail__head{margin-top:0}.tzvt-detail-page .tzvt-station-board{margin-top:0}
@media(max-width:900px){.tzvt-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-detail-columns{grid-template-columns:1fr}.tzvt-detail-hero{padding:28px}.tzvt-detail-card dl>div{grid-template-columns:1fr;gap:3px}}
@media(max-width:560px){.tzvt-detail-facts{grid-template-columns:1fr}.tzvt-detail-hero{padding:24px 20px;border-radius:20px}.tzvt-detail-card{padding:19px;border-radius:18px}.tzvt-detail-stoplist>div{align-items:flex-start;flex-direction:column;gap:2px}}

/* v2.80 route permalink return-date controls */
.tzvt-detail-route-dates{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.tzvt-detail-route-dates label{display:grid;gap:4px;font-size:12px;font-weight:800}.tzvt-detail-route-dates input{min-height:42px}.tzvt-detail-route-dates a{min-height:42px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid currentColor;border-radius:10px;text-decoration:none;font-weight:800}
@media(max-width:700px){.tzvt-detail-route-dates{width:100%}.tzvt-detail-route-dates label,.tzvt-detail-route-dates input,.tzvt-detail-route-dates a{width:100%}}

/* v2.80.0 — explicit Matrix semantics + standalone detail links */
.tzvt-matrix-time-note{display:block;grid-column:1/-1;margin:-7px 0 2px;padding:8px 10px;border:1px solid #f5d49b;border-radius:10px;background:#fff9eb;color:#7a4b06;font-size:11px;line-height:1.45}.tzvt-matrix-time-note b{font-weight:900}.tzvt-train-result__actions .tzvt-train-result__permalink{background:#eef5ff;color:#235b8e;border:1px solid #cfe0f2}.tzvt-station-normalized-train-ref{display:flex;align-items:stretch;gap:5px}.tzvt-station-normalized-train-ref button{flex:1}.tzvt-station-normalized-train-ref>a{display:flex;align-items:center;padding:7px 9px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1d6179;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}.tzvt-station-normalized-train-ref>a:hover{background:#eef6f8}
@media(max-width:680px){.tzvt-station-normalized-trains__list{grid-template-columns:1fr}.tzvt-station-normalized-train-ref{min-width:0}.tzvt-matrix-time-note{margin-top:0}}
.tzvt-route-detail__station-actions,.tzvt-route-detail__leg-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.tzvt-route-detail__station-actions a,.tzvt-route-detail__leg-links a{display:inline-flex;padding:7px 9px;border-radius:9px;background:#eef6f8;color:#1d6179;font-size:11px;font-weight:900;text-decoration:none}.tzvt-route-detail__station-actions a:hover,.tzvt-route-detail__leg-links a:hover{background:#dceef2}
.tzvt-route-detail__leg-fare{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:9px;padding:9px 10px;border-radius:9px;background:#e3f4e9;color:#174b35}.tzvt-route-detail__leg-fare a{color:#145e43;font-weight:900}.tzvt-route-detail__leg-fare.is-missing{background:#fff3d9;color:#76530b}.tzvt-route-detail__fare-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;align-items:center;margin-top:12px;padding:12px 14px;border-radius:10px;background:#123f34;color:#fff}.tzvt-route-detail__fare-total>b{font-size:20px}.tzvt-route-detail__fare-total>small{grid-column:1/-1;color:#d5ebe2}.tzvt-route-detail__fare-total.is-missing{background:#785a17}

/* v3 station-content evidence layer */
.tzvt-station-dir-card__badges{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 9px}
.tzvt-station-dir-card__badges>span,.tzvt-station-dir-card__badges>a,.tzvt-station-dir-tags i{font-style:normal;font-size:9px;line-height:1.2;font-weight:850;border-radius:999px;padding:4px 7px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}
.tzvt-station-dir-role.is-junction{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.tzvt-station-dir-role.is-halt{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.tzvt-station-dir-contact{background:#ecfdf5!important;border-color:#a7f3d0!important;color:#047857!important;text-decoration:none}
.tzvt-station-dir-ticket{background:#fffbeb!important;border-color:#fde68a!important;color:#92400e!important}
.tzvt-station-dir-tags{display:inline-flex;flex-wrap:wrap;gap:4px}
.tzvt-station-dir-tags i{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.tzvt-station-official-contact,.tzvt-station-matrix-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0;padding:13px 14px;border:1px solid #dbe4ee;border-radius:14px;background:#f8fafc}
.tzvt-station-official-contact>div,.tzvt-station-matrix-meta{min-width:0}
.tzvt-station-official-contact small,.tzvt-station-matrix-meta small{display:block;font-size:10px;font-weight:900;letter-spacing:.07em;color:#64748b}
.tzvt-station-official-contact b,.tzvt-station-matrix-meta b{display:block;margin:3px 0;color:#0f172a}
.tzvt-station-official-contact span,.tzvt-station-matrix-meta span,.tzvt-station-matrix-meta em{display:block;font-size:12px;color:#475569;font-style:normal}
.tzvt-station-official-contact a{flex:0 0 auto;font-size:11px;font-weight:800;text-decoration:none}
.tzvt-station-matrix-meta{display:block;background:#fffdf5;border-color:#fde7a9}
@media(max-width:640px){.tzvt-station-official-contact{display:block}.tzvt-station-official-contact a{display:inline-block;margin-top:8px}}
.tzvt-station-dir-th{font-family:system-ui,-apple-system,"Noto Sans Thai",sans-serif;color:#7c3aed!important;font-size:12px!important;margin-top:2px}
.tzvt-detail-trainrefs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.tzvt-detail-trainrefs a{display:flex;flex-direction:column;gap:3px;border:1px solid #e2e8f0;border-radius:12px;padding:10px 11px;text-decoration:none;background:#fff;color:#0f172a}
.tzvt-detail-trainrefs a:hover{border-color:#94a3b8;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.tzvt-detail-trainrefs span{font-size:11px;color:#64748b}
@media(max-width:760px){.tzvt-detail-trainrefs{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tzvt-detail-trainrefs{grid-template-columns:1fr}}
.tzvt-detail-urban-link{margin-top:14px;padding-top:12px;border-top:1px solid rgba(31,41,55,.12);display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.tzvt-detail-urban-link small{color:#64748b;max-width:620px}.tzvt-train-route-link h2{margin-bottom:6px}
.tzvt-station-service-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.tzvt-station-service-contacts>div,.tzvt-station-service-contacts-card span{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid rgba(31,41,55,.1);border-radius:10px}.tzvt-station-service-contacts small,.tzvt-station-service-contacts-card small{color:#64748b}.tzvt-station-service-contacts-card{margin:12px 0;padding:12px;border-radius:12px;background:rgba(15,118,110,.05);border:1px solid rgba(15,118,110,.18)}.tzvt-station-service-contacts-card>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.tzvt-station-service-contacts-card em{display:block;margin-top:8px;color:#64748b;font-size:.88em}

/* v3.60 – bezpečná železniční orientace pro provincie bez otevřené přímé osobní SRT */
.tzvt-rail-guidance{margin:14px 18px 16px;border:1px solid #dfd2a3;border-radius:16px;background:#fffaf0;overflow:hidden}.tzvt-rail-guidance.is-freight{border-color:#cfd8df;background:#f8fafb}.tzvt-rail-guidance__badge{padding:8px 12px;background:#fff2c9;color:#7c5a12;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.tzvt-rail-guidance.is-freight .tzvt-rail-guidance__badge{background:#edf2f5;color:#4b5c67}.tzvt-rail-guidance__project,.tzvt-rail-guidance__railhead{display:grid;gap:3px;padding:13px 14px}.tzvt-rail-guidance__project{border-bottom:1px solid #ece2c8}.tzvt-rail-guidance__project small,.tzvt-rail-guidance__railhead small,.tzvt-rail-guidance__provinces small{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#776949}.tzvt-rail-guidance__project b{font-size:15px;color:#72571f}.tzvt-rail-guidance__project p,.tzvt-rail-guidance__railhead p{margin:4px 0 0;font-size:10px;line-height:1.5;color:#6d6658}.tzvt-rail-guidance__provinces{display:grid;gap:3px;margin-top:6px}.tzvt-rail-guidance__provinces span{font-size:9px;line-height:1.45;color:#75664a}.tzvt-rail-guidance__railhead{background:#f8fcf9;border-bottom:1px solid #e1e9e3}.tzvt-rail-guidance__railhead b{font-size:17px;color:#175b45}.tzvt-rail-guidance__railhead span{font-size:10px;color:#60756c}.tzvt-rail-guidance__warning{display:grid;gap:3px;margin:12px 14px 4px;padding:10px 11px;border:1px solid #e8c8b7;border-radius:11px;background:#fff6f1}.tzvt-rail-guidance__warning b{font-size:10px;color:#934328}.tzvt-rail-guidance__warning span{font-size:10px;line-height:1.45;color:#75594d}.tzvt-rail-guidance .tzvt-province-actions{padding:8px 14px 10px}.tzvt-rail-guidance .tzvt-province-actions button{background:#876516}.tzvt-rail-guidance.is-freight .tzvt-province-actions button{background:#526875}.tzvt-rail-guidance__source{padding:0 14px 13px}.tzvt-rail-guidance__source a{font-size:9px;font-weight:900;color:#24657a;text-decoration:none}.tzvt-rail-guidance__source a:hover{text-decoration:underline}@media(max-width:480px){.tzvt-rail-guidance .tzvt-province-actions button{width:100%}}
.tzvt-province-coverage-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:10px 13px;border:1px solid #cce3d8;border-radius:13px;background:#f4fbf7}.tzvt-province-coverage-note b{flex:0 0 auto;color:#176047;font-size:10px}.tzvt-province-coverage-note span{font-size:10px;line-height:1.45;color:#587067}@media(max-width:600px){.tzvt-province-coverage-note{display:grid}}

/* v3.70.0 – station-specific practical layer. No inferred services/transfers. */
.tzvt-station-practical .tzvt-practical-arrival{margin:0 0 16px;padding:13px 15px;border-radius:13px;background:#f7faf9;border:1px solid var(--tzvt-line);font-weight:700;color:#33454f}
.tzvt-practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.tzvt-practical-group{min-width:0;padding:15px;border:1px solid var(--tzvt-line);border-radius:16px;background:#fbfcfc}
.tzvt-practical-group h3{margin:0 0 11px;font-size:16px;line-height:1.25}
.tzvt-practical-group.is-review-state{background:#fcfcfd}.tzvt-practical-review{padding:11px;border:1px dashed var(--tzvt-line);border-radius:12px;background:#fff}.tzvt-practical-review b{display:block;font-size:13px}.tzvt-practical-review p{margin:5px 0 0;font-size:11px;line-height:1.5;color:#68736f}.tzvt-practical-review.is-reviewed{border-style:solid;background:#f7faf8}.tzvt-practical-review.is-pending{background:#fffaf1}
.tzvt-practical-items{display:grid;gap:10px}
.tzvt-practical-item{padding:12px;border:1px solid #e5ebee;border-radius:12px;background:#fff}
.tzvt-practical-item>b{display:block;margin-bottom:5px;font-size:14px;color:#243741}
.tzvt-practical-item p{margin:0;font-size:13px;line-height:1.55}
.tzvt-practical-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:9px;font-size:11px}
.tzvt-practical-meta a{font-weight:800;color:var(--tzvt-green)}
.tzvt-practical-meta span{color:var(--tzvt-muted)}
.tzvt-practical-disclaimer{margin:15px 0 0!important;padding-top:12px;border-top:1px solid var(--tzvt-line)}
@media(max-width:1050px){.tzvt-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.tzvt-practical-grid{grid-template-columns:1fr}.tzvt-practical-group{padding:13px}.tzvt-practical-item{padding:11px}}

/* v6.10.0 – nový obsahový blok: turistické železniční cesty SRT. */
.tzvt-tourist-rail{position:relative;overflow:hidden}.tzvt-tourist-rail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tzvt-tourist-rail-card{display:flex;flex-direction:column;min-width:0;padding:19px;border:1px solid #d8e4e8;border-radius:20px;background:linear-gradient(155deg,#fff 0%,#f8fbfc 100%);box-shadow:0 10px 28px rgba(20,54,72,.055)}.tzvt-tourist-rail-card__top{display:flex;gap:12px;align-items:center}.tzvt-tourist-rail-card__top>span{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;background:#173d50;color:#fff;font-size:11px;font-weight:950;letter-spacing:.02em}.tzvt-tourist-rail-card.is-rose .tzvt-tourist-rail-card__top>span{background:#9a4758}.tzvt-tourist-rail-card.is-amber .tzvt-tourist-rail-card__top>span{background:#a96816}.tzvt-tourist-rail-card.is-sky .tzvt-tourist-rail-card__top>span{background:#26779c}.tzvt-tourist-rail-card.is-teal .tzvt-tourist-rail-card__top>span{background:#177166}.tzvt-tourist-rail-card__top h3{margin:0;color:#173d50;font-size:19px}.tzvt-tourist-rail-card__top small{display:block;margin-top:3px;color:#6b7f88;font-size:10px;font-weight:800}.tzvt-tourist-rail-card__trains{display:grid;gap:3px;margin-top:14px;padding:10px 12px;border-radius:12px;background:#eef5f7}.tzvt-tourist-rail-card__trains b{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#315d70}.tzvt-tourist-rail-card__trains span{font-size:11px;font-weight:850;color:#294b59}.tzvt-tourist-rail-card>p{margin:13px 0 0;color:#536770;font-size:12px;line-height:1.6}.tzvt-tourist-rail-card__coach{margin-top:11px;padding:10px 11px;border-left:3px solid #74b8a3;border-radius:8px;background:#f4faf7;color:#45645a;font-size:10px;line-height:1.55}.tzvt-tourist-rail-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:15px}.tzvt-tourist-rail-card__actions button,.tzvt-tourist-rail-card__actions a{appearance:none;border:0;border-radius:10px;padding:9px 11px;font:inherit;font-size:10px;font-weight:900;cursor:pointer;text-decoration:none}.tzvt-tourist-rail-card__actions button,.tzvt-tourist-rail-card__actions a.is-primary{background:#173d50;color:#fff}.tzvt-tourist-rail-card__actions a:not(.is-primary){background:#edf5ef;color:#176246}.tzvt-tourist-rail-note{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid #d7e7df;border-radius:14px;background:#f5fbf8}.tzvt-tourist-rail-note b{color:#146149;font-size:11px}.tzvt-tourist-rail-note span{color:#536f64;font-size:10px;line-height:1.55}@media(max-width:760px){.tzvt-tourist-rail-grid{grid-template-columns:1fr}.tzvt-tourist-rail-note{grid-template-columns:1fr}.tzvt-tourist-rail-card__actions button,.tzvt-tourist-rail-card__actions a{width:100%;text-align:center}}


/* v6.20 — train-specific coach/class evidence in My Trip, D-Ticket prep and train detail */
.tzvt-trip-coach-snapshot{margin-top:7px;padding:8px 9px;border:1px solid #cfe5dc;border-radius:9px;background:#f0faf6;display:grid!important;gap:5px!important}.tzvt-trip-coach-snapshot>b{font-size:9px!important;color:#126347!important}.tzvt-trip-coach-snapshot>strong{font-size:9px;color:#27483d}.tzvt-trip-coach-snapshot>div{display:flex!important;flex-wrap:wrap;gap:5px!important}.tzvt-trip-coach-snapshot>div span{padding:3px 6px;border-radius:999px;background:#fff;border:1px solid #d7e9e2;font-size:8px;font-weight:800;color:#35594d}.tzvt-trip-coach-snapshot small{display:block!important}.tzvt-trip-coach-snapshot>a{font-size:8px;font-weight:850;color:#0f7658}.tzvt-trip-coach-snapshot.is-unverified{background:#fbfaf6;border-color:#e8dfc6}.tzvt-trip-coach-snapshot.is-unverified>b{color:#72591b!important}
.tzvt-ticket-prep__coach{margin:10px 0;padding:12px;border:1px solid #cce2d8;border-radius:11px;background:#f0faf6;display:grid;gap:6px}.tzvt-ticket-prep__coach>b{color:#165f48}.tzvt-ticket-prep__coach>strong{font-size:13px;color:#264b3e}.tzvt-ticket-prep__coach>div{display:flex;flex-wrap:wrap;gap:6px}.tzvt-ticket-prep__coach>div span{padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #d7e9e2;font-size:10px;font-weight:800}.tzvt-ticket-prep__coach small{color:#526b63}.tzvt-ticket-prep__coach>a{font-size:11px;font-weight:850;color:#0f7658}.tzvt-ticket-prep__coach p{margin:2px 0 0!important;font-size:11px!important}.tzvt-ticket-prep__coach.is-unverified{background:#fffaf0;border-color:#eadbb3}.tzvt-ticket-prep__coach.is-unverified>b{color:#73591b}
.tzvt-trip-dossier__grid>div:nth-child(3){grid-column:1/-1}.tzvt-trip-dossier__grid li>a{display:block;margin-top:3px;font-size:10px;font-weight:800;color:#0f7658}
.tzvt-detail-coach-profile__class{padding:10px 12px;border-radius:10px;background:#f4faf7}.tzvt-detail-coach-profile__badges{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.tzvt-detail-coach-profile__badges span{padding:6px 9px;border-radius:999px;background:#edf7f3;border:1px solid #d7e9e2;font-size:11px;font-weight:850;color:#28584a}.tzvt-detail-coach-profile__unknown{padding:13px;border:1px solid #eadbb3;border-radius:12px;background:#fffaf0;display:grid;gap:5px}.tzvt-detail-coach-profile__unknown b{color:#73591b}.tzvt-detail-coach-profile__unknown span{font-size:12px;color:#6d6654;line-height:1.55}


/* v6.30.0 – verified SRT station contacts in saved trip / D-Ticket preparation */
.tzvt-trip-station-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:9px}
.tzvt-trip-station-contact{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border:1px solid rgba(30,91,122,.18);border-radius:10px;background:rgba(240,248,252,.75)}
.tzvt-trip-station-contact small{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;opacity:.72}
.tzvt-trip-station-contact b{font-size:14px}
.tzvt-trip-station-contact b a,.tzvt-trip-station-contact>a{font-weight:700;text-decoration:none}
.tzvt-trip-station-contact span,.tzvt-trip-station-contact em{font-size:12px;font-style:normal;opacity:.8}
.tzvt-ticket-prep__contacts{margin:10px 0;padding:10px;border:1px solid rgba(30,91,122,.2);border-radius:12px;background:rgba(240,248,252,.65)}
.tzvt-ticket-prep__contacts>.tzvt-trip-station-contact{margin-top:7px}
@media(max-width:620px){.tzvt-trip-station-contacts{grid-template-columns:1fr}}

.tzvt-travel-day__contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:8px 0}

/* v6.40.0 – source-backed station facilities/onward transport in the saved trip and Travel Day */
.tzvt-trip-station-practical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;margin-top:9px}
.tzvt-trip-station-practical{padding:10px 11px;border:1px solid #d7e4dc;border-radius:11px;background:#f7fbf8;display:grid;gap:7px}
.tzvt-trip-station-practical>small{font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#316451}
.tzvt-trip-station-practical>p{margin:0;font-size:11px;line-height:1.5;color:#53675f}
.tzvt-trip-station-practical>div{display:grid;gap:5px}.tzvt-trip-station-practical>div>strong{font-size:10px;color:#274c3e}
.tzvt-trip-station-practical ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.tzvt-trip-station-practical li{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:#fff;border:1px solid #e5eee9}
.tzvt-trip-station-practical li b{font-size:10px;color:#29473c}.tzvt-trip-station-practical li span{font-size:9px;line-height:1.45;color:#62746d}.tzvt-trip-station-practical li a{font-size:8px;font-weight:850;color:#0f7658;text-decoration:none}.tzvt-trip-station-practical em{font-size:9px;font-style:normal;color:#7b6025}
.tzvt-trip-dossier__grid>div:nth-child(5){grid-column:1/-1}.tzvt-trip-dossier__grid li em{display:block;margin-top:3px;font-size:9px;font-style:normal;color:#7b6025}
.tzvt-travel-day__practical{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px;margin:8px 0}
@media(max-width:620px){.tzvt-trip-station-practical-grid,.tzvt-travel-day__practical{grid-template-columns:1fr}.tzvt-trip-station-practical{padding:9px}}


/* v6.50 · saved-trip baggage / special-item readiness */
.tzvt-trip-needs{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(170px,.7fr) repeat(3,minmax(150px,.6fr));gap:10px;align-items:center;margin:14px 0;padding:14px;border:1px solid #dce6ea;border-radius:16px;background:#f8fbfc}.tzvt-trip-needs>div{display:grid;gap:3px}.tzvt-trip-needs>div>span{font-size:11px;font-weight:800;letter-spacing:.06em}.tzvt-trip-needs>div>b{font-size:15px}.tzvt-trip-needs>div>small{color:#52646d}.tzvt-trip-needs label{display:grid;gap:5px;font-size:12px;font-weight:700}.tzvt-trip-needs input[type=number]{width:100%;min-height:40px;border:1px solid #cfdde3;border-radius:10px;padding:8px 10px;background:#fff}.tzvt-trip-needs__check{grid-template-columns:auto 1fr!important;align-items:center}.tzvt-trip-needs__check input{width:18px;height:18px}.tzvt-trip-needs>a{font-size:12px;font-weight:800;white-space:nowrap}.tzvt-trip-baggage{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid #dde6e9;border-radius:12px;background:#fbfcfd}.tzvt-trip-baggage>div:first-child{display:grid;gap:3px}.tzvt-trip-baggage>div:first-child small{color:#586971;line-height:1.45}.tzvt-trip-baggage__limits{display:flex;gap:7px;flex-wrap:wrap}.tzvt-trip-baggage__limits span{padding:5px 8px;border-radius:999px;background:#eef4f6;font-size:11px}.tzvt-trip-baggage>strong{font-size:12px;line-height:1.45}.tzvt-trip-baggage__extras{display:grid;gap:5px}.tzvt-trip-baggage__extras span{font-size:12px;line-height:1.45}.tzvt-trip-baggage>em{font-size:11px;color:#65757c;font-style:normal}.tzvt-trip-baggage>a{font-size:11px;font-weight:800}.tzvt-trip-baggage.is-compact{padding:10px;background:#fff}.tzvt-travel-day__row>.tzvt-trip-baggage{margin:10px 0 0}
@media(max-width:980px){.tzvt-trip-needs{grid-template-columns:1fr 1fr}.tzvt-trip-needs>div{grid-column:1/-1}}@media(max-width:620px){.tzvt-trip-needs{grid-template-columns:1fr}.tzvt-trip-needs>div{grid-column:auto}.tzvt-trip-baggage__limits{display:grid;grid-template-columns:1fr 1fr}}


/* v6.60.0 — local ticket lifecycle / post-purchase readiness */
.tzvt-trip-ticket-lifecycle{margin-top:10px;padding:12px;border:1px solid #dfe4ea;border-radius:12px;background:#fbfcfe;display:grid;gap:9px}
.tzvt-trip-ticket-lifecycle.is-compact{margin-top:8px;padding:10px}
.tzvt-trip-ticket-lifecycle__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.tzvt-trip-ticket-lifecycle__head b,.tzvt-trip-ticket-lifecycle__head small{display:block}.tzvt-trip-ticket-lifecycle__head small{color:#66758a;margin-top:2px}
.tzvt-trip-ticket-lifecycle__head a,.tzvt-trip-ticket-lifecycle>a{font-weight:800;text-decoration:none}
.tzvt-trip-ticket-lifecycle__checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tzvt-trip-ticket-lifecycle__checks label{display:flex;gap:7px;align-items:flex-start;padding:8px;border:1px solid #e4e8ee;border-radius:9px;background:#fff;font-size:12px;font-weight:700}
.tzvt-trip-ticket-lifecycle__checks input{margin-top:2px}
.tzvt-trip-ticket-lifecycle__rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.tzvt-trip-ticket-lifecycle__rules span{display:block;padding:8px;border-radius:9px;background:#f4f7fb;font-size:11px;line-height:1.45}.tzvt-trip-ticket-lifecycle__rules b{display:block;margin-bottom:3px;font-size:12px}
.tzvt-trip-ticket-lifecycle>em{font-size:11px;color:#7a5b1a;font-style:normal}
@media(max-width:720px){.tzvt-trip-ticket-lifecycle__head{display:block}.tzvt-trip-ticket-lifecycle__head a{display:inline-block;margin-top:6px}.tzvt-trip-ticket-lifecycle__checks,.tzvt-trip-ticket-lifecycle__rules{grid-template-columns:1fr}}


/* v6.70.0 · structured SRT fare snapshot inside saved trip */
.tzvt-trip-fare-snapshot{margin-top:10px;padding:11px 12px;border:1px solid rgba(28,120,73,.22);border-radius:12px;background:rgba(238,249,243,.86);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tzvt-trip-fare-snapshot>div{display:grid;gap:3px;min-width:220px;flex:1}
.tzvt-trip-fare-snapshot b{font-size:13px;line-height:1.35}
.tzvt-trip-fare-snapshot small{display:block;line-height:1.45}
.tzvt-trip-fare-snapshot a{font-size:12px;font-weight:700;white-space:nowrap}
.tzvt-trip-fare-snapshot.is-unverified{border-color:rgba(167,111,0,.25);background:rgba(255,248,225,.86)}
.tzvt-trip-dossier details{margin-top:8px}
.tzvt-trip-dossier details summary{cursor:pointer;font-weight:700;font-size:12px}
.tzvt-trip-dossier details ul{margin-top:7px}

.tzvt-ticket-prep__fare{display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(28,120,73,.22);border-radius:12px;background:rgba(238,249,243,.86)}
.tzvt-ticket-prep__fare b{font-size:13px}.tzvt-ticket-prep__fare span{font-size:12px;line-height:1.45}.tzvt-ticket-prep__fare a{font-size:12px;font-weight:700}

/* v6.80.0 · runtime Plan B / later direct SRT alternatives */
.tzvt-plan-b{margin-top:10px;padding:12px;border:1px solid rgba(29,101,143,.23);border-radius:12px;background:rgba(241,248,252,.9);display:grid;gap:10px}
.tzvt-plan-b.is-compact{padding:10px;margin-top:8px}.tzvt-plan-b__head,.tzvt-plan-b.is-empty,.tzvt-plan-b.is-unavailable{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.tzvt-plan-b__head>div:first-child,.tzvt-plan-b.is-empty>div:first-child,.tzvt-plan-b.is-unavailable>div:first-child{display:grid;gap:3px;min-width:240px;flex:1}
.tzvt-plan-b__head b,.tzvt-plan-b.is-empty b,.tzvt-plan-b.is-unavailable b{font-size:13px}.tzvt-plan-b__head span,.tzvt-plan-b.is-empty span,.tzvt-plan-b.is-unavailable span{font-size:11px;line-height:1.45;color:#536977}.tzvt-plan-b__head small,.tzvt-plan-b.is-empty small{font-size:10px;color:#6b7c85}
.tzvt-plan-b__head>div:last-child,.tzvt-plan-b.is-empty>div:last-child,.tzvt-plan-b.is-unavailable>div:last-child{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.tzvt-plan-b button,.tzvt-plan-b a{font-size:11px;font-weight:800;text-decoration:none}
.tzvt-plan-b__rows{display:grid;gap:7px}.tzvt-plan-b__rows article{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,.9fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(38,92,122,.14);border-radius:10px;background:#fff}
.tzvt-plan-b__rows article>div{display:grid;gap:2px}.tzvt-plan-b__rows article>div:last-child{display:flex;gap:7px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.tzvt-plan-b__rows span{font-size:10px;font-weight:800;color:#31586d}.tzvt-plan-b__rows b{font-size:13px}.tzvt-plan-b__rows small{font-size:10px;line-height:1.35;color:#657782}.tzvt-plan-b.is-empty{border-color:rgba(167,111,0,.24);background:rgba(255,248,225,.88)}.tzvt-plan-b.is-unavailable{border-color:rgba(166,64,64,.22);background:rgba(255,244,244,.88)}
.tzvt-trip-draft__segment-actions [data-tzvt-plan-b],.tzvt-travel-day__row-actions [data-tzvt-plan-b]{font-weight:800}
@media(max-width:760px){.tzvt-plan-b__rows article{grid-template-columns:1fr}.tzvt-plan-b__rows article>div:last-child{justify-content:flex-start}.tzvt-plan-b__head,.tzvt-plan-b.is-empty,.tzvt-plan-b.is-unavailable{display:grid}.tzvt-plan-b__head>div:last-child,.tzvt-plan-b.is-empty>div:last-child,.tzvt-plan-b.is-unavailable>div:last-child{justify-content:flex-start}}

/* v7.00 · exact-live source audit + richer safe TTS context */
.tzvt-live-official-links{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.tzvt-live-source-caveat{display:flex;flex-direction:column;gap:5px;margin:12px 0;padding:13px 15px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08)}
.tzvt-live-source-caveat b{font-size:13px}.tzvt-live-source-caveat span{font-size:12px;line-height:1.55;opacity:.9}.tzvt-live-source-caveat code{font-size:11px;background:rgba(0,0,0,.18);padding:2px 5px;border-radius:5px}
.tzvt-live-policy__summary{display:flex;flex-direction:column;gap:3px}.tzvt-live-source-list{display:grid;gap:8px;margin-top:12px}.tzvt-live-source-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:9px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.65);border:1px solid rgba(32,54,60,.08)}
.tzvt-live-source-row>span{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#9a7a35}.tzvt-live-source-row.is-confirmed>span{background:#14845f}.tzvt-live-source-row.is-provider>span{background:#1683a8}.tzvt-live-source-row div{min-width:0}.tzvt-live-source-row b,.tzvt-live-source-row small,.tzvt-live-source-row em{display:block}.tzvt-live-source-row b{margin:0;color:#20363c;font-size:12px}.tzvt-live-source-row small{margin-top:1px;color:#53636a;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.tzvt-live-source-row em{margin-top:3px;color:#607178;font-size:11px;font-style:normal;line-height:1.4}.tzvt-live-source-row a{font-size:11px;white-space:nowrap;text-decoration:none}
@media(max-width:700px){.tzvt-live-official-links{flex-direction:column;align-items:stretch}.tzvt-live-official-links a{text-align:center}.tzvt-live-source-row{grid-template-columns:10px 1fr}.tzvt-live-source-row a{grid-column:2}}

/* v7.30.0: short-lived stale TTS snapshots are explicit operational fallbacks, never live/GPS. */
.tzvt-inline-tts.is-stale{border-color:#e6c982;background:#fff8e8}.tzvt-inline-tts.is-stale .tzvt-inline-tts__head>b{color:#805b10}.tzvt-inline-tts.is-stale .tzvt-inline-tts__grid>span{border-color:#ead9ae;background:#fffdf8}.tzvt-travel-day__live.is-stale{border-color:#e6c982;background:#fff8e8}.tzvt-travel-day__live.is-stale>div:first-child>b{color:#805b10}
/* Acceptance depth: train-specific coach/class evidence must be visible in quick train and route detail, not only in planner cards. */
.tzvt-train-detail__coach{margin:14px 0;padding:14px 16px;border-radius:14px;border:1px solid #dce6e1;background:#f8fbf9}.tzvt-train-detail__coach.is-verified{border-color:#c9e2d5;background:#f4faf7}.tzvt-train-detail__coach.is-unverified{border-color:#eadfca;background:#fffaf1}.tzvt-train-detail__coach>div>span,.tzvt-train-detail__coach-head span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#547064}.tzvt-train-detail__coach>div>b,.tzvt-train-detail__coach-head b{display:block;margin-top:3px;color:#193b2e}.tzvt-train-detail__coach-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.tzvt-train-detail__coach-head a,.tzvt-route-detail__coach a{font-weight:850;text-decoration:none;white-space:nowrap}.tzvt-train-detail__coach-class{margin:10px 0 6px}.tzvt-train-detail__coach-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tzvt-train-detail__coach-facts>span{display:flex;flex-direction:column;gap:3px;min-width:140px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #dfe9e4}.tzvt-train-detail__coach-facts small{font-size:10px;color:#67766f}.tzvt-train-detail__coach-facts b{font-size:12px}.tzvt-train-detail__coach-note{margin:10px 0 4px;line-height:1.5;color:#46564f}.tzvt-train-detail__coach-rule{display:block;margin-top:8px;color:#6b7771;line-height:1.45}.tzvt-route-detail__coach{display:flex;flex-direction:column;gap:6px;margin:10px 0;padding:12px;border:1px solid #d9e8df;border-radius:12px;background:#f6fbf8}.tzvt-route-detail__coach>span,.tzvt-route-detail__coach>small{line-height:1.45}.tzvt-route-detail__coach .tzvt-coach-badges{margin-top:2px}@media(max-width:640px){.tzvt-train-detail__coach-head{display:block}.tzvt-train-detail__coach-head a{display:inline-block;margin-top:8px}.tzvt-train-detail__coach-facts{display:grid;grid-template-columns:1fr}.tzvt-train-detail__coach-facts>span{min-width:0}}
.tzvt-train-result__coaches.is-unverified{background:#fffaf1;border-color:#eadfca}.tzvt-train-result__coaches.is-unverified>div>b{color:#725321}.tzvt-train-result__coaches.is-unverified small{color:#6e6250}


/* v7.40 acceptance: distinguish the train's complete SRT relation from the passenger A→B segment. */
.tzvt-train-service-route,.tzvt-route-detail__service-route{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid rgba(31,41,55,.14);border-radius:10px;background:rgba(255,255,255,.72)}
.tzvt-train-service-route small,.tzvt-route-detail__service-route small{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.68}
.tzvt-train-service-route b,.tzvt-route-detail__service-route b{font-size:13px;line-height:1.35}
.tzvt-trip-service-route{display:block;margin-top:5px;padding:6px 8px;border-left:3px solid currentColor;opacity:.82}
.tzvt-ticket-prep__route small{display:block;margin-top:4px;line-height:1.4}
.tzvt-transfer-leg__service-route{display:block;margin-top:4px;line-height:1.35;opacity:.78}
.tzvt-plan-b__rows article em{display:block;font-style:normal;font-size:11px;line-height:1.35;opacity:.72;margin-top:3px}

/* v7.40 candidate — station-specific practical evidence is visible in the interactive station centre too */
.tzvt-station-practical-evidence{margin:14px 16px 0;padding:14px;border:1px solid #dbe7e2;border-radius:14px;background:#fbfdfc}.tzvt-station-practical-evidence__head{display:flex;flex-direction:column;gap:3px}.tzvt-station-practical-evidence__head small{font-size:8px;font-weight:950;letter-spacing:.08em;color:#177052}.tzvt-station-practical-evidence__head b{font-size:14px;color:#173f33}.tzvt-station-practical-evidence__head span,.tzvt-station-practical-evidence__note{font-size:9px;line-height:1.45;color:#687a73}.tzvt-station-practical-evidence__arrival{margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#f1f7f4;color:#3f5d52;font-size:10px;line-height:1.45}.tzvt-station-practical-evidence__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.tzvt-station-practical-group{min-width:0}.tzvt-station-practical-group h4{margin:0 0 7px;font-size:11px;color:#20483a}.tzvt-station-practical-group>div{display:grid;gap:7px}.tzvt-station-practical-group section{padding:9px;border:1px solid #e2eae6;border-radius:10px;background:#fff}.tzvt-station-practical-group section>b{display:block;font-size:10px;color:#24493c}.tzvt-station-practical-group section>p{margin:4px 0 7px;font-size:9px;line-height:1.45;color:#66766f}.tzvt-station-practical-group footer{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.tzvt-station-practical-group footer a,.tzvt-station-practical-group footer span,.tzvt-station-practical-group footer em{font-size:8px;font-style:normal}.tzvt-station-practical-group footer a{font-weight:900;text-decoration:none;color:#216a55}.tzvt-station-practical-group footer span{color:#7c8984}.tzvt-station-practical-group footer em{padding:2px 5px;border-radius:999px;background:#eaf7f1;color:#17644b}.tzvt-station-practical-evidence__note{display:block;margin-top:10px}.tzvt-station-practical-group.is-review-state{padding:9px;border:1px dashed #e2eae6;border-radius:10px;background:#fff}.tzvt-station-practical-review>b{display:block;font-size:10px;color:#24493c}.tzvt-station-practical-review>p{margin:4px 0 7px;font-size:9px;line-height:1.45;color:#66766f}.tzvt-station-practical-review.is-pending{background:#fffaf1}.tzvt-station-practical-review.is-reviewed{background:#f7faf8}.tzvt-station-practical-review footer{display:flex;gap:5px;flex-wrap:wrap}.tzvt-station-practical-review footer a,.tzvt-station-practical-review footer span{font-size:8px}.tzvt-station-practical-review footer a{font-weight:900;text-decoration:none;color:#216a55}.tzvt-station-practical-review footer span{color:#7c8984}@media(max-width:880px){.tzvt-station-practical-evidence__grid{grid-template-columns:1fr}}

/* v7.40 candidate — route SEO detail: full direct-train table + source-backed endpoint practical context */
.tzvt-route-detail__station-practical{margin-top:10px;padding-top:9px;border-top:1px dashed #dbe4e1;display:grid;gap:7px}.tzvt-route-detail__station-practical>div{display:flex;flex-direction:column;gap:2px}.tzvt-route-detail__station-practical small{font-size:8px;font-weight:950;letter-spacing:.06em;color:#23715a}.tzvt-route-detail__station-practical b{font-size:10px;color:#284d40}.tzvt-route-detail__station-practical span{font-size:9px;line-height:1.4;color:#68776f}.tzvt-route-detail__station-practical a{width:max-content;font-size:8px;font-weight:900;text-decoration:none;color:#236b56}.tzvt-route-detail__station-practical.is-empty span{font-size:9px;color:#7b8983}.tzvt-route-train-table{margin-top:12px;border:1px solid #dce5e2;border-radius:14px;background:#fff;overflow:hidden}.tzvt-route-train-table__head{padding:12px 13px;background:#f5f9f7}.tzvt-route-train-table__head>div{display:flex;flex-direction:column;gap:2px}.tzvt-route-train-table__head small{font-size:8px;font-weight:950;letter-spacing:.08em;color:#17654e}.tzvt-route-train-table__head b{font-size:13px;color:#183f32}.tzvt-route-train-table__head span{font-size:9px;color:#66766f}.tzvt-route-train-table__rows{display:grid}.tzvt-route-train-table__rows>article{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(115px,.7fr) minmax(120px,.7fr) minmax(180px,1.25fr) auto;gap:10px;align-items:center;padding:11px 12px;border-top:1px solid #edf1ef}.tzvt-route-train-table__rows>article>div{min-width:0;display:flex;flex-direction:column;gap:2px}.tzvt-route-train-table__rows small{font-size:7px;font-weight:950;color:#7a8983}.tzvt-route-train-table__rows b{font-size:10px;color:#253f36}.tzvt-route-train-table__rows span{font-size:8px;line-height:1.35;color:#6c7a75}.tzvt-route-train-table__badges{display:flex!important;flex-direction:row!important;gap:3px!important;flex-wrap:wrap}.tzvt-route-train-table__badges span{padding:2px 5px;border-radius:999px;background:#edf7f3;color:#176247;font-size:7px;font-weight:900}.tzvt-route-train-table__actions{display:flex!important;flex-direction:row!important;gap:5px!important;justify-content:flex-end;flex-wrap:wrap}.tzvt-route-train-table__actions a{font-size:8px;font-weight:900;text-decoration:none;white-space:nowrap}.tzvt-route-train-table__note{display:block;padding:8px 12px;background:#fafbfb;color:#77837e;font-size:8px}@media(max-width:980px){.tzvt-route-train-table__rows>article{grid-template-columns:1fr 1fr}.tzvt-route-train-table__actions{justify-content:flex-start}.tzvt-route-train-table__rows>article>div:nth-child(4),.tzvt-route-train-table__actions{grid-column:1/-1}}@media(max-width:560px){.tzvt-route-train-table__rows>article{grid-template-columns:1fr}.tzvt-route-train-table__rows>article>div:nth-child(4),.tzvt-route-train-table__actions{grid-column:1}}

/* v7.40 candidate — server-rendered route endpoint evidence + FAQ */
.tzvt-detail-endpoint__practical{display:grid;gap:7px;margin:10px 0;padding-top:9px;border-top:1px dashed #dce5e1}.tzvt-detail-endpoint__practical>div{display:flex;flex-direction:column;gap:2px}.tzvt-detail-endpoint__practical small{font-size:8px;font-weight:950;letter-spacing:.06em;color:#276a56}.tzvt-detail-endpoint__practical b{font-size:10px;color:#2c4c41}.tzvt-detail-endpoint__practical a{width:max-content;font-size:8px;font-weight:900;text-decoration:none}.tzvt-route-faq details{border-top:1px solid #edf1ef;padding:10px 0}.tzvt-route-faq details:first-of-type{margin-top:8px}.tzvt-route-faq summary{cursor:pointer;font-size:11px;font-weight:900;color:#213f35}.tzvt-route-faq details p{margin:7px 0 0;font-size:10px;line-height:1.55;color:#66766f}

/* v7.50 – auditovatelná identita stanice */
.tzvt-station-identity__sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px;border:1px solid #e5eaf0;border-radius:10px;background:#f8fafc}
.tzvt-station-identity__sources>span{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 8px;border-radius:8px;background:#fff;border:1px solid #e5eaf0}
.tzvt-station-identity__sources>span b{font-size:12px}.tzvt-station-identity__sources>span a{font-weight:700;text-decoration:none}.tzvt-station-identity__sources>span small{color:#66758a}
.tzvt-station-identity__sources>p{width:100%;margin:0;font-size:12px;color:#526174}


/* v7.60 · route detail: Bangkok is a planning aggregate, never a fake station */
.tzvt-bangkok-route-terminals,.tzvt-route-detail__terminals{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}
.tzvt-bangkok-route-terminals>div,.tzvt-route-detail__terminal{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid rgba(30,41,59,.12);border-radius:12px;background:rgba(248,250,252,.9)}
.tzvt-bangkok-route-terminals small,.tzvt-route-detail__terminal small{font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.72}
.tzvt-bangkok-route-terminals span,.tzvt-route-detail__terminal span{font-size:.9rem;line-height:1.45}
.tzvt-detail-endpoint.is-bangkok-aggregate,.tzvt-route-detail__station.is-bangkok-aggregate{border-style:dashed}
.tzvt-bangkok-route-guard .tzvt-warning-card__icon{font-size:.8rem;font-weight:900;letter-spacing:.04em}


/* v7.60 · curated route cards link planner presets to their standalone route details */
.tzvt-quick-card,.tzvt-journey-card{display:grid;grid-template-rows:1fr auto;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e1e8ed}
.tzvt-quick-card .tzvt-quick,.tzvt-journey-card .tzvt-journey{border:0;border-radius:0;width:100%;height:100%}
.tzvt-curated-route-link{display:flex;align-items:center;justify-content:flex-start;padding:9px 13px;border-top:1px solid #e5ecef;background:#f8fbfc;color:#0b7658;font-size:10px;font-weight:900;text-decoration:none}
.tzvt-curated-route-link:hover{background:#eef8f4;color:#075b45}
.tzvt-quick-card:hover,.tzvt-journey-card:hover{border-color:#88c8b5;box-shadow:0 8px 20px rgba(18,77,64,.08)}
.tzvt-quick-card .tzvt-quick:hover,.tzvt-journey-card .tzvt-journey:hover{transform:none;box-shadow:none;border-color:transparent}

/* v7.70 – přesný plánovaný čas odjezdu */
.tzvt-field--exact-time{min-width:145px}.tzvt-field--exact-time small{font-size:8px;line-height:1.35;color:#74818c}.tzvt-field--exact-time[hidden]{display:none!important}
@media(max-width:900px){.tzvt-field--exact-time{grid-column:auto}}

/* v7.70 – samostatný plánovaný čas pro cestu zpět */
.tzvt-return-fields{grid-column:4/-1;display:grid;grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) minmax(145px,.75fr);gap:12px;align-items:end}.tzvt-return-fields[hidden]{display:none!important}.tzvt-field--return-exact-time small{font-size:8px;line-height:1.35;color:#74818c}.tzvt-field--return-exact-time[hidden]{display:none!important}
@media(max-width:1000px){.tzvt-return-fields{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.tzvt-return-fields{grid-template-columns:1fr}}

/* v7.70 – časové filtry na samostatném detailu trasy */
.tzvt-detail-route-dates select{min-height:42px;border:1px solid #d9e1e7;background:#fbfcfd;border-radius:10px;padding:0 10px;color:#13202a}.tzvt-detail-route-dates label[hidden]{display:none!important}

/* v7.70 – přesný čas v samostatném přestupním centru */
.tzvt-transfer-center__form label[data-tzvt-transfer-center-exact-field][hidden]{display:none!important}

/* v8.30 – station-detail mapa jen pro bezpečně použitelný lokální bod; provenance se zobrazuje samostatně */
.tzvt-station-map__frame{margin-top:12px;overflow:hidden;border:1px solid #dce7e3;border-radius:14px;background:#f4f7f6;aspect-ratio:16/7}.tzvt-station-map__frame iframe{display:block;width:100%;height:100%;min-height:300px;border:0}.tzvt-station-map__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tzvt-station-map__actions a{display:inline-flex;align-items:center;min-height:38px;padding:0 11px;border:1px solid #bed8ce;border-radius:9px;color:#0f6b56;font-size:12px;font-weight:850}.tzvt-station-map__actions a:hover{background:#f1faf6}@media(max-width:620px){.tzvt-station-map__frame{aspect-ratio:1/1}.tzvt-station-map__frame iframe{min-height:260px}.tzvt-station-map__actions a{width:100%;justify-content:center}}

/* v7.70 – passenger count is planning/booking context, never a guessed group fare */
.tzvt-traveller-fare-note{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;padding:9px 11px;border:1px solid #e6dfc8;border-radius:10px;background:#fffaf0;color:#625637}.tzvt-traveller-fare-note b{font-size:10px;white-space:nowrap}.tzvt-traveller-fare-note span{font-size:9px;line-height:1.45}.tzvt-traveller-fare-note a{font-weight:850;color:#735f20;text-decoration:underline;text-underline-offset:2px}@media(max-width:620px){.tzvt-traveller-fare-note{display:grid}.tzvt-traveller-fare-note b{white-space:normal}}

/* v7.80 · standalone practical/SEO guides from the same verified SRT truth layer */
.tzvt-guide-hub__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tzvt-guide-hub__grid>a{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid #dce7e3;border-radius:15px;background:#fff;color:#183f33;text-decoration:none;transition:.18s ease}.tzvt-guide-hub__grid>a:hover{border-color:#89c9b6;box-shadow:0 10px 24px rgba(20,78,64,.08);transform:translateY(-1px)}.tzvt-guide-hub__grid>a>span{font-size:9px;font-weight:950;letter-spacing:.08em;color:#167055}.tzvt-guide-hub__grid>a>b{font-size:15px}.tzvt-guide-hub__grid>a>small{font-size:10px;line-height:1.5;color:#66766f;flex:1}.tzvt-guide-hub__grid>a>i{font-size:10px;font-style:normal;font-weight:900;color:#0b7658}
.tzvt-guide-rules{display:grid;gap:10px;margin-top:12px}.tzvt-guide-rule{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px;border:1px solid #e0e9e5;border-radius:12px;background:#fbfdfc}.tzvt-guide-rule>span{height:max-content;min-width:62px;padding:5px 8px;border-radius:999px;background:#e9f6f1;color:#14644d;font-size:8px;font-weight:950;text-align:center}.tzvt-guide-rule h3{margin:0 0 5px;font-size:13px;color:#20463a}.tzvt-guide-rule p{margin:0;font-size:10px;line-height:1.5;color:#536861}.tzvt-guide-rule small{display:block;margin-top:6px;font-size:9px;line-height:1.5;color:#74817c}.tzvt-guide-rule a{display:inline-block;margin-top:7px;font-size:9px;font-weight:900;text-decoration:none}.tzvt-guide-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.tzvt-guide-class-grid article{padding:13px;border:1px solid #e0e9e5;border-radius:12px;background:#fbfdfc}.tzvt-guide-class-grid b{display:block;margin-bottom:5px;font-size:13px;color:#1c4739}.tzvt-guide-class-grid p{margin:0;font-size:10px;line-height:1.55;color:#60736c}.tzvt-guide-trains{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;margin-top:12px}.tzvt-guide-trains>article{padding:13px;border:1px solid #dfe9e5;border-radius:12px;background:#fff}.tzvt-guide-trains>article>div:first-child>span{display:block;font-size:8px;font-weight:950;letter-spacing:.08em;color:#167055}.tzvt-guide-trains h3{margin:3px 0 0;font-size:12px;line-height:1.35;color:#1f4338}.tzvt-guide-trains>article>p{margin:8px 0;font-size:9px;line-height:1.45;color:#687871}.tzvt-guide-trains__badges{display:flex;flex-wrap:wrap;gap:5px}.tzvt-guide-trains__badges>span{padding:3px 6px;border-radius:999px;background:#edf7f3;color:#176247;font-size:8px;font-weight:850}.tzvt-guide-trains__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.tzvt-guide-trains__actions a{font-size:9px;font-weight:900;text-decoration:none}.tzvt-guide-next__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:12px}.tzvt-guide-next__grid>a{display:flex;flex-direction:column;gap:4px;padding:11px;border:1px solid #e2eae7;border-radius:11px;background:#fbfdfc;text-decoration:none}.tzvt-guide-next__grid b{font-size:11px;color:#21483b}.tzvt-guide-next__grid span{font-size:9px;line-height:1.45;color:#6d7a75}.tzvt-guide-truth{border-left:4px solid #168466}@media(max-width:700px){.tzvt-guide-class-grid{grid-template-columns:1fr}.tzvt-guide-rule{grid-template-columns:1fr}.tzvt-guide-rule>span{width:max-content}.tzvt-guide-hub__grid,.tzvt-guide-trains,.tzvt-guide-next__grid{grid-template-columns:1fr}}

/* v7.80.0 — planner responsive acceptance: explicit placement, no accidental auto-columns */
.tzvt-planner-actions{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(180px,1fr);gap:10px;align-items:stretch}
.tzvt-planner-actions>.tzvt-search,.tzvt-planner-actions>.tzvt-share-planner,.tzvt-planner-actions>.tzvt-route-overview-btn{width:100%;min-height:52px;grid-column:auto!important;margin:0}
@media(min-width:1181px){
  .tzvt-planner{grid-template-columns:minmax(220px,1.2fr) 52px minmax(220px,1.2fr) minmax(160px,.8fr) minmax(170px,.85fr) 96px 96px}
  .tzvt-planner>[data-tzvt-smart-field="from"]{grid-column:1}.tzvt-planner>.tzvt-swap{grid-column:2}.tzvt-planner>[data-tzvt-smart-field="to"]{grid-column:3}
  .tzvt-planner>.tzvt-field--date{grid-column:4}.tzvt-planner>.tzvt-field--time{grid-column:5}.tzvt-planner>.tzvt-field--adults{grid-column:6}.tzvt-planner>.tzvt-field--children{grid-column:7}
  .tzvt-planner>.tzvt-field--exact-time{grid-column:4/6}.tzvt-planner>.tzvt-traveller-fare-note{grid-column:1/-1}.tzvt-planner>.tzvt-return{grid-column:1}.tzvt-planner>.tzvt-return-fields{grid-column:2/-1}
  .tzvt-planner>.tzvt-planner-actions{grid-column:1/-1}.tzvt-planner>.tzvt-field--plan-note,.tzvt-planner>.tzvt-via-toggle,.tzvt-planner>.tzvt-via-fields{grid-column:1/-1}
}
@media(max-width:1180px) and (min-width:641px){
  .tzvt-planner{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:12px}
  .tzvt-planner>[data-tzvt-smart-field="from"]{grid-column:1}.tzvt-planner>.tzvt-swap{grid-column:2}.tzvt-planner>[data-tzvt-smart-field="to"]{grid-column:3}
  .tzvt-planner>.tzvt-field--date{grid-column:1}.tzvt-planner>.tzvt-field--time{grid-column:3}.tzvt-planner>.tzvt-field--exact-time{grid-column:1/-1}
  .tzvt-planner>.tzvt-field--adults{grid-column:1}.tzvt-planner>.tzvt-field--children{grid-column:3}.tzvt-planner>.tzvt-traveller-fare-note{grid-column:1/-1}
  .tzvt-planner>.tzvt-return{grid-column:1}.tzvt-planner>.tzvt-return-fields{grid-column:1/-1}.tzvt-planner>.tzvt-planner-actions{grid-column:1/-1}
  .tzvt-planner>.tzvt-field--plan-note,.tzvt-planner>.tzvt-via-toggle,.tzvt-planner>.tzvt-via-fields{grid-column:1/-1}
}
@media(max-width:640px){
  .tzvt-planner{grid-template-columns:1fr}.tzvt-planner>[data-tzvt-smart-field="from"],.tzvt-planner>[data-tzvt-smart-field="to"],.tzvt-planner>.tzvt-field--date,.tzvt-planner>.tzvt-field--time,.tzvt-planner>.tzvt-field--exact-time,.tzvt-planner>.tzvt-field--adults,.tzvt-planner>.tzvt-field--children,.tzvt-planner>.tzvt-traveller-fare-note,.tzvt-planner>.tzvt-return,.tzvt-planner>.tzvt-return-fields,.tzvt-planner>.tzvt-planner-actions,.tzvt-planner>.tzvt-field--plan-note,.tzvt-planner>.tzvt-via-toggle,.tzvt-planner>.tzvt-via-fields{grid-column:1/-1!important}
  .tzvt-planner>.tzvt-swap{grid-column:1;justify-self:center;transform:rotate(90deg)}.tzvt-planner>.tzvt-planner-actions{grid-template-columns:1fr}.tzvt-planner>.tzvt-return-fields{grid-template-columns:1fr}
}

/* v7.80.0 — touch-target acceptance for mobile/tablet interaction */
@media(max-width:1180px){
  .tzvt-date-shortcuts button{min-width:44px;min-height:44px;padding:6px 9px}.tzvt-return{min-height:44px;padding-top:8px;padding-bottom:8px}.tzvt-via-toggle{min-height:44px}.tzvt-station-map__actions a{min-height:44px}
  .tzvt-search-summary__links a,.tzvt-train-result__actions a,.tzvt-train-result__actions button,.tzvt-curated-route-link,.tzvt-tourist-rail-card__actions button,.tzvt-tourist-rail-card__actions a,.tzvt-detail-primary,.tzvt-detail-card>a{min-height:44px;display:inline-flex;align-items:center}
  .tzvt-route-faq summary{min-height:44px;display:flex;align-items:center}.tzvt-guide-hub__grid>a,.tzvt-guide-next__grid>a{min-height:44px}.tzvt-planner-actions button{min-height:48px}
}
@media(max-width:1180px){.tzvt-search-summary__links a{min-height:44px}.tzvt-train-result__actions a,.tzvt-train-result__actions button{min-height:44px}}
/* v7.80.0 — complete original practical-guide acceptance surfaces */
.tzvt-guide-service-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px}.tzvt-guide-service-types>article{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border:1px solid #e0e9e5;border-radius:12px;background:#fbfdfc}.tzvt-guide-service-types>article>span{align-self:start;min-width:42px;padding:5px 7px;border-radius:999px;background:#edf7f3;color:#16654e;font-size:8px;font-weight:950;text-align:center}.tzvt-guide-service-types b{font-size:11px;color:#20463a}.tzvt-guide-service-types p{margin:4px 0 0;font-size:9px;line-height:1.5;color:#65756f}.tzvt-guide-live-boundary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.tzvt-guide-live-boundary>article{padding:13px;border:1px solid #dde8e4;border-radius:12px;background:#fbfdfc}.tzvt-guide-live-boundary b{display:block;margin-bottom:5px;font-size:11px;color:#1d493b}.tzvt-guide-live-boundary p{margin:0;font-size:9px;line-height:1.55;color:#64766f}.tzvt-guide-transfer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.tzvt-guide-transfer-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border-radius:10px;font-size:10px;font-weight:900;text-decoration:none}.tzvt-guide-transfer-actions>a:not(.tzvt-detail-primary){border:1px solid #d8e5e0;background:#fff;color:#12684f}
@media(max-width:700px){.tzvt-guide-service-types,.tzvt-guide-live-boundary{grid-template-columns:1fr}.tzvt-guide-transfer-actions{display:grid;grid-template-columns:1fr}.tzvt-guide-transfer-actions>a{width:100%}}
/* v7.80.0 — standalone "Vlaky z Bangkoku" SEO/acceptance page */
.tzvt-section-inline-link{display:inline-flex;margin-top:8px;font-size:14px;font-weight:900;color:#0d7357;text-decoration:none}.tzvt-bangkok-seo-terminals,.tzvt-bangkok-seo-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:18px}.tzvt-bangkok-seo-terminals>a,.tzvt-bangkok-seo-routes>a{min-height:102px;padding:18px;border:1px solid #dce8e3;border-radius:16px;background:#fbfdfc;text-decoration:none;transition:.18s ease}.tzvt-bangkok-seo-terminals>a{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start}.tzvt-bangkok-seo-routes>a{display:flex;flex-direction:column;justify-content:center;gap:8px}.tzvt-bangkok-seo-terminals>a:hover,.tzvt-bangkok-seo-routes>a:hover{transform:translateY(-2px);border-color:#74bea8;box-shadow:0 12px 26px rgba(15,107,86,.09)}.tzvt-bangkok-seo-terminals__icon{font-size:26px!important;line-height:1}.tzvt-bangkok-seo-terminals b,.tzvt-bangkok-seo-routes b{display:block;font-size:17px;color:#163f34}.tzvt-bangkok-seo-terminals span{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:#687871}.tzvt-bangkok-seo-terminals small,.tzvt-bangkok-seo-routes small{display:block;margin-top:7px;color:#0d7357;font-size:12px;line-height:1.45}.tzvt-bangkok-seo-routes b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tzvt-bangkok-seo-routes b span{font:inherit;color:inherit}.tzvt-bangkok-seo-routes b i{color:#119272;font-style:normal}.tzvt-bangkok-seo-truth{border-left:4px solid #13765a}
@media(max-width:700px){.tzvt-bangkok-seo-terminals,.tzvt-bangkok-seo-routes{grid-template-columns:1fr}.tzvt-section-inline-link{min-height:44px;align-items:center}}

/* v7.90: train-detail calendar/date truth layer */
.tzvt-train-calendar-day{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr) auto;gap:14px;align-items:start;margin:14px 0;padding:14px 16px;border:1px solid #cfe2d7;border-radius:14px;background:#f5faf7}
.tzvt-train-calendar-day>div:first-child>span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#547064}.tzvt-train-calendar-day>div:first-child>b{display:block;margin-top:4px;color:#193b2e}.tzvt-train-calendar-day>div:first-child>small{display:block;margin-top:5px;line-height:1.45;color:#5d6c65}.tzvt-train-calendar-day.is-blocked{border-color:#efc9c9;background:#fff6f6}.tzvt-train-calendar-day.is-blocked>div:first-child>b{color:#7f1d1d}.tzvt-train-calendar-day.is-verify{border-color:#ecd7aa;background:#fffaf0}.tzvt-train-calendar-day.is-verify>div:first-child>b{color:#704b12}.tzvt-train-calendar-day__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tzvt-train-calendar-day__facts>span{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:9px;border:1px solid rgba(15,23,42,.09);background:#fff}.tzvt-train-calendar-day__facts small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#78837e}.tzvt-train-calendar-day__facts b{font-size:11px;line-height:1.35}.tzvt-train-calendar-day>a{font-weight:850;text-decoration:none;white-space:nowrap}
@media(max-width:820px){.tzvt-train-calendar-day{grid-template-columns:1fr}.tzvt-train-calendar-day>a{justify-self:start}.tzvt-train-calendar-day__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tzvt-train-calendar-day__facts{grid-template-columns:1fr}}
.tzvt-train-detail-controls{display:flex;align-items:end;gap:14px;justify-content:space-between;margin:10px 0 14px;padding:12px 14px;border:1px solid #dbe5df;border-radius:12px;background:#f8fbf9}.tzvt-train-detail-controls label{display:flex;flex-direction:column;gap:5px;min-width:210px}.tzvt-train-detail-controls label>span{font-size:10px;font-weight:900;letter-spacing:.06em;color:#53675e}.tzvt-train-detail-controls input{min-height:42px;padding:8px 10px;border:1px solid #cbd8d1;border-radius:9px;background:#fff}.tzvt-train-detail-controls p{margin:0;max-width:680px;font-size:12px;line-height:1.5;color:#617169}
@media(max-width:680px){.tzvt-train-detail-controls{display:grid;grid-template-columns:1fr;align-items:stretch}.tzvt-train-detail-controls label{min-width:0}.tzvt-train-detail-controls input{width:100%}}

/* v8.00 fare recheck: current StationList range vs saved historical snapshot */
.tzvt-trip-fare-recheck{flex-basis:100%;margin-top:7px;padding-top:7px;border-top:1px dashed rgba(28,120,73,.22);display:grid;gap:2px}
.tzvt-trip-fare-recheck b{font-size:12px}
.tzvt-trip-fare-recheck span,.tzvt-trip-fare-recheck small{font-size:11px;line-height:1.45}
.tzvt-trip-fare-recheck.is-recheck-warning{color:#7a4d00;border-top-color:rgba(167,111,0,.28)}
.tzvt-current-fare{margin:10px 14px 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(28,120,73,.24);background:rgba(238,249,243,.9);display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tzvt-current-fare>div{display:grid;gap:4px}
.tzvt-current-fare>div:first-child{flex:1;min-width:220px}
.tzvt-current-fare b{font-size:13px;line-height:1.4}.tzvt-current-fare span,.tzvt-current-fare small{font-size:12px;line-height:1.5}
.tzvt-current-fare>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.tzvt-current-fare a{font-size:12px;font-weight:750}
.tzvt-current-fare.is-unverified{border-color:rgba(167,111,0,.25);background:rgba(255,248,225,.9)}
.tzvt-current-fare.is-loading{align-items:center}
@media(max-width:720px){.tzvt-current-fare{margin:9px 10px 12px}.tzvt-current-fare>div:first-child{min-width:0;width:100%}}

/* v8.00 · explicit fare recheck on standalone / route overview rows */
.tzvt-route-fare-check-wrap{display:flex;flex-direction:column;gap:7px;align-items:stretch;min-width:150px}
.tzvt-route-fare-check{border:1px solid currentColor;border-radius:10px;background:transparent;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer;min-height:40px}
.tzvt-route-fare-check:disabled{cursor:wait;opacity:.65}
.tzvt-route-fare-check-wrap .tzvt-fare-check-slot{min-width:min(360px,80vw)}
@media(max-width:720px){.tzvt-route-fare-check-wrap{width:100%}.tzvt-route-fare-check{width:100%;min-height:44px}.tzvt-route-fare-check-wrap .tzvt-fare-check-slot{min-width:0;width:100%}}

/* v8.10 journey-live: schedule preselection -> fresh TTS station progress. Never GPS. */
.tzvt-journey-live-launcher{margin:14px 0;padding:14px;border:1px solid rgba(220,38,38,.18);border-radius:16px;background:linear-gradient(180deg,#fff,#fff8f8);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.tzvt-journey-live-launcher>div:first-child{display:grid;gap:3px}.tzvt-journey-live-launcher>div:first-child>span,.tzvt-journey-live-head span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#b91c1c}.tzvt-journey-live-launcher>div:first-child>b,.tzvt-journey-live-head b{font-size:15px}.tzvt-journey-live-launcher small,.tzvt-journey-live-head small{color:#64748b;line-height:1.45}.tzvt-journey-live-launcher>button,.tzvt-journey-live-candidate__actions button{min-height:44px;border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.tzvt-journey-live-launcher>button{background:#991b1b;color:#fff}.tzvt-journey-live-launcher>button:disabled,.tzvt-journey-live-candidate__actions button:disabled{opacity:.55;cursor:wait}.tzvt-journey-live-slot{grid-column:1/-1;display:grid;gap:10px}.tzvt-journey-live-candidates{display:grid;gap:10px}.tzvt-journey-live-candidate{border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:12px;background:#fff;display:grid;gap:10px}.tzvt-journey-live-candidate__head{display:grid;grid-template-columns:120px minmax(190px,1fr) minmax(190px,1fr);gap:10px}.tzvt-journey-live-candidate__head>div{display:grid;gap:2px}.tzvt-journey-live-candidate__head span{font-size:10px;font-weight:800;color:#64748b;letter-spacing:.06em}.tzvt-journey-live-candidate__head b{font-size:13px}.tzvt-journey-live-candidate__head small{color:#64748b}.tzvt-journey-live-candidate__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tzvt-journey-live-candidate__actions button{background:#0f172a;color:#fff}.tzvt-journey-live-candidate__actions a{font-weight:800}.tzvt-journey-live-candidate__status{display:grid;gap:8px}.tzvt-journey-live-state,.tzvt-journey-live-empty{padding:11px 13px;border-radius:11px;border:1px solid rgba(15,23,42,.12);display:grid;gap:3px;background:#f8fafc}.tzvt-journey-live-state b,.tzvt-journey-live-empty b{font-size:12px}.tzvt-journey-live-state span,.tzvt-journey-live-empty span{font-size:12px;line-height:1.45;color:#475569}.tzvt-journey-live-state.is-running{border-color:rgba(220,38,38,.32);background:#fef2f2}.tzvt-journey-live-state.is-arrived{border-color:rgba(22,163,74,.28);background:#f0fdf4}.tzvt-journey-live-state.is-stale,.tzvt-journey-live-state.is-live-uncertain,.tzvt-journey-live-empty.is-error{border-color:rgba(217,119,6,.28);background:#fffbeb}.tzvt-journey-live-state.is-disabled{background:#f1f5f9}.tzvt-journey-live-state.is-loading{background:#eff6ff}.tzvt-journey-live-head{display:grid;gap:3px}
/* Journey-relative TTS truth in Travel Day. */
.tzvt-travel-day__segment{margin:10px 0 0;padding:11px 13px;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;display:grid;gap:3px}.tzvt-travel-day__segment b{font-size:12px;line-height:1.3;letter-spacing:.02em}.tzvt-travel-day__segment span{font-size:12px;line-height:1.45;color:#475569}.tzvt-travel-day__segment.is-running{border-color:rgba(220,38,38,.28);background:rgba(254,242,242,.9)}.tzvt-travel-day__segment.is-arrived{border-color:rgba(22,163,74,.24);background:rgba(240,253,244,.92)}.tzvt-travel-day__segment.is-before{border-color:rgba(37,99,235,.22);background:rgba(239,246,255,.92)}.tzvt-travel-day__segment.is-unknown{border-color:rgba(217,119,6,.25);background:rgba(255,251,235,.92)}
@media(max-width:720px){.tzvt-journey-live-launcher{grid-template-columns:1fr}.tzvt-journey-live-launcher>button{width:100%}.tzvt-journey-live-candidate__head{grid-template-columns:1fr}.tzvt-journey-live-candidate__actions{display:grid;grid-template-columns:1fr}.tzvt-journey-live-candidate__actions a{min-height:44px;display:flex;align-items:center}}

/* v10.22 — visitor-first Czech live tracker with a geographic map and current consist */
.tzvt-live-entry{margin:22px 0;padding:26px;border-radius:24px;background:linear-gradient(135deg,#082d37 0%,#0a4851 100%);color:#fff;box-shadow:0 18px 50px rgba(3,32,39,.18)}
.tzvt-live-entry__copy{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.tzvt-live-entry__copy span,.tzvt-live-tracker-search label>span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tzvt-live-entry__copy h2{margin:5px 0 7px;color:#fff;font-size:clamp(24px,3vw,38px)}.tzvt-live-entry__copy p{max-width:720px;margin:0;color:#cae5e5;line-height:1.55}.tzvt-live-entry form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;max-width:620px;margin-top:20px}.tzvt-live-entry input,.tzvt-live-entry button{min-height:54px;border-radius:13px;font:inherit}.tzvt-live-entry input{border:1px solid rgba(255,255,255,.28);padding:0 16px;background:rgba(255,255,255,.11);color:#fff;font-weight:800}.tzvt-live-entry input::placeholder{color:#bdd4d5}.tzvt-live-entry button{border:0;padding:0 20px;background:#fff;color:#083640;font-weight:900;cursor:pointer}

.tzvt-live-tracker-page{display:grid;gap:20px}.tzvt-live-tracker-search{padding:18px;border:1px solid #dbe7e4;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(11,62,54,.07)}.tzvt-live-tracker-search form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:11px;align-items:end}.tzvt-live-tracker-search label{display:grid;gap:7px}.tzvt-live-tracker-search label>span{color:#325b51}.tzvt-live-tracker-search input{width:100%;min-height:54px;border:1px solid #c9d9d5;border-radius:12px;padding:0 15px;background:#f8fbfa;color:#102f29;font:inherit;font-size:18px;font-weight:850}.tzvt-live-tracker-search button{min-height:54px;border:0;border-radius:12px;padding:0 20px;background:#087f68;color:#fff;font:inherit;font-weight:900;cursor:pointer}.tzvt-live-tracker-search button:disabled{opacity:.65;cursor:wait}.tzvt-live-tracker-popular{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:13px}.tzvt-live-tracker-popular>span{margin-right:3px;color:#6c7d78;font-size:11px;font-weight:750}.tzvt-live-tracker-popular button{min-width:42px;min-height:36px;border:1px solid #d5e3df;border-radius:999px;padding:0 11px;background:#f7faf9;color:#1b5346;font-size:12px}.tzvt-live-tracker-popular button.is-active{border-color:#087f68;background:#e8f6f2;color:#075e4e}
.tzvt-live-tracker-result{min-height:250px}.tzvt-live-tracker-empty,.tzvt-live-tracker-loading,.tzvt-live-tracker-error{display:grid;place-items:center;gap:7px;min-height:250px;padding:30px;border:1px dashed #cddbd7;border-radius:20px;background:#f8fbfa;text-align:center}.tzvt-live-tracker-empty>span,.tzvt-live-tracker-error>span{font-size:34px}.tzvt-live-tracker-empty b,.tzvt-live-tracker-error b{font-size:20px;color:#173e34}.tzvt-live-tracker-empty p,.tzvt-live-tracker-error p{margin:0;color:#6b7a75}.tzvt-live-tracker-loading .tzvt-spinner{width:34px;height:34px}
.tzvt-live-tracker-grid{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(480px,1.28fr);gap:16px}.tzvt-live-tracker-status,.tzvt-live-tracker-map{min-width:0;border-radius:22px;overflow:hidden}.tzvt-live-tracker-status{padding:24px;background:linear-gradient(155deg,#082e38,#0c4d55);color:#fff;box-shadow:0 16px 40px rgba(4,43,51,.17)}.tzvt-live-tracker-status__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tzvt-live-tracker-status__top>span{font-size:12px;font-weight:950;letter-spacing:.12em}.tzvt-live-now{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;background:#e22635;color:#fff;font-size:10px;font-style:normal;font-weight:950;letter-spacing:.08em}.tzvt-live-now:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.16)}.tzvt-live-now.is-ended{background:#667085}.tzvt-live-now.is-ended:before{box-shadow:none}.tzvt-live-tracker-status h2{margin:28px 0 4px;color:#fff;font-size:clamp(25px,3vw,38px);line-height:1.1}.tzvt-live-tracker-status>p{margin:0;color:#bcd8d8}.tzvt-live-route{margin-top:18px;color:#e7f5f2;font-weight:800}.tzvt-live-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.tzvt-live-facts>div{display:grid;gap:3px;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08)}.tzvt-live-facts small{color:#abc9c8;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.tzvt-live-facts b{color:#fff;font-size:12px;line-height:1.4}.tzvt-live-updated{display:flex;align-items:center;gap:8px;margin-top:20px;color:#bcd6d5;font-size:11px}.tzvt-live-updated>span{width:8px;height:8px;border-radius:50%;background:#37d399;box-shadow:0 0 0 5px rgba(55,211,153,.14)}
.tzvt-live-tracker-map{position:relative;min-height:520px;border:1px solid #cfe0db;background:#e8f1ee;box-shadow:0 16px 40px rgba(20,76,66,.12)}.tzvt-real-map-wrap{margin:16px 0;border:1px solid #d3e2de;border-radius:18px;overflow:hidden;background:#e9f2ef}.tzvt-real-train-map{width:100%;min-height:520px;background:#e9f2ef}.tzvt-real-map-wrap .tzvt-real-train-map{min-height:460px}.tzvt-live-map-caption{position:absolute;z-index:500;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid rgba(255,255,255,.3);border-radius:13px;background:rgba(7,44,52,.92);color:#fff;backdrop-filter:blur(10px)}.tzvt-live-map-caption b{font-size:13px}.tzvt-live-map-caption span{color:#c8dddd;font-size:11px;text-align:right}.tzvt-real-map-empty{display:grid;place-items:center;gap:10px;min-height:inherit;padding:20px;text-align:center;color:#345d53}.tzvt-real-map-empty button{min-height:42px;border:0;border-radius:9px;padding:0 14px;background:#087f68;color:#fff;font-weight:850}.tzvt-live-train-icon{background:transparent!important;border:0!important}.tzvt-live-train-icon>b{position:absolute;z-index:2;left:7px;top:7px;display:grid;place-items:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;background:#e22635;font-size:18px;box-shadow:0 4px 15px rgba(0,0,0,.3)}.tzvt-live-train-icon>em{position:absolute;z-index:3;right:-8px;top:1px;min-width:21px;padding:2px 5px;border-radius:999px;background:#fff;color:#173f36;font-size:9px;font-style:normal;font-weight:950;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}.tzvt-live-train-icon__pulse{position:absolute;left:5px;top:5px;width:38px;height:38px;border-radius:50%;background:rgba(226,38,53,.35);animation:tzvtLivePulse 1.8s ease-out infinite}@keyframes tzvtLivePulse{0%{transform:scale(.8);opacity:.8}100%{transform:scale(1.8);opacity:0}}.tzvt-real-train-map .leaflet-control-container,.tzvt-real-train-map .leaflet-pane{font-family:inherit}.tzvt-real-train-map .leaflet-popup-content{line-height:1.45}
.tzvt-live-consist{margin-top:18px;padding:20px;border:1px solid #d9e5e1;border-radius:19px;background:#fff;box-shadow:0 11px 30px rgba(11,62,54,.06)}.tzvt-live-consist__head{display:flex;align-items:end;justify-content:space-between;gap:15px}.tzvt-live-consist__head span{color:#087f68;font-size:10px;font-weight:950;letter-spacing:.12em}.tzvt-live-consist__head h2{margin:3px 0 0;color:#173e34;font-size:20px}.tzvt-live-consist__head>small{color:#6e7d78}.tzvt-live-consist__rail{position:relative;display:flex;gap:7px;margin-top:17px;padding:0 3px 17px;overflow-x:auto;scrollbar-width:thin}.tzvt-live-consist__rail:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:3px;background:linear-gradient(#8b9692 0 33%,transparent 33% 66%,#8b9692 66%);pointer-events:none}.tzvt-consist-car{position:relative;z-index:1;display:grid;grid-template-rows:auto 30px auto auto;place-items:center;flex:0 0 138px;min-height:145px;padding:10px 8px;border:2px solid #bfd1cc;border-radius:12px;background:#f5f9f8;text-align:center}.tzvt-consist-car:before,.tzvt-consist-car:after{content:"";position:absolute;bottom:-9px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#52605c}.tzvt-consist-car:before{left:22px}.tzvt-consist-car:after{right:22px}.tzvt-consist-car>small{color:#788680;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tzvt-consist-car>span{font-size:22px}.tzvt-consist-car>b{color:#183e34;font-size:10px;line-height:1.3}.tzvt-consist-car>em{color:#65766f;font-size:8px;font-style:normal;line-height:1.3}.tzvt-consist-car.is-loco{border-color:#087f68;background:#e7f6f1}.tzvt-consist-car.is-sleeper{border-color:#6b78aa;background:#f2f4ff}.tzvt-consist-car.is-dining{border-color:#d19a37;background:#fff8e8}
.tzvt-live-stops{margin-top:15px;border:1px solid #d9e5e1;border-radius:15px;background:#fff;overflow:hidden}.tzvt-live-stops summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:55px;padding:0 17px;color:#244e42;font-weight:850;cursor:pointer}.tzvt-live-stops summary b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#e8f4f0;color:#08715c}.tzvt-live-stops>div{display:grid;padding:0 17px 16px}.tzvt-live-stops>div>div{display:grid;grid-template-columns:18px 1fr auto;gap:9px;align-items:center;min-height:38px;border-top:1px solid #edf2f0}.tzvt-live-stops>div>div>span{width:10px;height:10px;border:2px solid #9fb4ae;border-radius:50%;background:#fff}.tzvt-live-stops>div>div.is-passed>span{border-color:#087f68;background:#087f68}.tzvt-live-stops>div>div.is-current>span{border-color:#e22635;background:#e22635;box-shadow:0 0 0 5px rgba(226,38,53,.12)}.tzvt-live-stops b{font-size:11px;color:#294c43}.tzvt-live-stops em{color:#73827d;font-size:10px;font-style:normal}.tzvt-live-tracker-actions{display:flex;justify-content:flex-end;margin-top:13px}.tzvt-live-tracker-actions a{display:inline-flex;align-items:center;min-height:44px;font-weight:900;text-decoration:none}.tzvt-live-tracker-links{margin-top:20px}
/* The public page is for travellers; internal source/audit panels stay in wp-admin. */
.tzvt-live-source-caveat,[data-tzvt-live-capabilities],.tzvt-exact-feed-state{display:none!important}
.tzvt-live-position-label{display:block;margin-top:26px;color:#65e1ba;font-size:10px;font-weight:950;letter-spacing:.12em}.tzvt-live-position-label+h2{margin-top:7px}.tzvt-real-train-map .tzvt-map-station-label{padding:2px 5px;border:1px solid rgba(8,127,104,.35);border-radius:5px;background:rgba(255,255,255,.92);box-shadow:0 2px 7px rgba(15,23,42,.14);color:#173e34;font-size:9px;font-weight:750;line-height:1.15;white-space:nowrap}.tzvt-real-train-map .tzvt-map-station-label:before{display:none}.tzvt-real-train-map .tzvt-map-station-label.is-important{border-color:#087f68;background:#fff;color:#075d4e;font-weight:950}.tzvt-live-consist.is-unavailable{background:#f9fbfa}.tzvt-live-consist__head p{margin:6px 0 0;color:#60736b;font-size:12px}.tzvt-consist-retry{flex:0 0 auto;padding:10px 14px;border:1px solid #087f68;border-radius:10px;background:#087f68;color:#fff;font-size:12px;font-weight:850;cursor:pointer}.tzvt-consist-retry:disabled{opacity:.65;cursor:wait}.tzvt-live-consist__known{display:grid;gap:4px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#edf7f3;color:#244e42}.tzvt-live-consist__known small{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tzvt-live-consist__known b{font-size:13px}.tzvt-live-consist__known span{color:#62756d;font-size:10px}
@media(max-width:900px){.tzvt-live-tracker-grid{grid-template-columns:1fr}.tzvt-live-tracker-map,.tzvt-real-train-map{min-height:460px}.tzvt-live-entry__copy{display:grid}}
@media(max-width:620px){.tzvt-live-entry{padding:19px;border-radius:18px}.tzvt-live-entry form,.tzvt-live-tracker-search form{grid-template-columns:1fr}.tzvt-live-entry button,.tzvt-live-tracker-search button{width:100%}.tzvt-live-tracker-search{padding:14px}.tzvt-live-tracker-grid{gap:12px}.tzvt-live-tracker-status{padding:19px}.tzvt-live-facts{grid-template-columns:1fr}.tzvt-live-tracker-map,.tzvt-real-train-map,.tzvt-real-map-wrap .tzvt-real-train-map{min-height:390px}.tzvt-live-map-caption{left:9px;right:9px;bottom:9px;display:grid}.tzvt-live-map-caption span{text-align:left}.tzvt-live-consist{padding:16px}.tzvt-live-consist__head{display:grid}.tzvt-consist-car{flex-basis:126px}.tzvt-live-tracker-actions a{width:100%;justify-content:center}}

/* v10.31 — veřejný rozcestník, jízdní řády a kategorie vlaků */
.tzvt-detail-section-nav{position:relative;z-index:1;display:flex;gap:8px;overflow-x:auto;margin:14px 0 2px;padding:10px;border:1px solid #dbe8e4;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(18,63,53,.08);scrollbar-width:thin}.tzvt-detail-section-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;color:#1b5144;font-size:13px;font-weight:850;text-decoration:none}.tzvt-detail-section-nav a:hover{background:#eaf7f3;color:#08755e}
.tzvt-detail-return-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 12px}.tzvt-detail-return-nav.is-bottom{justify-content:space-between;margin:28px 0 4px;padding-top:18px;border-top:1px solid var(--tzvt-line)}.tzvt-detail-return-nav button,.tzvt-detail-return-nav a{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #cfe2dc;border-radius:999px;background:#fff;color:#155244;font:inherit;font-size:13px;font-weight:850;text-decoration:none;cursor:pointer}.tzvt-detail-return-nav button:hover,.tzvt-detail-return-nav a:hover{background:#eaf7f3;border-color:#9fcfc0;color:#08755e}
.tzvt-timetable-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.tzvt-timetable-actions>a{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;min-height:114px;padding:20px;border:1px solid #d9e7e2;border-radius:19px;background:#fff;color:#173f35;text-decoration:none;box-shadow:0 10px 26px rgba(18,63,53,.06)}.tzvt-timetable-actions>a.is-primary{border-color:#0f8067;background:linear-gradient(135deg,#0f6b56,#159778);color:#fff}.tzvt-timetable-actions>a>span{font-size:28px}.tzvt-timetable-actions b,.tzvt-timetable-actions small{display:block}.tzvt-timetable-actions b{font-size:17px}.tzvt-timetable-actions small{margin-top:5px;color:#6b7c76;line-height:1.45}.tzvt-timetable-actions .is-primary small{color:rgba(255,255,255,.78)}.tzvt-timetable-actions i{font-style:normal;font-size:22px}
.tzvt-timetable-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}.tzvt-timetable-route-grid>a{display:flex;flex-direction:column;gap:7px;min-height:88px;padding:15px;border:1px solid #dce8e4;border-radius:14px;background:#fbfdfc;color:#19483b;text-decoration:none}.tzvt-timetable-route-grid b{font-size:14px;line-height:1.45}.tzvt-timetable-route-grid b span{color:#109072}.tzvt-timetable-route-grid small{color:#687b74;font-size:11px}.tzvt-timetable-trains{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.tzvt-timetable-trains>a{display:inline-flex;align-items:center;min-height:43px;padding:0 15px;border:1px solid #cfe2dc;border-radius:999px;background:#f3faf7;color:#0e6f58;font-size:13px;font-weight:850;text-decoration:none}
.tzvt-train-types-featured{display:grid;grid-template-columns:1.1fr repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.tzvt-train-types-featured__intro,.tzvt-train-types-featured>article{padding:24px;border-radius:20px}.tzvt-train-types-featured__intro{background:linear-gradient(145deg,#102d36,#0f6b56);color:#fff}.tzvt-train-types-featured__intro .tzvt-eyebrow{color:#79e3c1}.tzvt-train-types-featured__intro h2{margin:7px 0 10px;color:#fff;font-size:26px}.tzvt-train-types-featured__intro p{margin:0;color:rgba(255,255,255,.78);line-height:1.6}.tzvt-train-types-featured>article{border:1px solid #d9e6e2;background:#fff;box-shadow:0 10px 26px rgba(18,63,53,.06)}.tzvt-train-types-featured>article>span,.tzvt-train-type-heading>span{display:inline-grid;place-items:center;min-width:46px;height:34px;padding:0 10px;border-radius:999px;background:#e8f6f1;color:#0e725a;font-size:11px;font-weight:950}.tzvt-train-types-featured h3{margin:14px 0 7px;font-size:21px}.tzvt-train-types-featured article p{color:#60716b;line-height:1.55}.tzvt-train-types-featured dl,.tzvt-train-types-grid dl{display:grid;gap:7px;margin:14px 0 0}.tzvt-train-types-featured dl>div,.tzvt-train-types-grid dl>div{display:grid;grid-template-columns:86px 1fr;gap:8px;padding-top:7px;border-top:1px solid #edf1ef}.tzvt-train-types-featured dt,.tzvt-train-types-grid dt{color:#71817b;font-size:10px;font-weight:850}.tzvt-train-types-featured dd,.tzvt-train-types-grid dd{margin:0;color:#29493f;font-size:11px;line-height:1.4}
.tzvt-train-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.tzvt-train-types-grid>article{padding:19px;border:1px solid #dce7e3;border-radius:16px;background:#fbfdfc}.tzvt-train-type-heading{display:flex;align-items:center;gap:11px}.tzvt-train-type-heading h3{margin:0;font-size:18px}.tzvt-train-types-grid>article>p{min-height:72px;margin:12px 0 0;color:#60716b;font-size:12px;line-height:1.55}
.tzvt-live-consist.is-unavailable{border-style:dashed;background:#f7faf9}.tzvt-live-consist.is-unavailable .tzvt-live-consist__head{align-items:center}.tzvt-live-consist.is-unavailable .tzvt-live-consist__head h2{font-size:24px}.tzvt-live-consist.is-unavailable .tzvt-live-consist__head p{max-width:620px}
@media(max-width:980px){.tzvt-timetable-actions,.tzvt-timetable-route-grid,.tzvt-train-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-train-types-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.tzvt-train-types-featured__intro{grid-column:1/-1}}
@media(max-width:640px){.tzvt-detail-section-nav{margin-left:-4px;margin-right:-4px;border-radius:13px}.tzvt-timetable-actions,.tzvt-timetable-route-grid,.tzvt-train-types-featured,.tzvt-train-types-grid{grid-template-columns:1fr}.tzvt-train-types-featured__intro{grid-column:auto}.tzvt-train-types-grid>article>p{min-height:0}.tzvt-bangkok-seo-terminals,.tzvt-bangkok-seo-routes{grid-template-columns:1fr}}

/* v10.32 — praktické údaje k nákupu; veřejně bez prázdného panelu řazení */
.tzvt-ticket-practical-notice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.tzvt-ticket-practical-notice>article{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:22px;border:1px solid #cde3dc;border-radius:20px;background:linear-gradient(145deg,#f7fcfa,#edf8f4);box-shadow:0 10px 26px rgba(18,63,53,.06)}.tzvt-ticket-practical-notice>article:first-child{border-color:#e3c46f;background:linear-gradient(145deg,#fffdf6,#fff7dc)}.tzvt-ticket-practical-notice__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;font-size:24px;box-shadow:0 6px 18px rgba(18,63,53,.09)}.tzvt-ticket-practical-notice small{display:block;color:#0e725a;font-size:10px;font-weight:950;letter-spacing:.09em}.tzvt-ticket-practical-notice>article:first-child small{color:#805d00}.tzvt-ticket-practical-notice h2{margin:6px 0 7px;color:#173f35;font-size:21px;line-height:1.2}.tzvt-ticket-practical-notice p{margin:0;color:#536962;font-size:13px;line-height:1.6}.tzvt-ticket-practical-notice strong{color:#173f35}
@media(max-width:980px){.tzvt-ticket-practical-notice{grid-template-columns:1fr}}
@media(max-width:640px){.tzvt-ticket-practical-notice>article{grid-template-columns:1fr;padding:18px}.tzvt-ticket-practical-notice__icon{width:42px;height:42px}}

/* v10.36.0 — planner: full-width result cards, stable rows and no overlapping sections */
.tzvt-detail-page>.tzvt-hub-subpages+.tzvt-planner-card{
  margin:18px 0 0;
  z-index:1;
}
.tzvt-detail-page .tzvt-planner-result,
.tzvt-detail-page .tzvt-journey-block,
.tzvt-detail-page .tzvt-train-results{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.tzvt-train-results{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:18px;
}
.tzvt-train-results-more{display:flex;justify-content:center;margin:16px 0 4px}.tzvt-train-results-more[hidden]{display:none!important}.tzvt-train-results-more button{appearance:none;border:1px solid #176b54;border-radius:999px;background:#eef9f5;color:#125a47;padding:11px 18px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.tzvt-train-results-more button:hover,.tzvt-train-results-more button:focus-visible{background:#176b54;color:#fff;outline:none}
.tzvt-train-result{
  width:100%;
  min-width:0;
  max-width:none;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(82px,110px) minmax(220px,.85fr) minmax(280px,1.35fr);
  gap:14px 18px;
  align-items:start;
  padding:20px;
}
.tzvt-train-result>*{
  grid-column:1/-1;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.tzvt-train-result__no{grid-column:1}
.tzvt-train-result__times{grid-column:2}
.tzvt-train-service-route{grid-column:3}
.tzvt-matrix-time-note,
.tzvt-train-terminal,
.tzvt-train-result__meta,
.tzvt-decision-badges,
.tzvt-stop-count-note,
.tzvt-train-result__service,
.tzvt-train-result__amenities,
.tzvt-schedule-strip,
.tzvt-train-result__service-note,
.tzvt-train-result__coaches,
.tzvt-booking-window,
.tzvt-train-result__actions,
.tzvt-fare-check-slot,
.tzvt-ticket-prep,
.tzvt-inline-live-slot{
  grid-column:1/-1;
  width:100%;
}
.tzvt-train-result__actions{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:stretch;
  gap:9px;
}
.tzvt-train-result__actions>a,
.tzvt-train-result__actions>button{
  flex:1 1 170px;
  min-width:0;
  justify-content:center;
  text-align:center;
}
.tzvt-train-result__meta,
.tzvt-decision-badges,
.tzvt-train-result__amenities{
  display:flex;
  flex-wrap:wrap;
}
@media(max-width:900px){
  .tzvt-train-result{
    grid-template-columns:minmax(78px,100px) minmax(0,1fr);
    padding:17px;
  }
  .tzvt-train-result__no{grid-column:1}
  .tzvt-train-result__times{grid-column:2}
  .tzvt-train-service-route{grid-column:1/-1}
}
@media(max-width:560px){
  .tzvt-detail-page>.tzvt-hub-subpages+.tzvt-planner-card{margin-top:14px}
  .tzvt-train-result{grid-template-columns:1fr;gap:12px;padding:15px}
  .tzvt-train-result__no,
  .tzvt-train-result__times,
  .tzvt-train-service-route{grid-column:1}
  .tzvt-train-result__times{flex-wrap:wrap}
  .tzvt-train-result__actions{display:grid;grid-template-columns:1fr}
  .tzvt-train-result__actions>a,
  .tzvt-train-result__actions>button{width:100%;min-width:0}
}

/* v10.40.0 — public-page containment, reliable station boards and clear province states */
.tzvt-detail-page{
  width:100%;
  max-width:1440px;
  min-width:0;
  overflow-x:clip;
}
.tzvt-detail-page,
.tzvt-detail-page *{box-sizing:border-box}
.tzvt-detail-page :where(section,article,header,footer,nav,div,dl,ul,li){min-width:0}
.tzvt-detail-page :where(h1,h2,h3,h4,p,a,b,span,small,dd,dt,li){
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* A→B detail: each endpoint gets the full row, so evidence never escapes the card. */
.tzvt-detail-route-endpoints{grid-template-columns:1fr}
.tzvt-detail-route-endpoints>.tzvt-detail-card,
.tzvt-detail-endpoint{width:100%;min-width:0;max-width:100%;overflow:hidden}
.tzvt-detail-endpoint__practical a,
.tzvt-route-detail__station-practical a{
  width:auto;
  max-width:100%;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.tzvt-bangkok-route-terminals{grid-template-columns:repeat(2,minmax(0,1fr))}
.tzvt-bangkok-route-terminals>*{min-width:0}
.tzvt-detail-card[data-tzvt-permalink-route]>.tzvt-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,1.25fr);
  gap:18px;
  align-items:start;
}
.tzvt-detail-route-dates{min-width:0;justify-content:flex-end}
.tzvt-detail-route-dates label{min-width:0;flex:1 1 150px}
.tzvt-detail-route-dates input,
.tzvt-detail-route-dates select,
.tzvt-detail-route-dates a{width:100%;max-width:100%}

/* Station board keeps useful server-rendered timetable rows while REST refreshes. */
.tzvt-detail-board .tzvt-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:end;
}
.tzvt-detail-board-date{display:grid;gap:5px;color:#53675e;font-size:11px;font-weight:850}
.tzvt-detail-board-date input{min-height:44px;max-width:210px;padding:8px 11px;border:1px solid #cbd8d1;border-radius:10px;background:#fff}
[data-tzvt-detail-station-board]{min-height:96px;transition:opacity .16s ease}
[data-tzvt-detail-station-board].is-loading{opacity:.68}
.tzvt-station-board-fallback{display:grid;gap:10px;padding:18px;border:1px solid #d6e7e1;border-radius:16px;background:#f8fcfa}
.tzvt-station-board-fallback>b{color:#173f35;font-size:16px}
.tzvt-station-board-fallback>span{color:#62756f;font-size:12px;line-height:1.5}
.tzvt-station-board-fallback>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tzvt-station-board-fallback a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dbe8e4;border-radius:11px;background:#fff;color:#174e40;text-decoration:none}
.tzvt-station-board-fallback a span{color:#647a72;font-size:11px;white-space:nowrap}
.tzvt-station-board-compact{display:grid;gap:0}
.tzvt-station-board-compact__status{display:grid;gap:4px;padding:15px 16px;border:1px solid #d4e7df;border-radius:14px;background:#eff9f5}
.tzvt-station-board-compact__status b{color:#124f3f;font-size:14px}
.tzvt-station-board-compact__status span{color:#587269;font-size:11px;line-height:1.45}
.tzvt-station-board-compact .tzvt-station-board-columns{padding:16px 0 0}
.tzvt-station-board-columns.has-one-column{grid-template-columns:1fr}
.tzvt-station-board-compact .tzvt-station-board-note{margin:12px 0 0}
.tzvt-station-board-compact__checked{display:block;margin-top:10px;color:#71817b;font-size:10px}
.tzvt-station-board-train>*{min-width:0}
.tzvt-station-board-train__actions button,
.tzvt-station-board-train__actions a{white-space:normal;text-align:center}

/* Province index: passenger rail is green; no direct train and construction stay white. */
.tzvt-province-index__grid a.is-passenger{
  border-color:#83c9b4;
  background:linear-gradient(135deg,#e8f8f2,#d9f1e9);
  box-shadow:0 8px 20px rgba(15,107,86,.08);
}
.tzvt-province-index__grid a.is-passenger b{color:#0b5d49}
.tzvt-province-index__grid a.is-passenger span{color:#27735f;font-weight:800}
.tzvt-province-index__grid a.is-construction,
.tzvt-province-index__grid a.is-no-direct{background:#fff;box-shadow:none}

@media(max-width:900px){
  .tzvt-detail-card[data-tzvt-permalink-route]>.tzvt-section-head{grid-template-columns:1fr}
  .tzvt-detail-route-dates{justify-content:flex-start}
  .tzvt-detail-board .tzvt-section-head{grid-template-columns:1fr;align-items:start}
  .tzvt-detail-board-date input{width:100%;max-width:100%}
  .tzvt-bangkok-route-terminals{grid-template-columns:1fr}
  .tzvt-station-board-train{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tzvt-station-board-train__actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:640px){
  .tzvt-detail-page{overflow-x:hidden}
  .tzvt-detail-route-dates{display:grid;grid-template-columns:1fr;width:100%}
  .tzvt-detail-route-dates label,.tzvt-detail-route-dates a{width:100%}
  .tzvt-station-board-fallback>div{grid-template-columns:1fr}
  .tzvt-station-board-columns{grid-template-columns:1fr;padding:12px 0 0}
  .tzvt-station-board-train{grid-template-columns:1fr}
  .tzvt-station-board-train__actions{grid-column:1}
}

/* v10.41.0 — readable planner results, aligned controls and route-detail cards */
.tzvt-planner{
  align-items:start;
}
.tzvt-planner>.tzvt-swap{
  align-self:start;
  margin-top:25px;
  margin-bottom:0;
}
.tzvt-train-result--next{
  border-width:2px;
  border-color:#15916b;
  box-shadow:0 12px 32px rgba(15,138,99,.16);
}
.tzvt-next-badge{
  grid-column:1/-1!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin:0 0 3px;
  padding:10px 16px;
  border-radius:11px;
  background:#0f8a63;
  color:#fff;
  font-size:12px;
  line-height:1.2;
  font-style:normal;
  font-weight:950;
  letter-spacing:.07em;
  white-space:normal;
}
.tzvt-train-result__duration{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
}
.tzvt-train-result__duration small{
  color:#60716b;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.tzvt-train-result__duration b{
  color:#152b25;
  font-size:13px;
}

/* A→B detail: full-width endpoints, 2×2 Bangkok terminals and stacked facts. */
.tzvt-detail-route-endpoints{
  display:grid;
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px;
}
.tzvt-detail-route-endpoints>.tzvt-detail-card{
  margin:0;
}
.tzvt-detail-page :where(h1,h2,h3,h4,p,b,span,small,dd,dt,li),
.tzvt-bangkok-route-terminals :where(small,b,span,a),
.tzvt-detail-endpoint__practical :where(small,b,a){
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.tzvt-detail-page a{
  overflow-wrap:break-word;
  word-break:normal;
}
.tzvt-bangkok-route-terminals{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
  gap:14px;
  margin-top:16px;
}
.tzvt-bangkok-route-terminals>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  min-width:0;
  padding:17px;
  border-radius:14px;
  text-align:left;
}
.tzvt-bangkok-route-terminals small{
  color:#567067;
  font-size:10px;
  line-height:1.4;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.tzvt-bangkok-route-terminals b{
  color:#183f34;
  font-size:15px;
  line-height:1.35;
}
.tzvt-bangkok-route-terminals span{
  color:#536861;
  font-size:12px;
  line-height:1.55;
}
.tzvt-bangkok-route-terminals a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-top:auto;
  color:#0f7357;
  font-size:11px;
  line-height:1.4;
  font-weight:900;
  text-align:left;
  text-decoration:none;
}
.tzvt-detail-endpoint__practical{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin:16px 0;
  padding-top:14px;
}
.tzvt-detail-endpoint__practical>div{
  display:grid;
  grid-template-columns:minmax(155px,.34fr) minmax(0,1fr);
  gap:15px;
  align-items:start;
  min-width:0;
  padding:13px 14px;
  border:1px solid #e0e9e5;
  border-radius:12px;
  background:#f8fcfa;
  text-align:left;
}
.tzvt-detail-endpoint__practical small{
  color:#276a56;
  font-size:10px;
  line-height:1.45;
  font-weight:950;
  letter-spacing:.05em;
}
.tzvt-detail-endpoint__practical b{
  color:#2c4c41;
  font-size:13px;
  line-height:1.55;
  font-weight:800;
}
.tzvt-detail-endpoint__practical a,
.tzvt-route-detail__station-practical a{
  overflow-wrap:break-word;
  word-break:normal;
}
@media(max-width:700px){
  .tzvt-bangkok-route-terminals{grid-template-columns:minmax(0,1fr)!important}
  .tzvt-detail-endpoint__practical>div{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media(max-width:640px){
  .tzvt-planner>.tzvt-swap{margin:0;align-self:center}
}

/* v10.42.0 — every A→B overlay uses full-width station cards and readable practical rows */
.tzvt-route-detail__stations{
  display:grid;
  grid-template-columns:minmax(0,1fr)!important;
  gap:18px;
}
.tzvt-route-detail__station{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:20px;
}
.tzvt-route-detail__station > .tzvt-route-detail__station-practical{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-content:stretch;
  gap:12px;
  width:100%;
  min-width:0;
  margin:16px 0 6px;
  padding:16px 0 0;
  border-top:1px solid #dbe6e1;
  text-align:left;
}
.tzvt-route-detail__station-practical-group{
  display:grid;
  grid-template-columns:minmax(150px,.24fr) minmax(0,1fr);
  gap:16px;
  width:100%;
  min-width:0;
  padding:14px 16px;
  border:1px solid #dce8e3;
  border-radius:13px;
  background:#f7fbf9;
  text-align:left;
}
.tzvt-route-detail__station-practical-group > small{
  align-self:start;
  color:#176b52;
  font-size:11px;
  line-height:1.45;
  font-weight:950;
  letter-spacing:.055em;
}
.tzvt-route-detail__station-practical-group > div{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:11px;
  min-width:0;
}
.tzvt-route-detail__station-practical-item{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  min-width:0;
  padding:0 0 11px;
  border-bottom:1px solid #e3ebe7;
  background:transparent;
  text-align:left;
}
.tzvt-route-detail__station-practical-item:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.tzvt-route-detail__station-practical-item > b{
  color:#24483c;
  font-size:14px;
  line-height:1.4;
}
.tzvt-route-detail__station-practical-item > span{
  color:#5d7069;
  font-size:12px;
  line-height:1.6;
}
.tzvt-route-detail__station-practical-item > a{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  width:auto;
  max-width:100%;
  margin-top:2px;
  color:#0f7357;
  font-size:11px;
  line-height:1.45;
  font-weight:900;
  text-decoration:none;
}
.tzvt-route-detail__station > .tzvt-route-detail__station-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}
@media(max-width:700px){
  .tzvt-route-detail__station{padding:15px}
  .tzvt-route-detail__station-practical-group{
    grid-template-columns:minmax(0,1fr);
    gap:7px;
    padding:13px;
  }
  .tzvt-route-detail__station > .tzvt-route-detail__station-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .tzvt-route-detail__station > .tzvt-route-detail__station-actions a{width:100%}
}

/* v10.43.0 — one shared endpoint layout for every route renderer */
.tzvt-route-detail__station-fact{
  display:grid;
  grid-template-columns:minmax(145px,.28fr) minmax(0,1fr);
  gap:16px;
  align-items:start;
  width:100%;
  min-width:0;
  text-align:left;
}
.tzvt-route-detail__station-fact > b,
.tzvt-route-detail__station-fact > span{
  min-width:0;
  text-align:left;
  overflow-wrap:normal;
  word-break:normal;
}
.tzvt-bangkok-route-terminals,
.tzvt-route-detail__terminals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px;
  width:100%;
  min-width:0;
}
.tzvt-bangkok-route-terminals > div,
.tzvt-route-detail__terminal{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  text-align:left;
}
.tzvt-bangkok-route-terminals > div > small,
.tzvt-bangkok-route-terminals > div > b,
.tzvt-bangkok-route-terminals > div > span,
.tzvt-route-detail__terminal > small,
.tzvt-route-detail__terminal > b,
.tzvt-route-detail__terminal > span{
  width:100%;
  min-width:0;
  text-align:left;
  overflow-wrap:normal;
  word-break:normal;
}
@media(max-width:700px){
  .tzvt-route-detail__station-fact{grid-template-columns:minmax(0,1fr);gap:3px}
  .tzvt-bangkok-route-terminals,
  .tzvt-route-detail__terminals{grid-template-columns:minmax(0,1fr)!important}
}

/* v10.44.0 — one readable flow for practical information on every public detail page. */
.tzvt-practical-grid,
.tzvt-station-practical-evidence__grid,
.tzvt-route-detail__stations,
.tzvt-detail-route-endpoints{
  grid-template-columns:minmax(0,1fr)!important;
}
.tzvt-practical-grid,
.tzvt-station-practical-evidence__grid,
.tzvt-practical-group,
.tzvt-practical-item,
.tzvt-station-practical-group,
.tzvt-station-practical-group section,
.tzvt-route-detail__station,
.tzvt-detail-card{
  min-width:0;
  max-width:100%;
  text-align:left;
}
.tzvt-practical-grid :where(h2,h3,h4,p,b,span,small,a),
.tzvt-station-practical-evidence :where(h2,h3,h4,p,b,span,small,a),
.tzvt-route-detail__stations :where(h2,h3,h4,p,b,span,small,a){
  text-align:left;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.tzvt-practical-grid a,
.tzvt-station-practical-evidence a,
.tzvt-route-detail__stations a{
  overflow-wrap:break-word;
}

/* v10.46.0 — mobile visual safety: readable controls and notch-safe overlays. */
@media(max-width:640px){
  .tzvt-shell{
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
    padding-bottom:calc(40px + env(safe-area-inset-bottom));
  }
  .tzvt-smart-results{
    left:calc(12px + env(safe-area-inset-left));
    right:calc(12px + env(safe-area-inset-right));
  }
  .tzvt-smart-option{min-height:48px}
  .tzvt-smart-option__body small{font-size:11px}
  .tzvt-smart-option__kind{font-size:10px}
  .tzvt-station-board-train__actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    gap:8px;
  }
  .tzvt-station-board-train__actions button,
  .tzvt-station-board-train__actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:9px 11px;
    font-size:11px;
    line-height:1.3;
  }
  .tzvt-station-board-nearest{font-size:10px!important;line-height:1.35}
  .tzvt-live-tracker-popular button,
  .tzvt-real-map-empty button,
  .tzvt-consist-retry,
  .tzvt-detail-return-nav button,
  .tzvt-detail-return-nav a,
  .tzvt-detail-section-nav a,
  .tzvt-timetable-trains>a,
  .tzvt-warning-card .tzvt-detail-primary{min-height:44px}
  .tzvt-date-shortcuts button,
  .tzvt-trip-draft__empty-state button{
    min-height:44px;
    font-size:12px;
    line-height:1.3;
  }
  .tzvt-index-card>a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .tzvt-guide-hub__grid>a>span,
  .tzvt-guide-rule>span,
  .tzvt-guide-trains>article>div:first-child>span,
  .tzvt-guide-trains__badges>span,
  .tzvt-guide-service-types>article>span{
    font-size:10px;
    line-height:1.3;
  }
  .tzvt-guide-hub__grid>a>small,
  .tzvt-guide-rule p,
  .tzvt-guide-rule small,
  .tzvt-guide-class-grid p,
  .tzvt-guide-trains>article>p,
  .tzvt-guide-next__grid span,
  .tzvt-guide-service-types p,
  .tzvt-guide-live-boundary p{
    font-size:11px;
    line-height:1.5;
  }
  .tzvt-guide-rule a,
  .tzvt-guide-trains__actions a,
  .tzvt-guide-transfer-actions>a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:11px;
  }
  .tzvt-detail-card a[href^="tel:"]{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .tzvt-bangkok-route-terminals>div>a,
  .tzvt-route-detail__terminal>a,
  .tzvt-route-detail__station-practical-item>a,
  .tzvt-route-detail__station-actions>a,
  .tzvt-route-detail__coach>a,
  .tzvt-route-train-table__actions>a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .tzvt-route-train-table__head small,
  .tzvt-route-train-table__rows small{
    font-size:10px;
    line-height:1.3;
  }
  .tzvt-route-train-table__head span,
  .tzvt-route-train-table__rows span,
  .tzvt-route-train-table__note{
    font-size:11px;
    line-height:1.5;
  }
  .tzvt-route-train-table__rows b{
    font-size:12px;
    line-height:1.4;
  }
  .tzvt-route-train-table__badges span{
    font-size:10px;
    line-height:1.3;
  }
  .tzvt-route-train-table__actions>a{
    padding:8px 10px;
    font-size:11px;
    line-height:1.3;
  }
  .tzvt-detail-facts article a,
  .tzvt-detail-stoplist b>a,
  .tzvt-timeline__actions button{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  .tzvt-real-train-map .leaflet-control-zoom a{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    line-height:44px;
  }
  .tzvt-train-calendar-day__facts small,
  .tzvt-train-detail__live>span{
    font-size:10px;
    line-height:1.3;
  }
}
