/* Shared styles for multimodal solution pages: Buses, Trains, Transfers */

/* Search-result stack: bus / train / transfer rows */
.bus-stack{display:flex;flex-direction:column;gap:8px}
.bus-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center}
.bus-row.best{border-color:var(--ink);box-shadow:0 1px 2px rgba(11,13,18,.04)}
.op-mark{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.04em;padding:6px 9px;border-radius:6px;background:var(--ink);color:#fff;text-transform:uppercase;line-height:1;white-space:nowrap}
.op-mark.alt{background:#23262E}
.op-mark.alt-2{background:#34384A}
.op-mark.alt-3{background:#15181F}
.bus-row .nm{font-size:14.5px;font-weight:600;letter-spacing:-.005em;line-height:1.3}
.bus-row .meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);letter-spacing:.04em;margin-top:3px}
.bus-row .meta .sep{color:var(--line-2);margin:0 6px}
.bus-row .co2{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--green);text-align:right;line-height:1.3}
.bus-row .co2 .k{display:block;font-size:9.5px;color:var(--ink-3);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.bus-row .price{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:600;font-feature-settings:"tnum";text-align:right;letter-spacing:-.005em}
.bus-row .price small{display:block;font-size:9.5px;color:var(--ink-3);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-feature-settings:normal}

/* Mode compare card — flight / rail / bus */
.mode-compare{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(11,13,18,.04),0 24px 48px -28px rgba(11,13,18,.18)}
@media (max-width:780px){.mode-compare{grid-template-columns:1fr 1fr;font-size:13px}}
.mc-head{padding:24px 22px;background:var(--bg);border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;min-height:128px}
.mc-head:last-child{border-right:0}
.mc-head.label{background:var(--ink);color:#fff}
.mc-head .route{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600;margin-bottom:8px}
.mc-head .city{font-size:18px;font-weight:600;letter-spacing:-.015em;line-height:1.2;color:#fff}
.mc-head .mode-name{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.mc-head .mode-name .op{font-family:'JetBrains Mono',monospace;font-size:9.5px;background:var(--ink);color:#fff;padding:3px 6px;border-radius:4px;letter-spacing:.04em}
.mc-head .mode-val{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:600;font-feature-settings:"tnum";letter-spacing:-.01em;color:var(--ink)}
.mc-head .mode-sub{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-3);letter-spacing:.04em;margin-top:4px;text-transform:uppercase;font-weight:500}
.mc-cell{padding:14px 22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:13.5px;display:flex;flex-direction:column;justify-content:center;min-height:54px}
.mc-cell:last-child{border-right:0}
.mc-cell.lbl{background:var(--bg-2);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.mc-cell .v{font-weight:600;font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum"}
.mc-cell .v.green{color:var(--green)}
.mc-cell .v.muted{color:var(--ink-3)}
.mc-cell.foot{background:var(--bg);border-bottom:0}
.mc-cell .pol{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:var(--green-50);color:var(--green);align-self:flex-start}
.mc-cell .pol.pref::before{content:"★";font-size:11px;line-height:1}

/* Coverage stats row */
.cov-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
@media (max-width:780px){.cov-stats{grid-template-columns:1fr 1fr}}
.cov-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px 24px}
.cov-stat .v{font-size:34px;font-weight:600;letter-spacing:-.022em;line-height:1;font-feature-settings:"tnum"}
.cov-stat .k{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.cov-stat .note{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.5;max-width:30ch}

/* Use-case blocks */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
@media (max-width:900px){.case-grid{grid-template-columns:1fr}}
.case{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:12px}
.case .n{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-3);font-weight:600}
.case h4{font-size:19px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.case p{font-size:14px;line-height:1.6;color:var(--ink-2)}
.case .tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.case .tag-row span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:var(--bg-2);color:var(--ink-2);font-weight:600}

/* Capability triplet under the compare card */
.cap-triplet{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
@media (max-width:900px){.cap-triplet{grid-template-columns:1fr}}
.cap-block{padding:24px 0 0;border-top:2px solid var(--ink)}
.cap-block h4{font-size:17px;font-weight:600;letter-spacing:-.012em;margin-bottom:10px;line-height:1.3}
.cap-block p{font-size:14px;line-height:1.6;color:var(--ink-2);max-width:38ch}

/* 3-column .flow-list variant (dark Integration sections) — stacks on mobile */
.flow-list.flow-list--cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){ .flow-list.flow-list--cols-3{grid-template-columns:1fr} }
