/* WantFish — UI guide (публичная часть) */
:root {
    --text-primary: #1f2933;
    --text-secondary: #6b7a8c;
    --text-muted-cool: #6b7280;
    --text-heading: #111827;
    --text-placeholder: #9aa5b1;
    --icon-default: #4b8dff;
    --icon-hover: #1251cc;
    --accent: #2176ff;
    --accent-hover: #1251cc;
    --accent-warm: #ff4b4b;
    --listing-price: #ff4b4b;
    --border-subtle: #e1e7f0;
    --border-input: #d5dfeb;
    --page-bg: #f4faff;
    --surface: #ffffff;
    --surface-tile: #f7faff;
    --surface-tile-hover: #e9f2ff;

    --shadow-card: 0 4px 12px rgba(15, 35, 52, 0.06);
    --shadow-card-hover: 0 8px 20px rgba(15, 35, 52, 0.12);
    --shadow-listing: 0 10px 24px rgba(15, 35, 52, 0.1);
    --shadow-listing-hover: 0 18px 40px rgba(15, 35, 52, 0.18);
    --shadow-category: 0 8px 24px rgba(15, 35, 52, 0.08);
    --shadow-sidebar: 0 10px 26px rgba(15, 35, 52, 0.08);
    --shadow-header: 0 2px 6px rgba(15, 35, 52, 0.04);

    --radius-card: 12px;
    --radius-category: 16px;
    --radius-product: 18px;
    --radius-sidebar: 20px;
    --radius-pill: 999px;
    --transition-ui: box-shadow 0.18s ease-out, transform 0.18s ease-out, background-color 0.18s ease-out, color 0.18s ease-out, border-color 0.18s ease-out;

    /* Совместимость со старыми именами */
    --brand-primary: var(--accent);
    --brand-primary-hover: var(--accent-hover);
    --brand-primary-muted: #e9f2ff;
    --brand-primary-soft: rgba(33, 118, 255, 0.1);
    --brand-rgb: 33, 118, 255;
    --brand-navy: var(--accent);
    --brand-navy-hover: var(--accent-hover);
    --brand-blue: var(--accent);
    --brand-sky: #5b9fff;
    --brand-teal: #2fa89d;
    --brand-magenta: #c94d98;
    --brand-lavender: #8b7ec4;
    --brand-wave: #1a3d5c;

    --avito-blue: var(--accent);
    --avito-blue-hover: var(--accent-hover);
    --avito-bg: var(--page-bg);
    --avito-white: var(--surface);
    --avito-text: var(--text-primary);
    --avito-muted: var(--text-secondary);
    --avito-border: var(--border-subtle);
    --avito-card-bg: var(--surface-tile);
    --avito-utility-bg: #ffffff;

    --surface-edge: rgba(33, 118, 255, 0.14);
    --surface-input: var(--surface-tile);

    --primary: var(--accent);
    --primary-hover: var(--accent-hover);
    --deep-blue: var(--brand-wave);
    --accent-legacy: var(--brand-magenta);
    --green-soft: var(--brand-teal);
    --danger: #cf3745;
    --border: var(--border-subtle);
    --card: var(--surface);
    --muted: var(--text-secondary);
    --text: var(--text-primary);
    --bg: var(--page-bg);
    --link-accent: var(--accent);
    --link-accent-hover: var(--accent-hover);

    --focus-ring: rgba(33, 118, 255, 0.35);
    --focus-ring-strong: 0 0 0 2px rgba(33, 118, 255, 0.18);
    --promo-gradient: linear-gradient(180deg, #f4faff 0%, #ffffff 80%);

    --tint-border: rgba(33, 118, 255, 0.22);
    --tint-border-soft: rgba(33, 118, 255, 0.14);
    --tint-surface: #f7faff;
    --tint-surface-2: #e9f2ff;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    background: radial-gradient(circle at top left, #f0f6ff 0%, #ffffff 55%);
    background-color: #ffffff;
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.5;
}

/* Заголовки основного контента */
.container--main h1,
.container--main h2,
.container--main h3,
.container--main h4 {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    letter-spacing: -0.02em;
    color: var(--text-primary);
}

/* Текстовые ссылки в main (не плитки и не крупные кнопки) */
main a:not(.category-tile-avito):not(.btn):not(.sidebar-card__btn):not(.listing-aside-card__btn):not(.listing-foot__btn):not(.logo-brand):not(.aquapedia-tile):not(.msg-app__chat-link) {
    color: var(--link-accent);
    transition: color 0.15s ease-out;
}

main a:not(.category-tile-avito):not(.btn):not(.sidebar-card__btn):not(.listing-aside-card__btn):not(.listing-foot__btn):not(.logo-brand):not(.aquapedia-tile):not(.msg-app__chat-link):hover {
    color: var(--link-accent-hover);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.flash-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 16px;
}

.flash-stack .alert {
    margin-bottom: 0;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}

.container--main {
    padding-top: 16px;
    padding-bottom: 40px;
}

/* ========== Шапка ========== */
.site-header {
    background: var(--surface);
    border-bottom: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-header);
    position: sticky;
    top: 0;
    z-index: 100;
    overflow: visible;
}

.header-utility {
    background: var(--avito-utility-bg);
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13px;
}

.header-utility-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
    gap: 12px;
    flex-wrap: wrap;
}

.header-utility-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.header-utility-nav a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.15s ease-out;
}

.header-utility-nav a:hover {
    color: var(--text-primary);
    text-decoration: underline;
}

.header-utility-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.header-link-cta {
    color: var(--text-primary);
    font-weight: 600;
    text-decoration: none;
}

.header-link-cta:hover {
    color: var(--accent);
}

.header-link-cta:focus-visible {
    outline: none;
    border-radius: 6px;
    box-shadow: var(--focus-ring-strong);
}

.header-link-muted {
    color: var(--text-secondary);
    text-decoration: none;
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    cursor: pointer;
}

.header-link-muted:hover {
    color: var(--text-primary);
    text-decoration: underline;
}

.header-link-muted:focus-visible {
    outline: none;
    border-radius: 6px;
    box-shadow: var(--focus-ring-strong);
}

.header-logout-form {
    margin: 0;
    display: inline;
}

.header-main {
    min-height: 72px;
    padding: 0;
    display: flex;
    align-items: center;
    overflow: visible;
}

.header-main .container {
    width: 100%;
}

.header-main-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    overflow: visible;
    min-height: 72px;
}

.logo-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--brand-navy);
    flex-shrink: 0;
}

.logo-brand__img {
    display: block;
    height: 44px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
}

.logo-brand__titles {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.12;
}

.logo-brand__title {
    font-family: "Manrope", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--brand-navy);
}

.logo-brand__subtitle {
    font-family: "Manrope", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
}

.header-search {
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 520px;
    height: 44px;
    padding: 0 8px 0 14px;
    border: none;
    border-radius: var(--radius-pill);
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 35, 52, 0.1);
    transition: box-shadow 0.18s ease-out;
}

.header-search:focus-within {
    box-shadow:
        0 2px 8px rgba(15, 35, 52, 0.1),
        0 0 0 2px rgba(33, 118, 255, 0.2);
}

.header-search__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 8px;
    color: #9aa5b1;
}

.header-search__icon-svg {
    display: block;
}

.header-search__input {
    flex: 1;
    min-width: 0;
    height: 100%;
    margin: 0;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font: inherit;
    font-size: 14px;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--text-primary);
    -webkit-appearance: none;
    appearance: none;
}

.header-search__input:focus,
.header-search__input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.header-search__input::-webkit-search-decoration,
.header-search__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.header-search__input::placeholder {
    color: #9aa5b1;
}

.header-search__submit {
    flex-shrink: 0;
    align-self: center;
    height: 32px;
    padding: 0 16px;
    margin: 0;
    border: none;
    border-radius: var(--radius-pill);
    background: #2176ff;
    color: #fff;
    font: inherit;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition:
        background-color 0.18s ease-out,
        box-shadow 0.18s ease-out;
}

.header-search__submit:hover {
    background: #1251cc;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.header-catalog-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-shrink: 0;
    box-sizing: border-box;
    height: 44px;
    padding: 0 14px 0 12px;
    margin: 0;
    border: 1px solid rgba(33, 118, 255, 0.35);
    border-radius: var(--radius-pill);
    background: #eef5ff;
    color: var(--accent);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: var(--transition-ui);
    box-shadow: 0 1px 2px rgba(33, 118, 255, 0.08);
}

.header-catalog-btn:hover {
    background: #e3eeff;
    border-color: var(--accent);
}

.header-catalog-btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

.header-catalog-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    font-size: 20px !important;
    line-height: 1 !important;
}

.header-catalog-btn__text {
    line-height: 1.2;
}

.header-catalog-btn[aria-expanded="true"] {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.header-catalog-btn[aria-expanded="true"] .header-catalog-btn__icon {
    color: #fff;
}

body.catalog-mega-open {
    overflow: hidden;
}

/* Страница каталога: подкатегории, фильтры, список, пагинация (внутри main.container — без второго max-width) */
.category-browse {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 8px 0 40px;
    box-sizing: border-box;
}

.category-browse__crumb {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0 0 12px;
}

.category-browse__crumb a {
    color: var(--link-accent);
    text-decoration: none;
}

.category-browse__crumb a:hover {
    text-decoration: underline;
}

.category-browse__crumb-sep {
    margin: 0 6px;
    color: var(--text-muted-cool);
}

.category-browse__crumb-here {
    color: var(--text-heading);
    font-weight: 600;
}

.category-browse__header {
    margin-bottom: 20px;
}

.category-browse__h1 {
    margin: 0 0 6px;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(24px, 4vw, 34px);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--text-heading);
}

.category-browse__count {
    margin: 0;
    font-size: 14px;
    color: var(--text-secondary);
}

.category-browse__subs {
    margin: 0 0 20px;
    padding: 16px 18px;
    background: var(--surface);
    border-radius: 14px;
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-card);
}

.category-browse__subs-title {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-heading);
}

.category-browse__subs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.category-browse__subs-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: var(--radius-pill);
    background: var(--surface-tile);
    border: 1px solid var(--border-input);
    color: var(--text-heading);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: var(--transition-ui);
}

.category-browse__subs-chip:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: #f0f6ff;
}

.category-browse__filters {
    margin: 0 0 24px;
    padding: 16px 18px;
    background: var(--surface-tile);
    border-radius: 16px;
    border: 1px solid var(--border-subtle);
}

.category-browse__form {
    margin: 0;
}

.category-browse__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
}

.category-browse__field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.category-browse__field--search {
    flex: 1 1 200px;
    min-width: min(100%, 180px);
}

.category-browse__field--price {
    flex: 0 1 260px;
    min-width: min(100%, 200px);
}

.category-browse__field--sort {
    flex: 0 0 220px;
    min-width: 200px;
    max-width: 280px;
}

.category-browse__label {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-heading);
}

.category-browse__input {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 14px;
    font: inherit;
    font-size: 15px;
    border: 1px solid var(--border-input);
    border-radius: 12px;
    background: #fff;
    color: var(--text-heading);
}

.category-browse__input--search {
    max-width: none;
}

/* Кастомный селект сортировки: как поля ввода (не глобальная синяя кнопка), стрелка и отступы */
.category-browse__sort-select.wf-custom-select {
    width: 100%;
    min-width: 0;
}

.category-browse__sort-select.wf-custom-select .wf-custom-select__trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 12px 8px 14px;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-heading);
    background: #fff !important;
    border: 1px solid var(--border-input) !important;
    border-radius: 12px;
    box-shadow: none;
}

.category-browse__sort-select.wf-custom-select .wf-custom-select__value {
    padding-right: 0;
}

.category-browse__sort-select.wf-custom-select .wf-custom-select__chevron {
    font-size: 20px !important;
    line-height: 1;
    color: var(--text-muted-cool);
    opacity: 0.9;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.category-browse__sort-select.wf-custom-select.wf-custom-select--open .wf-custom-select__chevron {
    transform: none;
    color: var(--accent);
    opacity: 1;
}

.category-browse__sort-select.wf-custom-select.wf-custom-select--open .wf-custom-select__trigger,
.category-browse__sort-select.wf-custom-select .wf-custom-select__trigger:hover {
    border-color: rgba(33, 118, 255, 0.45) !important;
    background: #fff !important;
}

.category-browse__sort-select.wf-custom-select.wf-custom-select--open .wf-custom-select__trigger {
    box-shadow: var(--focus-ring-strong);
}

.category-browse__sort-select.wf-custom-select .wf-custom-select__trigger:hover .wf-custom-select__chevron {
    color: var(--accent);
    opacity: 1;
}

.category-browse__sort-select.wf-custom-select .wf-custom-select__trigger:focus-visible {
    background: #fff !important;
    border-color: var(--accent) !important;
}

.category-browse__price-inputs {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
}

.category-browse__input--price {
    flex: 1 1 0;
    min-width: 0;
    max-width: 118px;
    min-height: 44px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
}

.category-browse__dash {
    color: var(--text-muted-cool);
}

.category-browse__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.category-browse__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border: none;
    border-radius: var(--radius-pill);
    background: var(--accent);
    color: #fff;
    font: inherit;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: var(--transition-ui);
}

.category-browse__submit:hover {
    background: var(--accent-hover);
}

.category-browse__reset {
    font-size: 14px;
    color: var(--link-accent);
    text-decoration: none;
}

.category-browse__reset:hover {
    text-decoration: underline;
}

.category-browse__cards {
    margin-top: 8px;
}

.category-browse__empty {
    margin: 24px 0;
    font-size: 16px;
    color: var(--text-secondary);
}

.category-browse__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 28px 0 8px;
    padding: 16px;
    border-top: 1px solid var(--border-subtle);
}

.category-browse__page-link {
    font-weight: 600;
    color: var(--link-accent);
    text-decoration: none;
}

.category-browse__page-link:hover {
    text-decoration: underline;
}

.category-browse__page-info {
    font-size: 14px;
    color: var(--text-secondary);
}

.catalog-mega {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 72px 16px 24px;
    box-sizing: border-box;
}

.catalog-mega[hidden] {
    display: none !important;
}

/* Лёгкое затемнение без размытия — страница остаётся читаемой */
.catalog-mega__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.28);
}

.catalog-mega__sheet {
    position: relative;
    z-index: 1;
    width: min(1240px, 100%);
    max-height: min(76vh, 680px);
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow:
        0 4px 6px -1px rgba(15, 23, 42, 0.06),
        0 20px 40px -12px rgba(15, 23, 42, 0.14);
    outline: none;
    overflow: hidden;
}

.catalog-mega__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border-subtle);
    flex-shrink: 0;
    background: #ffffff;
}

.catalog-mega__title {
    margin: 0;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text-heading);
}

.catalog-mega__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: #eef1f5;
    color: #3a4556;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.catalog-mega__close:hover {
    background: #e3e8ef;
    color: #1f2937;
}

.catalog-mega__close .material-icons {
    font-size: 22px;
}

.catalog-mega__body {
    display: flex;
    min-height: 0;
    flex: 1;
    overflow: hidden;
}

