/* Кабинет доставки, группа «Каталог»: экраны a1-a7. Базовые классы — в base.css. */

/* Ссылка внутри .back-row: базовый a уже без подчёркивания, нужна только раскладка. */
.catalog-back { display: inline-flex; align-items: center; gap: 8px; color: var(--cab-muted-2); }
.catalog-back--item { gap: 6px; color: var(--cab-muted-3); font-weight: 400; }

/* a1 «Каталог»: вход в ИИ-импорт */
.catalog-ai { display: flex; flex: none; align-items: center; gap: 14px; margin: 14px 16px 0; padding: 16px; border: 1px solid #acd4b1; border-radius: 18px; background: #ddf0e0; color: var(--cab-ink); }
.catalog-ai__icon { display: grid; width: 34px; height: 34px; flex: none; place-items: center; border-radius: 999px; background: var(--cab-accent); color: #fff; }
.catalog-ai__copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 2px; }
.catalog-ai__title { font-size: 15px; font-weight: 700; }
.catalog-ai__steps { display: flex; align-items: center; gap: 8px; margin-top: 9px; }
.catalog-ai__step { display: flex; flex: none; align-items: center; gap: 5px; color: #46564b; font-size: 12.5px; font-weight: 600; }
.catalog-ai__step i { display: grid; width: 18px; height: 18px; flex: none; place-items: center; border-radius: 999px; background: var(--cab-accent); color: #fff; font-size: 11px; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; }
.catalog-ai__dash { min-width: 6px; height: 1px; flex: 1; background: #abd1b1; }
.catalog-ai__chevron { flex: none; color: var(--cab-muted); }

/* a1: сетка категорий и карточка архива */
.catalog-grid { display: grid; align-content: start; padding: 12px 16px 14px; gap: 12px; grid-template-columns: 1fr 1fr; }
.catalog-card { display: flex; min-width: 0; flex-direction: column; color: var(--cab-ink); }
.catalog-card__hero { height: 78px; border-radius: 0; }
.catalog-card__hero--archive { display: grid; place-items: center; background: var(--cab-accent); color: #fff; }
.catalog-card__row { display: flex; align-items: center; gap: 8px; }
.catalog-card__row--empty { gap: 7px; }
.catalog-card__name { min-width: 0; flex: 1; overflow: hidden; font-size: 15.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.catalog-card__count { color: var(--cab-muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.catalog-card__plus { display: inline-flex; flex: none; color: var(--cab-accent); }
.catalog-card .rating { font-size: 12.5px; }
.catalog-card--archive { cursor: pointer; }
.catalog-card--archive:hover { border-color: #98cca0; }

/* a2 «Заполнить через ИИ» */
.catalog-ai-head { display: flex; flex: none; align-items: center; gap: 10px; padding: 14px 20px 0; }
.catalog-ai-head__icon { display: grid; width: 30px; height: 30px; flex: none; place-items: center; border-radius: 999px; background: var(--cab-accent); color: #fff; }
.catalog-ai-card { display: flex; min-height: 0; flex: 1 1 0; flex-direction: column; gap: 10px; margin: 14px 16px 0; padding: 15px 16px; border-radius: 20px; }
.catalog-ai-card + .catalog-ai-card { margin-top: 12px; }
.catalog-ai-card__head { display: flex; align-items: baseline; gap: 8px; }
.catalog-ai-card__step { margin-left: auto; color: var(--cab-muted); font-size: 11.5px; font-weight: 700; }
.catalog-ai-box { min-height: 60px; flex: 1; overflow: hidden; margin: 0; padding: 11px 13px; border: 1px solid var(--cab-line-3); border-radius: 14px; background: #fafbf8; color: #46564b; font-size: 13.5px; line-height: 1.4; }
.catalog-ai-box--rows { display: flex; flex-direction: column; gap: 5px; }
.catalog-ai-box--rows span { flex: none; overflow: hidden; font-size: 12.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.catalog-ai-box__more { color: var(--cab-muted); }
.catalog-ai-chip { min-height: 40px; align-self: flex-start; gap: 7px; padding: 0 15px; background: var(--cab-surface-2); color: var(--cab-ink); font-size: 14px; }
.catalog-ai-chip svg { stroke: var(--cab-accent-deep); }
.catalog-ai-status { display: flex; flex: none; align-items: center; gap: 8px; margin: 12px 16px 0; color: var(--cab-accent-deep); font-size: 13px; font-weight: 700; }
.catalog-ai-submit { display: flex; flex: none; margin: 10px 16px 0; padding-bottom: max(22px, env(safe-area-inset-bottom)); }

/* a3 «Категория» и a4 «Категория пуста» */
.catalog-hero { flex: none; margin: 12px 16px 0; }
.catalog-sort { align-self: center; margin-left: auto; }
.catalog-items { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; padding: 0 16px 92px; }
.catalog-item { display: flex; min-height: 80px; flex: none; align-items: stretch; gap: 12px; padding-right: 12px; color: var(--cab-ink); }
.catalog-item__photo { position: relative; width: 76px; flex: none; align-self: stretch; overflow: hidden; background: var(--cab-surface-2); }
.catalog-item__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.catalog-item__photo--none { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-right: 1px solid var(--cab-line); color: #b4beb4; }
.catalog-item__photo--none span { font-size: 10px; font-weight: 600; }
.catalog-item__copy { min-width: 0; flex: 1; align-self: center; padding: 12px 0; }
.catalog-item__name { display: block; font-size: 16px; font-weight: 700; }
.catalog-item__note { display: block; max-width: 30ch; overflow: hidden; margin-top: 2px; color: var(--cab-muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-item .rating { align-self: center; }
.catalog-empty { margin: 14px 16px 0; }

/* a5 «История позиции»: шапка позиции */
.catalog-history { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 12px; overflow: hidden; margin: 12px 16px 0; padding-bottom: max(22px, env(safe-area-inset-bottom)); }
.catalog-item-card { display: flex; flex: none; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 20px; }
.catalog-item-card__photo { position: relative; width: 48px; height: 48px; flex: none; overflow: hidden; border-radius: 12px; background: var(--cab-surface-2); }
.catalog-item-card__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.catalog-item-card__copy { min-width: 0; flex: 1; }
.catalog-item-card__name { display: block; font-size: 17px; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; }
.catalog-item-card__category { display: block; margin-top: 3px; color: var(--cab-muted); font-size: 12px; }
.catalog-icon-button { display: inline-flex; width: 44px; height: 44px; flex: none; align-items: center; justify-content: center; border: 1px solid var(--cab-line-3); border-radius: 999px; background: var(--cab-surface); color: #46544a; }
.catalog-icon-button:hover { border-color: #a4d7ad; color: var(--cab-accent-deep); }

/* a5: график средней оценки по голосованиям */
.catalog-chart-card { flex: none; padding: 0 18px 14px; border-radius: 20px; }
.catalog-tabs { display: flex; gap: 20px; margin: 0 -18px; padding: 0 18px; border-bottom: 1px solid #eff2ed; }
.catalog-tabs__item { display: flex; min-height: 44px; align-items: center; color: var(--cab-muted); font-size: 13.5px; font-weight: 600; cursor: pointer; }
.catalog-tabs__item.is-active { color: var(--cab-ink); font-weight: 800; box-shadow: inset 0 -2px 0 var(--cab-accent); }
.catalog-chart { display: flex; gap: 8px; margin-top: 16px; }
.catalog-chart__axis { display: flex; width: 26px; height: 100px; flex: none; flex-direction: column; justify-content: space-between; color: var(--cab-muted); font-size: 11px; font-variant-numeric: tabular-nums; text-align: right; }
.catalog-chart__plot { min-width: 0; flex: 1; }
.catalog-chart__area { position: relative; height: 100px; border-bottom: 1.5px solid #e3e8e1; border-left: 1.5px solid #e3e8e1; }
.catalog-chart__grid { position: absolute; right: 0; left: 0; height: 1px; background: var(--cab-surface-2); }
.catalog-chart__grid--top { top: 0; }
.catalog-chart__grid--mid { top: 50%; }
.catalog-chart__line { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; color: var(--cab-accent); }
.catalog-chart__cursor { position: absolute; top: 0; bottom: 0; left: 87.5%; width: 1.5px; margin-left: -.75px; background: #cfe3d6; }
.catalog-chart__dot { position: absolute; width: 8px; height: 8px; margin-left: -4px; border: 2px solid #9ccbae; border-radius: 999px; background: var(--cab-surface); }
.catalog-chart__dot--p1 { top: 67.4px; left: 12.5%; }
.catalog-chart__dot--p2 { top: 81.7px; left: 37.5%; border-color: #dd6d5c; }
.catalog-chart__dot--p3 { top: 38.9px; left: 62.5%; }
.catalog-chart__dot--p4 { top: 9.3px; left: 87.5%; width: 10px; height: 10px; margin-left: -5px; border-color: #fff; background: var(--cab-accent); box-shadow: 0 0 0 2px var(--cab-accent); }
.catalog-chart__ticks { display: grid; padding-top: 6px; color: var(--cab-muted); font-size: 11px; grid-template-columns: repeat(4, 1fr); text-align: center; }
.catalog-chart__ticks .is-current { color: var(--cab-ink); font-weight: 700; }

/* a5: актуальные замечания */
.catalog-remarks { display: flex; flex: none; flex-direction: column; padding: 12px 18px 14px; border-radius: 20px; }
.catalog-remarks__list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.catalog-remark { display: inline-flex; flex: none; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 999px; background: #fceae8; color: var(--cab-danger); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.catalog-remark--warm { background: #f3f0e7; color: #8a6b22; }
.catalog-remark__trend { flex: none; }
.catalog-remark__trend--down { stroke: #0b7a3e; }

/* a5: голосования, где участвовала позиция */
.catalog-votes { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; padding: 10px 18px 8px; border-radius: 20px; }
.catalog-votes > .kicker { flex: none; }
.catalog-votes__list { display: flex; min-height: 0; flex-direction: column; overflow: hidden; margin-top: 2px; }
.catalog-votes__row { display: flex; min-height: 52px; align-items: center; gap: 10px; margin: 0 -10px; padding: 0 10px; border-radius: 12px; cursor: pointer; }
.catalog-votes__row:not(:last-child) { box-shadow: inset 0 -1px 0 #eff2ed; }
.catalog-votes__row:hover { background: #f5f7f3; }
.catalog-votes__copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 2px; }
.catalog-votes__name { overflow: hidden; color: #46564b; font-size: 14.5px; font-weight: 800; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.catalog-votes__meta { overflow: hidden; color: var(--cab-muted); font-size: 12.5px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.catalog-votes__score { display: flex; flex: none; align-items: baseline; gap: 6px; }
.catalog-votes__score b { color: #46564b; font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
.catalog-votes__score i { font-size: 12.5px; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; }
.catalog-votes__delta--up { color: #0b7a3e; }
.catalog-votes__delta--down { color: var(--cab-danger); }
.catalog-votes__delta--none { color: var(--cab-muted); }
.catalog-votes__row.is-current .catalog-votes__name,
.catalog-votes__row.is-current .catalog-votes__score b { color: var(--cab-ink); }
.catalog-votes__chevron { flex: none; color: #c2ccc3; }

/* a6 «Редактирование позиции» и a7 «Новая позиция» */
.catalog-top-rating { gap: 5px; margin-left: auto; }
.catalog-top-rating--none { color: var(--cab-muted); font-size: 13.5px; font-weight: 700; }
.catalog-form-head { display: flex; flex: none; align-items: center; gap: 10px; padding: 12px 20px 0; }
.catalog-chip { display: inline-flex; min-height: 34px; flex: none; align-items: center; gap: 6px; margin-left: auto; padding: 0 13px; border: 1px solid var(--cab-line-3); border-radius: 999px; background: var(--cab-surface); color: #46544a; font-size: 12.5px; font-weight: 700; }
.catalog-chip:hover { border-color: #a4d7ad; color: var(--cab-accent-deep); }
.catalog-form { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 12px; overflow: hidden; padding: 16px 16px 0; }
.catalog-form__card { display: flex; flex: none; flex-direction: column; gap: 11px; padding: 16px; border-radius: 20px; }
.catalog-form__label { display: flex; align-items: center; gap: 2px; color: #46544a; font-size: 12.5px; font-weight: 700; }
.catalog-form__label i { color: #e0483c; font-style: normal; }
.catalog-field { min-height: 50px; padding: 0 15px; background: var(--cab-surface); font-size: 15px; }
.catalog-field--blank { background: #fafbf8; }
.catalog-area { min-height: 96px; padding: 13px 15px; background: var(--cab-surface); font-size: 15px; font-weight: 600; line-height: 1.45; }
.catalog-area--blank { background: #fafbf8; font-size: 14.5px; font-weight: 400; }
.catalog-photo { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow: hidden; border-radius: 20px; }
.catalog-photo__view { position: relative; display: flex; min-height: 132px; flex: 1 1 auto; align-items: center; justify-content: center; overflow: hidden; background: var(--cab-surface-2); }
.catalog-photo__view img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.catalog-photo__empty { display: flex; flex-direction: column; align-items: center; gap: 6px; color: #b4beb4; font-size: 12.5px; font-weight: 600; }
.catalog-photo__tools { display: flex; flex: none; gap: 8px; padding: 12px 16px 16px; }
.catalog-photo__tool { display: inline-flex; min-height: 44px; flex: 1; align-items: center; justify-content: center; border: 1px solid var(--cab-line-3); border-radius: 999px; background: var(--cab-surface); color: #46544a; }
.catalog-photo__tool--danger { border-color: #ebd3d0; color: #c0453a; }
.catalog-actions { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
.button.catalog-submit { background: #e4e9e2; color: #a8b2a8; opacity: 1; }
