/*
 * Выдача справочника - макет Search-Tusovka (Claude Design a703a2d9, ночь 20.10.2026).
 * Значения перенесены из макета дословно; цвета - токены tus2.css. Разметка - includes/dir-search.php,
 * поведение - assets/js/dir-search.js. Ширины: >=1280 - три колонки (фильтры 240 / список /
 * карта 420), 760-1279 - одна колонка с кнопками «Фильтры/Сортировка» и «Список/Карта»,
 * <760 - то же с компактной карточкой 96x96.
 * Корень - .tus2.ids (специфичность выше старых слоёв sunday/unify/mobile).
 */

.tus2.ids{display:block;background:#FFFFFF}
main#main.tus2.ids{margin:0;padding:0;max-width:none;width:auto;float:none}
.ids .ids-wrap{padding-top:28px;padding-bottom:clamp(56px,4.6vw,88px)}
.ids [hidden]{display:none!important}
.ids .screen-reader-text,.screen-reader-text#ibd-ds-live{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ── Сетка ─────────────────────────────────────────────────────────────── */
.ids .ids-grid{display:grid;grid-template-columns:240px minmax(0,1fr) 420px;gap:32px;align-items:start}
.ids .ids-grid--nomap{grid-template-columns:240px minmax(0,1fr)}
.ids .ids-grid.is-expanded{grid-template-columns:240px minmax(0,1fr)}
.ids .ids-grid.is-expanded .ids-col{display:none}
.ids .ids-col{min-width:0}
.ids .ids-aside{min-width:0}
.ids .ids-nar{display:none}

/* ── Фильтры (колонка и шторка) ────────────────────────────────────────── */
.ids .ids-aside__t{margin:0 0 20px;font-family:var(--tus-font);font-size:20px;line-height:1.3;font-weight:700;color:var(--tus-ink);letter-spacing:0}
.tus2 .ids-fgroups{display:flex;flex-direction:column;gap:28px}
.tus2 .ids-fg__t{margin:0 0 8px;font-family:var(--tus-font);font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tus-ink-3)}
.tus2 .ids-fg__list{display:flex;flex-direction:column}

.tus2 .ids-price{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;overflow:hidden;border:1px solid var(--tus-line);border-radius:12px}
.tus2 a.ids-price__b{display:flex;align-items:center;justify-content:center;height:44px;padding:0;border:0;border-left:1px solid var(--tus-line);background:#FFFFFF;color:var(--tus-ink);font-size:15px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;font-weight:600;text-shadow:none;text-decoration:none;cursor:pointer}
.tus2 a.ids-price__b:first-child{border-left:0}
.tus2 a.ids-price__b--3{font-size:14px}
.tus2 a.ids-price__b--4{font-size:13px}
.tus2 a.ids-price__b:hover{color:var(--tus-ink);background:var(--tus-warm)}
.tus2 a.ids-price__b.is-on,.tus2 a.ids-price__b.is-on:hover{background:var(--tus-orange);color:#FFFFFF;font-weight:800;text-shadow:0 1px 1px rgba(120,50,0,.35)}
.tus2 .ids-price__b .tus-ils{font-weight:inherit}

.tus2 a.ids-check,.tus2 a.ids-radio{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 0;border:0;background:transparent;font-size:15px;line-height:1.35;color:var(--tus-ink);text-align:left;text-decoration:none;cursor:pointer}
.tus2 a.ids-check:hover,.tus2 a.ids-radio:hover{color:var(--tus-ink)}
.tus2 .ids-check__box{display:flex;flex:0 0 20px;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--tus-ink-3);background:#FFFFFF;color:#FFFFFF;transition:background .12s,border-color .12s}
.tus2 .ids-check.is-on .ids-check__box{border-color:var(--tus-orange);background:var(--tus-orange)}
.tus2 a.ids-check:hover .ids-check__box{border-color:var(--tus-orange)}
.tus2 .ids-check__t{min-width:0}
.tus2 .ids-radio__dot{display:flex;flex:0 0 20px;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--tus-ink-3);background:#FFFFFF}
.tus2 .ids-radio.is-on .ids-radio__dot{border-color:var(--tus-orange)}
.tus2 .ids-radio.is-on .ids-radio__dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--tus-orange)}
.tus2 a.ids-radio:hover .ids-radio__dot{border-color:var(--tus-orange)}