/* Левая колонка: нейтральный серый, без «масляного» синего на всю площадь */
.catalog-mega__roots {
    flex: 0 0 300px;
    max-width: 40%;
    margin: 0;
    padding: 8px 0;
    border-right: 1px solid var(--border-subtle);
    background: #f9fafb;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(15, 23, 42, 0.22) transparent;
}

.catalog-mega__roots::-webkit-scrollbar {
    width: 6px;
}

.catalog-mega__roots::-webkit-scrollbar-thumb {
    background: rgba(15, 23, 42, 0.2);
    border-radius: 999px;
}

.catalog-mega__root {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 18px;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    padding: 10px 12px;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    color: var(--text-heading);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.catalog-mega__root:hover,
.catalog-mega__root:focus-visible {
    background: #eef2f6;
    outline: none;
}

.catalog-mega__root.is-active {
    background: #edf1f5;
    box-shadow: inset 2px 0 0 #c8d0db;
    color: #111827;
    font-weight: 700;
}

.catalog-mega__root-icon {
    justify-self: center;
    width: 22px;
    text-align: center;
    font-size: 16px;
    line-height: 1;
}

.catalog-mega__root-mi {
    font-size: 18px !important;
    color: #7b8796;
    opacity: 1;
}

.catalog-mega__root-label {
    display: block;
    min-width: 0;
    align-self: center;
}

.catalog-mega__root-chevron {
    justify-self: center;
    font-size: 18px !important;
    color: #a6afbb;
    opacity: 1;
}

.catalog-mega__panels {
    flex: 1;
    min-width: 0;
    position: relative;
    overflow: hidden;
    background: #fff;
}

.catalog-mega__panel {
    position: absolute;
    inset: 0;
    padding: 16px 24px 24px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.catalog-mega__panel[hidden] {
    display: none !important;
}

.catalog-mega__panel-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-subtle);
}

@media (min-width: 520px) {
    .catalog-mega__panel-head {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px 16px;
    }
}

.catalog-mega__panel-title-link {
    display: inline-block;
    font-size: 32px;
    font-weight: 700;
    color: var(--text-heading);
    text-decoration: none;
    letter-spacing: -0.02em;
    line-height: 1.05;
}

.catalog-mega__panel-title-link:hover {
    color: var(--accent);
}

.catalog-mega__panel-hint {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
}

.catalog-mega__subs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 2px 14px;
}

.catalog-mega__sub-link {
    display: block;
    padding: 7px 8px;
    font-size: 16px;
    line-height: 1.15;
    color: #1f2937;
    text-decoration: none;
    border-radius: 6px;
    transition: color 0.12s ease, background 0.12s ease;
}

.catalog-mega__sub-link:hover {
    color: #111827;
    background: #f3f4f6;
}

.catalog-mega__empty {
    margin: 0 0 12px;
    font-size: 14px;
    color: var(--text-secondary);
}

.catalog-mega__cta {
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    background: var(--accent);
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
}

.catalog-mega__cta:hover {
    background: var(--accent-hover);
}

.header-location {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
    padding: 0 4px 0 8px;
    height: 44px;
    background: transparent;
    border: none;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    cursor: help;
    outline: none;
    overflow: visible;
}

.header-location:focus-visible {
    box-shadow: var(--focus-ring-strong);
    border-radius: 8px;
}

.header-location__pin {
    color: var(--avito-text);
    display: flex;
    flex-shrink: 0;
    opacity: 0.9;
}

.header-location__pin svg {
    display: block;
}

.header-location__pin-drop {
    fill: currentColor;
}

.header-location__pin-geo {
    fill: var(--avito-white);
}

.header-location__text {
    font-weight: 600;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-location__tooltip {
    position: absolute;
    z-index: 500;
    right: 0;
    left: auto;
    top: calc(100% + 8px);
    bottom: auto;
    width: max-content;
    max-width: min(280px, calc(100vw - 32px));
    padding: 10px 12px;
    background: var(--avito-white);
    color: var(--avito-text);
    font-family: "Manrope", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12), 0 0 1px rgba(0, 0, 0, 0.08);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, visibility 0.15s ease;
}

.header-location__tooltip::after {
    content: "";
    position: absolute;
    bottom: 100%;
    top: auto;
    right: 18px;
    border: 7px solid transparent;
    border-bottom-color: var(--avito-white);
    filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.06));
}

.header-location:hover .header-location__tooltip,
.header-location:focus .header-location__tooltip,
.header-location:focus-within .header-location__tooltip {
    opacity: 1;
    visibility: visible;
}

/* ========== Главная: сетка + сайдбар (~960 + ~340 при 1400) ========== */
.home-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
    gap: 24px;
    align-items: start;
}

/** Страницы без правого сайдбара — одна колонка на всю ширину main */
.home-layout--no-sidebar {
    grid-template-columns: minmax(0, 1fr);
}

.home-main {
    min-width: 0;
}

.home-filter-hint {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0 0 16px;
}

.home-filter-hint a {
    color: var(--link-accent);
    margin-left: 8px;
}

.home-section-title {
    position: relative;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    margin: 8px 0 16px;
    padding-left: 16px;
    letter-spacing: -0.02em;
    color: var(--text-heading);
    border-left: none;
}

.home-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.12em;
    width: 4px;
    height: 52px;
    max-height: calc(100% - 0.1em);
    border-radius: 2px;
    background: var(--accent);
}

/* Плитки сетки в карточке сайдбара (Аквапедия и т.п.) */
.sidebar-card__tile-grid {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.aquapedia-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 80px;
    padding: 10px 6px;
    margin: 0;
    text-align: center;
    text-decoration: none;
    color: var(--text-primary) !important;
    background: #f5f7ff;
    border: none;
    border-radius: 12px;
    box-shadow: none;
    cursor: help;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    transition: var(--transition-ui);
}

.aquapedia-tile:hover {
    background: #e9f2ff;
    box-shadow: 0 2px 6px rgba(15, 35, 52, 0.06);
    transform: translateY(-1px);
    color: var(--text-primary) !important;
}

.aquapedia-tile:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

.aquapedia-tile__icons {
    position: relative;
    width: 44px;
    height: 36px;
    flex-shrink: 0;
}

.aquapedia-tile__icons .material-icons {
    position: absolute;
    font-size: 28px;
    line-height: 1;
    color: var(--icon-default);
    transition: color 0.18s ease-out;
}

.aquapedia-tile__icons--tags .material-icons:first-child {
    left: 0;
    top: 2px;
}

.aquapedia-tile__icons--tags .material-icons:last-child {
    right: 0;
    top: 6px;
    font-size: 22px;
    color: var(--brand-teal);
    opacity: 0.95;
}

.aquapedia-tile__icons--aquarium {
    width: 48px;
    height: 38px;
}

.aquapedia-tile__icons--aquarium .aquapedia-tile__tank {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 32px;
    color: var(--brand-sky);
    opacity: 0.9;
}

.aquapedia-tile__icons--aquarium .aquapedia-tile__water {
    left: auto;
    right: 4px;
    top: auto;
    bottom: 2px;
    font-size: 20px;
    color: var(--brand-teal);
    opacity: 1;
}

.aquapedia-tile__icon {
    font-size: 32px;
    line-height: 1;
    color: var(--icon-default);
    transition: color 0.18s ease-out;
}

.aquapedia-tile:hover .aquapedia-tile__icon,
.aquapedia-tile:hover .aquapedia-tile__icons .material-icons {
    color: var(--icon-hover);
}

.aquapedia-tile__icon--area {
    color: var(--brand-sky);
}

.aquapedia-tile__icon--care {
    color: var(--brand-teal);
    font-size: 34px;
}

.aquapedia-tile__icon--people {
    color: var(--brand-magenta);
}

.aquapedia-tile__name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-primary);
    max-width: 100%;
}

/* Декоративные плитки в сайдбаре (без перехода) */
.aquapedia-tile--static {
    cursor: default;
}

.aquapedia-tile--static:hover {
    background: #f5f7ff;
    box-shadow: none;
    transform: none;
    color: var(--text-primary) !important;
}

.aquapedia-tile--static:hover .aquapedia-tile__icon,
.aquapedia-tile--static:hover .aquapedia-tile__icons .material-icons {
    color: var(--icon-default);
}

.aquapedia-tile--static.aquapedia-tile:hover .aquapedia-tile__icon--area {
    color: var(--brand-sky);
}

.aquapedia-tile--static.aquapedia-tile:hover .aquapedia-tile__icon--people {
    color: var(--brand-magenta);
}

.aquapedia-tile--static .aquapedia-tile__icons--tags .material-icons:last-child {
    color: var(--brand-teal);
}

/* Категории — плитки */
.category-tiles-avito {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.category-tile-avito {
    position: relative;
    min-height: 100px;
    background: var(--surface);
    border-radius: var(--radius-category);
    padding: 16px;
    text-decoration: none;
    color: var(--text-primary);
    border: none;
    box-shadow: var(--shadow-category);
    overflow: hidden;
    isolation: isolate;
    transition: var(--transition-ui);
}

.category-tile-avito:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 35, 52, 0.12);
}

.category-tile-avito__title {
    display: block;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.35;
    color: var(--text-primary);
    max-width: 58%;
    position: relative;
    z-index: 2;
}

.category-tile-avito__art {
    position: absolute;
    right: 0;
    bottom: 2px;
    font-size: 44px;
    line-height: 1;
    z-index: 1;
    opacity: 0.95;
    pointer-events: none;
    user-select: none;
}

.category-tile-avito__art--img {
    right: 8px;
    bottom: 8px;
    width: 68px;
    height: 68px;
    max-width: min(64px, 40%);
    max-height: min(64px, 72%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    line-height: 0;
}

.category-tile-avito__art--img img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
    display: block;
    pointer-events: none;
}

.category-tile-avito--1,
.category-tile-avito--2,
.category-tile-avito--3,
.category-tile-avito--4,
.category-tile-avito--5,
.category-tile-avito--6,
.category-tile-avito--7,
.category-tile-avito--8,
.category-tile-avito--9 {
    background: var(--avito-white);
}

/* Аквапедия: поуровневая сетка, кнопка «вверх», плитка с превью */
.aquapedia-page .aquapedia-lead {
    margin: 0 0 20px;
    max-width: 640px;
}

.aquapedia-browse-head {
    margin: 0 0 16px;
}

.aquapedia-browse-head--root {
    margin-bottom: 8px;
}

/** Кнопка «назад» в одной колонке слева, H1 и хлебные крошки — во второй колонке справа */
.aquapedia-browse-head--node {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.aquapedia-back-btn {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--surface);
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-category);
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: var(--transition-ui);
}

.aquapedia-back-btn:hover {
    border-color: rgba(33, 118, 255, 0.35);
    box-shadow: 0 4px 14px rgba(15, 35, 52, 0.1);
}

.aquapedia-back-btn .material-icons {
    font-size: 22px;
}

.aquapedia-browse-head__main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.aquapedia-browse-head__title {
    margin: 0 0 6px;
    font-size: clamp(22px, 2.6vw, 30px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-primary);
}

.aquapedia-page .aquapedia-breadcrumbs {
    margin: 0;
    font-size: 13px;
}

.aquapedia-page .aquapedia-article {
    margin-bottom: 24px;
}

.aquapedia-roots .category-tile-avito--aquapedia {
    display: flex;
    flex-direction: column;
    padding: 0;
    min-height: 188px;
    align-items: stretch;
    color: var(--text-primary);
}

.aquapedia-roots .category-tile-avito__media-block {
    position: relative;
    flex: 1 1 auto;
    min-height: 120px;
    overflow: hidden;
    background: linear-gradient(165deg, #e4eaf3 0%, #f4f6f9 45%, #eef2f7 100%);
}

.aquapedia-roots .category-tile-avito__cover-img {
    width: 100%;
    height: 100%;
    min-height: 120px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.aquapedia-roots .category-tile-avito__cover-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    color: rgba(15, 35, 52, 0.2);
}

.aquapedia-roots .category-tile-avito__cover-placeholder .material-icons {
    font-size: 48px;
}

.aquapedia-roots .category-tile-avito__folder-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 2px 10px rgba(15, 35, 52, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 3;
}

.aquapedia-roots .category-tile-avito__folder-badge .material-icons {
    font-size: 20px;
    color: var(--text-secondary);
}

.aquapedia-roots .category-tile-avito__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 4px;
    padding: 12px 12px 14px;
    flex: 0 0 auto;
    flex-shrink: 0;
    min-height: 2.75rem;
}

.aquapedia-roots .category-tile-avito--aquapedia .category-tile-avito__title {
    max-width: 100%;
    position: static;
    color: var(--text-primary);
}

.aquapedia-roots .category-tile-avito--aquapedia .aquapedia-tile-latin {
    font-size: 12px;
    line-height: 1.25;
    color: var(--text-secondary);
}

/* Карточки объявлений: 3 в ряд на десктопе (~280–300px), 4 на очень широких экранах */
.cards--recommend {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards-empty {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
    padding: 40px 24px;
    text-align: center;
    color: var(--text-secondary);
    font-size: 15px;
    background: var(--surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

.listing-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: var(--radius-product);
    padding: 0;
    border: none;
    box-shadow: var(--shadow-listing);
    overflow: hidden;
    transition:
        box-shadow 0.18s ease-out,
        transform 0.18s ease-out;
}

.listing-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-listing-hover);
}

.listing-card:hover .listing-thumb--photo img {
    transform: scale(1.03);
}

.listing-card--promo {
    box-shadow:
        var(--shadow-listing),
        0 0 0 1px rgba(33, 118, 255, 0.4);
}

.listing-card__chip {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    height: 22px;
    padding: 0 8px;
    border-radius: var(--radius-pill);
    background: #e0f2ff;
    color: var(--accent);
    font-size: 11px;
    font-weight: 600;
    line-height: 22px;
}

.listing-card__media {
    display: block;
    text-decoration: none;
    color: inherit;
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: var(--radius-product) var(--radius-product) 0 0;
    overflow: hidden;
}

.listing-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: linear-gradient(145deg, #e8eef5 0%, var(--surface-tile) 50%, #dde5f0 100%);
}

.listing-fav-form {
    position: absolute;
    top: 8px;
    right: 8px;
    margin: 0;
    padding: 0;
    width: 32px;
    height: 32px;
    line-height: 0;
    z-index: 2;
}

.listing-fav-form .listing-fav {
    position: static;
}

.listing-fav {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 8px;
    right: 8px;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    border: none;
    background: transparent;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    color: #6b7280;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 2;
    transition:
        color 0.18s ease-out,
        transform 0.18s ease-out;
}

.listing-fav__svg {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.listing-fav--guest {
    color: #6b7280;
}

.listing-fav--active {
    background: transparent;
    color: var(--listing-price);
}

.listing-fav:hover:not(.listing-fav--active) {
    background: transparent;
    color: var(--listing-price);
}

.listing-fav--active:hover {
    background: transparent;
    color: var(--listing-price);
}

.listing-fav:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

.listing-card__body {
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0;
    min-height: 0;
}

.listing-card__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--text-heading);
}

