.request-transport-card{margin:14px 0;padding:16px;border:1px solid var(--vr-border,#d8e2ef);border-radius:12px;background:#fff;color:#17263e;min-width:0}
.request-transport-card h3{margin:0 0 12px;font-size:16px;color:inherit}
.request-stop{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #e2e8f0;overflow-wrap:anywhere}
.request-stop small,.request-stop span{color:#4b5d75;font-size:12px}
.request-stop strong{font-size:14px;line-height:1.5;color:#17263e}
.request-stop p,.request-provider-notes p{margin:4px 0;line-height:1.5;color:#334155}
.request-route-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:12px}
.request-route-actions p{margin:0;color:#334155;font-size:13px}
.request-route-actions small{display:block;margin-top:4px;max-width:320px;line-height:1.5}
.request-route-actions .button{white-space:normal;text-align:center;min-height:42px}
.request-provider-notes .request-note-text{white-space:pre-wrap;overflow-wrap:anywhere}
.request-provider-notes ol{padding-left:20px;margin:8px 0}
.request-provider-notes li{margin:10px 0}
.request-provider-notes .request-escort{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}
@media(max-width:600px){.request-transport-card{padding:12px}.request-route-actions{align-items:stretch;flex-direction:column}.request-route-actions .button{width:100%}}

.request-route-map{margin-top:12px;min-width:0;overflow:hidden;border-radius:10px;background:#f1f5fa;color:#17263e}
.request-map-content[role="status"]{padding:16px;font-size:14px;line-height:1.5}
.request-map-content.is-unavailable .button{display:block;margin-top:12px}
.request-google-map{height:260px;width:100%;color:#17263e;background:#e7edf5}
.request-map-caption{padding:10px 12px;margin:0;font-size:12px;line-height:1.5;color:#334155;background:#f8fafc}
.request-guard ul{padding-left:20px;line-height:1.6}.request-guard li+li{margin-top:8px}
@media(max-width:600px){.request-google-map{height:220px}}

/* A blocked candidate still needs fully readable reasons in both themes. */
@media screen {
  :root[data-vr-theme] .request-guard { background:#fff!important; color:#17263e!important; }
  :root[data-vr-theme] .request-guard :is(h3,p,li,strong,small,.section-kicker) { color:#17263e!important; }
  :root[data-vr-theme] .request-guard .request-planning-candidate { background:#f8fafc!important; color:#17263e!important; border-color:#bdcadd; opacity:1; }
  :root[data-vr-theme] .request-guard .request-planning-candidate em { color:#40516a!important; }
}
