/* ==========================================================================
   Каталог целиком: вход в каталог разделами.
   Перенесено из блока <style> листа ui_kits/desktop/catalog-all.html.
   Колонка фильтра, карточка и сетка - в kit.css.
   ========================================================================== */

.ac-cols--wide { padding-top: var(--ac-s8); }

/* --- колонка фильтра (та же, что в разделе) ------------------------------ */
.ac-side__h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ac-s3);padding-bottom:var(--ac-s3);border-bottom:1px solid var(--ac-line)}
.ac-side__h b{font-family:var(--ac-font-display);font-size:var(--ac-size-h3);font-weight:var(--ac-w-semi)}
.ac-side__h a{font-size:var(--ac-size-sm);color:var(--ac-ink-mute)}
.ac-side__h a:hover{color:var(--ac-ink)}
.ac-side .ac-btn{margin-top:var(--ac-s2)}

/* --- поиск по каталогу ---------------------------------------------------
   Кнопки «Найти» нет: выдача пересобирается с двух символов. Счётчик справа
   в поле показывает, сколько осталось. */
.ac-hunt__w{padding-top:var(--ac-s6)}
.ac-hunt{display:flex;align-items:center;gap:var(--ac-s3);height:60px;padding:0 var(--ac-s5);border-radius:var(--ac-r-field);background:var(--ac-surface);box-shadow:inset 0 0 0 1px var(--ac-line-strong);cursor:text;transition:box-shadow var(--ac-dur) var(--ac-ease)}
.ac-hunt:hover,.ac-hunt:focus-within{box-shadow:inset 0 0 0 1px var(--ac-ink)}
.ac-hunt>svg{flex:0 0 auto;color:var(--ac-ink-mute)}
.ac-hunt input{flex:1 1 auto;min-width:0;height:100%;border:0;background:none;font-family:inherit;font-size:var(--ac-size-lead);color:var(--ac-ink);outline:0}
.ac-hunt input::placeholder{color:var(--ac-ink-mute)}
.ac-hunt input::-webkit-search-cancel-button{display:none}
.ac-hunt em{flex:0 0 auto;font-style:normal;font-family:var(--ac-font-mono);font-size:var(--ac-size-xs);letter-spacing:var(--ac-track-mono);color:var(--ac-ink-mute)}
.ac-hunt__x{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--ac-r-pill);background:var(--ac-ghost);color:var(--ac-ink-mute)}
.ac-hunt__x:hover{color:var(--ac-ink)}

.ac-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:var(--ac-s4)}
.ac-quick>span{margin-right:var(--ac-s1);font-size:var(--ac-size-xs);letter-spacing:var(--ac-track-caps);text-transform:uppercase;color:var(--ac-ink-mute)}
.ac-quick--found{padding-top:var(--ac-s4)}
.ac-chip em{font-style:normal;font-family:var(--ac-font-mono);font-size:var(--ac-size-xs);color:var(--ac-ink-mute)}
.ac-chips--hunt{margin:var(--ac-s4) 0 0}

/* --- находки по запросу -------------------------------------------------- */
.ac-fh{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ac-s4);padding-bottom:var(--ac-s3);border-bottom:1px solid var(--ac-line)}
.ac-fh b{font-family:var(--ac-font-display);font-size:var(--ac-size-h3);font-weight:var(--ac-w-semi)}
.ac-fh span{font-family:var(--ac-font-mono);font-size:var(--ac-size-xs);letter-spacing:var(--ac-track-mono);color:var(--ac-ink-mute)}
.ac-found{display:grid;gap:var(--ac-s12)}
.ac-grid--found{padding-top:var(--ac-s5)}
.ac-found__all{padding-top:var(--ac-s6)}

/* --- разделы карточками --------------------------------------------------
   Кадр 910 × 523 - ровно формат сданных баннеров: при любой другой
   пропорции object-fit срезает съёмку по бокам. */
.ac-rubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ac-col)}
.ac-rub{position:relative;display:grid;align-content:start;overflow:hidden;border-radius:var(--ac-r-card);background:var(--ac-surface);box-shadow:var(--ac-elev-card);transition:box-shadow var(--ac-dur) var(--ac-ease)}
.ac-rub:hover{box-shadow:var(--ac-elev-hover)}
.ac-rub__ph{position:relative;display:grid;place-items:center;aspect-ratio:910/523;overflow:hidden;background:var(--ac-photo-bg)}
.ac-rub__ph img{width:100%;height:100%;object-fit:cover;transition:transform 520ms var(--ac-ease)}
.ac-rub:hover .ac-rub__ph img{transform:scale(1.035)}
.ac-rub__b{display:grid;align-content:start;gap:var(--ac-s2);padding:var(--ac-s5)}
.ac-rub__t{font-family:var(--ac-font-display);font-size:var(--ac-size-h3);font-weight:var(--ac-w-semi);letter-spacing:-.015em}
/* Ссылка растягивается на карточку целиком, но быстрые входы лежат выше
   по слою и остаются кликабельными сами по себе. */
.ac-rub__t a::after{content:"";position:absolute;inset:0;z-index:1}
.ac-rub__m{font-family:var(--ac-font-mono);font-size:var(--ac-size-xs);letter-spacing:var(--ac-track-mono);color:var(--ac-ink-mute)}
.ac-rub__l{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px;padding-top:var(--ac-s2)}
.ac-rub__l a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--ac-r-pill);background:var(--ac-bg);font-size:var(--ac-size-sm);color:var(--ac-ink-body)}
.ac-rub__l a:hover{background:var(--ac-surface-sunk);color:var(--ac-ink)}
.ac-rub__d{font-size:var(--ac-size-sm);line-height:var(--ac-lh-body);color:var(--ac-ink-body);text-wrap:pretty}

/* Раздел, где под условия ничего не осталось, гаснет и не открывается -
   честнее, чем пустая выдача внутри. */
.ac-rub.is-off{background:none;box-shadow:inset 0 0 0 1px var(--ac-line)}
.ac-rub.is-off:hover{box-shadow:inset 0 0 0 1px var(--ac-line)}
/* Гасим фотографию, а не всё гнездо кадра. В ките приглушается `.ac-rub__ph`
   целиком, потому что там всегда лежит снимок. У нас на его месте бывает
   плашка «кадр раздела не сдан», и вместе с гнездом гас её текст - 1,51:1
   вместо 4,5:1. Плашка и так приглушена по смыслу, гасить её нечем. */
.ac-rub.is-off .ac-rub__ph img{opacity:.3;filter:grayscale(1)}
.ac-rub.is-off .ac-rub__t{color:var(--ac-ink-mute)}
.ac-rub.is-off a{pointer-events:none}

/* Вход в заявку на месте недостающих клеток. */
.ac-ask{grid-column:span 2;align-content:center;background:none;box-shadow:inset 0 0 0 1px var(--ac-line)}
.ac-ask:hover{box-shadow:inset 0 0 0 1px var(--ac-line)}
.ac-ask .ac-rub__b{gap:var(--ac-s3);padding:var(--ac-s8)}
.ac-ask .ac-rub__t{font-size:var(--ac-size-h2);line-height:var(--ac-lh-snug)}
.ac-ask__a{display:flex;flex-wrap:wrap;gap:var(--ac-s3);padding-top:var(--ac-s2)}