.listing-card__title a {
    color: var(--text-heading);
    text-decoration: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.listing-card__title a:hover {
    color: var(--text-heading);
    opacity: 0.88;
}

.listing-card__price {
    margin: 4px 0 0;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 6px;
    line-height: 1.2;
}

.listing-card__price-value {
    font-weight: 700;
    color: var(--text-heading);
}

.listing-card__price--free .listing-card__price-value {
    color: var(--text-heading);
    font-weight: 700;
}

.listing-card__price-unit {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted-cool);
}

.listing-card__meta {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-muted-cool);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.listing-card__loc {
    margin: 8px 0 0;
    flex: 1;
    min-width: 0;
    font-size: 13px;
    color: var(--text-muted-cool);
    display: flex;
    align-items: flex-start;
    gap: 4px;
    line-height: 1.35;
}

.listing-card__loc-text {
    min-width: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
}

.listing-card__loc-pin {
    flex-shrink: 0;
    margin: 1px 0 0;
    display: inline-flex;
    align-items: center;
    color: #9ca3af;
}

.listing-card__loc-svg {
    display: block;
}

.listing-desc {
    margin: 0 12px 6px;
    font-size: 13px;
    color: var(--avito-muted);
    display: none;
}

/* Сайдбар */
.home-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 108px;
}

.sidebar-card {
    background: var(--surface);
    border: none;
    border-radius: var(--radius-sidebar);
    padding: 20px;
    box-shadow: var(--shadow-sidebar);
}

.sidebar-card--muted {
    background: var(--surface);
}

.sidebar-card__title {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 600;
    color: var(--text-primary);
    border-left: 3px solid var(--accent);
    padding-left: 8px;
}

.sidebar-card__muted {
    margin: 0 0 12px;
    font-size: 14px;
    color: var(--text-muted-cool);
    line-height: 1.45;
}

.sidebar-card__note {
    margin: 10px 0 0;
    font-size: 11px;
    line-height: 1.35;
    color: var(--text-muted-cool);
    text-align: center;
}

.sidebar-card__btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    min-height: 40px;
    line-height: 40px;
    padding: 0 16px;
    background: var(--accent);
    color: #fff !important;
    text-decoration: none;
    font-weight: 600;
    border-radius: var(--radius-pill);
    font-size: 14px;
    transition: var(--transition-ui);
}

.sidebar-card__btn:hover {
    background: var(--accent-hover);
    box-shadow: 0 4px 12px rgba(33, 118, 255, 0.25);
}

.sidebar-card__btn--with-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.2;
    min-height: 40px;
    padding: 0 14px;
}

.sidebar-card__btn--with-icon:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(33, 118, 255, 0.3);
}

.sidebar-card__btn-icon {
    display: flex;
    color: rgba(255, 255, 255, 0.92);
    flex-shrink: 0;
}

.sidebar-card__link {
    color: var(--link-accent);
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
}

.sidebar-card__link:hover {
    color: var(--link-accent-hover);
    text-decoration: underline;
}

.sidebar-filter-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* См. .wf-custom-select — нативный select скрыт внутри обёртки */
.sidebar-select.wf-custom-select {
    width: 100%;
}

.sidebar-submit {
    min-height: 40px;
    padding: 0 16px;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: var(--radius-pill);
    font: inherit;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition-ui);
}

.sidebar-submit:hover {
    background: var(--accent-hover);
    box-shadow: 0 4px 12px rgba(33, 118, 255, 0.25);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Кастомные селекты (wf-custom-select.js): единый вид, поиск при длинных списках */
.wf-custom-select {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.wf-custom-select__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.wf-custom-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    min-height: 48px;
    padding: 10px 14px 10px 16px;
    margin: 0;
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    text-align: left;
    color: var(--text-heading);
    background: var(--surface);
    border: 1px solid var(--border-input);
    border-radius: var(--radius-pill);
    cursor: pointer;
    outline: none;
    transition: var(--transition-ui);
    box-shadow: 0 1px 0 rgba(33, 118, 255, 0.04);
}

.wf-custom-select__trigger:hover {
    border-color: rgba(33, 118, 255, 0.45);
    background: var(--surface-tile);
}

.wf-custom-select--open .wf-custom-select__trigger {
    border-color: var(--accent);
    box-shadow: var(--focus-ring-strong);
}

.wf-custom-select__trigger:focus-visible {
    border-color: var(--accent);
    box-shadow: var(--focus-ring-strong);
}

.wf-custom-select--disabled .wf-custom-select__trigger {
    opacity: 0.55;
    cursor: not-allowed;
}

.wf-custom-select__value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wf-custom-select__chevron {
    flex-shrink: 0;
    font-size: 22px !important;
    color: var(--accent);
    transition: transform 0.2s ease;
}

.wf-custom-select--open .wf-custom-select__chevron {
    transform: rotate(180deg);
}

.wf-custom-select__panel {
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: var(--surface);
    border: 1px solid var(--border-subtle);
    border-radius: 14px;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.14);
    -webkit-overflow-scrolling: touch;
}

.wf-custom-select--search .wf-custom-select__panel {
    padding-top: 0;
}

.wf-custom-select__search-wrap {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 8px;
    background: linear-gradient(180deg, #fff 70%, rgba(255, 255, 255, 0));
    border-bottom: 1px solid var(--border-subtle);
}

.wf-custom-select__search {
    width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    padding: 8px 12px;
    font: inherit;
    font-size: 14px;
    border: 1px solid var(--border-input);
    border-radius: 10px;
    background: var(--surface-tile);
    outline: none;
}

.wf-custom-select__search:focus {
    border-color: var(--accent);
    box-shadow: var(--focus-ring-strong);
}

.wf-custom-select__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wf-custom-select__group-label {
    padding: 8px 14px 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted-cool);
    list-style: none;
}

.wf-custom-select__option {
    padding: 10px 16px;
    font-size: 14px;
    line-height: 1.35;
    color: var(--text-heading);
    cursor: pointer;
    list-style: none;
    outline: none;
}

.wf-custom-select__option:hover,
.wf-custom-select__option.is-active {
    background: #e8f2ff;
    color: var(--text-heading);
}

.wf-custom-select__option.is-selected {
    background: var(--accent);
    color: #fff;
}

.wf-custom-select__option.is-selected:hover,
.wf-custom-select__option.is-selected.is-active {
    background: var(--accent-hover);
    color: #fff;
}

.wf-custom-select__empty {
    padding: 14px 16px;
    font-size: 14px;
    color: var(--text-muted-cool);
    list-style: none;
}

.sidebar-select.wf-custom-select .wf-custom-select__trigger {
    min-height: 40px;
    font-size: 14px;
}

.listing-fish-type-select.wf-custom-select .wf-custom-select__trigger {
    min-height: 48px;
}

.admin-listing-form .wf-custom-select .wf-custom-select__trigger,
.admin-category-save-form .wf-custom-select .wf-custom-select__trigger,
.filter .wf-custom-select .wf-custom-select__trigger {
    min-height: 44px;
    font-size: 14px;
}

.admin-status-row .wf-custom-select .wf-custom-select__trigger {
    min-height: 40px;
}

/* Чипы / бейджи (гайд 2024) */
.ui-chip {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    border-radius: var(--radius-pill);
    background: #e0f2ff;
    color: var(--accent);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

/* Формы (логин, регистрация, подача) */
.form-wrap {
    max-width: 480px;
    margin: 0 auto;
}

.filter,
.form-wrap form {
    background: var(--avito-white);
    border: none;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    display: grid;
    gap: 10px;
}

.form-wrap--listing {
    max-width: 640px;
}

.profile-page {
    width: 100%;
}

.profile-page__personal {
    max-width: 640px;
    margin: 0 auto;
}

.profile-page__personal .profile-form {
    background: var(--avito-white);
    border: none;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: var(--shadow-card);
}

.my-listings-layout {
    align-items: start;
}

.my-listings-page {
    min-width: 0;
}

.my-listings-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
}

.my-listings-title {
    margin: 0;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-heading);
}

.my-listings-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto !important;
    min-width: 200px;
    min-height: 44px;
    line-height: 1.2 !important;
    padding: 10px 20px !important;
    box-shadow: 0 4px 14px rgba(33, 118, 255, 0.22);
}

.my-listings-cta__plus {
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1;
    opacity: 0.95;
}

.my-listings-sidebar .sidebar-card__title {
    margin-bottom: 8px;
}

.my-listings-user-card__photo-wrap {
    display: flex;
    justify-content: center;
    margin: 4px 0 16px;
}

.my-listings-user-card__photo {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--avito-border, #e0e0e0);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.my-listings-user-dl {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.my-listings-user-dl__row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 8px 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.my-listings-user-dl__row:last-of-type {
    border-bottom: none;
}

.my-listings-user-dl__row dt {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted-cool);
}

.my-listings-user-dl__row dd {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: var(--text-primary);
    word-break: break-word;
}

.my-listings-user-card__edit {
    display: inline-block;
    margin-top: 16px;
}

@media (max-width: 600px) {
    .my-listings-head {
        flex-direction: column;
        align-items: stretch;
    }

    .my-listings-cta {
        width: 100% !important;
        min-width: 0;
    }

    .my-listings-user-dl__row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

.form-wrap--listing {
    max-width: 100%;
}

.my-listings-section {
    margin-top: 20px;
}

.my-listings-section:first-of-type {
    margin-top: 8px;
}

.my-listings-section__title {
    margin: 0 0 12px;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-heading);
}

.my-listings-section--archive .my-listings-section__title {
    color: var(--avito-muted, #707070);
    font-weight: 650;
}

.my-listings-section__empty {
    margin: 0;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--avito-muted);
    background: var(--avito-utility-bg, #f5f5f5);
    border-radius: 12px;
    border: 1px dashed var(--avito-border);
}

.my-listings-tabs {
    margin-top: 12px;
}

/* Вкладки: текст + нижняя черта, не «кнопки» (см. исключение в глобальных стилях button) */
.my-listings-tabs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0;
    margin: 0 0 16px;
    padding: 0;
    border-bottom: 1px solid var(--avito-border, #e2e8f0);
    background: transparent;
    box-sizing: border-box;
}

.my-listings-tabs__tab {
    position: relative;
    flex: 0 0 auto;
    margin: 0 28px 0 0;
    margin-bottom: -1px;
    padding: 8px 2px 12px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: var(--avito-muted, #64748b);
    background: transparent !important;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    transition: color 0.15s ease, border-color 0.15s ease;
    box-shadow: none !important;
}

.my-listings-tabs__tab:hover {
    color: var(--text-heading);
}

.my-listings-tabs__tab[aria-selected="true"] {
    color: var(--text-heading);
    border-bottom-color: #0f172a;
    font-weight: 700;
}

.my-listings-tabs__tab:focus-visible {
    outline: none;
    border-radius: 4px;
    box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.45);
}

.my-listings-tabs__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    padding: 1px 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--avito-muted, #64748b);
}

.my-listings-tabs__tab[aria-selected="true"] .my-listings-tabs__count {
    background: rgba(15, 23, 42, 0.1);
    color: var(--text-heading);
}

.my-listings-tabs__panel {
    min-height: 8px;
}

.my-listings-tabs__panel[hidden] {
    display: none !important;
}

.my-listings-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.my-listings-item {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: var(--avito-white);
    border-radius: 14px;
    border: 1px solid var(--avito-border);
    overflow: hidden;
}

.my-listings-item__main {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 14px 20px;
    padding: 14px 16px 12px;
}

.my-listings-item__thumb {
    width: 120px;
    height: 90px;
    border-radius: 10px;
    background: var(--avito-utility-bg);
    flex-shrink: 0;
}

.my-listings-item__thumb--photo {
    position: relative;
    overflow: hidden;
}

.my-listings-item__thumb--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.my-listings-item__body {
    flex: 1;
    min-width: 200px;
}

.my-listings-item__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
}

.my-listings-item__meta {
    margin: 0;
    font-size: 13px;
    color: var(--avito-muted);
}

.my-listings-item__status--approved {
    color: #1b7a3d;
    font-weight: 600;
}

.my-listings-item__status--pending {
    color: #b26a00;
    font-weight: 600;
}

.my-listings-item__status--rejected {
    color: #c62828;
    font-weight: 600;
}

.my-listings-item__status--withdrawn {
    color: #5f6368;
    font-weight: 600;
}

.my-listings-item__status--archived {
    color: #6a4c93;
    font-weight: 600;
}

.my-listings-item__note {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--avito-muted);
}

.my-listings-item__footer {
    margin-top: auto;
    padding: 10px 14px 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: #fafbfc;
}

.my-listings-item__footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px 14px;
}

.my-listings-item__catalog-hint {
    flex: 1 1 160px;
    min-width: 0;
    margin: 0;
    padding-bottom: 1px;
    font-size: 12px;
    line-height: 1.35;
    color: var(--avito-muted);
}

.my-listings-item__toolbar {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex: 0 0 auto;
    margin-left: auto;
}

.my-listings-item__form-btn {
    display: contents;
}

@media (max-width: 520px) {
    .my-listings-item__footer-row {
        flex-direction: column;
        align-items: stretch;
    }

    .my-listings-item__toolbar {
        margin-left: 0;
        justify-content: flex-end;
    }
}

.my-listings-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 5px 10px;
    min-height: 30px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    border-radius: 8px;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

a.my-listings-pill {
    color: inherit;
}

.my-listings-pill:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(100, 116, 139, 0.4);
}

.my-listings-pill--edit {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #334155;
}

.my-listings-pill--edit:hover {
    background: #e2e8f0;
    border-color: #cbd5e1;
}

