/* Каталоги адресов Zeekr Drive. Общие визуальные токены — в zk.css. */
.directory-page{background:#f7f7f7}
.dir-hero{background:#ebe8e3;padding:clamp(34px,5vw,76px) 0 clamp(38px,5vw,68px)}
.dir-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.45fr);gap:40px;align-items:end}
.dir-eyebrow{display:flex;align-items:center;gap:12px;color:#555;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.dir-eyebrow::before{content:"";width:28px;height:2px;background:#ff5841}
.dir-hero h1{font-size:clamp(40px,6vw,78px);max-width:14ch;margin:18px 0 20px;letter-spacing:-.045em}
.dir-hero__lead{font-size:clamp(16px,1.55vw,19px);line-height:1.55;max-width:68ch;color:#3e3e3e}
.dir-hero__aside{border-top:1px solid #bdb8af;padding-top:18px;align-self:end;display:grid;gap:12px}
.dir-hero__aside strong{font-size:clamp(42px,5vw,68px);line-height:1;font-weight:400;letter-spacing:-.07em}
.dir-hero__aside span{font-size:14px;color:#555}
.dir-hero__aside small{font-size:12px;color:#666}
.dir-intro{padding:22px 0;background:#0f0f0f;color:#fff4e2}
.dir-intro .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dir-intro p{font-size:14px;line-height:1.55;max-width:90ch}
.dir-intro a{flex:none;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:3px}
.dir-main{padding:clamp(36px,5vw,70px) 0 90px}
.dir-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.dir-section-head h2{font-size:clamp(28px,3.5vw,42px)}
.dir-section-head p{font-size:14px;color:#666;max-width:58ch;margin-top:9px}
.dir-updated{font-size:12px;color:#666;white-space:nowrap}
.dir-toolbar{background:#fff;border:1px solid #ddd9d2;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(230px,1.2fr) auto;gap:14px;align-items:end;padding:16px;margin-bottom:18px;box-shadow:0 8px 30px rgba(0,0,0,.025)}
.dir-control{display:grid;gap:7px;min-width:0}
.dir-control label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#555;font-weight:600}
.dir-control select,.dir-control input{height:48px;width:100%;border:1px solid #cbc7c0;border-radius:0;background:#f7f7f7;color:#0f0f0f;padding:0 15px;font:inherit;font-size:15px;outline:none}
.dir-control select:focus,.dir-control input:focus{border-color:#0f0f0f;box-shadow:inset 0 0 0 1px #0f0f0f}
.dir-control input::placeholder{color:#747474}
.dir-reset{height:48px;background:#fff;border:1px solid #cbc7c0;padding:0 20px;cursor:pointer;font:inherit;font-size:14px;white-space:nowrap}
.dir-reset:hover{border-color:#0f0f0f;background:#f7f7f7}
.dir-statusbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 18px}
.dir-status-filters{display:flex;gap:8px;flex-wrap:wrap}
.dir-filter{border:1px solid #c8c4bd;border-radius:100px;background:transparent;padding:9px 15px;font:inherit;font-size:13px;cursor:pointer;min-height:40px}
.dir-filter[aria-pressed=true]{background:#0f0f0f;border-color:#0f0f0f;color:#fff}
.dir-count{font-size:13px;color:#555;font-variant-numeric:tabular-nums}
.dir-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.92fr);gap:18px;align-items:start}
.dir-list{display:grid;gap:10px;min-width:0}
.dir-card{background:#fff;border:1px solid #dedbd6;padding:22px 24px;scroll-margin-top:88px;transition:border-color .2s,box-shadow .2s,transform .2s}
.dir-card:hover,.dir-card.is-selected{border-color:#161616;box-shadow:0 13px 28px rgba(0,0,0,.065)}
.dir-card.is-selected{box-shadow:0 0 0 2px #ff5841,0 13px 28px rgba(0,0,0,.065)}
.dir-card__top{display:flex;justify-content:space-between;gap:16px;align-items:start}
.dir-card__index{font-size:12px;color:#8b877f;font-variant-numeric:tabular-nums}
.dir-badge{display:inline-flex;gap:7px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.04em;color:#555;background:#f1f0ec;padding:7px 10px;line-height:1.25;text-transform:uppercase}
.dir-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#8e8b85;flex:none}
.dir-badge--confirmed{background:#e9f2ec;color:#23553b}
.dir-badge--confirmed::before{background:#2e7d4f}
.dir-card__city{margin-top:18px;color:#78736d;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.dir-card h3{font-size:clamp(22px,2vw,27px);margin-top:7px;max-width:25ch}
.dir-card__address{display:grid;grid-template-columns:56px 1fr;gap:10px;margin-top:16px;font-size:15px;line-height:1.45}
.dir-card__address span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#777;padding-top:4px}
.dir-card__address strong{font-weight:500}
.dir-card__note{font-size:13px;line-height:1.55;color:#656565;margin-top:14px;max-width:66ch}
.dir-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #ebe8e3}
.dir-card__actions a,.dir-card__actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #c8c4bd;background:#fff;padding:8px 13px;font:inherit;font-size:13px;cursor:pointer}
.dir-card__actions .dir-on-map{background:#0f0f0f;border-color:#0f0f0f;color:#fff}
.dir-card__actions a:hover,.dir-card__actions button:hover{border-color:#ff5841}
.dir-card__actions .dir-on-map:hover{background:#292929;border-color:#292929}
.dir-card[hidden],.dir-empty[hidden],.dir-map-pin[hidden]{display:none!important}
.dir-empty{background:#fff;border:1px solid #dedbd6;padding:36px;text-align:center}
.dir-empty h3{font-size:26px;margin-bottom:9px}
.dir-empty p{color:#666;font-size:14px}
.dir-map{position:sticky;top:86px;background:#eae7e1;border:1px solid #d6d1c9;overflow:hidden}
.dir-map__head{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#141414;color:#fff4e2;padding:18px 20px}
.dir-map__head span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;opacity:.64}
.dir-map__head h3{font-size:19px;margin-top:5px}
.dir-map__reset{border:1px solid rgba(255,244,226,.48);background:none;color:#fff4e2;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer}
.dir-map__reset[hidden]{display:none}
.dir-map__canvas{height:clamp(290px,29vw,360px);position:relative;overflow:hidden;background-color:#eae7e1;background-image:linear-gradient(rgba(53,53,53,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(53,53,53,.10) 1px,transparent 1px),radial-gradient(circle at 29% 28%,rgba(255,255,255,.78),transparent 38%),radial-gradient(circle at 78% 70%,rgba(255,255,255,.62),transparent 44%);background-size:14.285% 16.666%,14.285% 16.666%,auto,auto}
.dir-map__canvas::before{content:"";position:absolute;inset:5%;border:1px solid rgba(15,15,15,.12);pointer-events:none}
.dir-map__canvas::after{content:"N ↑";position:absolute;right:23px;top:20px;font-size:12px;letter-spacing:.12em;color:#777;pointer-events:none}
.dir-map__watermark{position:absolute;left:23px;bottom:18px;color:#aaa39b;font-size:clamp(48px,8vw,112px);line-height:1;font-weight:600;letter-spacing:-.08em;pointer-events:none;user-select:none;white-space:nowrap;opacity:.42}
.dir-map__pins{position:absolute;inset:0}
.dir-map-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);border:0;border-radius:50%;background:#0f0f0f;color:#fff;min-width:38px;height:38px;padding:0 10px;font:600 13px/1 var(--text);cursor:pointer;box-shadow:0 0 0 5px rgba(255,255,255,.76),0 8px 18px rgba(0,0,0,.18);white-space:nowrap;transition:transform .2s,background .2s}
.dir-map-pin:hover,.dir-map-pin:focus-visible,.dir-map-pin.is-selected{z-index:5;background:#ff5841;transform:translate(-50%,-50%) scale(1.16)}
.dir-map-pin--city{border-radius:4px;width:112px;height:48px;padding:5px 7px;display:flex;flex-direction:column;justify-content:center;gap:3px;box-shadow:0 0 0 3px rgba(255,255,255,.76),0 8px 18px rgba(0,0,0,.13)}
.dir-map-pin--city strong{font-size:11px;line-height:1.1;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.dir-map-pin--city em{font-size:10px;line-height:1;font-weight:400;font-style:normal;opacity:.7}
.dir-map__bubble{position:absolute;z-index:6;width:min(235px,70vw);background:#fff;border:1px solid #c8c4bd;padding:12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.16);pointer-events:none}
.dir-map__bubble strong{display:block;font-size:13px;line-height:1.3;margin-bottom:5px}
.dir-map__bubble span{display:block;font-size:12px;line-height:1.4;color:#555}
.dir-map__detail{min-height:117px;background:#fff;border-top:1px solid #d6d1c9;padding:17px 20px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.dir-map__detail h4{font-size:17px;line-height:1.2;margin:4px 0 5px}
.dir-map__detail p{font-size:13px;color:#555;line-height:1.4}
.dir-map__detail .eyebrow{font-size:10px}
.dir-map__detail button{border:0;background:#0f0f0f;color:#fff;padding:10px 13px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.dir-map__detail button[hidden]{display:none}
.dir-map__caption{padding:12px 20px;color:#777;font-size:11px;line-height:1.45;background:#f7f7f7;border-top:1px solid #e2ded8}
.dir-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:64px}
.dir-reading section{border-top:1px solid #bebbb6;padding-top:20px}
.dir-reading h2{font-size:clamp(23px,2.5vw,31px);margin-bottom:16px}
.dir-reading p{font-size:14px;line-height:1.7;color:#535353;margin:0 0 12px;max-width:70ch}
.dir-reading a{text-decoration:underline;text-underline-offset:4px}
.dir-footlinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.dir-footlinks a{border:1px solid #bdb9b2;padding:11px 15px;text-decoration:none;font-size:13px}
.dir-footlinks a:hover{border-color:#0f0f0f}
.directory-page .mobile{z-index:80}
@media(max-width:1080px){.dir-layout{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}.dir-card{padding:19px}}
@media(max-width:850px){.dir-hero__grid{grid-template-columns:1fr;gap:26px}.dir-hero__aside{grid-template-columns:auto 1fr;align-items:end;gap:8px 18px}.dir-hero__aside small{grid-column:2}.dir-layout{grid-template-columns:1fr}.dir-map{position:relative;top:auto;grid-row:1}.dir-map__canvas{height:390px}.dir-toolbar{grid-template-columns:1fr 1fr auto}.dir-intro .wrap{align-items:start}}
@media(max-width:620px){.dir-hero h1{font-size:clamp(38px,10vw,56px)}.dir-hero__aside strong{font-size:50px}.dir-intro .wrap{display:block}.dir-intro a{display:inline-block;margin-top:12px}.dir-toolbar{grid-template-columns:1fr;gap:11px}.dir-toolbar .dir-reset{width:100%}.dir-map__canvas{height:340px}.dir-map__detail{grid-template-columns:1fr}.dir-map__detail button{justify-self:start}.dir-reading{grid-template-columns:1fr;gap:30px}.dir-section-head{display:block}.dir-updated{display:block;margin-top:12px}.dir-card__top{align-items:center}.dir-card__address{grid-template-columns:1fr;gap:2px}.dir-card__address span{padding:0}.dir-map-pin{min-width:34px;height:34px;font-size:12px}.dir-map-pin--city{width:74px;height:43px;font-size:10px;padding:4px}.dir-map-pin--city strong{font-size:9px}.dir-map-pin--city em{font-size:9px}.dir-map__watermark{font-size:54px}}
@media(prefers-reduced-motion:reduce){.dir-card,.dir-map-pin{transition:none}}
