:root{--card-ink:#17212b;--card-muted:#66717c;--card-line:#e2e6e9;--card-soft:#f6f8f9;--card-green:#147a55;--card-green-soft:#eaf7f1}
.directory{background:#f5f6f8}
.taxi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.taxi-card{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-content:start;min-width:0;padding:24px;background:#fff;border:1px solid var(--card-line);border-top:1px solid var(--card-line);border-radius:16px;box-shadow:0 3px 14px rgba(20,31,42,.05);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.taxi-card:before{content:"";position:absolute;top:0;left:24px;width:42px;height:3px;border-radius:0 0 4px 4px;background:#e21c2a}
.taxi-card:hover{transform:translateY(-3px);border-color:#cbd2d7;box-shadow:0 16px 38px rgba(20,31,42,.11)}
.taxi-card>*:not(.taxi-card-profile-link){grid-column:1/-1}
.taxi-card-top{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.taxi-avatar{width:46px;height:46px;flex:0 0 46px;border:0;border-radius:13px;background:var(--card-ink);color:#fff;font:800 12px/1 Raleway,Arial,sans-serif;box-shadow:none;letter-spacing:.02em}
.taxi-status{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:7px 10px;border-radius:999px;background:var(--card-green-soft);color:var(--card-green);font-size:10px;font-weight:800;line-height:1}
.taxi-status i{width:7px;height:7px;margin:0;background:#22a875;box-shadow:0 0 0 3px rgba(34,168,117,.12)}
.taxi-card h3{margin:18px 0 5px;color:var(--card-ink);font:800 20px/1.25 Raleway,Arial,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.taxi-place{display:flex;align-items:center;gap:7px;margin:0;color:var(--card-muted);font-size:12px;line-height:1.45}
.taxi-place:before{content:"";width:7px;height:7px;flex:0 0 7px;border:2px solid #e21c2a;border-radius:50%}
.taxi-badges{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0 0}
.taxi-badges span{padding:6px 8px;border:1px solid #e5e8ea;border-radius:999px;background:#f8f9fa;color:#505b65;font-size:9px;font-weight:800;line-height:1;text-transform:none;letter-spacing:.01em}
.taxi-distance{min-height:0;margin:10px 0 0;color:var(--card-green);font-size:11px;font-weight:800}
.taxi-distance:empty{display:none}
.taxi-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 0;border:0}
.taxi-card dl div{display:block;min-width:0;padding:11px 12px;border:0;border-radius:9px;background:var(--card-soft);font-size:11px}
.taxi-card dt{margin:0 0 5px;color:#7b858e;font-size:9px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.06em}
.taxi-card dd{margin:0;color:var(--card-ink);font-size:11px;font-weight:750;line-height:1.35;text-align:left;overflow-wrap:anywhere}
.taxi-description{display:-webkit-box;margin:15px 0 0;color:#59656e;font-size:12px;line-height:1.55;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.taxi-card .view-profile,.taxi-card .call-taxi{min-height:44px;margin:20px 0 0;padding:10px 12px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:0;text-align:center;text-transform:none}
.taxi-card .view-profile{grid-column:1!important;margin-right:4px;color:#29343d;border:1px solid #d8dde1;background:#fff}
.taxi-card .view-profile:hover{border-color:#9fa9b1;background:#f7f8f9;color:#111}
.taxi-card .call-taxi{grid-column:2!important;margin-left:4px;border:1px solid var(--card-ink);background:var(--card-ink);color:#fff}
.taxi-card .call-taxi:before{content:"☎";margin-right:7px;color:#ffd000;font-size:13px}
.taxi-card .call-taxi:hover{border-color:#000;background:#000;color:#fff}
.taxi-card:focus-within{outline:3px solid rgba(226,28,42,.22);outline-offset:3px}
@media(max-width:1120px){.taxi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.taxi-grid{grid-template-columns:1fr;gap:14px}.taxi-card{padding:21px;border-radius:13px}.taxi-card:before{left:21px}.taxi-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.taxi-card{grid-template-columns:1fr}.taxi-card .view-profile,.taxi-card .call-taxi{grid-column:1!important;margin-left:0;margin-right:0}.taxi-card .call-taxi{margin-top:8px}}