.my-listings-pill--view {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.my-listings-pill--view:hover {
    background: #dbeafe;
    border-color: #93c5fd;
}

.my-listings-pill--withdraw {
    background: #fffbeb;
    border-color: #fde68a;
    color: #b45309;
}

.my-listings-pill--withdraw:hover {
    background: #fef3c7;
    border-color: #fcd34d;
}

.my-listings-pill--archive {
    background: #fafafa;
    border-color: #e4e4e7;
    color: #52525b;
}

.my-listings-pill--archive:hover {
    background: #f4f4f5;
    border-color: #d4d4d8;
}

.my-listings-pill--restore {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.my-listings-pill--restore:hover {
    background: #d1fae5;
    border-color: #6ee7b7;
}

.my-listings-pill--delete {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.my-listings-pill--delete:hover {
    background: #fee2e2;
    border-color: #fca5a5;
}

.sidebar-card__link--secondary {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin-top: 8px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--accent) !important;
    background: var(--surface);
    border: 1px solid var(--border-input);
    border-radius: var(--radius-pill);
    text-decoration: none !important;
    transition: var(--transition-ui);
}

.sidebar-card__link--secondary:hover {
    background: var(--surface-tile-hover);
    border-color: var(--accent);
    color: var(--accent-hover) !important;
}

.listing-topline {
    max-width: 760px;
    margin: 8px auto 26px;
    position: relative;
    display: block;
}

.listing-topline-meta {
    min-width: 0;
}

.form-wrap--listing form.listing-create-form {
    display: flex;
    flex-direction: column;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    gap: 12px;
}

/* Не трогаем чекбоксы/радио — иначе «Несколько видов рыбы» разъезжается */
.form-wrap--listing .listing-create-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not(.listing-price-input),
.form-wrap--listing .listing-create-form select,
.form-wrap--listing .listing-create-form textarea {
    width: 100%;
    box-sizing: border-box;
    background: var(--surface);
    border: 1px solid var(--border-input);
}

.form-wrap--listing .listing-fish-type-select.wf-custom-select .wf-custom-select__trigger:hover,
.form-wrap--listing .listing-fish-type-select.wf-custom-select.wf-custom-select--open .wf-custom-select__trigger {
    background: var(--surface);
}

.form-wrap--listing h2 {
    max-width: 760px;
    margin: 0;
    font-size: 42px;
    line-height: 1.1;
}

.listing-back-btn {
    position: absolute;
    left: -56px;
    top: 2px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ebebeb;
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    flex: 0 0 auto;
}

.listing-back-btn .material-icons {
    font-size: 24px;
}

.listing-breadcrumbs {
    margin: 10px 0 0;
    color: #768093;
    font-size: 14px;
}

.listing-breadcrumbs span {
    color: #9aa3b2;
    margin: 0 4px;
}

.listing-breadcrumbs__sep {
    color: #9aa3b2;
    margin: 0 6px;
}

.listing-breadcrumbs .listing-breadcrumbs__current {
    color: var(--text-primary);
    font-weight: 600;
}

.aquapedia-breadcrumbs {
    margin-bottom: 8px;
}

.form-lead {
    font-size: 14px;
    color: var(--avito-muted);
    line-height: 1.45;
    margin: 0 0 12px;
}

.listing-create-form,
.profile-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.field-hint {
    font-size: 15px;
    color: var(--avito-muted);
    margin: 2px 0 10px;
    line-height: 1.4;
}

.profile-contact-preview {
    padding: 12px 14px;
    background: var(--surface-input);
    border-radius: 12px;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.4;
}

.profile-contact-preview__phone {
    font-weight: 700;
    color: var(--avito-text);
}

.profile-contact-preview__city {
    color: var(--avito-muted);
}

.profile-addresses {
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid var(--avito-border);
}

.profile-addresses--wide {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.profile-addresses__title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
}

.profile-addresses__hint {
    margin: 0 0 16px;
    font-size: 14px;
    color: var(--avito-muted);
    line-height: 1.45;
}

.profile-addresses__warn {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff8e6;
    border: 1px solid #f0e0c0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--avito-text);
}

.profile-address-list__warn {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #b45309;
}

.profile-address-add--map #profile-location-map {
    margin: 10px 0 14px;
}

/* Карта адреса: на всю ширину блока, выше по высоте */
.profile-address-add--map.profile-address-add {
    max-width: none;
    width: 100%;
}

.profile-address-add--map input[type="text"],
.profile-address-add--map input#address-label {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.profile-location-map.listing-location-map {
    width: 100%;
    min-height: 400px;
    border: 1px solid var(--border-input);
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .profile-location-map.listing-location-map {
        min-height: 460px;
    }
}

@media (min-width: 1100px) {
    .profile-location-map.listing-location-map {
        min-height: 520px;
    }
}

/* Курсор «прицел» — понятно, что клик ставит точку (Я.Карты по умолчанию дают «руку») */
.profile-map-select-cursor.listing-location-map,
.profile-map-select-cursor [class*="-events-pane"] {
    cursor: crosshair !important;
}

.profile-map-select-cursor [class*="-copyrights-pane"] {
    cursor: default !important;
}

.profile-addresses__empty {
    margin: 0 0 16px;
    font-size: 14px;
    color: var(--avito-muted);
}

.profile-address-list {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.profile-address-list__item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: var(--surface-input);
    border-radius: 12px;
}

.profile-address-list__text {
    flex: 1;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.profile-address-list__label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--avito-muted);
}

.profile-address-list__line {
    font-size: 15px;
    line-height: 1.4;
}

.profile-address-list__badge {
    display: inline-block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--brand-teal, #2fa89d);
}

.profile-address-list__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
}

.profile-address-list__delete {
    color: #c62828 !important;
}

.profile-address-add {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 480px;
}

.profile-address-add .optional {
    font-weight: 400;
    color: var(--avito-muted);
    font-size: 13px;
}

.listing-fieldset-price,
.listing-fieldset-species {
    border: none;
    padding: 0;
    margin: 0;
}

.listing-section {
    border: 0;
    padding: 0;
    margin: 0;
}

.listing-section--live-view {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border-subtle);
}

.listing-live-view-section-title {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-heading);
}

/* Общий блок: хлебные крошки + H1 (витрина, не главная) */
.page-hero {
    margin: 0 0 22px;
    padding: 6px 0 2px;
}

.page-hero__crumbs-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #64748b;
}

.page-hero__crumbs-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-hero__crumbs-item + .page-hero__crumbs-item::before {
    content: '→';
    margin-right: 2px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

.page-hero__crumbs-link {
    color: #64748b;
    text-decoration: none;
}

.page-hero__crumbs-link:hover {
    color: #475569;
    text-decoration: underline;
}

.page-hero__crumbs-current {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #64748b;
}

.page-hero__crumbs-chev {
    font-size: 18px !important;
    line-height: 1 !important;
    opacity: 0.72;
}

.page-hero__title-wrap {
    border-left: 5px solid #f97316;
    padding: 4px 0 4px 16px;
    margin: 0;
}

.page-hero__h1 {
    margin: 0;
    font-family: Manrope, 'Inter', system-ui, sans-serif;
    font-size: clamp(1.45rem, 3.6vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: #0f172a;
}

/* Подача / редактирование объявления: крошки и H1 в той же колонке, что и поля формы */
.container--main:has(.form-wrap--listing) .page-hero {
    max-width: 760px;
    margin: 0 auto 22px;
}

.listing-live-view-segmented {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 2px;
}

@media (max-width: 560px) {
    .listing-live-view-segmented {
        grid-template-columns: 1fr;
    }
}

.listing-live-view-segment {
    position: relative;
    display: block;
    margin: 0;
    cursor: pointer;
}

.listing-live-view-segment__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.listing-live-view-segment__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 96px;
    padding: 12px 8px;
    text-align: center;
    border-radius: 12px;
    border: 2px solid var(--border-subtle);
    background: #fff;
    box-sizing: border-box;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        box-shadow 0.15s ease;
}

.listing-live-view-segment__input:checked + .listing-live-view-segment__body {
    border-color: var(--accent);
    background: rgba(14, 165, 233, 0.08);
    box-shadow: 0 0 0 1px var(--accent);
}

.listing-live-view-segment__input:focus-visible + .listing-live-view-segment__body {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.listing-live-view-segment__icon {
    font-size: 28px !important;
    line-height: 1 !important;
    color: var(--accent);
}

.listing-live-view-segment__label {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--text-heading);
}

.listing-live-view-segment__hint {
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    color: #64748b;
    max-width: 12rem;
}

.listing-live-view-segmented--admin .listing-live-view-segment__body {
    min-height: 88px;
}

.listing-live-view-segmented--admin .listing-live-view-segment__label {
    font-size: 12px;
}

.listing-option-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.45;
    color: var(--text-primary);
    cursor: pointer;
}

.listing-option-check:last-of-type {
    margin-bottom: 0;
}

.listing-option-check input {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: var(--accent);
}

.listing-section-title {
    margin: 26px 0 12px;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.listing-photo-block {
    position: relative;
    margin-top: 6px;
}

.listing-photo-title {
    display: block;
    margin-bottom: 2px;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.listing-photo-limit {
    margin: 0 0 10px;
}

.listing-edit-existing-photos {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}

.listing-edit-existing-photos__item {
    position: relative;
    width: 120px;
    height: 90px;
    border-radius: 8px;
    overflow: hidden;
    background: #dde3eb;
}

.listing-edit-existing-photos__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.listing-edit-existing-photos__cover {
    position: absolute;
    left: 4px;
    bottom: 4px;
    font-size: 10px;
    padding: 2px 6px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    border-radius: 4px;
}

.listing-input-with-clear {
    position: relative;
}

.listing-input-clear {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: transparent !important;
    color: #111 !important;
    font-size: 30px;
    line-height: 1;
    padding: 0;
}

.listing-images-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    padding: 0;
}

.listing-photo-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.listing-photo-add {
    width: 160px;
    height: 160px;
    border-radius: 12px;
    border: 1px dashed #d4ddeb;
    background: #f5f7fa;
    color: #8a94a8;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.listing-photo-add .material-icons {
    font-size: 34px;
}

.listing-photo-item {
    position: relative;
    width: 160px;
    height: 160px;
    border-radius: 12px;
    overflow: hidden;
    background: #dde3eb;
    cursor: grab;
}

.listing-photo-item.is-dragging {
    opacity: 0.6;
}

.listing-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.listing-photo-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #111 !important;
    font-size: 16px;
    line-height: 1;
    padding: 0;
}

.listing-photo-rotate {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #111 !important;
    font-size: 14px;
    line-height: 1;
    padding: 0;
}

.listing-photo-primary {
    position: absolute;
    left: 0;
    bottom: -20px;
    font-size: 13px;
    color: var(--avito-muted);
}

.listing-fieldset-price legend,
.listing-fieldset-species legend {
    font-weight: 600;
    font-size: 13px;
    padding: 0;
    margin: 0 0 8px;
}

.listing-fieldset-species {
    margin: 0 0 18px;
    padding: 14px 16px 16px;
    border: 1px solid var(--border-subtle);
    border-radius: 14px;
    background: var(--surface);
}

.listing-fieldset-species-legend {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-heading);
    padding: 0;
    margin: 0 0 12px;
}

.listing-fish-type-label {
    display: block;
    margin: 14px 0 8px;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-heading);
}

.listing-fish-type-select.wf-custom-select {
    width: 100%;
}

.listing-species-wrap {
    margin: 16px 0 8px;
}

.listing-species-heading {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-heading);
}

.listing-species-picker {
    position: relative;
}

.listing-species-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    min-height: 0;
    margin-bottom: 0;
}

/* Пока чипов нет — не резервируем высоту под строку */
.listing-species-chips:not(:empty) {
    min-height: 28px;
    margin-bottom: 8px;
}

.listing-species-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 5px 6px 5px 12px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #1e293b;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    border: 1px solid #cbd5e1;
}

.listing-species-chip__text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(280px, 70vw);
}

.listing-species-chip__rm {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(30, 41, 59, 0.1);
    color: #475569;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.listing-species-chip__rm:hover {
    background: rgba(30, 41, 59, 0.18);
    color: #1e293b;
}

.listing-species-combo {
    position: relative;
    width: 100%;
    min-width: 0;
}

.listing-species-filter {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 15px;
    border-radius: 10px;
    border: 1px solid var(--border-input);
    background: #fff;
}

.listing-species-filter:focus {
    outline: none;
    border-color: #94a3b8;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.25);
}

.listing-species-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 40;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    max-height: 260px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.08);
}

.listing-species-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    text-align: left;
    font-size: 14px;
    line-height: 1.35;
    color: var(--text-heading);
    cursor: pointer;
    box-sizing: border-box;
}

.listing-species-opt:hover {
    background: #f8fafc;
}

.listing-species-opt.is-on {
    background: #f1f5f9;
}

.listing-species-opt:focus-visible {
    outline: none;
    background: #f8fafc;
    box-shadow: inset 0 0 0 2px rgba(148, 163, 184, 0.45);
}

.listing-species-opt__cb {
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
    font-weight: 700;
}

.listing-species-opt.is-on .listing-species-opt__cb {
    color: #475569;
}

.listing-species-opt__title {
    flex: 1;
    min-width: 0;
}

.listing-species-opt__kind {
    margin-left: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
}

.admin-listing-form .listing-species-wrap {
    width: 100%;
    max-width: 100%;
}

.listing-price-composite {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
    min-height: 52px;
    border-radius: 14px;
    border: 1px solid var(--tint-border);
    background: var(--surface);
    overflow: hidden;
    box-sizing: border-box;
}

.listing-price-amount {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
}

.listing-price-amount::after {
    content: '₽';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    font-weight: 700;
    color: #5a6570;
    pointer-events: none;
    line-height: 1;
}

.listing-price-input {
    width: 100%;
    box-sizing: border-box;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 14px 36px 14px 16px !important;
    font-size: 17px;
    font-weight: 600;
    color: var(--avito-text);
    min-height: 52px;
}

.listing-price-input::placeholder {
    color: #9aa3b2;
    font-weight: 500;
}

.listing-price-unit-wrap {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: stretch;
    border-left: 1px solid var(--tint-border-soft);
    background: var(--surface);
}

.listing-price-unit-select.wf-custom-select {
    margin: 0 !important;
    min-width: 132px;
    max-width: 46%;
}

.listing-price-unit-wrap .listing-price-unit-select.wf-custom-select .wf-custom-select__trigger {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent;
    min-height: 52px;
    padding: 10px 8px 10px 14px;
    font-size: 14px;
    font-weight: 600;
    color: #3d4a5c;
}

.listing-price-unit-wrap .listing-price-unit-select.wf-custom-select .wf-custom-select__trigger:hover {
    background: rgba(15, 23, 42, 0.04);
}

.listing-price-unit-wrap .listing-price-unit-select.wf-custom-select .wf-custom-select__trigger:focus-visible {
    box-shadow: inset 0 0 0 2px var(--focus-ring) !important;
}

.listing-price-unit-wrap .listing-price-unit-select.wf-custom-select .wf-custom-select__chevron {
    color: #5a6570;
    font-size: 20px !important;
}

/* Убираем стрелки у поля «Цена» */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

.listing-contact-note {
    margin-top: 4px;
}

.listing-section--location .field-hint {
    margin-top: 6px;
    margin-bottom: 20px;
}

.listing-location-map {
    width: 100%;
    min-height: 330px;
    border-radius: 12px;
    background: #e9edf3;
    overflow: hidden;
}

.listing-submit-actions {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.listing-submit-primary,
.listing-submit-secondary {
    min-width: 190px;
    min-height: 48px;
    border-radius: 14px;
    padding: 0 24px;
    font-weight: 700;
}

.listing-submit-secondary {
    background: #ececec !important;
    color: var(--avito-text) !important;
}

.listing-submit-secondary:hover {
    background: #dfdfdf !important;
}

.listing-submit-note {
    margin: 2px 0 0;
    color: var(--avito-muted);
    font-size: 14px;
    line-height: 1.4;
}

.input-readonly {
    opacity: 0.88;
    cursor: not-allowed;
}

.profile-photo-preview {
    margin-bottom: 4px;
}

.profile-photo-preview__img {
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.listing-thumb--photo {
    position: relative;
    padding: 0;
    margin: 0;
    overflow: hidden;
    display: block;
    width: 100%;
}

.listing-thumb--photo img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.2s ease-out;
}

/* Страница объявления (витрина, макет как на маркетплейсе) */
.listing-page {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 8px 0 48px;
}

.listing-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 28px 32px;
    align-items: start;
}