.tus2 .ids-catchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tus2 a.ids-catchip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:1px solid var(--tus-line);border-radius:999px;background:#FFFFFF;font-size:14px;font-weight:600;color:var(--tus-ink);white-space:nowrap;text-decoration:none;cursor:pointer}
.tus2 a.ids-catchip:hover{border-color:var(--tus-orange);color:var(--tus-ink)}
.tus2 a.ids-catchip.is-on{border-color:var(--tus-orange);background:var(--tus-warm)}
.tus2 a.ids-catchip svg{flex:0 0 14px;color:var(--tus-orange-hover)}

.tus2 .ids-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;border:0;background:none;font-family:var(--tus-font);font-size:14px;font-weight:700;color:var(--tus-sky-text);text-decoration:none;cursor:pointer}
.tus2 a.ids-link:hover,.tus2 button.ids-link:hover{color:var(--tus-sky-text);text-decoration:underline}
.tus2 .ids-moretoggle svg{transition:transform .15s}
.tus2 .ids-moretoggle[aria-expanded="true"] svg{transform:rotate(180deg)}

.tus2 .ids-near{padding:10px 0 2px}
.tus2 .ids-near__t{font-size:15px;line-height:1.35;font-weight:600;color:var(--tus-ink)}
.tus2 .ids-near__s{font-size:13px;line-height:1.4;color:var(--tus-ink-3)}
.tus2 .ids-geomsg{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--tus-red-tint);font-size:14px;line-height:1.4;color:var(--tus-red)}
.tus2 .ids-geomsg.is-wait{background:var(--tus-bg);color:var(--tus-ink-2)}

/* ── Шапка списка ──────────────────────────────────────────────────────── */
.ids .ids-crumbs{font-size:14px;line-height:1.4;color:var(--tus-ink-3)}
.ids .ids-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;list-style:none}
.ids .ids-crumbs a{color:var(--tus-ink-2);text-decoration:none}
.ids .ids-crumbs a:hover{color:var(--tus-sky-text);text-decoration:underline}
.ids .ids-crumbs [aria-current]{font-weight:600;color:var(--tus-ink)}

.ids .ids-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.ids .ids-h1{margin:12px 0 0;font-family:var(--tus-font);font-size:clamp(26px,2vw,38px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--tus-ink);text-wrap:balance}
.ids .ids-h1:focus{outline:none}
.ids .ids-h1:focus-visible{outline:2px solid var(--tus-sky);outline-offset:2px}

.ids .ids-sort{position:relative}
.ids .ids-sort__btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:1px solid var(--tus-line);border-radius:12px;background:#FFFFFF;font-family:var(--tus-font);font-size:15px;font-weight:400;line-height:normal;color:var(--tus-ink-2);white-space:nowrap;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
.ids .ids-sort__btn:hover{border-color:var(--tus-orange);background:#FFFFFF;color:var(--tus-ink-2)}
.ids .ids-sort__btn b{font-weight:700;color:var(--tus-ink)}
.ids .ids-sort__chev{flex:0 0 16px;color:var(--tus-ink-2);transition:transform .15s}
.ids .ids-sort__btn[aria-expanded="true"] .ids-sort__chev{transform:rotate(180deg)}
.ids .ids-sort__pop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:260px;padding:8px;background:#FFFFFF;border:1.5px solid var(--tus-line);border-radius:16px;box-shadow:var(--tus-shadow-pop)}
.ids .ids-sort__list{margin:0;padding:0;list-style:none}
.ids a.ids-sort__opt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 14px;border-radius:10px;background:transparent;font-size:15px;line-height:1.3;color:var(--tus-ink);text-decoration:none;cursor:pointer}
.ids a.ids-sort__opt:hover{background:var(--tus-warm);color:var(--tus-ink)}
.ids a.ids-sort__opt.is-on{background:var(--tus-orange-tint)}
.ids a.ids-sort__opt svg{flex:0 0 18px;color:var(--tus-orange-hover)}

