:root{--card-ink:#17212b;--card-muted:#66717c;--card-line:#e2e6e9;--card-soft:#f6f8f9;--card-green:#147a55;--card-green-soft:#eaf7f1;--card-logo-red:#ed1c24;--card-logo-yellow:#ffc700}
.directory{background:#f5f6f8}
.taxi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.taxi-grid:not(.taxi-pagination-ready)>.taxi-card:nth-of-type(n+10){display:none}
.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:46px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--card-logo-red) 0 52%,var(--card-logo-yellow) 52% 100%)}
.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 var(--card-logo-red);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:var(--card-logo-yellow);font-size:13px}
.taxi-card .call-taxi:hover{border-color:#000;background:#000;color:#fff}
.taxi-card:focus-within{outline:3px solid rgba(237,28,36,.18);outline-offset:3px}
.taxi-pagination-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding-top:24px;border-top:1px solid #dfe4e7}
.taxi-pagination-summary{margin:0;color:#63707a;font-size:12px;font-weight:700}
.taxi-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.taxi-pagination button{min-width:40px;height:40px;padding:0 12px;border:1px solid #d8dde1;border-radius:9px;background:#fff;color:#26313a;font-size:12px;font-weight:800;cursor:pointer;transition:.15s ease}
.taxi-pagination button:hover:not(:disabled){border-color:#17212b;background:#f3f5f6}
.taxi-pagination button[aria-current="page"]{border-color:#17212b;background:#17212b;color:#fff}
.taxi-pagination button:focus-visible{outline:3px solid rgba(237,28,36,.18);outline-offset:2px}
.taxi-pagination button:disabled{opacity:.42;cursor:not-allowed}
.taxi-pagination span{min-width:24px;text-align:center;color:#7a858e}
.taxi-pagination-shell.single-page .taxi-pagination{display:none}
@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}.taxi-pagination-shell{align-items:flex-start;flex-direction:column}.taxi-pagination{width:100%;justify-content:flex-start;overflow-x:auto;padding:2px 0 6px}.taxi-pagination button{flex:0 0 auto}.taxi-pagination .pagination-direction{font-size:0}.taxi-pagination .pagination-direction:first-child:after{content:"‹";font-size:18px}.taxi-pagination .pagination-direction:last-child:after{content:"›";font-size:18px}}
@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}}