.listing-page__similar {
    width: 100%;
    margin-top: 12px;
    padding-top: 36px;
    border-top: 1px solid var(--border-subtle);
}

/* Блок похожих внутри «Отзывы»: между текстом и строкой № · дата · просмотры */
.listing-page__similar--in-foot {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--border-subtle);
}

.listing-page__similar-title {
    margin: 0 0 8px;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-heading);
}

.listing-page__similar-lead {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.45;
    color: var(--text-muted-cool);
}

.listing-page__similar-cards {
    margin: 0;
}

.listing-page__main {
    min-width: 0;
}

.listing-page__breadcrumbs {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--text-muted-cool);
}

main .listing-page__breadcrumbs a {
    color: var(--text-muted-cool);
    text-decoration: none;
}

main .listing-page__breadcrumbs a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.listing-page__bc-sep {
    margin: 0 6px;
    color: #9ca3af;
}

.listing-page__bc-current {
    color: var(--text-heading);
    font-weight: 500;
}

.listing-page__title {
    margin: 0 0 8px;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: clamp(26px, 3.2vw, 34px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--text-heading);
}

.listing-page__characteristics {
    margin: 0 0 28px;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--border-subtle);
}

.listing-page__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.listing-page__tag {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    color: var(--text-heading);
    background: #f0f2f5;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.listing-showcase {
    margin: 0 0 28px;
}

.listing-showcase__main--blurfill {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-product);
    box-shadow: var(--shadow-listing);
    background: #1a1d23;
    min-height: min(420px, 58vh);
}

.listing-showcase__blur {
    position: absolute;
    inset: -32px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(32px);
    opacity: 0.88;
    transform: scale(1.06);
    pointer-events: none;
}

.listing-showcase__zoom {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: min(420px, 58vh);
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: zoom-in;
    line-height: 0;
}

.listing-showcase__img-wrap {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: min(560px, 70vh);
}

.listing-showcase__main-img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(560px, 70vh);
    object-fit: contain;
    vertical-align: top;
    transition: transform 0.2s ease-out;
}

.listing-showcase__zoom:hover .listing-showcase__main-img {
    transform: scale(1.01);
}

.listing-photo-watermark {
    position: absolute;
    right: 10px;
    bottom: 8px;
    padding: 4px 8px;
    font-family: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.88);
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.55),
        0 0 12px rgba(0, 0, 0, 0.25);
    pointer-events: none;
    user-select: none;
    border-radius: 6px;
    background: rgba(15, 35, 52, 0.18);
}

.listing-photo-watermark--card {
    right: 6px;
    bottom: 5px;
    padding: 2px 5px;
    font-size: 9px;
    letter-spacing: 0.04em;
    border-radius: 4px;
}

.listing-thumb--photo .listing-photo-watermark--card {
    z-index: 2;
}

.listing-showcase__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.listing-showcase__thumb {
    -webkit-appearance: none;
    appearance: none;
    padding: 0;
    margin: 0;
    width: 88px;
    height: 66px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid transparent;
    background: var(--surface-tile);
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out;
}

.listing-showcase__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.listing-showcase__thumb:hover,
.listing-showcase__thumb:focus-visible {
    border-color: rgba(33, 118, 255, 0.35);
    outline: none;
}

.listing-showcase__thumb.is-active {
    border-color: var(--accent);
    box-shadow: 0 0 0 1px rgba(33, 118, 255, 0.25);
}

/* Модальное окно просмотра фото: белая зона, миниатюры снизу */
.listing-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-sizing: border-box;
}

.listing-lightbox[hidden] {
    display: none !important;
}

.listing-lightbox__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(0, 0, 0, 0.72);
    cursor: pointer;
}

.listing-lightbox__sheet {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(1100px, 96vw);
    max-height: min(92vh, 900px);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

.listing-lightbox__close {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 3;
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #2b2f36;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.listing-lightbox__close:hover {
    background: #fff;
}

.listing-lightbox__view {
    display: flex;
    align-items: stretch;
    flex: 1;
    min-height: 0;
}

.listing-lightbox__arrow {
    flex: 0 0 40px;
    align-self: stretch;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: rgba(0, 0, 0, 0.35);
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s ease-out, opacity 0.15s ease-out;
}

.listing-lightbox__arrow:hover:not(:disabled) {
    color: rgba(0, 0, 0, 0.55);
}

.listing-lightbox__arrow:disabled {
    opacity: 0.12;
    cursor: default;
}

.listing-lightbox--single .listing-lightbox__arrow {
    visibility: hidden;
    pointer-events: none;
}

.listing-lightbox__stage {
    flex: 1;
    position: relative;
    overflow: hidden;
    min-height: min(400px, 52vh);
    background: #fff;
}

.listing-lightbox__img-shell {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: min(400px, 52vh);
    padding: 12px;
    box-sizing: border-box;
}

.listing-lightbox__img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(56vh, 640px);
    object-fit: contain;
}

.listing-lightbox__wm {
    z-index: 2;
}

.listing-lightbox__thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 10px 14px 12px;
    overflow-x: auto;
    flex-shrink: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: #f6f7f9;
    -webkit-overflow-scrolling: touch;
}

.listing-lightbox__thumb {
    -webkit-appearance: none;
    appearance: none;
    flex: 0 0 auto;
    width: 72px;
    height: 54px;
    padding: 0;
    margin: 0;
    border: 2px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    background: #e4e7ec;
    cursor: pointer;
    transition: border-color 0.15s ease-out, box-shadow 0.15s ease-out, opacity 0.15s ease-out;
    opacity: 0.88;
}

.listing-lightbox__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.listing-lightbox__thumb:hover,
.listing-lightbox__thumb:focus-visible {
    opacity: 1;
    border-color: rgba(33, 118, 255, 0.35);
    outline: none;
}

.listing-lightbox__thumb.is-active {
    border-color: var(--accent);
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(33, 118, 255, 0.2);
}

.listing-lightbox__close:focus-visible,
.listing-lightbox__arrow:focus-visible,
.listing-lightbox__thumb:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

@media (max-width: 640px) {
    .listing-lightbox {
        padding: 0;
    }

    .listing-lightbox__sheet {
        width: 100%;
        max-height: 100vh;
        border-radius: 0;
    }

    .listing-lightbox__arrow {
        flex-basis: 32px;
        font-size: 34px;
    }
}

.listing-page__description {
    margin: 0;
    padding: 0;
}

.listing-page__section-title {
    margin: 0 0 12px;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-heading);
}

.listing-page__body {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-primary);
}

.listing-page__foot {
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid var(--border-subtle);
}

.listing-foot__lead {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-primary);
}

.listing-foot__btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 18px;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none !important;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: background-color 0.15s ease-out, color 0.15s ease-out;
}

.listing-foot__btn--ghost {
    background: #f2f2f2;
    color: #111 !important;
}

.listing-foot__btn--ghost:hover {
    background: #e8e8e8;
    color: #111 !important;
}

.listing-foot__stats {
    margin: 20px 0 0;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    color: var(--text-heading);
}

.listing-foot__btn--report {
    margin-top: 20px;
}

.listing-page__aside {
    position: relative;
    min-width: 0;
}

.listing-aside-card {
    position: sticky;
    top: 108px;
    padding: 20px;
    background: #ffffff;
    border-radius: var(--radius-sidebar);
    box-shadow: var(--shadow-sidebar);
}

.listing-aside-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.listing-aside-card__price {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    line-height: 1.2;
}

.listing-aside-card__price-value {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text-heading);
}

.listing-aside-card__price--free .listing-aside-card__price-value {
    color: var(--text-heading);
    font-size: 24px;
}

.listing-aside-card__price-unit {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-muted-cool);
}

.listing-aside-card__tools {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.listing-fav-form--inline {
    position: static;
    width: 32px;
    height: 32px;
}

.listing-fav-form--inline .listing-fav {
    position: static;
}

.listing-fav--inline {
    position: static;
}

.listing-aside-card .listing-fav {
    background: transparent !important;
    box-shadow: none !important;
    color: #6b7280;
}

.listing-aside-card .listing-fav--active {
    color: var(--accent);
}

.listing-aside-card .listing-fav:hover:not(.listing-fav--active) {
    background: transparent !important;
    color: var(--accent);
}

.listing-aside-card .listing-fav--active:hover {
    background: transparent !important;
    color: var(--accent-hover);
}

.listing-aside-card__hint {
    margin: 0 0 16px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--text-muted-cool);
}

.listing-seller {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.listing-seller__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(145deg, #e9f2ff 0%, #d4e4ff 100%);
    color: var(--accent);
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.listing-seller__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.listing-seller__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.listing-seller__name {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-heading);
}

.listing-seller__role {
    font-size: 13px;
    color: var(--text-muted-cool);
}

.listing-aside-card__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.listing-aside-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0 16px;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: var(--radius-pill);
    border: none;
    cursor: pointer;
    transition: background-color 0.18s ease-out, box-shadow 0.18s ease-out, color 0.18s ease-out;
}

.listing-aside-card__btn--primary {
    background: var(--accent);
    color: #fff !important;
}

.listing-aside-card__btn--primary:hover {
    background: var(--accent-hover);
    box-shadow: 0 4px 14px rgba(33, 118, 255, 0.35);
}

.listing-aside-card__btn--secondary {
    background: var(--surface);
    color: var(--text-heading) !important;
    border: 1px solid var(--border-input);
}

.listing-aside-card__btn--secondary:hover {
    border-color: var(--accent);
    color: var(--accent) !important;
}

.listing-aside-card__btn--message {
    flex-direction: row;
    gap: 10px;
    background: linear-gradient(145deg, #0f766e 0%, #0d9488 48%, #14b8a6 100%);
    color: #fff !important;
    border: none;
    box-shadow: 0 2px 12px rgba(13, 148, 136, 0.35);
}

.listing-aside-card__btn--message:hover {
    background: linear-gradient(145deg, #115e59 0%, #0f766e 50%, #0d9488 100%);
    box-shadow: 0 4px 18px rgba(13, 148, 136, 0.45);
}

.listing-aside-card__btn-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 36px;
    height: 28px;
    padding: 2px 6px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.95);
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.listing-aside-card__btn-logo-img {
    display: block;
    max-width: 72px;
    max-height: 22px;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.listing-live-view-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.listing-live-banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px 14px 16px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow:
        0 4px 18px rgba(15, 80, 60, 0.1),
        0 0 0 1px rgba(255, 255, 255, 0.65) inset;
}

.listing-live-banner--available {
    background: linear-gradient(125deg, #e8faf0 0%, #d4f2e3 42%, #c5ecda 100%);
}

.listing-live-banner--appointment {
    background: linear-gradient(125deg, #e8f6fc 0%, #d8eef8 45%, #c9e6f5 100%);
}

.listing-live-banner--unavailable {
    background: linear-gradient(125deg, #f1f5f9 0%, #e2e8f0 55%, #dbeafe 100%);
}

.listing-live-banner--unavailable .listing-live-banner__visual {
    color: #64748b;
}

.listing-live-banner__rings--muted {
    background: radial-gradient(circle, rgba(100, 116, 139, 0.22) 0%, transparent 68%);
    box-shadow:
        0 0 0 8px rgba(100, 116, 139, 0.08),
        0 0 0 17px rgba(100, 116, 139, 0.05),
        0 0 0 26px rgba(100, 116, 139, 0.03);
}

.listing-live-banner__text-block {
    min-width: 0;
    flex: 1;
}

.listing-live-banner__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.35;
    color: #0f172a;
}

.listing-live-banner__sub {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: #475569;
    font-weight: 500;
}

.listing-live-banner__visual {
    position: relative;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0e7490;
}

.listing-live-banner--appointment .listing-live-banner__visual {
    color: #0284c7;
}

.listing-live-banner__rings {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.2) 0%, transparent 68%);
    box-shadow:
        0 0 0 8px rgba(14, 165, 233, 0.09),
        0 0 0 17px rgba(14, 165, 233, 0.05),
        0 0 0 26px rgba(14, 165, 233, 0.03);
}

.listing-live-banner__rings--alt {
    background: radial-gradient(circle, rgba(6, 182, 212, 0.22) 0%, transparent 68%);
    box-shadow:
        0 0 0 8px rgba(6, 182, 212, 0.1),
        0 0 0 17px rgba(6, 182, 212, 0.06),
        0 0 0 26px rgba(6, 182, 212, 0.035);
}

.listing-live-banner__icon {
    position: relative;
    z-index: 1;
}

.listing-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.listing-gallery img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 12px;
}

.listing .price .price-unit {
    font-size: 16px;
    font-weight: 600;
    color: var(--avito-muted);
}

.listing-body {
    margin: 12px 0 0;
    line-height: 1.5;
}

.admin-listing-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    margin-top: 12px;
    width: 100%;
    max-width: 100%;
}

.admin-listing-form input,
.admin-listing-form select,
.admin-listing-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.admin-price-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.admin-live-view-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 10px 0 0;
}

.admin-live-view-heading {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--text-heading);
}

.admin-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.45;
    cursor: pointer;
}

.admin-check input {
    margin-top: 2px;
    flex-shrink: 0;
}

.admin-contact-line {
    font-size: 13px;
    color: var(--avito-muted);
    margin: 4px 0 0;
    line-height: 1.45;
}

.admin-status-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.admin-status-row {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) 1fr auto;
    gap: 8px;
    align-items: end;
}

.filter label,
.form-wrap label {
    font-weight: 600;
    font-size: 16px;
    color: var(--avito-text);
}

input, select, textarea {
    font: inherit;
    padding: 14px 16px;
    border-radius: 16px;
    border: none;
    background: #f2f1f0;
    color: #111;
}

input::placeholder,
textarea::placeholder {
    color: #9aa0a6;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

#listing-description {
    min-height: 182px;
    border-radius: 16px;
}

#listing-title,
#listing-price,
#profile-address-line,
#listing-species-text,
#listing-species-key {
    min-height: 56px;
}

button {
    font: inherit;
    padding: 10px;
    border-radius: 10px;
    border: none;
}

/* Опции выпадающего списка видов — не как «основная кнопка» сайта */
button.listing-species-opt {
    padding: 9px 12px;
    border-radius: 0;
}

button.listing-species-chip__rm {
    padding: 0;
    border-radius: 50%;
}

button.my-listings-pill {
    padding: 6px 12px;
    border-radius: 999px;
}

button.link-btn {
    background: transparent;
}

button.link-btn.header-link-muted {
    padding: 0;
    min-height: 0;
}

