:root{--td-card-pad-x:1.5rem;--td-card-pad-y:1.25rem;--td-card-pad-bottom:1.5rem;--td-section-gap:2rem;--td-card-radius:var(--trains-radius-lg,var(--z-card-radius,20px))}.td-block-inner{width:100%;max-width:none;margin:0;padding:0 var(--td-card-pad-x);box-sizing:border-box}.transport-detail-page{padding-bottom:0;overflow-x:clip}.catalog-page-inner.transport-detail-page{max-width:1340px;padding-left:24px;padding-right:24px}.transport-detail-page>section,.transport-detail-page>.td-stops-section,.transport-detail-page>.transport-rules-section,.transport-detail-page>.seo-about,.transport-detail-page>.trains-section-head,.transport-detail-page>.connection-legs-section,.transport-detail-page>.connection-stops-section,.transport-detail-page>.td-route-map-section,.transport-detail-page>.trains-change-route,.transport-detail-page>.trains-alternatives-section,.transport-detail-page>.trains-prices-section,.transport-detail-page>.trains-nearby-section,.transport-detail-page>.trains-bus-alt-schedule,.transport-detail-page>.trains-shared-rides-section,.transport-detail-page>.trains-transfer-section,.transport-detail-page>.td-useful-rules-row,.transport-detail-page.trip-detail-page>.trip-detail-section,.transport-detail-page.trip-detail-page>.td-map-section{margin-top:0;margin-bottom:var(--td-section-gap)}.transport-detail-page>.td-hero__actions--standalone{margin-bottom:1.25rem}.transport-detail-page>.seo-about--inset{width:100%;margin-left:0;margin-right:0;margin-bottom:var(--td-section-gap);border-radius:var(--td-card-radius);border:1px solid var(--trains-border,var(--buses-border,#e2e8f0));box-shadow:var(--trains-card-shadow,0 2px 12px rgba(15,23,42,0.07));overflow:hidden}.transport-detail-page .seo-about--inset .seo-about__intro{padding:clamp(1.75rem,3vw,2.5rem) 0}.transport-detail-page .seo-about--inset .seo-about__faq-wrap{padding:clamp(1.75rem,3vw,2.5rem) 0}.transport-detail-page .seo-about--inset .seo-about__pillars{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.transport-detail-page .seo-about--inset .seo-about__pillar{padding:1.35rem 1.25rem}.transport-detail-page .seo-about--inset .seo-about__faq-list{max-width:none;width:100%}.transport-detail-page .seo-about--inset .seo-faq-card__toggle{padding:14px 18px}.transport-detail-page .seo-about--inset .seo-faq-card__answer{padding:0 18px 16px 64px}.transport-detail-page>.transport-rules-section--page-foot{margin-top:0;margin-bottom:0}.transport-detail-page>.connection-bottom-crumbs{margin:0;padding-top:1rem;border-top:1px solid var(--trains-border,rgba(15,23,42,0.1))}.connection-bottom-crumbs .breadcrumb{padding:0!important;margin:0!important;max-width:none!important;font-size:0.64rem;justify-content:flex-start}@media (max-width:768px){:root{--td-card-pad-x:0.85rem;--td-card-pad-y:0.75rem;--td-card-pad-bottom:1rem;--td-section-gap:1.5rem}.catalog-page-inner.transport-detail-page{padding-left:14px;padding-right:14px}.transport-detail-page .seo-about--inset .seo-about__pillar{padding:1rem 0.85rem}.transport-detail-page .seo-about--inset .seo-faq-card__answer{padding:0 14px 14px 14px}}.td-hero{position:relative;border-radius:var(--td-card-radius);overflow:hidden;margin-bottom:var(--td-section-gap);border:1px solid var(--trains-border,var(--buses-border,#e2e8f0));box-shadow:var(--trains-card-shadow,0 2px 12px rgba(15,23,42,0.07));background:var(--z-surface-white)}.td-hero__visual{position:relative;min-height:clamp(180px,28vw,260px);background-size:cover;background-position:center}.td-hero__visual::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,23,42,0.55) 0%,rgba(15,23,42,0.25) 45%,rgba(15,23,42,0.65) 100%)}.td-hero__visual::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,0.85) 0%,transparent 55%)}.td-hero__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem 1.5rem 1.5rem;color:var(--z-surface-white);z-index:1}.td-hero__mode-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,0.18);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.25);margin-bottom:0.75rem;line-height:1}.td-hero__mode-badge-icon{width:18px;height:18px;max-width:18px;max-height:18px;flex:0 0 18px;object-fit:contain;display:block;filter:brightness(0) invert(1);pointer-events:none}.td-hero__mode-badge-emoji{font-size:1.05rem;line-height:1;flex:0 0 auto;display:inline-block;pointer-events:none}.td-hero__route{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;margin-bottom:0.35rem}.td-hero__route h1{font-size:clamp(1.35rem,4vw,2rem);font-weight:800;margin:0;line-height:1.15;font-family:var(--font-heading,'Outfit',sans-serif);text-shadow:0 2px 12px rgba(0,0,0,0.35)}.td-hero__arrow{opacity:0.85;flex-shrink:0}.td-hero__region{font-size:0.9rem;opacity:0.88;margin:0 0 1rem}.td-hero__stats{display:flex;flex-wrap:wrap;gap:8px}.td-hero__stat{display:inline-flex;align-items:center;gap:6px;font-size:0.78rem;font-weight:600;padding:6px 12px;border-radius:10px;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.2);backdrop-filter:blur(6px)}.td-hero__stat strong{font-weight:800}.td-hero__vehicle{position:absolute;right:1rem;bottom:1rem;width:clamp(72px,14vw,110px);height:auto;opacity:0.92;filter:drop-shadow(0 8px 20px rgba(0,0,0,0.35));z-index:2;pointer-events:none}.td-hero__vehicle--dual{display:flex;gap:6px;width:auto}.td-hero__vehicle--dual img{width:clamp(56px,10vw,72px);height:auto}.td-hero__actions{display:flex;flex-wrap:wrap;gap:10px;padding:var(--td-card-pad-y) var(--td-card-pad-x) var(--td-card-pad-bottom);border-top:1px solid var(--trains-border,var(--buses-border,#e2e8f0));background:var(--z-surface-white)}.td-hero__actions .btn{font-size:0.85rem;padding:0.55rem 1rem}.td-hero__actions--standalone{margin-top:-0.35rem;padding:0;border:none;background:transparent;box-shadow:none}.td-stops-section{margin-bottom:1.5rem}.td-stops-card{background:var(--z-surface-white);border:1px solid var(--trains-border,var(--buses-border,#e2e8f0));border-radius:var(--td-card-radius);box-shadow:var(--trains-card-shadow,var(--buses-card-shadow,0 2px 12px rgba(0,0,0,0.07)));padding:var(--td-card-pad-y) var(--td-card-pad-x) var(--td-card-pad-bottom)}.td-stops-card--route{padding:var(--td-card-pad-y) var(--td-card-pad-x) var(--td-card-pad-bottom)}.td-stops-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0.85rem}.td-stops-head--center{flex-direction:column;align-items:center;text-align:center;gap:0.55rem;margin-bottom:1rem}.td-stops-head--center .td-stops-note{max-width:36rem;margin:0.15rem 0 0}.td-stops-route-title{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-0.02em;color:var(--buses-text,#0f172a);line-height:1.3}.td-stops-head__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.td-stops-count-badge{font-size:0.72rem;font-weight:700;color:var(--buses-text-muted,var(--z-text-secondary));background:rgba(15,23,42,0.05);padding:4px 10px;border-radius:999px;white-space:nowrap}.td-stops-distance{font-size:0.72rem;font-weight:700;color:var(--buses-accent,#e76f51);background:rgba(231,111,81,0.1);padding:4px 10px;border-radius:999px;white-space:nowrap}.td-stops-head h2{font-size:1rem;font-weight:800;margin:0;color:var(--buses-text,#0f172a)}.td-stops-variant{font-size:0.72rem;font-weight:700;color:var(--buses-primary,#1a73e8);background:rgba(26,115,232,0.08);padding:4px 10px;border-radius:999px}.td-stops-rail-panel{background:linear-gradient(180deg,rgba(26,115,232,0.04) 0%,rgba(231,111,81,0.03) 100%);border:1px solid rgba(26,115,232,0.1);border-radius:14px;padding:1.1rem 0.75rem 0.65rem}.td-stops-scroll{width:100%;overflow-x:auto;display:flex;justify-content:center;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding:0 0.25rem 0.35rem}.td-stops-rail-hint{margin:0.35rem 0 0;text-align:center;font-size:0.62rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--buses-text-dim,#94a3b8)}.td-stops-track{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.td-stops-track--route{display:inline-flex;flex-shrink:0;align-items:flex-start;justify-content:center;margin:0 auto;overflow:visible;padding-bottom:4px}.td-stops-track--route .td-stop{min-width:78px;max-width:108px}.td-stops-track--route .td-stop__dot{width:20px;height:20px;border-width:3px;margin-bottom:8px;box-shadow:0 0 0 4px var(--z-surface-white),0 2px 8px rgba(26,115,232,0.18)}.td-stops-track--route .td-stop--origin .td-stop__dot,.td-stops-track--route .td-stop--dest .td-stop__dot{width:22px;height:22px;box-shadow:0 0 0 4px var(--z-surface-white),0 2px 10px rgba(231,111,81,0.28)}.td-stops-track--route .td-stop__name{font-size:0.72rem;font-weight:700;line-height:1.3}.td-stop__role{display:block;margin-bottom:4px;font-size:0.58rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--buses-accent,#e76f51);line-height:1}.td-stop--dest .td-stop__role{color:var(--buses-primary,#1a73e8)}.td-stop-leg--route{min-width:52px;max-width:68px;padding-top:10px}.td-stop-leg--route .td-stop-leg__track{height:20px}.td-stop-leg--route .td-stop-leg__chev{min-width:20px;height:20px;font-size:0.78rem}.td-stop-leg--route .td-stop-leg__km{margin-top:4px;font-size:0.64rem;font-weight:800;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,0.92);border:1px solid rgba(26,115,232,0.14);color:var(--buses-primary,#1a73e8)}.td-stop-leg{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:44px;max-width:56px;padding-top:4px;text-align:center}.td-stop-leg__track{position:relative;width:100%;height:18px;display:flex;align-items:center;justify-content:center}.td-stop-leg__line{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,var(--buses-accent,#e76f51) 0%,var(--buses-primary,#1a73e8) 55%,rgba(26,115,232,0.35) 100%);border-radius:2px}.td-stop-leg__chev{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 2px;font-size:0.72rem;font-weight:800;line-height:1;color:var(--z-surface-white);background:var(--buses-primary,#1a73e8);border-radius:999px;box-shadow:0 1px 4px rgba(26,115,232,0.35)}.td-stop-leg__km{margin-top:2px;font-size:0.58rem;font-weight:700;line-height:1.2;color:var(--buses-primary,#1a73e8);white-space:nowrap}.td-stop-leg__skip{margin-top:1px;font-size:0.52rem;font-weight:700;line-height:1.15;color:var(--buses-text-dim,#94a3b8)}.td-stop-leg--gap .td-stop-leg__line{background:repeating-linear-gradient(90deg,rgba(148,163,184,0.55) 0,rgba(148,163,184,0.55) 5px,transparent 5px,transparent 9px)}.td-stop-leg--gap .td-stop-leg__chev{background:var(--buses-text-dim,#94a3b8);box-shadow:none;font-size:0.62rem;letter-spacing:-0.04em}.td-stop-leg--gap .td-stop-leg__km{color:var(--buses-text-muted,var(--z-text-secondary))}.td-stop{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;min-width:72px;max-width:100px;text-align:center;position:relative}.td-stop__dot{width:18px;height:18px;border-radius:50%;background:var(--z-surface-white);border:3px solid var(--buses-primary,#1a73e8);position:relative;z-index:1;margin-bottom:6px}.td-stop:first-child .td-stop__dot,.td-stop:last-child .td-stop__dot{border-color:var(--buses-accent,#e76f51);background:var(--buses-accent,#e76f51)}.td-stop__name{font-size:0.68rem;font-weight:700;color:var(--buses-text,#0f172a);line-height:1.25;word-break:break-word}.td-stops-note{margin:0 0 0.75rem;font-size:0.76rem;line-height:1.45;color:var(--buses-text-muted,var(--z-text-secondary))}.td-stop--origin .td-stop__dot,.td-stop--dest .td-stop__dot{border-color:var(--buses-accent,#e76f51);background:var(--buses-accent,#e76f51)}.td-stop--major .td-stop__dot{border-width:3px;box-shadow:0 0 0 2px rgba(26,115,232,0.15)}.td-map-section{margin-bottom:1.5rem}.td-map-card{background:var(--z-surface-white);border:1px solid var(--buses-border,#e2e8f0);border-radius:var(--buses-radius,16px);box-shadow:var(--buses-card-shadow,0 2px 12px rgba(0,0,0,0.07));padding:var(--td-card-pad-y) var(--td-card-pad-x) var(--td-card-pad-bottom);overflow:hidden}.td-route-map{width:100%;height:min(340px,52vw);min-height:220px;border-radius:12px;overflow:hidden;z-index:0}.transport-detail-page .td-map-section .td-route-map{width:calc(100% + 2 * var(--td-card-pad-x));max-width:none;margin-left:calc(-1 * var(--td-card-pad-x));margin-right:calc(-1 * var(--td-card-pad-x));aspect-ratio:auto;height:min(380px,56vw);min-height:240px;max-height:none;border-radius:0}.td-route-map .leaflet-container,.td-route-map .leaflet-pane{width:100%;height:100%}.td-route-map .leaflet-container{font-family:inherit}.td-map-marker{background:transparent;border:none}.td-map-marker__pin{display:block;width:12px;height:12px;border-radius:50%;background:var(--z-action-blue);border:2px solid var(--z-surface-white);box-shadow:0 1px 6px rgba(0,0,0,0.25)}.td-map-marker--train .td-map-marker__pin{background:var(--z-action-blue)}.td-map-marker--bus .td-map-marker__pin{background:var(--z-amber-500)}.td-map-marker--origin .td-map-marker__pin,.td-map-marker--dest .td-map-marker__pin{width:14px;height:14px;background:var(--z-red-alert)}.td-map-marker--origin.td-map-marker--bus .td-map-marker__pin,.td-map-marker--dest.td-map-marker--bus .td-map-marker__pin{background:var(--z-amber-600)}.td-map-marker--origin.td-map-marker--train .td-map-marker__pin,.td-map-marker--dest.td-map-marker--train .td-map-marker__pin{background:var(--z-red-alert)}.td-map-marker--pulse .td-map-marker__pin{animation:td-map-pulse 0.9s ease-in-out 2;box-shadow:0 0 0 4px rgba(26,115,232,0.35)}@keyframes td-map-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}.td-variant{margin-bottom:1.5rem}.td-variant-head{background:var(--z-surface-white);border:1px solid var(--buses-border,#e2e8f0);border-radius:var(--buses-radius,16px) var(--buses-radius,16px) 0 0;padding:var(--td-card-pad-y) var(--td-card-pad-x);border-bottom:none}.td-variant-head h3{font-size:1.05rem;font-weight:800;margin:0 0 0.5rem;color:var(--buses-text,#0f172a)}.td-variant-head__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:0.5rem 1rem;margin-bottom:0.35rem}.td-variant-head__top h3{margin:0;flex:1;min-width:0}.td-variant-detail-link{font-size:0.78rem;font-weight:700;color:var(--color-primary,#496275);text-decoration:none;white-space:nowrap}.td-variant-detail-link:hover{color:var(--color-accent,#EE6D8A)}.td-jump-chips{display:flex;flex-wrap:wrap;gap:0.5rem}.td-jump-chip{display:inline-flex;align-items:center;padding:0.35rem 0.75rem;border-radius:999px;font-size:0.78rem;font-weight:700;text-decoration:none;color:var(--z-teal-700);background:rgba(20,184,166,0.1);border:1px solid rgba(20,184,166,0.25)}.td-jump-chip:hover{background:rgba(20,184,166,0.18)}.td-hero--compact .td-hero__visual{min-height:clamp(140px,28vw,240px)}.td-hero--compact .td-hero__route h1{font-size:clamp(1.25rem,3.5vw,1.75rem)}.td-variant-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:0.78rem;color:var(--buses-text-dim,#64748b)}.td-variant-meta span{display:inline-flex;align-items:center;gap:4px}.td-variant-meta strong{color:var(--buses-text,#0f172a)}.td-bus-type-block{background:var(--z-surface-white);border:1px solid var(--buses-border,#e2e8f0);border-top:none;padding:0.85rem var(--td-card-pad-x) 1rem}.td-bus-type-block:last-child{border-radius:0 0 var(--buses-radius,16px) var(--buses-radius,16px)}.td-bus-type-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.65rem}.td-bus-type-label{font-size:0.82rem;font-weight:800;padding:4px 10px;border-radius:8px}.td-bus-type-label--normal{background:#fef9c3;color:#854d0e}.td-bus-type-label--semi_luxury{background:#dbeafe;color:#1e40af}.td-bus-type-label--luxury{background:#dcfce7;color:var(--z-green-800)}.td-bus-type-label--super_luxury{background:#fae8ff;color:#86198f}.td-bus-type-label--sltb{background:#e0e7ff;color:#3730a3}.td-bus-type-label--express{background:#ffedd5;color:#9a3412}.td-bus-type-label--other{background:var(--z-gray-100);color:var(--z-gray-600)}.td-time-grid{display:flex;flex-wrap:wrap;gap:8px}.td-time-chip{display:inline-flex;flex-direction:column;align-items:center;min-width:64px;padding:8px 10px;border-radius:10px;border:1px solid var(--buses-border,#e2e8f0);background:var(--z-surface-page);font-size:0.82rem;font-weight:700;color:var(--buses-text,#0f172a);cursor:default;transition:border-color 0.15s,box-shadow 0.15s}.td-time-chip--bookable{border-color:rgba(26,115,232,0.35);background:rgba(26,115,232,0.06)}.td-time-chip:hover{border-color:var(--buses-primary,#1a73e8);box-shadow:0 2px 8px rgba(26,115,232,0.12)}.td-time-chip__route{font-size:0.58rem;font-weight:800;letter-spacing:0.02em;color:var(--buses-primary,#1a73e8);margin-bottom:2px;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-time-chip__arr{font-size:0.65rem;font-weight:600;color:var(--buses-text-dim,#64748b);margin-top:2px}.td-time-chip__op{font-size:0.6rem;font-weight:600;color:var(--buses-text-dim,#64748b);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-schedule-stops-note{margin:-0.35rem 0 0.85rem;font-size:0.74rem;line-height:1.45;color:var(--buses-text-dim,#64748b)}.td-train-card{display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--z-surface-white);border:1px solid var(--buses-border,#e2e8f0);border-radius:12px;padding:var(--td-card-pad-y) var(--td-card-pad-x);box-shadow:var(--buses-card-shadow,0 1px 6px rgba(0,0,0,0.05));margin-bottom:8px;transition:box-shadow 0.2s}.td-train-card__main{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%}.td-train-card:hover{box-shadow:var(--buses-card-shadow-hover,0 4px 16px rgba(15,23,42,0.08))}.td-train-card__meta{flex:0 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:120px;max-width:100%}.td-train-card__number{font-size:0.72rem;font-weight:700;color:var(--buses-primary,#1a73e8)}.td-train-card__freq{font-size:0.65rem;font-weight:600;color:var(--buses-text-dim,#64748b);text-transform:uppercase;letter-spacing:0.03em}.td-train-card__route{flex:1 1 220px;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.td-train-card__point{display:flex;flex-direction:column;gap:1px;min-width:0}.td-train-card__point--dep{align-items:flex-start;text-align:left}.td-train-card__point--arr{align-items:flex-end;text-align:right}.td-train-card__time{font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--buses-text,#0f172a);line-height:1.1}.td-train-card__station{font-size:0.68rem;font-weight:600;color:var(--buses-text-dim,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.td-train-card__mid{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;color:var(--buses-primary,#1a73e8)}.td-train-card__duration{font-size:0.68rem;font-weight:700;white-space:nowrap}.td-train-card__arrow{font-size:0.85rem;font-weight:700;opacity:0.55;line-height:1}.td-train-card__classes{flex:0 1 auto;display:flex;flex-wrap:wrap;gap:4px;margin-left:auto;justify-content:flex-end}.td-train-card__name{font-size:0.95rem;font-weight:800;margin:0;color:var(--buses-text,#0f172a)}.td-train-card__label{font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--buses-text-dim,#64748b)}.td-train-card__line{width:48px;height:2px;background:linear-gradient(90deg,var(--buses-primary,#1a73e8),var(--buses-accent,#e76f51));border-radius:2px}.td-train-card__footer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--buses-border,#e2e8f0);text-align:center}.td-train-card__stops-label{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--buses-text-dim,#64748b)}.td-train-card__stops-hint{font-size:0.65rem;line-height:1.35;color:var(--buses-text-dim,#94a3b8);max-width:36rem}.td-train-card__stops-scroll{width:100%;overflow-x:auto;display:flex;justify-content:center;scrollbar-width:thin}.td-stops-track--card{display:inline-flex;justify-content:center;align-items:flex-end;flex-shrink:0;max-width:100%;margin:0 auto;padding-bottom:2px}.td-stops-track--card .td-stop{min-width:58px;max-width:84px}.td-stops-track--card .td-stop__name{font-size:0.58rem;font-weight:600;line-height:1.2;min-height:1.9em;display:flex;align-items:flex-end;justify-content:center}.td-stops-track--card .td-stop__time{display:block;margin-top:2px;font-size:0.7rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--buses-primary,#1a73e8);line-height:1.1;letter-spacing:-0.02em}.td-stops-track--card .td-stop--origin .td-stop__time,.td-stops-track--card .td-stop--dest .td-stop__time{color:var(--buses-accent,#e76f51)}.td-stops-track--card .td-stop-leg{min-width:40px;max-width:54px;padding-top:0;padding-bottom:0;margin-bottom:1px}.td-stops-track--card .td-stop-leg__track{height:14px;margin-bottom:0}.td-stops-track--card .td-stop-leg__chev{min-width:14px;height:14px;font-size:0.58rem}.td-stops-track--card .td-stop-leg__dur{display:block;margin-top:calc(1.9em + 6px);font-size:0.58rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--buses-text-muted,var(--z-text-secondary));white-space:nowrap;line-height:1.15;text-align:center}.td-stops-track--card .td-stop-leg--gap .td-stop-leg__dur{margin-top:calc(1.9em + 4px)}.td-stops-track--card .td-stop-leg--gap .td-stop-leg__dur{margin-top:calc(1.9em + 4px)}.td-stops-track--card .td-stop-leg__km{font-size:0.52rem}.td-stops-track--card .td-stop-leg__skip{font-size:0.48rem}.td-stops-track--card .td-stop__dot{width:12px;height:12px;border-width:2px;margin-bottom:4px}.td-bookable-section{margin-bottom:1.5rem}.td-bookable-banner{display:flex;align-items:center;gap:12px;padding:0.85rem 1rem;background:linear-gradient(135deg,rgba(26,115,232,0.08),rgba(26,115,232,0.02));border:1px solid rgba(26,115,232,0.2);border-radius:var(--buses-radius,16px);margin-bottom:12px}.td-bookable-banner p{margin:0;font-size:0.85rem;font-weight:600;color:var(--buses-text,#0f172a);flex:1}.td-travel-blurb{background:var(--z-surface-white);border:1px solid var(--buses-border,#e2e8f0);border-radius:var(--buses-radius,16px);padding:var(--td-card-pad-y) var(--td-card-pad-x);margin-bottom:1.5rem;box-shadow:var(--buses-card-shadow,0 2px 12px rgba(0,0,0,0.07))}.td-travel-blurb h2{font-size:1.05rem;font-weight:800;margin:0 0 0.5rem}.td-travel-blurb p{margin:0;font-size:0.88rem;line-height:1.6;color:var(--buses-text-dim,#64748b)}@media (max-width:640px){.td-train-card__main{flex-direction:column;align-items:stretch}.td-train-card__meta{min-width:0}.td-train-card__route{flex-basis:auto}.td-train-card__classes{margin-left:0;justify-content:flex-start}.td-train-card__station{max-width:none}.td-hero__vehicle{width:64px;opacity:0.75}}.connection-detail-page .connection-path-label{margin:0.35rem 0 0;font-size:0.95rem;opacity:0.92;font-weight:500}.connection-detail-actions{display:flex;flex-wrap:wrap;gap:0.65rem;margin-top:0;padding:0 var(--td-card-pad-x) var(--td-card-pad-y)}.connection-zbid-hint{font-size:0.88rem;color:var(--trains-text-dim,var(--buses-text-dim,#64748b));margin:0;padding:0 var(--td-card-pad-x) var(--td-card-pad-bottom);max-width:none;line-height:1.5}.transport-detail-page .travel-panel__group{padding:var(--td-card-pad-y) var(--td-card-pad-x) var(--td-card-pad-bottom);border-radius:var(--td-card-radius)}.transport-detail-page .travel-panel-page-head{margin-bottom:1.25rem}.trains-bus-fallback__option--link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color 0.15s,box-shadow 0.15s}.trains-bus-fallback__option--link:hover{border-color:rgba(26,115,232,0.45);box-shadow:0 4px 16px rgba(26,115,232,0.12)}.connection-stops-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem}.connection-section-card,.connection-timeline-card{background:var(--trains-card-bg,#fff);border:1px solid var(--trains-border,rgba(15,23,42,0.1));border-radius:var(--td-card-radius);padding:var(--td-card-pad-y) var(--td-card-pad-x) var(--td-card-pad-bottom);box-shadow:var(--trains-card-shadow,0 2px 12px rgba(15,23,42,0.07))}.connection-section-head{margin-bottom:1.25rem}.connection-section-head h2{margin:0 0 0.35rem;font-size:1.15rem;font-weight:800}.connection-section-sub{margin:0;font-size:0.95rem;line-height:1.5;color:var(--trains-text-dim,var(--buses-text-dim,#64748b));max-width:none}.connection-legs-section{margin:0 0 var(--td-section-gap)}.connection-legs-grid{display:flex;flex-direction:column;gap:1rem;width:100%}.connection-leg-card{border:1px solid rgba(22,163,74,0.22);border-radius:12px;padding:var(--td-card-pad-y) var(--td-card-pad-x);background:linear-gradient(135deg,rgba(22,163,74,0.04) 0%,rgba(255,255,255,1) 55%);width:100%;box-sizing:border-box}.connection-leg-card--bus{border-color:rgba(234,88,12,0.28);background:linear-gradient(135deg,rgba(234,88,12,0.05) 0%,rgba(255,255,255,1) 55%)}.connection-leg-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem 0.75rem;margin-bottom:0.55rem}.connection-leg-card__step{font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;color:var(--z-green-deep);background:rgba(22,163,74,0.12);padding:0.2rem 0.55rem;border-radius:999px}.connection-leg-card--bus .connection-leg-card__step{color:#c2410c;background:rgba(234,88,12,0.12)}.connection-leg-card__mode{font-size:0.82rem;font-weight:700}.connection-leg-card__svc-no{margin-left:0.35rem;padding:0.1rem 0.45rem;border-radius:4px;font-size:0.72rem;font-weight:800;color:var(--z-blue-800);background:rgba(29,78,216,0.1)}.connection-leg-card__services{font-size:0.75rem;color:var(--buses-text-dim,#64748b);margin-left:auto}.connection-leg-card__route{margin:0 0 0.85rem;font-size:1.05rem;font-weight:800;line-height:1.35}.connection-leg-card__route-link{color:var(--trains-primary,#15803d);text-decoration:none}.connection-leg-card__route-link:hover{text-decoration:underline}.connection-leg-card__planned-svc,.connection-transfer-card__planned-svc,.connection-journey-segment__planned-svc,.connection-journey-node__planned-svc{margin:0 0 0.75rem;padding:0.5rem 0.75rem;border-radius:8px;background:rgba(21,128,61,0.08);border:1px solid rgba(21,128,61,0.22);font-size:0.92rem;line-height:1.4}.connection-leg-card__planned-svc-label,.connection-transfer-card__planned-svc-label{color:var(--trains-text-dim,var(--z-text-secondary));margin-right:0.35rem}.connection-leg-card__planned-svc-value,.connection-transfer-card__planned-svc strong,.connection-journey-segment__planned-svc strong,.connection-journey-node__planned-svc strong{color:var(--trains-primary,#15803d);font-weight:800}.connection-leg-card__times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;margin:0;width:100%}.connection-leg-card__time-row{margin:0;padding:0.75rem 0.85rem;border-radius:10px;background:rgba(15,23,42,0.04);text-align:center;min-width:0}.connection-leg-card__time-row dt{margin:0 0 0.25rem;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--buses-text-dim,#64748b)}.connection-leg-card__time-row dd{margin:0;font-size:0.95rem}.connection-leg-card__time-row--highlight{background:rgba(22,163,74,0.1);border:1px solid rgba(22,163,74,0.18)}.connection-leg-card__time-row--highlight dd strong{font-size:1.05rem;color:var(--z-green-deep)}.connection-leg-card--bus .connection-leg-card__time-row--highlight{background:rgba(234,88,12,0.1);border-color:rgba(234,88,12,0.2)}.connection-leg-card--bus .connection-leg-card__time-row--highlight dd strong{color:#c2410c}.connection-leg-card__no-time{font-size:0.82rem;color:var(--buses-text-dim,#64748b)}.connection-leg-card__hint{margin:0.65rem 0 0;font-size:0.8rem;color:var(--buses-text-dim,#64748b);line-height:1.4}.connection-leg-card--no-schedule{padding:0.65rem 0.85rem}.connection-leg-card--no-schedule .connection-leg-card__head{margin-bottom:0.35rem}.connection-leg-card--no-schedule .connection-leg-card__route{margin-bottom:0.45rem;font-size:0.98rem}.connection-leg-card__meta-compact{display:flex;flex-wrap:wrap;align-items:center;gap:0.3rem 0.55rem;margin:0;padding:0.45rem 0.6rem;border-radius:8px;background:rgba(15,23,42,0.04);border:1px solid rgba(15,23,42,0.06);font-size:0.8rem;line-height:1.35}.connection-leg-card__meta-compact-duration{flex-shrink:0;font-size:0.82rem;color:var(--trains-text,#1e293b);white-space:nowrap}.connection-leg-card__meta-compact-duration strong{font-weight:800}.connection-leg-card__meta-compact-hint{flex:1 1 10rem;min-width:0;font-size:0.76rem;color:var(--buses-text-dim,#64748b)}.connection-leg-card__meta-compact-action{flex-shrink:0;margin-left:auto;font-size:0.8rem;font-weight:700;color:var(--trains-primary,#15803d);text-decoration:none;white-space:nowrap}.connection-leg-card__meta-compact-action:hover{text-decoration:underline}.connection-leg-card--bus.connection-leg-card--no-schedule .connection-leg-card__meta-compact-action{color:#c2410c}.connection-leg-card__foot{margin-top:0.75rem;padding-top:0.65rem;border-top:1px dashed rgba(15,23,42,0.12)}.connection-leg-card__schedule{font-size:0.85rem;font-weight:700;color:var(--trains-primary,#15803d);text-decoration:none}.connection-leg-card__schedule:hover{text-decoration:underline}.transport-svc-no{margin-left:0.4rem;padding:0.08rem 0.4rem;border-radius:4px;font-size:0.72rem;font-weight:800;color:var(--z-blue-800);background:rgba(29,78,216,0.1);white-space:nowrap}.connection-section-head--compact{margin-bottom:0.5rem}.connection-section-head--compact .connection-section-sub{display:none}.connection-transfer-card--compact{flex-direction:column;gap:0.35rem;padding:0.45rem 0.65rem}.connection-transfer-card__compact{display:flex;flex-wrap:wrap;align-items:center;gap:0.3rem 0.5rem;width:100%;font-size:0.8rem;line-height:1.35}.connection-transfer-card__compact-main{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0.25rem 0.4rem;min-width:0}.connection-transfer-card__compact-wait{flex-shrink:0}.connection-transfer-card__compact-time{font-size:0.88rem;font-weight:800}.connection-transfer-card__compact-station{font-weight:700;color:var(--trains-text,#1e293b)}.connection-transfer-card__compact-note,.connection-transfer-card__compact-next{font-size:0.76rem;color:var(--buses-text-dim,#64748b)}.connection-transfer-card__warning--solo{margin:0;padding:0.25rem 0 0;font-size:0.74rem;line-height:1.35}.connection-transfer-card{display:flex;gap:1rem;align-items:flex-start;padding:var(--td-card-pad-y) var(--td-card-pad-x);margin:0;width:100%;max-width:100%;box-sizing:border-box;border-left:3px solid var(--z-text-dim);border-radius:12px;background:rgba(148,163,184,0.1)}.connection-transfer-card__icon{font-size:1.1rem;line-height:1;color:var(--z-text-secondary);flex-shrink:0;margin-top:0.1rem}.connection-transfer-card__body{flex:1 1 auto;min-width:0;width:100%;max-width:100%}.connection-transfer-card__title{margin:0 0 0.5rem;font-weight:800;font-size:0.92rem;line-height:1.35;word-break:normal;overflow-wrap:break-word}.connection-transfer-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem 1.25rem;width:100%;margin-top:0.35rem}@media (min-width:560px){.connection-transfer-card__grid{grid-template-columns:minmax(6.5rem,auto) minmax(6.5rem,auto);justify-content:start}}.connection-transfer-card__cell{min-width:0}.connection-transfer-card__cell--full{grid-column:1 / -1}.connection-transfer-card__cell--full .connection-transfer-card__cell-value{display:block;width:100%;max-width:100%;font-size:0.86rem;font-weight:500;line-height:1.45;word-break:normal;overflow-wrap:break-word}.connection-transfer-card__cell-label{display:block;white-space:nowrap}.connection-transfer-card__cell-value{word-break:normal;overflow-wrap:break-word}.connection-transfer-card__extras{display:flex;flex-direction:column;align-items:flex-start;gap:0.4rem;width:100%;margin-top:0.45rem}.connection-transfer-card__extras .multimodal-timeline__conf-badge{max-width:100%}.connection-transfer-card__warning{display:block;width:100%;max-width:100%;margin:0;box-sizing:border-box;line-height:1.45;word-break:normal;overflow-wrap:break-word}.connection-transfer-card__meta{display:flex;flex-wrap:wrap;gap:0.75rem 1.5rem;margin:0}.connection-transfer-card__meta div{margin:0}.connection-transfer-card__meta dt{margin:0 0 0.15rem;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--buses-text-dim,#64748b)}.connection-transfer-card__meta dd{margin:0;font-size:0.92rem}.connection-stops-section{margin:0 0 var(--td-section-gap)}.connection-journey-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.connection-journey-node,.connection-journey-segment{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 1rem;padding-bottom:0.35rem}.connection-journey-node__marker{width:14px;height:14px;margin-top:0.35rem;margin-left:7px;border-radius:50%;background:var(--z-green-deep);box-shadow:0 0 0 4px rgba(22,163,74,0.18);z-index:1}.connection-journey-node__marker--hub{background:var(--z-text-secondary);box-shadow:0 0 0 4px rgba(100,116,139,0.2);border-radius:4px;width:12px;height:12px;margin-left:8px}.connection-journey-node__marker--dest{background:var(--z-blue-800);box-shadow:0 0 0 4px rgba(29,78,216,0.18)}.connection-journey-node__content,.connection-journey-segment__content{padding:0.85rem 1rem 1rem;margin-bottom:0.5rem;border-radius:12px;background:rgba(15,23,42,0.03);border:1px solid rgba(15,23,42,0.07);width:100%;box-sizing:border-box}.connection-stops-section--compact .connection-journey-node__content--compact,.connection-stops-section--compact .connection-journey-segment__content--compact{padding:0.45rem 0.65rem;margin-bottom:0.35rem}.connection-journey-node__line,.connection-journey-segment__mode{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.25rem 0.5rem;font-size:0.84rem;line-height:1.35}.connection-journey-node__line--transfer .connection-journey-node__name{margin:0;font-size:0.9rem}.connection-journey-node__meta{font-size:0.78rem;color:var(--buses-text-dim,#64748b)}.connection-journey-segment__inline{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.65rem;margin-top:0.2rem;font-size:0.78rem}.connection-journey-segment__content--compact .connection-journey-segment__link{font-size:0.76rem;font-weight:700}.connection-journey-node--hub .connection-journey-node__content{background:rgba(100,116,139,0.08);border-color:rgba(100,116,139,0.18)}.connection-journey-node--risky .connection-journey-node__content{background:rgba(239,68,68,0.06);border-color:rgba(239,68,68,0.18)}.connection-journey-node__marker--risky{background:var(--z-red-500)!important;box-shadow:0 0 0 3px rgba(239,68,68,0.18)!important}.connection-journey-node--dest .connection-journey-node__content{background:rgba(29,78,216,0.06);border-color:rgba(29,78,216,0.15)}.connection-journey-node__badge{display:inline-block;font-size:0.68rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;color:var(--z-green-deep);margin-bottom:0.25rem}.connection-journey-node__badge--transfer{color:var(--z-gray-600)}.connection-journey-node__badge--dest{color:var(--z-blue-800)}.connection-journey-node__name{margin:0 0 0.55rem;font-size:1.05rem;font-weight:800}.connection-journey-node__detail{display:flex;flex-wrap:wrap;gap:0.5rem 1.25rem;margin:0}.connection-journey-node__detail--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.65rem;width:100%}.connection-journey-node__detail div{margin:0}.connection-journey-node__detail dt{margin:0 0 0.2rem;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--buses-text-dim,#64748b)}.connection-journey-node__detail dd{margin:0;font-size:0.95rem}.connection-journey-node__detail--wait{padding:0.45rem 0.55rem;border-radius:8px;background:rgba(100,116,139,0.12)}.connection-journey-node__muted{font-size:0.85rem;color:var(--buses-text-dim,#64748b)}.connection-journey-segment__rail{position:relative;width:3px;margin-left:12px;background:linear-gradient(180deg,rgba(22,163,74,0.5),rgba(22,163,74,0.25));border-radius:2px;min-height:100%}.connection-journey-segment--bus .connection-journey-segment__rail{background:linear-gradient(180deg,rgba(234,88,12,0.5),rgba(234,88,12,0.25))}.connection-journey-segment__content{background:rgba(22,163,74,0.05);border-color:rgba(22,163,74,0.15)}.connection-journey-segment--bus .connection-journey-segment__content{background:rgba(234,88,12,0.05);border-color:rgba(234,88,12,0.15)}.connection-journey-segment__mode{display:block;font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;color:var(--z-green-deep);margin-bottom:0.25rem}.connection-journey-segment--bus .connection-journey-segment__mode{color:#c2410c}.connection-journey-segment__route{margin:0 0 0.55rem;font-weight:700;font-size:0.95rem}.connection-journey-segment__stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.65rem 1.25rem}.connection-journey-segment__dur{display:flex;flex-direction:column;gap:0.15rem}.connection-journey-segment__label{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--buses-text-dim,#64748b)}.connection-journey-segment__dur strong{font-size:1.1rem;color:var(--z-green-deep)}.connection-journey-segment--bus .connection-journey-segment__dur strong{color:#c2410c}.connection-journey-segment__window{display:flex;flex-wrap:wrap;gap:0.35rem 0.85rem;font-size:0.82rem;color:var(--buses-text-dim,#64748b)}.connection-journey-segment__link{display:inline-block;margin-top:0.55rem;font-size:0.82rem;font-weight:700;color:var(--trains-primary,#15803d);text-decoration:none}.connection-journey-segment__link:hover{text-decoration:underline}@media (max-width:640px){.connection-leg-card__times{grid-template-columns:1fr}.connection-journey-node__detail--grid{grid-template-columns:1fr}.connection-transfer-card{margin-left:0.5rem}.transport-rules-grid{grid-template-columns:1fr}}.transport-rules-section{margin:0 0 var(--td-section-gap)}.transport-rules-section--page-foot{margin-top:0;margin-bottom:0;padding-top:0}.transport-rules-section--page-foot .transport-rules-card{padding:0}.transport-rules-card{background:var(--trains-card-bg,#fff);border:1px solid var(--trains-border,rgba(15,23,42,0.1));border-radius:var(--td-card-radius);padding:0;box-shadow:var(--trains-card-shadow,0 2px 12px rgba(15,23,42,0.07));overflow:hidden}.transport-rules-disclosure{margin:0}.transport-rules-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.65rem 0.85rem;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:var(--td-card-radius);transition:background 0.18s ease}.transport-rules-disclosure>summary:hover{background:rgba(100,116,139,0.06)}.transport-rules-disclosure>summary:focus-visible{outline:2px solid rgba(71,85,105,0.45);outline-offset:2px}.transport-rules-disclosure>summary::-webkit-details-marker{display:none}.transport-rules-disclosure>summary::marker{content:''}.transport-rules-disclosure__head{flex:1 1 auto;min-width:0}.transport-rules-disclosure__head h2{margin:0;font-size:1.02rem;font-weight:800;line-height:1.3;color:var(--trains-text,#1e293b)}.transport-rules-disclosure__head .transport-rules-sub{margin:0.2rem 0 0;font-size:0.78rem;line-height:1.35;color:var(--trains-text-dim,var(--z-text-secondary))}.transport-rules-disclosure__chev{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(100,116,139,0.12);border:1px solid rgba(100,116,139,0.28);box-shadow:inset 0 1px 0 rgba(255,255,255,0.65);transition:transform 0.22s ease,background 0.2s ease,border-color 0.2s ease}.transport-rules-disclosure__chev::before{content:'';display:block;width:0.45rem;height:0.45rem;margin-top:-0.12rem;border-right:2px solid var(--z-gray-600);border-bottom:2px solid var(--z-gray-600);transform:rotate(45deg)}.transport-rules-disclosure[open] .transport-rules-disclosure__chev{transform:rotate(180deg);background:rgba(71,85,105,0.16);border-color:rgba(71,85,105,0.38)}.transport-rules-disclosure[open]>summary{border-bottom:1px dashed rgba(100,116,139,0.28)}.transport-rules-disclosure__panel{padding:0.75rem 0.85rem 0.9rem}.transport-rules-disclosure__panel>.transport-rules-block:first-child{margin-top:0}.transport-rules-head h2{margin:0 0 0.35rem;font-size:1.15rem;font-weight:800}.transport-rules-sub{margin:0;font-size:0.95rem;line-height:1.5;color:var(--trains-text-dim,var(--buses-text-dim,#64748b));max-width:none}.transport-rules-block{margin-bottom:1.25rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(15,23,42,0.08)}.transport-rules-block:last-of-type{border-bottom:none;margin-bottom:0.65rem;padding-bottom:0}.transport-rules-block__title{display:flex;align-items:center;gap:0.5rem;margin:0 0 0.85rem;font-size:1rem;font-weight:800}.transport-rules-block--train .transport-rules-block__title{color:var(--z-green-deep)}.transport-rules-block--bus .transport-rules-block__title{color:#c2410c}.transport-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;width:100%}.transport-rules-panel{padding:1rem 1.1rem;border-radius:12px;background:rgba(15,23,42,0.03);border:1px solid rgba(15,23,42,0.07);min-width:0}.transport-rules-block--train .transport-rules-panel--baggage{background:rgba(22,163,74,0.05);border-color:rgba(22,163,74,0.12)}.transport-rules-block--bus .transport-rules-panel--baggage{background:rgba(234,88,12,0.05);border-color:rgba(234,88,12,0.12)}.transport-rules-panel--pets{background:rgba(217,119,6,0.06);border-color:rgba(217,119,6,0.14)}.transport-rules-panel--prohibited{background:rgba(220,38,38,0.04);border-color:rgba(220,38,38,0.12)}.transport-rules-panel__title{display:flex;align-items:center;gap:0.4rem;margin:0 0 0.55rem;font-size:0.88rem;font-weight:800}.transport-rules-panel__list{margin:0;padding-left:1.15rem;font-size:0.84rem;line-height:1.45;color:var(--buses-text,#334155)}.transport-rules-panel__list li + li{margin-top:0.35rem}.transport-rules-disclaimer{margin:0.85rem 0 0;padding-top:0.75rem;border-top:1px dashed rgba(15,23,42,0.12);font-size:0.78rem;line-height:1.4;color:var(--buses-text-dim,#64748b)}.connection-stop{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.35rem 0.75rem;padding:0.55rem 0.75rem;border-radius:8px;background:rgba(128,128,128,0.08)}.connection-stop__name{font-weight:600}.connection-stop__time,.connection-stop__dur{font-size:0.85rem;color:var(--buses-text-dim,#64748b)}.connection-leg-schedule{font-size:0.78rem;margin-left:auto}.connection-bottom-crumbs{margin:0 0 0.5rem;padding-top:1rem;border-top:1px solid rgba(15,23,42,0.1)}.print-only{display:none}@media print{.no-print,.catalog-strip-stack,.page-header-context,.trains-nearby-section,.trains-transfer-section,.catalog-back-corridor,.ad-strip-catalog-inner,header,footer,.mobile-dock,.connection-leg-schedule{display:none!important}.print-only{display:block!important;margin-top:1.5rem;font-size:0.85rem}.connection-detail-page{padding:0}.td-hero__visual{min-height:auto;background:#f5f5f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.td-route-map{height:220px!important;break-inside:avoid}a[href]::after{content:none}}.connection-missed-section{margin:1.25rem 0 0}.connection-missed-card{border-color:rgba(234,88,12,0.25);background:linear-gradient(180deg,rgba(255,247,237,0.65) 0%,var(--z-surface-white) 48%);padding:0;overflow:hidden}.connection-missed-disclosure{margin:0}.connection-missed-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.65rem 0.85rem;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background 0.18s ease}.connection-missed-disclosure>summary:hover{background:rgba(234,88,12,0.06)}.connection-missed-disclosure>summary:focus-visible{outline:2px solid rgba(194,65,12,0.45);outline-offset:2px}.connection-missed-disclosure>summary::-webkit-details-marker{display:none}.connection-missed-disclosure>summary::marker{content:''}.connection-missed-disclosure__head{flex:1 1 auto;min-width:0}.connection-missed-disclosure__head h2{margin:0;font-size:1.02rem;line-height:1.3}.connection-missed-disclosure__head .connection-section-sub{margin:0.2rem 0 0;font-size:0.78rem;line-height:1.35}.connection-missed-disclosure__chev{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(234,88,12,0.14);border:1px solid rgba(234,88,12,0.22);transition:transform 0.22s ease,background 0.2s ease}.connection-missed-disclosure__chev::before{content:'';display:block;width:0.45rem;height:0.45rem;margin-top:-0.12rem;border-right:2px solid #c2410c;border-bottom:2px solid #c2410c;transform:rotate(45deg)}.connection-missed-disclosure[open] .connection-missed-disclosure__chev{transform:rotate(180deg);background:rgba(234,88,12,0.22)}.connection-missed-disclosure[open]>summary{border-bottom:1px dashed rgba(234,88,12,0.25)}.connection-missed-disclosure__panel{padding:0.65rem 0.85rem 0.85rem}.connection-missed-disclosure--nested{margin-top:0.55rem;border:1px solid rgba(234,88,12,0.18);border-radius:10px;background:rgba(255,255,255,0.72);overflow:hidden}.connection-missed-disclosure--nested:first-child{margin-top:0}.connection-missed-disclosure__summary--nested{padding:0.5rem 0.65rem}.connection-missed-disclosure__summary--nested .connection-missed-block__title--summary{display:block;margin:0;font-size:0.88rem;font-weight:700;line-height:1.35;color:#9a3412}.connection-missed-disclosure__summary--nested .connection-missed-block__lead--summary{display:block;margin:0.15rem 0 0;font-size:0.74rem;line-height:1.35;color:var(--z-text-secondary);font-weight:400}.connection-missed-disclosure--nested .connection-missed-disclosure__chev{width:1.65rem;height:1.65rem}.connection-missed-disclosure__panel--nested{padding:0.45rem 0.65rem 0.65rem;border-top:1px dashed rgba(234,88,12,0.2)}.connection-missed-disclosure__panel--nested>.connection-missed-block,.connection-missed-disclosure__panel--nested>.connection-missed-alts{margin:0;padding:0;border:none}.connection-missed-disclosure__panel--nested .connection-missed-block__lead:first-child{margin-top:0}.connection-missed-disclosure__panel>.connection-missed-block:first-child,.connection-missed-disclosure__panel>.connection-missed-block--plan:first-child{margin-top:0;padding-top:0;border-top:none}.connection-missed-block__plan-link{color:inherit;text-decoration:none}.connection-missed-block__plan-link:hover{text-decoration:underline}.connection-missed-disclosure--compact{margin-top:0.65rem;border-radius:8px;background:rgba(255,247,237,0.9);border:1px solid rgba(234,88,12,0.2);font-size:0.78rem}.connection-missed-disclosure--compact .connection-missed-disclosure__summary{padding:0.55rem 0.65rem;align-items:center}.connection-missed-disclosure--compact .connection-missed-disclosure__panel--compact{padding:0 0.65rem 0.55rem}.connection-missed-disclosure--compact .connection-missed-compact__label{margin:0}.connection-missed-disclosure--schedule{margin:0;border:none;border-radius:0;background:transparent}.connection-missed-disclosure--schedule>summary{padding:0.5rem 0 0.65rem;border-radius:0}.connection-missed-disclosure--schedule>summary:hover{background:rgba(26,115,232,0.05)}.connection-missed-disclosure--schedule>summary:focus-visible{outline-color:rgba(26,115,232,0.45)}.connection-missed-disclosure--schedule[open]>summary{border-bottom:1px dashed rgba(26,115,232,0.22)}.connection-missed-disclosure--schedule .connection-missed-disclosure__chev{background:rgba(26,115,232,0.1);border-color:rgba(26,115,232,0.22)}.connection-missed-disclosure--schedule .connection-missed-disclosure__chev::before{border-right-color:var(--z-blue-800);border-bottom-color:var(--z-blue-800)}.connection-missed-disclosure--schedule[open] .connection-missed-disclosure__chev{background:rgba(26,115,232,0.18)}.td-schedule-disclosure__head{display:flex;flex-direction:column;gap:0.12rem;min-width:0}.td-schedule-disclosure__title{font-size:0.82rem;font-weight:800;color:var(--buses-text,#0f172a)}.td-schedule-disclosure__hint{font-size:0.78rem;font-weight:600;color:var(--buses-text-dim,#64748b);line-height:1.35}.td-schedule-disclosure__panel{padding:0.35rem 0 0.1rem}.td-bus-type-block>.td-schedule-disclosure>summary{padding-left:0;padding-right:0}.connection-leg-card__schedule-list>.td-schedule-disclosure--chips{width:100%}.connection-leg-card__schedule-list>.td-schedule-disclosure--chips .td-schedule-disclosure__title{font-size:0.75rem;font-weight:700;color:var(--buses-text-dim,#64748b)}.travel-card__schedule-wrap{padding:0 0.85rem 0.65rem;margin-top:-0.25rem}.travel-card__schedule-wrap .td-schedule-disclosure>summary{padding-top:0.15rem}.connection-missed-compact__label{display:block;font-weight:700;margin-bottom:0.25rem;color:#c2410c}.connection-missed-compact__list{margin:0;padding-left:1.1rem;color:var(--buses-text,#334155)}.connection-missed-compact__list li{margin:0.15rem 0}.connection-missed-block--plan{border-top:2px solid rgba(234,88,12,0.2);padding-top:1.25rem;margin-top:1.25rem}.connection-missed-block{border-top:1px dashed rgba(15,23,42,0.12);margin-top:1rem}.connection-missed-block:first-of-type{border-top:none;margin-top:0;padding-top:0}.connection-missed-block__title{margin:0 0 0.35rem;font-size:1rem;font-weight:700}.connection-missed-block__lead,.connection-missed-block__label{margin:0 0 0.5rem;font-size:0.88rem;color:var(--buses-text-dim,#64748b)}.connection-missed-block__label{font-weight:600;color:var(--buses-text,#334155);margin-top:0.65rem}.connection-missed-block__empty{margin:0;font-size:0.85rem;color:var(--z-amber-800)}.connection-missed-block--hub{border-left:3px solid rgba(37,99,235,0.35);padding-left:0.75rem}.connection-missed-option{margin-top:0.75rem;padding:0.65rem 0.75rem;border-radius:10px;background:rgba(248,250,252,0.9);border:1px solid rgba(15,23,42,0.07)}.connection-missed-option--recommended{border-color:rgba(22,163,74,0.35);background:rgba(240,253,244,0.85)}.connection-missed-option .connection-missed-block__label{margin-top:0}.connection-missed-block__link{margin:0 0 0.45rem;font-size:0.82rem}.connection-missed-block__link a{color:var(--buses-accent,#2563eb);text-decoration:none;font-weight:600}.connection-missed-block__link a:hover{text-decoration:underline}.connection-missed-deps__item--best{border-color:rgba(22,163,74,0.35)}.connection-missed-deps__mode{flex-shrink:0}.connection-missed-deps__meta{color:var(--buses-text-dim,#64748b);font-size:0.82rem}.connection-missed-deps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.35rem}.connection-missed-deps__item{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.35rem 0.65rem;padding:0.45rem 0.65rem;border-radius:8px;background:rgba(255,255,255,0.85);border:1px solid rgba(15,23,42,0.08);font-size:0.88rem}.connection-missed-deps__time{font-weight:700;font-variant-numeric:tabular-nums}.connection-missed-deps__wait{margin-left:auto;font-size:0.78rem;color:#c2410c}.connection-missed-alts{display:flex;flex-direction:column;gap:0.5rem}.connection-missed-alt{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.75rem;padding:0.65rem 0.85rem;border-radius:10px;border:1px solid rgba(15,23,42,0.1);background:var(--z-surface-white);text-decoration:none;color:inherit;transition:border-color 0.15s,box-shadow 0.15s}.connection-missed-alt:hover{border-color:rgba(37,99,235,0.35);box-shadow:0 2px 8px rgba(15,23,42,0.06)}.connection-missed-alt__path{font-weight:600;flex:1 1 12rem}.connection-missed-alt__meta{font-size:0.82rem;color:var(--buses-text-dim,#64748b)}.connection-leg-card__schedule-list{margin-top:0.75rem;padding-top:0.65rem;border-top:1px solid rgba(15,23,42,0.08)}.connection-leg-card__schedule-label{display:block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--buses-text-dim,#64748b);margin-bottom:0.4rem}.connection-leg-dep-chips{display:flex;flex-wrap:wrap;gap:0.35rem}.connection-leg-dep-chip{font-size:0.78rem;font-variant-numeric:tabular-nums;padding:0.2rem 0.45rem;border-radius:6px;background:rgba(15,23,42,0.06);border:1px solid rgba(15,23,42,0.08)}@media (max-width:640px){.connection-missed-deps__wait{margin-left:0;width:100%}}.td-variant-chips{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0 0 1rem;padding:0 2px}.td-variant-chip{display:inline-flex;align-items:center;padding:0.4rem 0.85rem;border-radius:999px;font-size:0.78rem;font-weight:600;line-height:1.2;text-decoration:none;color:var(--z-gray-700);background:rgba(255,255,255,0.9);border:1px solid rgba(100,116,139,0.25);transition:border-color 0.15s,background 0.15s,color 0.15s}.td-variant-chip:hover{border-color:rgba(26,115,232,0.45);color:var(--z-action-blue)}.td-variant-chip--active{background:linear-gradient(135deg,var(--z-action-blue),#4a90e2);border-color:transparent;color:var(--z-surface-white)}.td-variant-chip--thin{opacity:0.72;border-style:dashed}.td-segment-chips{margin:0 0 1.1rem;display:flex;flex-direction:column;gap:0.65rem}.td-segment-chips__group{display:flex;flex-direction:column;gap:0.35rem}.td-segment-chips__label{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--z-text-secondary)}.td-segment-chips__row{margin:0}.td-segment-thin-notice{margin:0 0 0.85rem;padding:0.55rem 0.75rem;font-size:0.82rem;color:var(--z-amber-900);background:var(--z-amber-bg);border:1px solid #fcd34d;border-radius:8px}.td-segment-thin-notice a{font-weight:600}.td-segment-links{margin:0 0 1rem;padding:0.65rem 0.85rem;background:var(--z-surface-page);border:1px solid var(--z-border-light);border-radius:10px}.td-segment-links__label{display:block;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--z-text-secondary);margin-bottom:0.45rem}.td-segment-links__row{display:flex;flex-wrap:wrap;gap:0.45rem 0.65rem}.td-segment-link{font-size:0.84rem;text-decoration:none;color:var(--z-blue-600)}.td-segment-link:hover{text-decoration:underline}.td-bus-stop-picker{margin:0 0 1.1rem;padding:0.85rem 1rem;background:var(--z-surface-page);border:1px solid rgba(100,116,139,0.2);border-radius:12px}.td-bus-stop-picker__title{margin:0 0 0.35rem;font-size:0.95rem;font-weight:700;color:var(--z-gray-900)}.td-bus-stop-picker__sub{margin:0 0 0.75rem;font-size:0.78rem;color:var(--z-text-secondary);line-height:1.45}.td-bus-stop-picker__grid{display:flex;flex-wrap:wrap;gap:0.45rem}.td-bus-stop-picker__item{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0.15rem;padding:0.45rem 0.75rem;border-radius:10px;border:1px solid rgba(100,116,139,0.25);background:var(--z-surface-white);text-decoration:none;color:var(--z-gray-700);font-size:0.78rem;transition:border-color 0.15s,box-shadow 0.15s;max-width:100%;cursor:pointer;font-family:inherit;text-align:left}.td-bus-stop-picker__item:hover{border-color:rgba(26,115,232,0.45);box-shadow:0 2px 8px rgba(26,115,232,0.08)}.td-bus-stop-picker__item--origin{border-color:rgba(26,115,232,0.35);background:rgba(26,115,232,0.04)}.td-bus-stop-picker__item--dest{border-color:rgba(231,111,81,0.35);background:rgba(231,111,81,0.04)}.td-bus-stop-picker__name{font-weight:700;font-size:0.82rem}.td-bus-stop-picker__km{font-size:0.72rem;color:var(--z-text-secondary)}.td-bus-stop-picker__go{font-size:0.68rem;font-weight:600;color:var(--z-action-blue)}.td-hero__region--variant{font-weight:600;color:rgba(255,255,255,0.92);margin-top:0.15rem}.connection-transfer-wrap{display:flex;flex-direction:column;gap:0.5rem;width:100%}.transport-detail-page .trains-prices-section{margin-bottom:var(--td-section-gap)}.transport-detail-page .connection-missed-section{margin-bottom:var(--td-section-gap)}.transport-detail-page .trains-nearby-section .rv-nearby-grid,.transport-detail-page .trains-transfer-section .rv-nearby-grid,.transport-detail-page .buses-nearby-section .rv-nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;align-items:stretch}.transport-detail-page .trains-nearby-section .rv-nearby-card,.transport-detail-page .trains-transfer-section .rv-nearby-card,.transport-detail-page .buses-nearby-section .rv-nearby-card{display:flex;flex-direction:column;border-radius:var(--z-card-radius,20px);background:var(--z-surface-white);overflow:hidden;text-decoration:none;box-sizing:border-box;box-shadow:var(--z-card-outer-ring,0 0 0 1px rgba(0,0,0,0.06),0 2px 12px rgba(0,0,0,0.07))}.transport-detail-page .trains-nearby-section .rv-nearby-grid,.transport-detail-page .trains-transfer-section .rv-nearby-grid,.transport-detail-page .buses-nearby-section .rv-nearby-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.transport-detail-page .trains-nearby-section .rv-nc-photo,.transport-detail-page .trains-transfer-section .rv-nc-photo,.transport-detail-page .buses-nearby-section .rv-nc-photo{width:100%;aspect-ratio:1 / 1;max-height:none;overflow:hidden;background:var(--color-primary-subtle);position:relative;flex-shrink:0;border-radius:0;overflow:hidden}.transport-detail-page .trains-nearby-section .rv-nc-photo img,.transport-detail-page .trains-transfer-section .rv-nc-photo img,.transport-detail-page .buses-nearby-section .rv-nc-photo img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;display:block;border-radius:var(--z-card-radius,20px);-webkit-clip-path:inset(0 round var(--z-card-radius,20px));clip-path:inset(0 round var(--z-card-radius,20px))}.transport-detail-page .trains-nearby-section .rv-nearby-card .rv-nc-nophoto,.transport-detail-page .trains-transfer-section .rv-nearby-card .rv-nc-nophoto,.transport-detail-page .buses-nearby-section .rv-nearby-card .rv-nc-nophoto{border-radius:var(--z-card-radius,20px);box-sizing:border-box}.transport-detail-page .trains-nearby-section .rv-nc-body,.transport-detail-page .trains-transfer-section .rv-nc-body,.transport-detail-page .buses-nearby-section .rv-nc-body{padding:0.75rem 0.9rem 0.85rem;min-width:0}.transport-detail-page .trains-nearby-section .rv-nc-title,.transport-detail-page .trains-transfer-section .rv-nc-title,.transport-detail-page .buses-nearby-section .rv-nc-title{font-size:0.875rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.connection-transfer-recovery{margin-top:0;padding:0;border-radius:10px;background:rgba(254,243,199,0.55);border:1px solid rgba(217,119,6,0.25);overflow:hidden}.connection-transfer-recovery__disclosure>summary{padding:0.5rem 0.6rem}.connection-transfer-recovery__disclosure .connection-transfer-recovery__title{margin:0;font-size:0.86rem;font-weight:800;color:var(--z-amber-900);line-height:1.35}.connection-transfer-recovery__panel{padding:0.45rem 0.6rem 0.6rem}.connection-transfer-recovery--below{width:100%;box-sizing:border-box}.connection-transfer-recovery--below .connection-missed-block--inline-transfer{margin-top:0;padding-top:0;border-top:none}.connection-transfer-recovery--below .connection-missed-block__title--sub{margin:0 0 0.4rem;font-size:0.88rem;font-weight:700;color:var(--z-amber-900)}.connection-transfer-recovery--inline{margin-top:0.5rem;font-size:0.82rem}.connection-transfer-recovery__title{margin:0 0 0.4rem;font-size:0.82rem;font-weight:700;color:var(--z-amber-900)}.multimodal-timeline__service{display:block;font-size:0.78rem;font-weight:600;color:var(--z-gray-600);margin-bottom:0.15rem}.multimodal-timeline__transfer-warning{margin:0.35rem 0 0;font-size:0.78rem;color:var(--z-amber-800);line-height:1.35}.travel-card__dep-chips{margin-top:0.35rem}.transport-route-editor-bar{margin:0 var(--td-card-pad-x,1.5rem) 0.75rem;padding:0.65rem 1rem;border-radius:12px;background:rgba(26,115,232,0.06);border:1px dashed rgba(26,115,232,0.35);display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem 1rem;max-width:1340px;margin-left:auto;margin-right:auto}.transport-route-editor-bar__hint{margin:0;font-size:0.82rem;color:var(--z-gray-600);flex:1 1 200px}.transport-route-refresh-status{font-size:0.8rem;color:var(--z-teal-700)}.trains-bus-alt-schedule{margin-top:0;background:var(--z-surface-white);border:1px solid var(--buses-border,#e2e8f0);border-radius:var(--td-card-radius);box-shadow:var(--trains-card-shadow,0 2px 12px rgba(15,23,42,0.07));padding:0 0 0.5rem}.trains-bus-alt-schedule .trains-section-head{padding:var(--td-card-pad-y) var(--td-card-pad-x) 0.25rem;margin-bottom:0}.trains-bus-alt-schedule .buses-section-head{margin-left:var(--td-card-pad-x);margin-right:var(--td-card-pad-x)}.trains-bus-alt-schedule .buses-filter-bar{padding:0 var(--td-card-pad-x)}.trains-bus-alt-schedule .td-variant{margin-left:var(--td-card-pad-x);margin-right:var(--td-card-pad-x)}.trains-bus-alt-schedule .buses-filter-empty{margin-left:var(--td-card-pad-x);margin-right:var(--td-card-pad-x)}.trains-bus-alt-schedule .td-schedule-stops-note{padding:0 var(--td-card-pad-x) 0.5rem}
.td-useful-rules-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:var(--td-section-gap);align-items:start;margin-bottom:var(--td-section-gap)}
.td-useful-rules-row__col{min-width:0}
.td-useful-rules-row .trains-nearby-section,.td-useful-rules-row .transport-rules-section{margin-bottom:0}
@media (max-width:960px){.td-useful-rules-row{grid-template-columns:1fr}}

/* Bus route detail — компактное расписание */
#busRouteDetail .buses-list-section{margin-bottom:1.1rem}
#busRouteDetail .buses-section-head{margin-bottom:0.65rem;padding:0;background:transparent;border:none;box-shadow:none;min-height:0}
#busRouteDetail .buses-section-head h2{padding:0 0 0 8px;font-size:1rem;line-height:1.25}
#busRouteDetail .buses-section-head--compact{min-height:0}
#busRouteDetail .td-variant{margin-bottom:0.75rem}
#busRouteDetail .td-variant-head{padding:0.55rem 0.75rem}
#busRouteDetail .td-variant-head h3{font-size:0.95rem;margin:0 0 0.35rem}
#busRouteDetail .td-variant-meta{gap:8px;font-size:0.74rem}
#busRouteDetail .td-bus-type-block{padding:0.45rem 0.75rem 0.55rem}
#busRouteDetail .td-bus-type-head{margin-bottom:0.4rem}
#busRouteDetail .td-bookable-section{margin-bottom:0.65rem}
#busRouteDetail .td-bookable-banner{padding:0.55rem 0.75rem;gap:0.5rem}
#busRouteDetail .buses-filter-bar{margin:0 0 0.65rem;gap:0.35rem}
#busRouteDetail .buses-filter-chip{padding:0.3rem 0.65rem;font-size:0.74rem}
#busRouteDetail .td-time-grid{gap:0.35rem}
#busRouteDetail .td-time-chip{padding:0.35rem 0.5rem;font-size:0.78rem}
#busRouteDetail .td-travel-blurb{padding:0.7rem 0.85rem;margin-bottom:1rem}
#busRouteDetail .trains-transfer-section{margin-bottom:var(--td-section-gap)}
#busRouteDetail .trains-transfer-section .rv-nearby-title{font-size:1rem}
#busRouteDetail .bus-card-header{padding:10px 12px 0}
#busRouteDetail .bus-card-times{padding:10px 12px;gap:10px}
#busRouteDetail .bus-card-footer{padding:8px 12px 10px}

/* Transfer nearby cards */
.transport-detail-page .trains-transfer-section .rv-nearby-card--transfer .rv-nc-title{font-size:0.95rem;min-height:auto}
.transport-detail-page .trains-transfer-section .rv-nc-route{font-size:0.78rem;line-height:1.4;color:var(--trains-text-dim,var(--z-text-secondary));margin-top:2px}
.transport-detail-page .trains-transfer-section .rv-nc-photo{aspect-ratio:1/1}
.transport-detail-page .trains-nearby-section .rv-nc-photo,.transport-detail-page .trains-transfer-section .rv-nc-photo,.transport-detail-page .buses-nearby-section .rv-nc-photo{border-radius:0;background:transparent}
.transport-detail-page .trains-transfer-section .rv-nc-price{font-size:0.78rem;padding:4px 10px}

/* Route detail — vertical rhythm (schedule / panels / nearby) */
.transport-detail-page > .trains-list-section,
.transport-detail-page > .td-schedule-section,
.transport-detail-page > .td-map-section,
.transport-detail-page > .td-stops-section {
  margin-bottom: var(--td-section-gap);
}
.transport-detail-page > .transport-rules-section--page-foot {
  margin-top: 0;
  margin-bottom: var(--td-section-gap);
}
.transport-detail-page .trains-list-section .trains-list {
  gap: 1rem;
}
.transport-detail-page .trains-list-section .td-train-card {
  margin-bottom: 0;
}
.transport-detail-page .trains-nearby-section .rv-nearby {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-bottom: 1rem;
}
.transport-detail-page .trains-nearby-section .rv-nearby-grid {
  gap: var(--rv-nearby-gap, 1.25rem);
}
.transport-detail-page .trains-nearby-section .rv-nearby-grid + .rv-nearby-grid {
  margin-top: 0;
}
.transport-detail-page .trains-nearby-hub-links {
  margin-bottom: 0;
}

/* Useful nearby: flush edges; top clipped by card; bottom corners rounded */
.transport-detail-page .trains-nearby-section,
.transport-detail-page .trains-transfer-section,
.transport-detail-page .buses-nearby-section{
  --z-card-gap:0px;
  --z-card-photo-radius:0;
  --z-card-photo-bottom-radius:var(--z-card-radius,20px);
}
.transport-detail-page .trains-nearby-section .rv-nearby-card,
.transport-detail-page .trains-transfer-section .rv-nearby-card,
.transport-detail-page .buses-nearby-section .rv-nearby-card{
  border:none!important;
  border-width:0!important;
  background-clip:padding-box;
  box-shadow:var(--z-card-outer-ring)!important;
}
.transport-detail-page .trains-nearby-section .rv-nearby-card:hover,
.transport-detail-page .trains-transfer-section .rv-nearby-card:hover,
.transport-detail-page .buses-nearby-section .rv-nearby-card:hover{
  box-shadow:var(--z-card-outer-ring-hover)!important;
}
.transport-detail-page .trains-nearby-section .rv-nc-photo,
.transport-detail-page .trains-transfer-section .rv-nc-photo,
.transport-detail-page .buses-nearby-section .rv-nc-photo{
  border-radius:0 0 var(--z-card-photo-bottom-radius,var(--z-card-radius,20px)) var(--z-card-photo-bottom-radius,var(--z-card-radius,20px))!important;
  overflow:hidden;
  background:transparent;
  transform:translateZ(0);
  margin:0;
  line-height:0;
}
.transport-detail-page .trains-nearby-section .rv-nc-photo img,
.transport-detail-page .trains-transfer-section .rv-nc-photo img,
.transport-detail-page .buses-nearby-section .rv-nc-photo img{
  border-radius:0 0 var(--z-card-photo-bottom-radius,var(--z-card-radius,20px)) var(--z-card-photo-bottom-radius,var(--z-card-radius,20px))!important;
  -webkit-clip-path:var(--z-card-photo-clip)!important;
  clip-path:var(--z-card-photo-clip)!important;
  width:calc(100% + 1px)!important;
  height:calc(100% + 1px)!important;
  max-width:none!important;
  margin:-0.5px;
  object-fit:cover;
}
.transport-detail-page .trains-nearby-section .rv-nc-nophoto,
.transport-detail-page .trains-transfer-section .rv-nc-nophoto,
.transport-detail-page .buses-nearby-section .rv-nc-nophoto{
  border-radius:0 0 var(--z-card-photo-bottom-radius,var(--z-card-radius,20px)) var(--z-card-photo-bottom-radius,var(--z-card-radius,20px))!important;
}

/* Shared rides + group excursion — one solid card column, no nested white heads */
.transport-detail-page .transport-shared-rides-section,
.transport-detail-page .group-excursion-offers-section{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-x:clip;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.transport-detail-page .group-excursion-offers-section__cards,
.transport-detail-page .transport-shared-rides__cards{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  gap:0.75rem;
  width:100%;
  max-width:100%;
}
.transport-detail-page .shared-ride-trip-card,
.transport-detail-page .group-excursion-trip-card{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box;
  overflow:hidden;
}
.transport-detail-page .group-excursion-trip-card__share{display:none !important;}
.transport-detail-page .group-excursion-trip-card__foot{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  flex-wrap:wrap;
}

.td-schedule-buy-hint{
  margin:0.35rem 0 1rem;
  font-size:0.82rem;
  line-height:1.45;
  color:var(--trains-text-dim,var(--z-text-secondary,#64748b));
}
.td-schedule-buy-hint a{font-weight:700;color:var(--trains-primary,var(--z-action-blue,#1a73e8));}
.travel-card__svc-no{margin:.15rem 0 0;font-size:.88rem;font-weight:650;color:var(--trains-text,#0f172a)}