.ids .ids-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.ids a.ids-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px 0 14px;border:1px solid var(--tus-orange);border-radius:999px;background:var(--tus-warm);font-size:14px;font-weight:600;color:var(--tus-ink);white-space:nowrap;text-decoration:none;cursor:pointer}
.ids a.ids-chip:hover{background:var(--tus-orange-tint);color:var(--tus-ink)}
.ids a.ids-reset{display:inline-flex;align-items:center;height:36px;padding:0 6px;font-size:14px;font-weight:700;color:var(--tus-sky-text);white-space:nowrap;text-decoration:none}
.ids a.ids-reset:hover{color:var(--tus-sky-text);text-decoration:underline}

.ids .ids-count{margin:16px 0 0;font-size:15px;line-height:1.4;font-weight:600;color:var(--tus-ink-2)}
.ids .ids-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:16px;padding:12px 16px;border:1px solid #FBE7C4;border-radius:12px;background:var(--tus-warm);font-size:15px;line-height:1.4;color:var(--tus-ink)}
.ids .ids-note p{margin:0;flex:1 1 280px}

/* ── Карточка ──────────────────────────────────────────────────────────── */
.ids .ids-list{margin:4px 0 0;padding:0;list-style:none}
.ids .ids-item{margin:0;padding:8px 0;border-bottom:1px solid var(--tus-line);list-style:none}
.ids .ids-item::marker{content:none}
.ids .ids-card{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:20px;row-gap:8px;margin:0 -16px;padding:16px;border-radius:16px;background:transparent;transition:background .15s}
.ids .ids-item.is-hot .ids-card{background:var(--tus-warm)}
.ids .ids-card__ph{grid-column:1;grid-row:1 / span 2;display:block;width:200px;height:200px;text-decoration:none}
.ids .ids-card__img{display:block;width:200px;height:200px;max-width:none;border-radius:14px;object-fit:cover;object-position:50% 50%}
.ids .ids-card__img--logo{object-fit:contain;padding:16px;border:1px solid var(--tus-line);background:#FFFFFF}
.ids .ids-noph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:200px;height:200px;border-radius:14px;background:var(--tus-warm);border:1px solid #FBE7C4}
.ids .ids-noph__ic{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--tus-orange-tint);color:var(--tus-orange-hover)}
.ids .ids-noph__t{font-size:13px;font-weight:600;color:var(--tus-ink-3)}
.ids .ids-card__body{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.ids .ids-card__t{margin:0;font-family:var(--tus-font);font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.01em;text-wrap:pretty;color:var(--tus-ink);text-transform:none}
.ids .ids-card__t a{color:var(--tus-ink);text-decoration:none}
.ids .ids-card__t a:hover{color:var(--tus-sky-text)}
.ids .ids-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;line-height:1.5;color:var(--tus-ink-2)}
.ids .ids-badge{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px 0 7px;border-radius:8px;background:var(--tus-orange);color:#FFFFFF;font-size:14px;font-weight:700}
.ids .ids-ver{display:inline-flex;align-items:center;gap:5px;font-weight:600}
.ids .ids-card__area{font-size:14px;line-height:1.5;color:var(--tus-ink-2)}
.ids .ids-st{font-weight:700}
.ids .ids-st.is-open{color:var(--tus-green)}
.ids .ids-st.is-closed{color:var(--tus-red)}
.ids .ids-card__props{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;line-height:1.5;color:var(--tus-ink)}
.ids .ids-prop{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ids .ids-prop svg{flex:0 0 16px;color:var(--tus-orange-hover)}
.ids .ids-card__q{margin:0;font-size:15px;line-height:1.5;font-style:italic;color:var(--tus-ink-2);text-wrap:pretty}
.ids .ids-q-more{padding:0;border:0;background:none;font-family:var(--tus-font);font-size:15px;line-height:inherit;font-style:normal;font-weight:700;color:var(--tus-sky-text);cursor:pointer;box-shadow:none;min-height:0;text-transform:none;letter-spacing:0}
.ids .ids-q-more:hover{background:none;color:var(--tus-sky-text);text-decoration:underline}
.ids .ids-card__cats{display:flex;flex-wrap:wrap;gap:6px}
.ids a.ids-cat{display:inline-flex;align-items:center;height:28px;padding:0 12px;border:1px solid var(--tus-line);border-radius:999px;background:#FFFFFF;font-size:13px;font-weight:600;color:var(--tus-ink-2);white-space:nowrap;text-decoration:none}
.ids a.ids-cat:hover{border-color:var(--tus-orange);color:var(--tus-ink)}
.ids .ids-card__btns{grid-column:2;grid-row:2;align-self:start;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:6px}

.ids a.ids-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:12px;font-size:15px;white-space:nowrap;text-decoration:none;cursor:pointer}
.ids a.ids-btn--line{padding:0 18px;border:1px solid var(--tus-orange);background:#FFFFFF;color:var(--tus-ink);font-weight:700}
.ids a.ids-btn--line:hover{background:var(--tus-warm);color:var(--tus-ink)}
.ids a.ids-btn--fill{padding:0 20px;border:0;background:var(--tus-orange);color:#FFFFFF;font-weight:800;text-shadow:0 1px 1px rgba(120,50,0,.35)}
.ids a.ids-btn--fill:hover{background:var(--tus-orange-hover);color:#FFFFFF}
.ids .ids-btn.is-shown .ids-btn__t{font-variant-numeric:tabular-nums}

/* Каркас карточки, пока грузится новая выдача (как у Yelp: номера и серые плашки) */
.ids .ids-skel .ids-card__ph,.ids .ids-skel__bar{background:var(--tus-bg);border-radius:14px}
.ids .ids-skel__bar{display:block;height:14px;border-radius:7px}
.ids .ids-skel__bar--t{height:22px;width:60%}
.ids .ids-skel__bar--a{width:40%}
.ids .ids-skel__bar--b{width:75%}
.ids .ids-skel__n{font-size:20px;font-weight:700;color:var(--tus-ink-3)}

/* ── Низ списка ────────────────────────────────────────────────────────── */
.ids .ids-pg{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:32px}
.ids .ids-pg__nums{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ids .ids-pg__nums--m{display:none}
.ids a.ids-pg__arr,.ids span.ids-pg__arr{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--tus-line);border-radius:12px;background:#FFFFFF;color:var(--tus-ink);text-decoration:none}
.ids a.ids-pg__arr:hover{border-color:var(--tus-orange);color:var(--tus-ink)}
.ids .ids-pg__arr.is-off{opacity:.4}
.ids a.ids-pg__n,.ids span.ids-pg__n{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--tus-line);border-radius:12px;background:#FFFFFF;color:var(--tus-ink);font-size:15px;font-weight:600;text-decoration:none}
.ids a.ids-pg__n:hover{border-color:var(--tus-orange);color:var(--tus-ink)}
.ids .ids-pg__n.is-cur{border-color:var(--tus-orange);background:var(--tus-orange);color:#FFFFFF;font-weight:800;text-shadow:0 1px 1px rgba(120,50,0,.35)}
.ids .ids-pg__dots{display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;color:var(--tus-ink-3)}
.ids a.ids-pg__next,.ids span.ids-pg__next{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border:0;border-radius:12px;background:var(--tus-orange);color:#FFFFFF;font-size:15px;font-weight:800;text-shadow:0 1px 1px rgba(120,50,0,.35);white-space:nowrap;text-decoration:none}
.ids a.ids-pg__next:hover{background:var(--tus-orange-hover);color:#FFFFFF}
.ids span.ids-pg__next.is-off{opacity:.4}

.ids .ids-add{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:40px;padding:24px 28px;border-radius:16px;background:var(--tus-warm);border:1px solid #FBE7C4}
.ids .ids-add__t{flex:1 1 260px;min-width:0;margin:0;font-size:18px;line-height:1.35;font-weight:700;color:var(--tus-ink);text-wrap:pretty}
.ids a.ids-add__btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border:1px solid var(--tus-orange);border-radius:12px;background:#FFFFFF;color:var(--tus-ink);font-size:16px;font-weight:700;white-space:nowrap;text-decoration:none}
.ids a.ids-add__btn:hover{background:var(--tus-warm);color:var(--tus-ink)}

.ids .ids-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding:28px;border:1px dashed var(--tus-line);border-radius:16px}
.ids .ids-empty__t{margin:0;font-size:20px;line-height:1.3;font-weight:700;color:var(--tus-ink)}
.ids .ids-empty__s{margin:0 0 8px;font-size:15px;line-height:1.5;color:var(--tus-ink-2)}

/* ── Карта ─────────────────────────────────────────────────────────────── */
.ids .ids-mapcol{position:sticky;top:calc(var(--ids-top,0px) + 16px);height:clamp(560px,calc(100vh - 32px - var(--ids-top,0px)),920px);min-width:0}
.ids .ids-map{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid var(--tus-line);border-radius:16px;background:var(--tus-bg)}
.ids .ids-map__canvas{position:absolute;inset:0}
.ids .ids-map__auto{position:absolute;left:12px;top:12px;z-index:5;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 10px;border:0;border-radius:10px;background:#FFFFFF;box-shadow:0 2px 10px rgba(16,24,40,.16);font-family:var(--tus-font);font-size:14px;font-weight:600;line-height:normal;color:var(--tus-ink);white-space:nowrap;cursor:pointer;text-transform:none;letter-spacing:0;min-height:0}
.ids .ids-map__auto:hover{background:#FFFFFF;color:var(--tus-ink)}
.ids .ids-map__box{display:flex;flex:0 0 18px;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--tus-ink-3);background:#FFFFFF;color:#FFFFFF}
.ids .ids-map__box svg{visibility:hidden}
.ids .ids-map__auto[aria-checked="true"] .ids-map__box{border-color:var(--tus-orange);background:var(--tus-orange)}
.ids .ids-map__auto[aria-checked="true"] .ids-map__box svg{visibility:visible}
.ids .ids-map__ctl{position:absolute;right:12px;top:12px;z-index:5;display:flex;flex-direction:column;gap:8px}
.ids .ids-map__zoom{display:flex;flex-direction:column;overflow:hidden;border-radius:10px;background:#FFFFFF;box-shadow:0 2px 10px rgba(16,24,40,.16)}
.ids .ids-map__sep{height:1px;background:var(--tus-line)}
.ids .ids-map__b{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:0;padding:0;border:0;border-radius:0;background:#FFFFFF;color:var(--tus-ink);cursor:pointer;box-shadow:none}
.ids .ids-map__b:hover{background:var(--tus-bg);color:var(--tus-ink)}
.ids .ids-map__exp{border-radius:10px;box-shadow:0 2px 10px rgba(16,24,40,.16)}
.ids .ids-map__area{position:absolute;left:50%;top:64px;z-index:5;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--tus-orange);color:#FFFFFF;font-family:var(--tus-font);font-size:15px;font-weight:800;line-height:normal;text-shadow:0 1px 1px rgba(120,50,0,.35);white-space:nowrap;box-shadow:0 6px 16px rgba(120,50,0,.3);transform:translateX(-50%);cursor:pointer;text-transform:none;letter-spacing:0;min-height:0}
.ids .ids-map__area:hover{background:var(--tus-orange-hover);color:#FFFFFF}
.ids .ids-map__msg{position:absolute;left:12px;right:12px;bottom:12px;z-index:5;margin:0;padding:10px 12px;border-radius:10px;background:#FFFFFF;box-shadow:0 2px 10px rgba(16,24,40,.16);font-size:14px;line-height:1.4;color:var(--tus-ink-2)}
.ids .ids-map.is-failed .ids-map__auto,.ids .ids-map.is-failed .ids-map__ctl{display:none}

/* Номерные метки (OverlayView, dir-search.js) */
.ids .ids-mk{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:0;padding:0;border:1.5px solid var(--tus-orange-hover);border-radius:50%;background:var(--tus-orange);color:#FFFFFF;font-family:var(--tus-font);font-size:14px;font-weight:800;line-height:1;text-shadow:0 1px 1px rgba(120,50,0,.35);box-shadow:0 2px 6px rgba(16,24,40,.25);transform:translate(-50%,-50%);transition:width .15s,height .15s;cursor:pointer;letter-spacing:0}
.ids .ids-mk:hover{color:#FFFFFF;background:var(--tus-orange)}
.ids .ids-mk.is-on{z-index:3;width:40px;height:40px;border:3px solid #FFFFFF;font-size:16px;box-shadow:0 6px 16px rgba(120,50,0,.45)}
.ids .ids-mk__l{position:absolute;left:calc(100% + 8px);top:50%;display:none;padding:6px 10px;border-radius:8px;background:#FFFFFF;box-shadow:0 2px 8px rgba(16,24,40,.18);font-size:13px;line-height:1.2;font-weight:700;color:var(--tus-ink);text-shadow:none;white-space:nowrap;transform:translateY(-50%);pointer-events:none}
.ids .ids-mk.is-left .ids-mk__l{left:auto;right:calc(100% + 8px)}
.ids .ids-mk.is-on .ids-mk__l{display:block}
@media (prefers-reduced-motion:reduce){.ids .ids-mk,.ids .ids-card,.ids .ids-sort__chev,.tus2 .ids-check__box,.tus2 .ids-moretoggle svg{transition:none}}

/* ── Блок под выдачей (страницы терминов: описание, FAQ, перелинковка) ──── */
.ids .ids-seo{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:56px;padding-top:40px;border-top:1px solid var(--tus-line)}
.ids .ids-seo__intro{display:flex;flex-direction:column;gap:12px;max-width:880px}
.ids .ids-seo__desc,.ids .ids-seo__p{font-size:16px;line-height:1.6;color:var(--tus-ink-2)}
.ids .ids-seo__desc p{margin:0 0 8px}
.ids .ids-seo__h{margin:0 0 16px;font-family:var(--tus-font);font-size:20px;line-height:1.3;font-weight:700;color:var(--tus-ink)}
.ids .ids-seo__faq{max-width:880px}
.ids .ids-seo__qa{padding:14px 0;border-top:1px solid var(--tus-line)}
.ids .ids-seo__q{margin:0 0 6px;font-family:var(--tus-font);font-size:16px;line-height:1.4;font-weight:700;color:var(--tus-ink)}
.ids .ids-seo__a{margin:0;font-size:15px;line-height:1.55;color:var(--tus-ink-2)}
.ids .ids-seo__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ids a.ids-seo__link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--tus-line);border-radius:999px;background:#FFFFFF;font-size:14px;font-weight:600;color:var(--tus-ink-2);text-decoration:none}
.ids a.ids-seo__link:hover,.ids a.ids-seo__link:focus-visible{border-color:var(--tus-orange);color:var(--tus-ink)}

/* ── Шторки (телефон и планшет) ────────────────────────────────────────── */
.ids-sheets .ids-sheet{position:fixed;left:0;right:0;top:0;height:100%;z-index:100000;font-family:var(--tus-font)}
.ids-sheets .ids-sheet__bg{position:absolute;inset:0;background:rgba(30,42,50,.45)}
.ids-sheets .ids-sheet__panel{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:88%;border-radius:20px 20px 0 0;background:#FFFFFF;box-shadow:0 -10px 40px rgba(24,60,90,.2)}
.ids-sheets .ids-sheet__grip{display:flex;justify-content:center;padding:10px 0 2px}
.ids-sheets .ids-sheet__grip span{width:40px;height:5px;border-radius:3px;background:#D5DEE5}
.ids-sheets .ids-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 8px 16px;border-bottom:1px solid var(--tus-line)}
.ids-sheets .ids-sheet__t{min-width:0;font-size:18px;line-height:1.3;font-weight:800;color:var(--tus-ink)}
.ids-sheets .ids-sheet__x{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;min-height:0;padding:0;border:0;border-radius:12px;background:transparent;color:var(--tus-ink);cursor:pointer;box-shadow:none}
.ids-sheets .ids-sheet__x:hover{background:var(--tus-bg);color:var(--tus-ink)}
.ids-sheets .ids-sheet__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 24px}
.ids-sheets .ids-sheet__body--sort{padding:8px 8px calc(16px + env(safe-area-inset-bottom))}
.ids-sheets .ids-sheet__foot{display:flex;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--tus-line);background:#FFFFFF}
.ids-sheets a.ids-sheet__reset{flex:0 0 auto;display:inline-flex;align-items:center;height:52px;padding:0 6px;font-size:15px;font-weight:700;color:var(--tus-sky-text);white-space:nowrap;text-decoration:none}
.ids-sheets a.ids-sheet__reset:hover{color:var(--tus-sky-text);text-decoration:underline}
.ids-sheets .ids-sheet__show{flex:1 1 auto;min-width:0;height:52px;min-height:0;padding:0 16px;border:0;border-radius:12px;background:var(--tus-orange);color:#FFFFFF;font-family:var(--tus-font);font-size:16px;font-weight:800;line-height:normal;text-shadow:0 1px 1px rgba(120,50,0,.35);white-space:nowrap;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
.ids-sheets .ids-sheet__show:hover{background:var(--tus-orange-hover);color:#FFFFFF}
.ids-sheets a.ids-sopt{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:8px;border-radius:10px;background:transparent;font-size:16px;line-height:1.35;color:var(--tus-ink);text-decoration:none}
.ids-sheets a.ids-sopt:hover{color:var(--tus-ink);background:var(--tus-warm)}
.ids-sheets a.ids-sopt.is-on{background:var(--tus-warm)}
.ids-sheets .ids-sopt__dot{display:flex;flex:0 0 22px;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--tus-ink-3);background:#FFFFFF}
.ids-sheets .ids-sopt.is-on .ids-sopt__dot{border-color:var(--tus-orange)}
.ids-sheets .ids-sopt.is-on .ids-sopt__dot::after{content:"";width:11px;height:11px;border-radius:50%;background:var(--tus-orange)}
html.ids-locked,html.ids-locked body{overflow:hidden!important}

/* ── <1280: одна колонка, кнопки «Фильтры/Сортировка», «Список/Карта» ──── */
@media (max-width:1279px){
  .ids .ids-grid,.ids .ids-grid--nomap{display:block}
  .ids .ids-aside{display:none}
  .ids .ids-sort{display:none}
  .ids .ids-h1{margin-top:10px}
  .ids .ids-nar{display:block}
  .ids .ids-nar__btns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;max-width:560px;margin-top:16px}
  .ids .ids-nbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:0;padding:0 16px;border:1px solid var(--tus-line);border-radius:12px;background:#FFFFFF;font-family:var(--tus-font);font-size:15px;font-weight:700;line-height:normal;color:var(--tus-ink);white-space:nowrap;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
  .ids .ids-nbtn:hover{border-color:var(--tus-orange);background:#FFFFFF;color:var(--tus-ink)}
  .ids .ids-nbtn__n{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--tus-orange);color:#FFFFFF;font-size:13px;font-weight:800}
  .ids .ids-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;max-width:560px;margin-top:10px;padding:4px;border:1px solid var(--tus-line);border-radius:14px;background:var(--tus-bg)}
  .ids .ids-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;min-height:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--tus-ink);font-family:var(--tus-font);font-size:15px;font-weight:600;line-height:normal;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
  .ids .ids-tab:hover{background:transparent;color:var(--tus-ink)}
  .ids .ids-tab[aria-selected="true"],.ids .ids-tab[aria-selected="true"]:hover{background:var(--tus-orange);color:#FFFFFF;font-weight:800;text-shadow:0 1px 1px rgba(120,50,0,.35)}
  .ids .ids-mapcol{display:none;position:static;height:auto}
  .ids.is-map .ids-body{display:none}
  .ids.is-map .ids-mapcol{display:block}
  .ids.is-map .ids-map{height:min(640px,max(460px,130vw));margin-top:16px}
  .ids.is-map .ids-map__exp{display:none}
  .ids .ids-selbox{margin-top:12px;padding:0 16px;border:1px solid var(--tus-line);border-radius:16px;background:#FFFFFF}
}

/* Компактная карточка: телефон (<760) и карточка под картой на узком экране */
@media (max-width:759px){
  .ids .ids-item{padding:0}
  .ids .ids-list .ids-card{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:14px;margin:0;padding:16px 0;border-radius:0;background:transparent!important}
  .ids .ids-list .ids-card__ph{grid-row:1;width:96px;height:96px}
  .ids .ids-list .ids-card__img{width:96px;height:96px;border-radius:12px}
  .ids .ids-list .ids-card__img--logo{padding:8px}
  .ids .ids-list .ids-noph{gap:4px;width:96px;height:96px;border-radius:12px}
  .ids .ids-list .ids-noph__ic{width:40px;height:40px}
  .ids .ids-list .ids-noph__ic svg{width:22px;height:22px}
  .ids .ids-list .ids-noph__t{font-size:11px}
  .ids .ids-list .ids-card__body{gap:5px}
  .ids .ids-list .ids-card__t{font-size:17px;letter-spacing:0}
  .ids .ids-list .ids-card__meta{gap:4px 8px;font-size:13px}
  .ids .ids-list .ids-badge{gap:3px;height:24px;padding:0 8px 0 6px;border-radius:7px;font-size:13px}
  .ids .ids-list .ids-badge svg{width:13px;height:13px}
  .ids .ids-list .ids-ver,.ids .ids-list .ids-card__q,.ids .ids-list .ids-card__cats{display:none}
  .ids .ids-list .ids-card__area{line-height:1.4}
  .ids .ids-list .ids-card__props{display:block;overflow:hidden;font-size:13px;line-height:1.5;white-space:nowrap;text-overflow:ellipsis}
  .ids .ids-list .ids-prop{display:inline}
  .ids .ids-list .ids-prop svg{display:none}
  .ids .ids-list .ids-prop:first-child svg{display:inline-block;width:15px;height:15px;margin-right:6px;vertical-align:-3px}
  .ids .ids-list .ids-prop + .ids-prop::before{content:" · "}
  .ids .ids-list .ids-card__btns{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0}
  .ids .ids-list .ids-card__btns.is-one{grid-template-columns:minmax(0,1fr)}
  .ids .ids-list a.ids-btn{padding:0 10px}
  .ids .ids-pg__nums--d{display:none}
  .ids .ids-pg__nums--m{display:flex}
  .ids a.ids-pg__next,.ids span.ids-pg__next{flex:1 1 100%}
  .ids .ids-add{padding:24px}
}
/* Та же компактная карточка - под картой (повтор правил: у карточки нет своего брейкпоинта) */
.ids .ids-selbox .ids-card{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:14px;margin:0;padding:16px 0;border-radius:0;background:transparent}
.ids .ids-selbox .ids-card__ph{grid-row:1;width:96px;height:96px}
.ids .ids-selbox .ids-card__img{width:96px;height:96px;border-radius:12px}
.ids .ids-selbox .ids-noph{gap:4px;width:96px;height:96px;border-radius:12px}
.ids .ids-selbox .ids-noph__ic{width:40px;height:40px}
.ids .ids-selbox .ids-noph__ic svg{width:22px;height:22px}
.ids .ids-selbox .ids-noph__t{font-size:11px}
.ids .ids-selbox .ids-card__body{gap:5px}
.ids .ids-selbox .ids-card__t{font-size:17px;letter-spacing:0}
.ids .ids-selbox .ids-card__meta{gap:4px 8px;font-size:13px}
.ids .ids-selbox .ids-badge{gap:3px;height:24px;padding:0 8px 0 6px;border-radius:7px;font-size:13px}
.ids .ids-selbox .ids-ver,.ids .ids-selbox .ids-card__q,.ids .ids-selbox .ids-card__cats{display:none}
.ids .ids-selbox .ids-card__props{display:block;overflow:hidden;font-size:13px;line-height:1.5;white-space:nowrap;text-overflow:ellipsis}
.ids .ids-selbox .ids-prop{display:inline}
.ids .ids-selbox .ids-prop svg{display:none}
.ids .ids-selbox .ids-prop:first-child svg{display:inline-block;width:15px;height:15px;margin-right:6px;vertical-align:-3px}
.ids .ids-selbox .ids-prop + .ids-prop::before{content:" · "}
.ids .ids-selbox .ids-card__btns{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0}
.ids .ids-selbox .ids-card__btns.is-one{grid-template-columns:minmax(0,1fr)}
.ids .ids-selbox a.ids-btn{padding:0 10px}

/* Запасная карта (Google недоступна): подложка из макета + метки по относительным координатам */
.ids .ids-map__fb{position:absolute;inset:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.ids .ids-map__fb::-webkit-scrollbar{display:none}
.ids .ids-map__fbin{position:relative;width:100%;height:100%;min-width:100%;min-height:100%}
.ids .ids-map__fbsvg{position:absolute;inset:0;display:block;width:100%;height:100%}
.ids .ids-map__fbmk{position:absolute;inset:0}
.ids .ids-map.is-fb .ids-map__auto,.ids .ids-map.is-fb .ids-map__area{display:none!important}

/* Карточка под картой - только на узком экране в виде «Карта» */
@media (min-width:1280px){.ids .ids-selbox{display:none!important}}

/* Гард [hidden] у каждого класса с display (правило проекта, tests/module2-followup-test.php):
   общий «.корень [hidden]» не действует на слои, вынесенные из корня (модалки вне #main). */
.ids-map__area[hidden],.ids-selbox[hidden]{display:none!important}