button:not(.header-search__submit):not(.header-catalog-btn):not(.sidebar-submit):not(.listing-fav):not(.link-btn):not(.listing-photo-add):not(.listing-aside-card__btn):not(.listing-showcase__thumb):not(.listing-showcase__zoom):not(.listing-lightbox__backdrop):not(.listing-lightbox__close):not(.listing-lightbox__arrow):not(.listing-lightbox__thumb):not(.wf-custom-select__trigger):not(.admin-row-menu__trigger):not(.admin-row-menu__item):not(.admin-aquapedia-list__bulk-btn):not(.listing-species-opt):not(.listing-species-chip__rm):not(.my-listings-pill):not(.my-listings-tabs__tab):not(.catalog-mega__root):not(.msg-app__form-attach):not(.msg-app__attach-menu-item):not(.msg-app__send), .btn {
    background: var(--avito-blue);
    color: var(--avito-white);
    border: 0;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

button:not(.header-search__submit):not(.header-catalog-btn):not(.sidebar-submit):not(.listing-fav):not(.link-btn):not(.listing-photo-add):not(.listing-aside-card__btn):not(.listing-showcase__thumb):not(.listing-showcase__zoom):not(.listing-lightbox__backdrop):not(.listing-lightbox__close):not(.listing-lightbox__arrow):not(.listing-lightbox__thumb):not(.wf-custom-select__trigger):not(.admin-row-menu__trigger):not(.admin-row-menu__item):not(.admin-aquapedia-list__bulk-btn):not(.listing-species-opt):not(.listing-species-chip__rm):not(.my-listings-pill):not(.my-listings-tabs__tab):not(.catalog-mega__root):not(.msg-app__form-attach):not(.msg-app__attach-menu-item):not(.msg-app__send):hover, .btn:hover {
    background: var(--avito-blue-hover);
}

.card, .listing {
    background: var(--surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 12px;
    box-shadow: var(--shadow-card);
}

/* Карточка каталога: фото на всю ширину, типографика в теле карточки */
.card.listing-card {
    padding: 0;
    border-radius: var(--radius-product);
    background: var(--surface);
    border: none;
    box-shadow: var(--shadow-listing);
}

.listing .price {
    font-size: 22px;
    font-weight: 800;
    margin: 6px 0;
}

.meta {
    color: var(--avito-muted);
    font-size: 13px;
}

.actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.btn-secondary {
    background: var(--green-soft);
}

.btn-secondary:hover {
    filter: brightness(0.95);
}

/* Фокус для кнопок и основных действий — кольцо в цвете логотипа */
.sidebar-submit:focus-visible,
.sidebar-card__btn:focus-visible,
button:not(.header-search__submit):not(.header-catalog-btn):not(.link-btn):not(.listing-fav):not(.listing-aside-card__btn):not(.listing-showcase__thumb):not(.listing-showcase__zoom):not(.listing-lightbox__backdrop):not(.listing-lightbox__close):not(.listing-lightbox__arrow):not(.listing-lightbox__thumb):not(.wf-custom-select__trigger):not(.admin-row-menu__trigger):not(.admin-row-menu__item):not(.admin-aquapedia-list__bulk-btn):not(.listing-species-opt):not(.listing-species-chip__rm):not(.my-listings-pill):not(.my-listings-tabs__tab):not(.catalog-mega__root):not(.msg-app__form-attach):not(.msg-app__attach-menu-item):not(.msg-app__send):focus-visible,
.btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

.header-search__submit:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.5),
        var(--focus-ring-strong);
}

button.link-btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
    border-radius: 6px;
}

.btn-secondary:focus-visible {
    box-shadow: 0 0 0 2px rgba(47, 168, 157, 0.45);
}

button.danger:focus-visible,
.danger:focus-visible {
    box-shadow: 0 0 0 2px rgba(207, 55, 69, 0.45);
}

.inline-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.danger {
    background: var(--danger);
}

.alert {
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 10px;
}

.alert-success {
    background: rgba(47, 168, 157, 0.12);
    border: none;
    color: var(--avito-text);
}

.alert-error {
    background: rgba(207, 55, 69, 0.1);
    border: none;
    color: var(--avito-text);
}

.alert-info {
    background: var(--brand-primary-soft);
    border: none;
    color: var(--avito-text);
}

.inline-form { margin: 0; }

.user-row {
    border-top: none;
    padding: 12px 0;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

/* Админка: названия категорий */
.admin-category-names {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
}

.admin-category-name-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: var(--surface-input);
    border-radius: 10px;
}

.admin-category-name-row__meta {
    font-size: 12px;
    color: var(--avito-muted);
}

.admin-category-name-row__label {
    margin-right: 6px;
}

.admin-category-name-row__key {
    font-size: 11px;
    word-break: break-word;
    background: var(--avito-white);
    padding: 2px 6px;
    border-radius: 4px;
}

.admin-category-name-row__fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.admin-category-name-row__input {
    flex: 1;
    min-width: 200px;
    padding: 10px 12px;
    border: none;
    border-radius: 10px;
    font: inherit;
    background: var(--avito-white);
}

.admin-category-name-row__reset {
    background: var(--avito-muted) !important;
    color: #fff !important;
}

.admin-category-name-row__reset:hover {
    background: #5c5c5c !important;
}

/* Админка: картинки категорий */
.admin-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 12px;
}

.admin-category-card {
    background: var(--surface-input);
    border-radius: 12px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-category-card__preview {
    height: 100px;
    border-radius: 10px;
    background: var(--avito-white);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.admin-category-card__preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.admin-category-card__emoji {
    font-size: 48px;
    line-height: 1;
}

.admin-category-card__title {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--avito-text);
}

.admin-category-card__form input[type="file"] {
    font-size: 12px;
    max-width: 100%;
}

.admin-category-card__form button,
.admin-category-card__remove button {
    width: 100%;
    padding: 8px;
    font-size: 13px;
}

.admin-category-card__remove {
    margin: 0;
}

/* Админка: карточки модерации */
.moderation-card {
    margin-bottom: 12px;
}

.moderation-card__header {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.moderation-card__info {
    flex: 1;
}

.moderation-card__thumb {
    flex-shrink: 0;
    width: 160px;
    height: 120px;
    border-radius: 12px;
    overflow: hidden;
    border: none;
    padding: 0;
    background: #000;
    cursor: pointer;
}

.moderation-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.moderation-card__form textarea {
    width: 100%;
    resize: none;
}

.moderation-card__actions {
    margin-top: 8px;
}

/* Админка: тёмная тема (меню как в Bitrix24 dark) + формы со скруглениями, на всю ширину окна */
.admin-body.admin-body--bitrix-dark {
    --adm-bg: #1a1d23;
    --adm-elev: #22262e;
    --adm-sidebar: #16181d;
    --adm-border: rgba(255, 255, 255, 0.08);
    --adm-border-strong: rgba(255, 255, 255, 0.14);
    --adm-text: #e8eaed;
    --adm-muted: #9aa0a8;
    --adm-accent: #6ba3e8;
    --adm-accent-soft: rgba(107, 163, 232, 0.14);
    --adm-accent-hover: #8bb8f0;
    --adm-danger: #e57373;
    margin: 0;
    min-height: 100vh;
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    background: var(--adm-bg);
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark a {
    color: var(--adm-accent);
}

.admin-body.admin-body--bitrix-dark a:hover {
    color: var(--adm-accent-hover);
}

.admin-body.admin-body--bitrix-dark .meta {
    color: var(--adm-muted);
}

.admin-shell {
    display: flex;
    width: 100%;
    min-height: calc(100vh - 52px);
    align-items: stretch;
}

.admin-sidebar {
    flex: 0 0 240px;
    max-width: 280px;
    padding: 18px 0 28px;
    background: var(--adm-sidebar);
    border-right: 1px solid var(--adm-border);
    font-size: 13px;
    box-shadow: inset -1px 0 0 var(--adm-border);
}

.admin-sidebar__section {
    padding: 14px 18px 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--adm-muted);
}

.admin-sidebar__link {
    display: block;
    padding: 10px 18px;
    margin: 2px 10px;
    border-radius: 10px;
    color: var(--adm-text);
    text-decoration: none;
    border-left: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.admin-sidebar__link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
}

.admin-sidebar__link.is-active {
    font-weight: 700;
    background: var(--adm-accent-soft);
    color: var(--adm-accent-hover);
    box-shadow: 0 0 0 1px rgba(107, 163, 232, 0.25);
}

.admin-shell__content {
    flex: 1;
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 16px 24px 40px;
    background: linear-gradient(180deg, var(--adm-bg) 0%, #15171c 100%);
}

.admin-shell__flashes {
    margin: -4px 0 12px;
    width: 100%;
}

.admin-body.admin-body--bitrix-dark .alert {
    border-radius: 12px;
    max-width: none;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
    background: var(--adm-elev);
    border-bottom: 1px solid var(--adm-border);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

.admin-topbar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 12px 24px;
    font-size: 13px;
}

.admin-topbar__brand {
    font-weight: 700;
    color: var(--adm-text);
    text-decoration: none;
}

.admin-topbar__brand:hover {
    color: var(--adm-accent-hover);
}

.admin-topbar__sep {
    color: var(--adm-muted);
    opacity: 0.6;
}

.admin-topbar__site {
    color: var(--adm-accent);
    text-decoration: none;
    font-weight: 600;
}

.admin-topbar__site:hover {
    color: var(--adm-accent-hover);
}

.admin-topbar__user {
    margin-left: auto;
    color: var(--adm-muted);
    font-size: 12px;
}

.admin-body.admin-body--bitrix-dark .link-btn {
    color: var(--adm-muted);
    background: transparent;
    border: 1px solid var(--adm-border-strong);
    border-radius: 10px;
    padding: 6px 12px;
    cursor: pointer;
    font: inherit;
}

.admin-body.admin-body--bitrix-dark .link-btn:hover {
    color: var(--adm-text);
    border-color: var(--adm-muted);
}

.admin-topbar__logout {
    margin: 0;
}

.admin-page {
    width: 100%;
    max-width: none;
}

.admin-body.admin-body--bitrix-dark .card {
    width: 100%;
    max-width: none;
    background: var(--adm-elev);
    border: 1px solid var(--adm-border);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark .admin-page h1,
.admin-body.admin-body--bitrix-dark .admin-page h2,
.admin-body.admin-body--bitrix-dark .admin-page h3 {
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark .admin-table {
    width: 100%;
}

.admin-body.admin-body--bitrix-dark .admin-table th,
.admin-body.admin-body--bitrix-dark .admin-table td {
    border-bottom-color: var(--adm-border);
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark .admin-table th {
    color: var(--adm-muted);
}

.admin-body.admin-body--bitrix-dark .admin-table tr.is-highlight {
    background: var(--adm-accent-soft);
}

.admin-body.admin-body--bitrix-dark .admin-dashboard-link {
    background: var(--adm-elev);
    border: 1px solid var(--adm-border);
    border-radius: 12px;
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark .admin-dashboard-link:hover {
    border-color: var(--adm-accent);
    background: rgba(255, 255, 255, 0.04);
}

.admin-body.admin-body--bitrix-dark .btn--small {
    background: var(--adm-accent);
    border-radius: 10px;
    color: #0d1117;
}

.admin-body.admin-body--bitrix-dark .btn--small:hover {
    filter: brightness(1.08);
    color: #0d1117;
}

.admin-body.admin-body--bitrix-dark .alert-success {
    background: rgba(46, 125, 90, 0.2);
    border: 1px solid rgba(80, 180, 130, 0.35);
    color: #b8e0cc;
}

.admin-body.admin-body--bitrix-dark .alert-error {
    background: rgba(180, 60, 60, 0.15);
    border: 1px solid rgba(230, 100, 100, 0.35);
    color: #f0b4b4;
}

.admin-body.admin-body--bitrix-dark .moderation-card {
    background: var(--adm-elev);
    border-color: var(--adm-border);
}

.admin-body.admin-body--bitrix-dark .moderation-card__form textarea {
    background: #181c22;
    border: 1px solid var(--adm-border-strong);
    color: var(--adm-text);
    border-radius: 10px;
}

.admin-body.admin-body--bitrix-dark .admin-subnav {
    border-bottom-color: var(--adm-border);
}

.admin-body.admin-body--bitrix-dark .admin-subnav a {
    color: var(--adm-accent);
}

.admin-body.admin-body--bitrix-dark .admin-subnav a.is-active {
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark .admin-listing-row {
    border-bottom-color: var(--adm-border);
}

.admin-body.admin-body--bitrix-dark .admin-hr {
    border-top-color: var(--adm-border);
}

.admin-body.admin-body--bitrix-dark .checkbox-row {
    color: var(--adm-text);
}

.admin-body.admin-body--bitrix-dark button.linkish,
.admin-body.admin-body--bitrix-dark .linkish {
    color: var(--adm-accent);
}

.admin-body.admin-body--bitrix-dark .admin-category-save-form label {
    color: var(--adm-muted);
}

.admin-body.admin-body--bitrix-dark .admin-category-save-form input[type="text"],
.admin-body.admin-body--bitrix-dark .admin-category-save-form input[type="number"],
.admin-body.admin-body--bitrix-dark .admin-category-save-form select,
.admin-body.admin-body--bitrix-dark .admin-category-save-form textarea {
    max-width: none;
    width: 100%;
    background: #181c22;
    border: 1px solid var(--adm-border-strong);
    color: var(--adm-text);
    border-radius: 10px;
}

.admin-body.admin-body--bitrix-dark .admin-category-save-form input:focus,
.admin-body.admin-body--bitrix-dark .admin-category-save-form select:focus,
.admin-body.admin-body--bitrix-dark .admin-category-save-form textarea:focus {
    outline: none;
    border-color: var(--adm-accent);
    box-shadow: 0 0 0 2px var(--adm-accent-soft);
}

.admin-body.admin-body--bitrix-dark .admin-category-save-form button[type="submit"],
.admin-body.admin-body--bitrix-dark button[type="submit"]:not(.linkish) {
    background: var(--adm-accent);
    color: #0d1117;
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    font-weight: 700;
    cursor: pointer;
}

.admin-body.admin-body--bitrix-dark .admin-category-save-form button[type="submit"]:hover {
    filter: brightness(1.06);
}

.admin-body.admin-body--bitrix-dark button.danger,
.admin-body.admin-body--bitrix-dark .danger {
    color: var(--adm-danger);
}

.admin-slate-mount {
    width: 100%;
    margin-top: 6px;
}

.admin-body.admin-body--bitrix-dark .admin-slate-toolbar {
    border: 1px solid var(--adm-border-strong);
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    background: #181c22;
}

.admin-body.admin-body--bitrix-dark .admin-slate-editable {
    border: 1px solid var(--adm-border-strong);
    border-radius: 0 0 10px 10px;
    background: #12151a;
    color: var(--adm-text);
    font-size: 14px;
    min-height: 280px;
}

.admin-body.admin-body--bitrix-dark .admin-slate-editable [data-slate-placeholder] {
    color: var(--adm-muted);
    opacity: 0.7;
}

@media (max-width: 900px) {
    .admin-shell {
        flex-direction: column;
    }

    .admin-sidebar {
        flex: none;
        max-width: none;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 4px 8px;
        padding: 10px 12px 14px;
        border-right: none;
        border-bottom: 1px solid var(--adm-border);
    }

    .admin-sidebar__section {
        width: 100%;
        padding: 8px 8px 4px;
    }

    .admin-sidebar__link {
        margin: 2px 4px;
    }

    .admin-shell__content {
        padding: 12px 16px 28px;
    }
}

.admin-page h1 {
    margin-top: 0;
}

.admin-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--tint-border-soft);
}

.admin-subnav a {
    color: var(--link-accent);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
}

.admin-subnav a:hover {
    color: var(--link-accent-hover);
}

.admin-subnav a.is-active {
    color: var(--avito-text);
    pointer-events: none;
}

.admin-dashboard-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-dashboard-link {
    display: block;
    padding: 14px 16px;
    background: var(--tint-surface);
    border-radius: 12px;
    color: var(--avito-text);
    text-decoration: none;
    font-weight: 600;
    border: 1px solid var(--tint-border-soft);
}

.admin-dashboard-link:hover {
    border-color: var(--tint-border);
    background: var(--brand-primary-muted);
}

.admin-listings-filter {
    margin-bottom: 16px;
}

.admin-listing-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--avito-border);
}

.admin-listing-row:last-child {
    border-bottom: none;
}

.admin-listing-row__main {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.btn--small {
    padding: 8px 12px;
    font-size: 13px;
    border-radius: 10px;
    background: var(--brand-primary);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
    border: none;
    cursor: pointer;
    font: inherit;
}

.btn--small:hover {
    background: var(--brand-primary-hover);
    color: #fff;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.admin-table th,
.admin-table td {
    text-align: left;
    padding: 10px 8px;
    border-bottom: 1px solid var(--avito-border);
    vertical-align: top;
}

.admin-table th {
    color: var(--avito-muted);
    font-weight: 600;
}

.admin-table tr.is-highlight {
    background: var(--brand-primary-muted);
}

.admin-table-actions {
    white-space: nowrap;
}

.admin-table-actions form {
    display: inline;
    margin-left: 8px;
}

button.linkish,
.linkish {
    background: none;
    border: none;
    padding: 0;
    color: var(--link-accent);
    cursor: pointer;
    font: inherit;
    text-decoration: underline;
}

.admin-code-wrap {
    font-size: 11px;
    word-break: break-word;
}

.admin-category-save-form label {
    display: block;
    margin-top: 10px;
    font-weight: 600;
}

.admin-category-save-form input[type="text"],
.admin-category-save-form input[type="number"],
.admin-category-save-form select,
.admin-category-save-form textarea {
    width: 100%;
    max-width: 560px;
    margin-top: 4px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--avito-border);
    font: inherit;
}

.admin-category-save-form button {
    margin-top: 16px;
}

.admin-category-save-form .admin-slug-field {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
    max-width: 560px;
    margin-top: 4px;
}

.admin-category-save-form .admin-slug-field input[type="text"] {
    flex: 1 1 220px;
    min-width: 0;
    width: auto;
    margin-top: 0;
}

.admin-slug-from-btn {
    flex: 0 0 auto;
    align-self: center;
    margin-top: 0 !important;
    padding: 10px 16px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    border: 1px solid var(--avito-border);
    background: var(--surface-tile);
    color: var(--text-primary);
    cursor: pointer;
    white-space: nowrap;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease;
}

.admin-slug-from-btn:hover {
    background: var(--surface-tile-hover);
    border-color: var(--accent);
    color: var(--accent);
}

.admin-slug-from-btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.admin-hr {
    border: none;
    border-top: 1px solid var(--avito-border);
    margin: 24px 0;
}

.admin-category-edit-preview {
    max-width: 200px;
    max-height: 200px;
    border-radius: 10px;
    object-fit: contain;
}

.admin-lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    background: transparent;
}

.admin-lightbox.is-open {
    display: block;
    background: rgba(0, 0, 0, 0.78);
}

.admin-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.admin-lightbox__inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: min(900px, 100vw - 32px);
    max-height: min(600px, 100vh - 32px);
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
}

.admin-lightbox__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.admin-lightbox__close {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 1;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

@media (min-width: 1600px) {
    .cards--recommend {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .home-layout {
        grid-template-columns: 1fr;
    }

    .home-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }

    .listing-page__layout {
        grid-template-columns: 1fr;
    }

    .listing-aside-card {
        position: static;
    }

    .cards--recommend {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-tiles-avito {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .listing-topline {
        margin-top: 6px;
    }

    .listing-back-btn {
        left: -8px;
        top: -50px;
    }

    .form-wrap--listing h2 {
        font-size: 36px;
    }

    .listing-breadcrumbs {
        font-size: 14px;
    }

    .listing-section-title {
        font-size: 20px;
    }

    .listing-photo-title {
        font-size: 20px;
    }

    .listing-submit-primary,
    .listing-submit-secondary {
        width: 100%;
    }

    .listing-photo-item,
    .listing-photo-add {
        width: 132px;
        height: 98px;
    }

    .header-main-inner {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: wrap;
    }

    .header-search {
        width: 100%;
        max-width: none;
    }

    .header-location {
        margin-left: 0;
        align-self: flex-end;
        justify-content: flex-end;
    }

    .header-catalog-btn {
        width: 100%;
        justify-content: center;
    }

    .catalog-mega {
        padding: 64px 8px 8px;
    }

    .catalog-mega__sheet {
        max-height: min(88vh, 760px);
    }

    .catalog-mega__toolbar {
        padding: 10px 14px;
    }

    .catalog-mega__body {
        flex-direction: column;
    }

    .catalog-mega__roots {
        flex: none;
        max-width: none;
        width: 100%;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        border-right: none;
        border-bottom: 1px solid var(--border-subtle);
        padding: 8px 8px 10px;
        gap: 8px;
        background: #f6f7f9;
        -webkit-overflow-scrolling: touch;
    }

    .catalog-mega__root {
        flex: 0 0 auto;
        width: auto;
        min-width: min(200px, 82vw);
        padding: 9px 12px;
        border-radius: 10px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .catalog-mega__root.is-active {
        border-color: rgba(148, 163, 184, 0.35);
        background: #f3f6f9;
        box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.25);
    }

    .catalog-mega__panels {
        min-height: 200px;
        flex: 1;
    }

    .cards--recommend {
        grid-template-columns: repeat(2, 1fr);
    }

    .category-tiles-avito {
        grid-template-columns: repeat(2, 1fr);
    }

    .aquapedia-roots .category-tile-avito--aquapedia .category-tile-avito__title {
        max-width: 100%;
    }

    .category-tile-avito__title {
        max-width: 52%;
    }

    .category-tile-avito__art--img {
        width: 56px;
        height: 56px;
        max-width: min(56px, 38%);
        right: 4px;
        bottom: 4px;
    }

    .category-tile-avito__art {
        font-size: 40px;
    }

    .logo-brand__title {
        font-size: 21px;
    }

    .logo-brand__subtitle {
        font-size: 11px;
    }

    .logo-brand__img {
        height: 38px;
        max-width: 100px;
    }

    .listing-price-composite {
        flex-direction: column;
    }

    .listing-price-unit-wrap {
        border-left: none;
        border-top: 1px solid var(--tint-border-soft);
    }

    .listing-price-unit-select.wf-custom-select {
        max-width: none;
        width: 100%;
    }

    .admin-price-row {
        grid-template-columns: 1fr;
    }

    .admin-status-row {
        grid-template-columns: 1fr;
    }
}

/* Публичные страницы: блог и аквапедия */
.blog-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 12px;
}

.blog-card h2 {
    margin: 8px 0 4px;
    font-size: 18px;
}

.blog-card__img-wrap {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background: var(--tint-surface);
}

.blog-card__img {
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    display: block;
}

.blog-article__title {
    margin-top: 0;
}

.blog-article__cover {
    margin: 12px 0;
    border-radius: 12px;
    overflow: hidden;
    background: var(--tint-surface);
}

.blog-article__cover img {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    display: block;
}

.blog-article__body {
    margin-top: 16px;
    line-height: 1.55;
}

.aquapedia-tile-latin {
    display: block;
    font-size: 12px;
    color: var(--avito-muted);
    font-style: italic;
    margin-top: 4px;
}

.aquapedia-article__title {
    margin-top: 0;
}

.aquapedia-article__latin {
    margin: 0 0 12px;
    color: var(--avito-muted);
}

.aquapedia-article__cover {
    margin: 12px 0;
    border-radius: 12px;
    overflow: hidden;
    background: var(--tint-surface);
}

.aquapedia-article__cover img {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
    display: block;
}

.aquapedia-article__body {
    margin-top: 16px;
    line-height: 1.55;
}

/* Контент из WYSIWYG на публичных страницах */
.rich-text {
    line-height: 1.6;
    word-wrap: break-word;
}

.rich-text p {
    margin: 0.65em 0;
}

.rich-text h2,
.rich-text h3 {
    font-family: "Manrope", Arial, sans-serif;
    margin: 1em 0 0.5em;
    color: var(--avito-text);
}

.rich-text ul,
.rich-text ol {
    margin: 0.5em 0;
    padding-left: 1.35em;
}

.rich-text img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.rich-text blockquote {
    margin: 1em 0;
    padding: 8px 16px;
    border-left: 4px solid var(--tint-border);
    background: var(--tint-surface);
    color: var(--avito-muted);
}

.rich-text pre,
.rich-text code {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 13px;
}

.rich-text pre {
    padding: 12px 14px;
    border-radius: 10px;
    background: #f4f4f4;
    overflow-x: auto;
}

/* Страница «О компании» */
.about-page {
    padding: 28px 24px 32px;
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid var(--tint-border, #e8e8e8);
    box-shadow: 0 12px 40px rgba(15, 50, 80, 0.06);
}

.about-page__header {
    margin-bottom: 8px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--tint-border, #e8e8e8);
}

.about-page__title {
    margin: 0 0 16px;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--avito-text);
}

.about-page__lead {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--avito-text);
}

.about-page__brand {
    font-weight: 800;
    color: #0d6efd;
    letter-spacing: -0.01em;
}

.about-page__body {
    margin-top: 20px;
    font-size: 1rem;
    color: var(--avito-text);
}

.about-page__body p:first-child {
    margin-top: 0;
}

.about-page__closing {
    margin-top: 1.25em !important;
    padding: 16px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.06) 0%, rgba(13, 110, 253, 0.02) 100%);
    border: 1px solid rgba(13, 110, 253, 0.12);
    color: var(--avito-text);
}

/* Страница «Контакты» */
.contacts-page {
    padding: 28px 24px 36px;
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid var(--tint-border, #e8e8e8);
    box-shadow: 0 12px 40px rgba(15, 50, 80, 0.06);
}

.contacts-page__header {
    margin-bottom: 28px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--tint-border, #e8e8e8);
}

.contacts-page__title {
    margin: 0 0 14px;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.45rem, 2.4vw, 1.8rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--avito-text);
}

.contacts-page__intro {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--avito-text);
}

.contacts-section-title {
    margin: 0 0 14px;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--avito-text);
}

.contacts-legal {
    margin-bottom: 32px;
}

.contacts-legal__body {
    margin: 0;
    padding: 18px 20px;
    border-radius: 12px;
    background: var(--tint-surface, #f7f7f7);
    border: 1px solid var(--tint-border, #e8e8e8);
}

.contacts-legal__body p:first-child {
    margin-top: 0;
}

.contacts-legal__body p:last-child {
    margin-bottom: 0;
}

.contacts-requisites__note {
    margin: 0 0 18px;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--avito-muted);
}

.contacts-requisites__grid {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--tint-border, #e8e8e8);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.contacts-requisites__row {
    display: grid;
    grid-template-columns: minmax(140px, 200px) 1fr;
    gap: 12px 20px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--tint-border, #e8e8e8);
    align-items: start;
}

.contacts-requisites__row:last-child {
    border-bottom: none;
}

.contacts-requisites__row:nth-child(even) {
    background: rgba(0, 0, 0, 0.015);
}

.contacts-requisites__row dt {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--avito-muted);
}

.contacts-requisites__row dd {
    margin: 0;
    font-size: 1rem;
    line-height: 1.45;
    color: var(--avito-text);
}

.contacts-requisites__mono {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: 0.95em;
    letter-spacing: 0.02em;
    word-break: break-all;
}

@media (max-width: 480px) {
    .contacts-requisites__row {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* Сообщения (двухколоночный чат, ref: Telegram-style) */
.listing-aside-card__own-msg-hint {
    margin: 0;
    padding: 12px 14px;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--avito-muted);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.04);
}

.msg-app {
    display: grid;
    grid-template-columns: minmax(280px, 360px) 1fr;
    min-height: 520px;
    max-height: min(80vh, 700px);
    background: #fff;
    border: 1px solid var(--tint-border, #e3e3e3);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Страница чата: блок на всю доступную высоту окна под шапкой */
body.page-msg-chat {
    min-height: 100dvh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.page-msg-chat > header {
    flex-shrink: 0;
}

body.page-msg-chat main.container--main {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    padding-top: 12px;
    padding-bottom: 0;
    overflow: hidden;
}

body.page-msg-chat .flash-stack {
    flex-shrink: 0;
}

body.page-msg-chat .page-hero {
    display: none;
}

body.page-msg-chat .msg-app {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    height: auto;
    align-self: stretch;
}

body.page-msg-chat .msg-app__sidebar {
    min-height: 0;
}

.msg-app__sidebar {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #eef4fb;
    border-right: 1px solid #dfe8f2;
}

.msg-app__sidebar-top {
    padding: 12px 16px 8px;
    background: #f6f9fd;
    border-bottom: 1px solid #e2eaf4;
}

.msg-app__sidebar-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--avito-text);
}

.msg-app__search-wrap {
    padding: 8px 10px 10px;
    background: #f6f9fd;
    border-bottom: 1px solid #e2eaf4;
}

.msg-app__search {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px 8px 36px;
    font: inherit;
    font-size: 0.9rem;
    border-radius: 8px;
    border: 1px solid #d4e0ee;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2399a8b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.2-4.2'/%3E%3C/svg%3E") no-repeat 10px center;
    background-size: 16px 16px;
}

.msg-app__search:focus {
    outline: 2px solid rgba(0, 92, 255, 0.2);
    border-color: #88b4ff;
    background-color: #fff;
}

.msg-app__chats {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.msg-app__chats-empty {
    margin: 0;
    padding: 20px 14px;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--avito-muted);
}

.msg-app__chat.is-hidden {
    display: none;
}

.msg-app__chat.is-active {
    background: #e3edf7;
}

.msg-app__chat-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 8px 10px 8px 12px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #e0e9f3;
    transition: background 0.12s ease;
}

.msg-app__chat-link:hover,
.msg-app__chat-link:focus,
.msg-app__chat-link:focus-visible,
.msg-app__chat-link:visited {
    text-decoration: none;
}

.msg-app__chat-link:hover {
    background: rgba(59, 130, 246, 0.06);
}

.msg-app__chat.is-active .msg-app__chat-link:hover {
    background: rgba(59, 130, 246, 0.08);
}

.msg-app__avatar {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f8ff7, #2563eb);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    font-weight: 600;
}

.msg-app__avatar--lg {
    width: 40px;
    height: 40px;
    font-size: 1rem;
}

.msg-app__avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.msg-app__chat-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: flex-start;
}

.msg-app__chat-name {
    font-weight: 600;
    font-size: 0.92rem;
    line-height: 1.25;
    color: #111;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.msg-app__chat-sub {
    font-size: 0.78rem;
    color: var(--avito-muted);
}

.msg-app__chat-preview {
    font-size: 0.82rem;
    color: #333;
    opacity: 0.9;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.msg-app__chat-time {
    flex: 0 0 auto;
    font-size: 0.72rem;
    color: #8a8a8a;
    align-self: flex-start;
    margin-top: 2px;
}

.msg-app__main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    background: #f5f8fc;
}

.msg-app__placeholder {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 32px 20px;
    color: #6b7280;
}

.msg-app__placeholder-title {
    margin: 0 0 8px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #444;
}

.msg-app__placeholder-text {
    margin: 0;
    max-width: 320px;
    font-size: 0.92rem;
    line-height: 1.5;
}

.msg-app__topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px 8px 8px;
    background: #fff;
    border-bottom: 1px solid #dadde0;
    flex: 0 0 auto;
}

.msg-app__back {
    display: none;
    align-items: center;
    text-decoration: none;
    color: #2563eb;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 4px 6px;
}

.msg-app__peer {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.msg-app__peer-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.msg-app__peer-name {
    font-weight: 600;
    font-size: 0.95rem;
    color: #111;
}

.msg-app__peer-listing {
    font-size: 0.8rem;
    color: #005cf0;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 42vw;
}

.msg-app__peer-listing:hover {
    text-decoration: underline;
}

.msg-app__log-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 8px 10px 10px;
    background: #f5f8fc;
    scrollbar-width: thin;
    scrollbar-color: #b8c5d6 #eef2f7;
}

.msg-app__log-wrap::-webkit-scrollbar {
    width: 10px;
}

.msg-app__log-wrap::-webkit-scrollbar-track {
    background: #eef2f7;
    border-radius: 6px;
}

.msg-app__log-wrap::-webkit-scrollbar-thumb {
    background: #b8c5d6;
    border-radius: 6px;
    border: 2px solid #eef2f7;
}

.msg-app__log-wrap::-webkit-scrollbar-thumb:hover {
    background: #9aa8bb;
}

.msg-app__log {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 880px;
    margin: 0 auto;
    min-height: 100%;
    justify-content: flex-end;
}

.msg-app__bubble {
    max-width: 85%;
    padding: 8px 11px 6px;
    border-radius: 10px 10px 10px 2px;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
    align-self: flex-start;
    border: 1px solid #d6dde3;
}

.msg-app__bubble--me {
    align-self: flex-end;
    background: #daf2ff;
    border-color: #b3daf2;
    border-radius: 10px 10px 2px 10px;
}

.msg-app__body {
    margin: 0 0 4px;
    font-size: 0.92rem;
    line-height: 1.45;
    color: #111;
    word-break: break-word;
}

.msg-app__attach-slot {
    margin: 0 0 6px;
}

.msg-app__attach-img {
    display: block;
    max-width: 100%;
    max-height: 240px;
    width: auto;
    height: auto;
    border-radius: 6px;
    vertical-align: middle;
}

.msg-app__attach-video {
    display: block;
    max-width: 100%;
    max-height: 280px;
    border-radius: 6px;
    background: #000;
}

.msg-app__attach-doc {
    display: inline-block;
    font-size: 0.88rem;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
    word-break: break-word;
}

.msg-app__attach-doc:hover {
    text-decoration: underline;
}

main .msg-app .msg-app__attach-doc,
main .msg-app .msg-app__attach-heic-dl {
    color: #1d4ed8;
    text-decoration: none;
}

main .msg-app .msg-app__attach-doc:hover,
main .msg-app .msg-app__attach-heic-dl:hover {
    text-decoration: underline;
}

.msg-app__attach-heic-dl {
    display: inline-block;
    font-size: 0.82rem;
    margin-bottom: 4px;
    color: #1d4ed8;
}

.msg-app__attach-hint {
    margin: 0 0 4px;
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.3;
}

.msg-app__meta {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    flex-wrap: wrap;
    font-size: 0.7rem;
    color: #789;
}

.msg-app__bubble:not(.msg-app__bubble--me) .msg-app__meta {
    justify-content: flex-start;
}

.msg-app__meta .msg-app__time {
    margin: 0;
    font-size: inherit;
    color: inherit;
}

.msg-app__ticks {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    color: #64748b;
    line-height: 1;
}

.msg-app__ticks--read {
    color: #2563eb;
}

.msg-app__ticks-svg {
    display: block;
}

.msg-app__form {
    padding: 8px 10px 12px;
    background: #f8f8f8;
    border-top: 1px solid #dadde0;
    flex: 0 0 auto;
}

.msg-app__form-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    max-width: 880px;
    margin: 0 auto;
}

.msg-app__form-inner {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
    background: #fff;
    border: 1px solid #c8ccd0;
    border-radius: 20px;
    padding: 6px 8px 6px 6px;
}

.msg-app__attach-wrap {
    position: relative;
    flex: 0 0 44px;
}

.msg-app__form-attach {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.msg-app__attach-menu {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    padding: 4px 0;
    background: #fff;
    border: 1px solid #d8e0ea;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    z-index: 30;
}

.msg-app__attach-menu-item {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: none;
    background: transparent;
    text-align: left;
    font: inherit;
    font-size: 0.88rem;
    color: #111;
    cursor: pointer;
}

.msg-app__attach-menu-item:hover {
    background: #f1f5f9;
}

.msg-app__form-attach-icon {
    display: block;
    flex-shrink: 0;
}

.msg-app__input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 44px;
    max-height: 220px;
    border: none;
    border-radius: 0;
    resize: none;
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.45;
    padding: 10px 10px 10px 6px;
    background: transparent;
    box-shadow: none;
    overflow-y: hidden;
    -webkit-appearance: none;
    appearance: none;
    background-clip: padding-box;
    scrollbar-width: none;
}

.msg-app__input::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.msg-app__form-inner input::-webkit-outer-spin-button,
.msg-app__form-inner input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.msg-app__form-inner input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.msg-app__input:focus {
    outline: none;
}

.msg-app__input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.msg-app__form-inner:focus-within {
    border-color: #b7c9e4;
}

.msg-app__send {
    flex: 0 0 auto;
    align-self: flex-end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    background: #2563eb;
    border: none;
    border-radius: 10px;
    padding: 0 16px;
    min-height: 44px;
    cursor: pointer;
    transition: background 0.15s;
}

.msg-app__send:hover:not(:disabled) {
    background: #1d4ed8;
}

.msg-app__send:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.msg-app__send:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring-strong);
}

/* Виджет поддержки (все страницы витрины) */
.support-fab {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1200;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 999px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #0ea5e9);
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.28);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.support-fab:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(37, 99, 235, 0.32);
}

.support-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
}

.support-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
}

.support-modal__panel {
    position: relative;
    width: min(560px, calc(100vw - 28px));
    margin: 4.5vh auto;
    max-height: 90vh;
    overflow: auto;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.28);
    padding: 18px 18px 16px;
}

.support-modal__x {
    position: absolute;
    right: 8px;
    top: 8px;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: #eef2f8;
    color: #334155;
    font-size: 24px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.support-modal__title {
    margin: 0 44px 4px 0;
    font-size: 1.2rem;
}

.support-modal__subtitle {
    margin: 0 0 14px;
    color: #475569;
    font-size: 0.92rem;
}

.support-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.support-form__label {
    font-size: 0.83rem;
    color: #334155;
    font-weight: 600;
}

.support-form__input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
    color: #0f172a;
    background: #fff;
}

.support-form__textarea {
    min-height: 120px;
    resize: vertical;
}

.support-form__input:focus {
    outline: 2px solid rgba(37, 99, 235, 0.24);
    border-color: #60a5fa;
}

.support-form__submit {
    margin-top: 4px;
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font: inherit;
    font-weight: 700;
    color: #fff;
    background: #2563eb;
    cursor: pointer;
}

.support-form__submit:hover {
    background: #1d4ed8;
}

body.support-modal-open {
    overflow: hidden;
}

.site-footer-dark {
    margin-top: 28px;
    background: linear-gradient(120deg, #edf4ff 0%, #eef6ff 38%, #e8f2ff 100%);
    color: #475569;
    border-top: 1px solid #d6e3f5;
}

.site-footer-dark__container {
    padding-top: 24px;
    padding-bottom: 14px;
}

.site-footer-dark__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #1f2937;
    text-decoration: none;
    font-weight: 700;
}

.site-footer-dark__logo {
    width: 88px;
    height: auto;
    object-fit: contain;
    image-rendering: auto;
}

.site-footer-dark__links {
    margin-top: 10px;
    display: grid;
    grid-template-columns: minmax(190px, 240px) repeat(4, minmax(0, 1fr));
    gap: 18px 26px;
}

.site-footer-dark__brand-col {
    align-self: start;
}

.site-footer-dark__links h3 {
    margin: 0 0 10px;
    font-size: 0.9rem;
    color: #1f2937;
}

.site-footer-dark__links a {
    display: block;
    margin: 0 0 8px;
    color: #6b7280;
    text-decoration: none;
    line-height: 1.35;
    font-size: 0.9rem;
}

.site-footer-dark__links a:hover {
    color: #111827;
    text-decoration: underline;
}

.site-footer-dark__support-btn {
    width: auto;
    border: none;
    border-radius: 8px;
    padding: 9px 12px;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 700;
    color: #fff;
    background: #2563eb;
    cursor: pointer;
    text-align: center;
}

.site-footer-dark__support-btn:hover {
    background: #1d4ed8;
}

.site-footer-dark__bottom {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.site-footer-dark__supportline {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #d6e3f5;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
    flex-wrap: wrap;
}

.site-footer-dark__supportline p {
    margin: 0;
    color: #475569;
    font-size: 0.88rem;
}

.site-footer-dark__legal-line {
    width: 100%;
    margin: 0;
    padding-bottom: 6px;
    border-bottom: 1px dashed #d6e3f5;
    font-size: 0.84rem;
    line-height: 1.45;
}

.site-footer-dark__legal-line a {
    color: #6b7280;
    text-decoration: none;
}

.site-footer-dark__legal-line a:hover {
    color: #1f2937;
    text-decoration: underline;
}

.site-footer-dark__disclaimer {
    width: 100%;
    margin: 0;
    color: #6b7280;
    line-height: 1.55;
    font-size: 0.86rem;
}

.site-footer-dark__bottom p {
    margin: 0;
    color: #6b7280;
    font-size: 0.85rem;
}

.site-footer-dark__copyline {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px 24px;
    flex-wrap: wrap;
}

.site-footer-dark__copyline p {
    margin: 0;
}

.site-footer-dark__bottom a {
    color: #4b5563;
    text-decoration: none;
    font-weight: 600;
}

.site-footer-dark__bottom a:hover {
    text-decoration: underline;
}

.cookie-consent {
    position: fixed;
    right: 14px;
    bottom: 14px;
    z-index: 1250;
    width: min(460px, calc(100vw - 24px));
    background: #fff;
    color: #334155;
    border: 1px solid #dbe4ef;
    border-radius: 14px;
    padding: 16px 16px 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px 14px;
    align-items: end;
    box-shadow: none;
}

.cookie-consent[hidden] {
    display: none !important;
}

.cookie-consent__text {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.45;
}

.cookie-consent__text a {
    color: #2563eb;
}

.cookie-consent__btn {
    flex: 0 0 auto;
    border: none;
    border-radius: 8px;
    padding: 10px 14px;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    color: #fff;
    background: #2563eb;
}

.cookie-consent__btn:hover {
    background: #1d4ed8;
}

/* Текстовые страницы (политики): без карточки, заголовок — только в page-hero */
.legal-page--plain {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.legal-page__mono {
    font-family: ui-monospace, monospace;
}

/* Оформленные страницы ошибок (витрина) */
.page-error-http .home-main {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.error-http {
    max-width: 520px;
    margin: 12px auto 32px;
    text-align: center;
    padding: 28px 22px;
}

.error-http__code {
    font-size: 3rem;
    font-weight: 800;
    color: var(--text-muted, #64748b);
    margin: 0 0 10px;
    line-height: 1;
    letter-spacing: -0.02em;
}

.error-http__message {
    margin: 0 0 22px;
    font-size: 1.04rem;
    line-height: 1.55;
    color: var(--text-primary);
}

.error-http__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    align-items: center;
}

.error-http__link-muted {
    font-size: 0.94rem;
    color: var(--text-muted, #64748b);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.error-http__link-muted:hover {
    color: var(--avito-blue, #2563eb);
}

/* Ошибки в админке */
.admin-error-http {
    max-width: 480px;
    margin: 24px auto;
    padding: 24px 22px;
    text-align: center;
}

.admin-error-http__code {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--text-muted, #94a3b8);
    margin: 0 0 8px;
    line-height: 1;
}

.admin-error-http__message {
    margin: 0 0 20px;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--admin-text, #e2e8f0);
}

.admin-error-http__actions {
    margin: 0;
    font-size: 0.95rem;
}

.admin-error-http__sep {
    margin: 0 8px;
    opacity: 0.5;
}

.legal-page h1 {
    margin-top: 0;
}

.legal-page h2 {
    margin: 20px 0 8px;
    font-size: 1.06rem;
}

.legal-page p,
.legal-page li {
    line-height: 1.55;
}

.form-consent {
    margin-top: 8px;
    font-size: 0.82rem;
    color: #475569;
    line-height: 1.35;
}

.form-consent__check {
    margin-right: 6px;
    vertical-align: text-top;
}

.SmartCaptcha-Shield.SmartCaptcha-Shield_visible.SmartCaptcha-Shield_position_bottom.SmartCaptcha-Shield_position_right {
    display: none !important;
}

@media (max-width: 900px) {
    .msg-app {
        grid-template-columns: 1fr;
        max-height: none;
        min-height: 480px;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    body.page-msg-chat .msg-app {
        min-height: 0;
    }

    .msg-app--inbox .msg-app__main {
        display: none;
    }

    .msg-app--inbox {
        min-height: auto;
    }

    .msg-app--thread .msg-app__sidebar {
        display: none;
    }

    .msg-app--thread {
        min-height: calc(100vh - 140px);
    }

    body.page-msg-chat .msg-app--thread {
        min-height: 0;
    }

    .msg-app__back {
        display: flex;
    }

    .msg-app__form-row {
        flex-wrap: wrap;
        gap: 8px;
    }

    .msg-app__form-inner {
        flex: 1 1 100%;
        min-width: 0;
        padding-right: 4px;
    }

    .msg-app__send {
        margin-left: auto;
    }

    .support-modal__panel {
        margin: 2vh auto;
        padding: 14px 14px 12px;
    }

    .cookie-consent {
        right: 10px;
        bottom: 10px;
        width: min(430px, calc(100vw - 20px));
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .site-footer-dark__links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .site-footer-dark__supportline {
        align-items: flex-start;
    }
}

@media (max-width: 560px) {
    .site-footer-dark__links {
        grid-template-columns: 1fr;
    }
}
