:root {
    /* docs/K_LADY_UI.txt — Editorial Nightlife */
    --bg-main: #090b10;
    --bg-section: #0d1118;
    --bg-card: #121721;
    --bg-card-hover: #151c28;
    --bg-card-premium: #111722;

    --text-primary: #f3f4f7;
    --text-secondary: #b2b8c3;
    --text-muted: #6e7685;

    --accent-primary: #d45a7a;
    --accent-hover: #e06a89;
    --accent-soft: rgba(212, 90, 122, 0.15);

    --premium-start: #e28ba2;
    --premium-middle: #d45a7a;
    --premium-end: #7b6ef6;

    --border-default: rgba(255, 255, 255, 0.08);
    --border-card: rgba(255, 255, 255, 0.12);
    --border-premium: rgba(212, 90, 122, 0.35);

    --logo-text: #d8a5b4;
    --logo-symbol: #d45a7a;
    --logo-hover: #e06a89;

    /* Алиасы для существующих правил */
    --bg: var(--bg-main);
    --text: var(--text-primary);
    --muted: var(--text-secondary);
    --accent: var(--accent-primary);
    --header-brand: var(--logo-symbol);

    --new-ui-shell-bg: rgba(9, 11, 16, 0.82);
    --new-ui-shell-layers: none;

    --filter-gradient-start: rgba(255, 255, 255, 0.03);
    --filter-gradient-end: rgba(255, 255, 255, 0.03);
    --filter-slider: var(--accent-primary);
    --filter-search-bg: linear-gradient(135deg, #d45a7a, #c04b6a);
    --filter-search-bg-hover: linear-gradient(135deg, #e06a89, #d45a7a);
    --divider-gradient-start: rgba(255, 255, 255, 0.12);
    --divider-gradient-end: rgba(255, 255, 255, 0.04);

    --card-border-regular-start: var(--accent-primary);
    --card-border-regular-end: var(--premium-end);
    --card-border-premium-start: var(--premium-start);
    --card-border-premium-end: var(--premium-end);

    --user-premium-btn-start: var(--premium-start);
    --user-premium-btn-end: var(--premium-middle);
    --user-up-btn-start: #3d9e6a;
    --user-up-btn-end: #22654a;

    --badge-real-bg: #22654a;
    --badge-real-text: #eafbf2;
    --badge-video-bg: #a77927;
    --badge-video-text: #fff6df;
    --badge-voice-bg: #7a59c8;
    --badge-voice-text: #f5f0ff;
    --badge-new-bg: #d45a7a;
    --badge-new-text: #ffffff;

    /* PREMIUM — розово-фиолетовый градиент */
    --badge-premium-bg: linear-gradient(135deg, var(--premium-middle), var(--premium-end));
    --badge-premium-text: #fff;
}

* {
    box-sizing: border-box;
}

html:has(body.new-ui) {
    overflow-x: clip;
}

body.new-ui {
    margin: 0;
    max-width: 100%;
    overflow-x: clip;
    font-family: Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    color-scheme: dark;
}


.new-ui-container {
    width: min(1440px, calc(100% - 64px));
    margin: 0 auto;
}

/* Кнопки фильтра и дропдауны */
.new-ui-filter-btn,
.new-ui-dropdown-btn {
    background: linear-gradient(180deg, var(--filter-gradient-start), var(--filter-gradient-end));
    color: var(--text);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    transition:
        filter 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.new-ui-filter-btn:hover,
.new-ui-dropdown-btn:hover {
    filter: brightness(1.1);
    border-color: rgba(255, 232, 245, 0.85);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 0 0 1px rgba(255, 200, 220, 0.4),
        0 4px 14px rgba(0, 0, 0, 0.35);
}

/* Ползунки фильтра */
input[type="range"] {
    accent-color: var(--filter-slider);
}

/* Линии разделения */
.new-ui-divider {
    height: 1px;
    background: linear-gradient(90deg, var(--divider-gradient-start), var(--divider-gradient-end));
}

/* Рамки карточек (legacy helper) */
.new-ui-card {
    border: 1px solid var(--border-card);
    border-radius: 20px;
    background: var(--bg-card);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}

.new-ui-card.is-premium {
    border: 1px solid var(--border-premium);
    border-radius: 24px;
    background: var(--bg-card-premium);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

/* Кнопки в ЛК пользователя (по ТЗ, заранее добавлены) */
.new-ui-btn-premium {
    background: linear-gradient(180deg, var(--user-premium-btn-start), var(--user-premium-btn-end));
}

.new-ui-btn-up {
    background: linear-gradient(180deg, var(--user-up-btn-start), var(--user-up-btn-end));
}

/* Плашка владельца / админа на публичных страницах (как IK/KG) */
.new-ui-front-admin-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 250;
    background: #0a0c12;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.new-ui-front-admin-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 48px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.new-ui-front-admin-bar__left,
.new-ui-front-admin-bar__right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.new-ui-front-admin-bar__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.85rem;
    border-radius: 6px;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.35);
}

.new-ui-front-admin-bar__btn:hover {
    color: #fff;
    background: linear-gradient(135deg, #4f8ff7, #2f6fe8);
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.45);
}

.new-ui-front-admin-bar__btn--exit {
    background: linear-gradient(135deg, #f97316, #ea580c);
    box-shadow: 0 2px 10px rgba(234, 88, 12, 0.35);
}

.new-ui-front-admin-bar__btn--exit:hover {
    background: linear-gradient(135deg, #fb923c, #f97316);
    box-shadow: 0 4px 14px rgba(234, 88, 12, 0.45);
}

body:has(.new-ui-front-admin-bar) {
    padding-top: 48px;
}

/* Шапка — docs/K_LADY_UI.txt HEADER */
.new-ui-topbar {
    position: relative;
    z-index: 40;
    overflow: visible;
    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background-color: var(--new-ui-shell-bg);
    background-image: var(--new-ui-shell-layers);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
}

.new-ui-topbar:has(.new-ui-header-inner.is-nav-open) {
    border-bottom-color: transparent;
}

.new-ui-header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "brand nav actions";
    align-items: center;
    gap: 0.75rem 0.625rem;
    min-height: 72px;
    padding: 0;
    overflow: visible;
}

.new-ui-brand {
    grid-area: brand;
    display: inline-flex;
    align-items: center;
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
    font-size: 1.25rem;
}

.new-ui-brand-img {
    display: block;
    height: auto;
    max-height: 45px;
    width: auto;
}

.new-ui-main-nav {
    grid-area: nav;
    justify-self: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0;
    font-family: Arial, Helvetica, sans-serif;
}

/* Плоские ссылки — короткая вертикальная палка между пунктами (не до края строки) */
.new-ui-main-nav a {
    position: relative;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 1.125rem;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0;
    padding: 0.45rem clamp(0.4125rem, 1.5vw, 0.75rem);
    transition: color 0.15s ease;
}

.new-ui-main-nav > a:not(:last-of-type)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 0.88em;
    background: rgba(190, 186, 198, 0.45);
}

.new-ui-main-nav a:hover {
    color: var(--accent-primary);
}

.new-ui-header-actions {
    grid-area: actions;
    justify-self: end;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    max-width: 100%;
    position: relative;
    z-index: 2;
    overflow: visible;
}

/* Десктоп: контур сердце скрыт, заполненное видно */
.new-ui-heart--outline {
    display: none;
}

.new-ui-heart--outline path {
    stroke-width: 2.35;
}

.new-ui-heart--filled {
    display: block;
}

/* Блок входа только в моб. выезжающем меню */
.new-ui-mobile-nav-footer {
    display: none;
}

.new-ui-mobile-nav-lang {
    display: none;
}

/* Справа: одна скруглённая полоска как раньше (фон меняли точечно) */
.new-ui-header-toolbar {
    display: inline-flex;
    align-items: stretch;
    flex-wrap: nowrap;
    border-radius: 12px;
    border: 1px solid rgba(220, 220, 228, 0.3);
    background: linear-gradient(180deg, rgba(72, 28, 42, 0.88), rgba(36, 12, 24, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    max-width: 100%;
    overflow: visible;
}

.new-ui-toolbar-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.38rem clamp(0.48rem, 1.6vw, 0.82rem);
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.new-ui-toolbar-cell:first-child {
    border-left: none;
}

.new-ui-toolbar-cell:hover {
    background: rgba(255, 255, 255, 0.04);
}

.new-ui-toolbar-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    color: rgba(255, 255, 255, 0.96);
    font-size: 0.8125rem;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    line-height: 1.25;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
}

.new-ui-toolbar-control:focus-visible,
.new-ui-lang-dd-trigger:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.45);
    outline-offset: 2px;
}

.new-ui-toolbar-control:hover {
    color: #fff;
}

button.new-ui-toolbar-control:hover .new-ui-toolbar-icon {
    color: var(--header-brand);
}

.new-ui-toolbar-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.94);
}

.new-ui-toolbar-login-text {
    text-align: left;
    flex-shrink: 0;
    white-space: nowrap;
}

button.new-ui-toolbar-control {
    white-space: nowrap;
}

.new-ui-toolbar-favorite svg {
    flex-shrink: 0;
    opacity: 0.95;
}

.new-ui-toolbar-favorite:hover svg {
    color: var(--header-brand);
}

.new-ui-toolbar-favorite:hover {
    color: var(--header-brand);
}

.new-ui-toolbar-favorite .new-ui-heart-icon {
    flex-shrink: 0;
}

.new-ui-favorite-label {
    font-size: 0.8125rem;
}

.new-ui-mobile-login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(0, 0, 0, 0.22);
    color: rgba(255, 255, 255, 0.98);
    font-size: 0.9375rem;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 500;
    line-height: 1.25;
    cursor: pointer;
    transition:
        border-color 0.15s ease,
        background 0.15s ease;
}

button.new-ui-mobile-login-btn {
    font: inherit;
}

.new-ui-mobile-login-btn:hover {
    border-color: rgba(255, 255, 255, 0.36);
    background: rgba(0, 0, 0, 0.28);
}

.new-ui-mobile-login-btn--link {
    text-decoration: none;
}

/* Язык: кастомный выпадающий список */
.new-ui-toolbar-cell--lang {
    position: relative;
    overflow: visible;
}

.new-ui-lang-dd {
    position: relative;
    z-index: 1;
}

.new-ui-lang-flag {
    display: block;
    flex-shrink: 0;
    border-radius: 2px;
}

.new-ui-lang-dd-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border-radius: 0;
    border: none;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    color: rgba(255, 255, 255, 0.96);
    font: inherit;
    cursor: pointer;
}

.new-ui-lang-dd-trigger:hover {
    opacity: 0.95;
}

.new-ui-lang-dd.is-open .new-ui-lang-dd-trigger {
    color: #fff;
}

.new-ui-lang-dd-trigger-inner {
    display: inline-flex;
    align-items: center;
    gap: 0.26rem;
}

.new-ui-lang-dd-code {
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.new-ui-lang-dd-chevron {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.05rem;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(230, 230, 235, 0.88);
    transition: transform 0.2s ease;
}

.new-ui-lang-dd.is-open .new-ui-lang-dd-chevron {
    transform: rotate(180deg);
}

.new-ui-lang-dd-list {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    z-index: 120;
    min-width: 9.5rem;
    margin: 0;
    padding: 0.35rem;
    list-style: none;
    border-radius: 14px;
    border: 1px solid var(--border-card);
    background-color: rgba(12, 15, 22, 0.98);
    background-image: none;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(16px);
}

.new-ui-lang-dd-list:not([hidden]) {
    display: block;
}

.new-ui-lang-dd-item {
    display: flex;
    align-items: center;
    gap: 0.48rem;
    padding: 0.48rem 0.62rem;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.8125rem;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition:
        background 0.12s ease,
        color 0.12s ease;
}

.new-ui-lang-dd-item:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.new-ui-lang-dd-item.is-current {
    background: var(--accent-soft);
    color: #fff;
}

.new-ui-nav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

.new-ui-nav-toggle::before {
    content: "";
    width: 20px;
    height: 2px;
    background: var(--text);
    box-shadow:
        0 -6px 0 var(--text),
        0 6px 0 var(--text);
}

/* Модальное окно входа (в едином стиле с фильтром / шапкой) */
.new-ui-dialog {
    border: none;
    padding: 0;
    margin: auto;
    background: transparent;
    max-width: calc(100vw - 32px);
    color: var(--text);
}

.new-ui-dialog::backdrop {
    background: rgba(6, 2, 6, 0.78);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .new-ui-dialog::backdrop {
        background: rgba(0, 0, 0, 0.82);
    }

}

.new-ui-dialog-box {
    position: relative;
    min-width: min(360px, 91vw);
    max-width: min(380px, 92vw);
    max-height: min(88vh, 580px);
    overflow-y: auto;
    padding: clamp(1.65rem, 4.2vw, 2.05rem) clamp(1.05rem, 2.8vw, 1.45rem) clamp(1.05rem, 2.8vw, 1.45rem);
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(18, 4, 12, 0.55);
    box-shadow:
        0 22px 56px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(201, 75, 114, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

@supports ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))) {
    .new-ui-dialog-box {
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        background: rgba(14, 4, 9, 0.42);
    }
}

/* Акцентная полоса сверху (внутри скругления, не режется overflow) */
.new-ui-dialog-box::before {
    content: "";
    position: absolute;
    top: clamp(0.78rem, 2.5vw, 1rem);
    left: 50%;
    transform: translateX(-50%);
    width: min(44%, 150px);
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--accent-soft),
        var(--accent),
        rgba(200, 75, 114, 0.75),
        transparent
    );
    opacity: 0.95;
    pointer-events: none;
}

.new-ui-dialog-close {
    position: absolute;
    top: clamp(0.72rem, 2.4vw, 0.92rem);
    right: clamp(0.62rem, 2.2vw, 0.82rem);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(36, 12, 26, 0.65));
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    transition:
        border-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-dialog-close:hover {
    color: #fff;
    border-color: rgba(255, 232, 245, 0.45);
    box-shadow:
        0 0 0 1px rgba(255, 200, 220, 0.28),
        0 4px 14px rgba(0, 0, 0, 0.35);
}

.new-ui-dialog-close:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.new-ui-dialog-title {
    margin: 0 0 1.15rem;
    padding-right: 2.5rem;
    font-size: clamp(1.15rem, 2.8vw, 1.35rem);
    font-weight: 700;
    letter-spacing: 0.03em;
    color: rgba(255, 252, 255, 0.98);
}

.new-ui-login-form {
    display: flex;
    flex-direction: column;
    gap: 0.58rem;
}

.new-ui-auth-feedback {
    margin: 0 0 0.2rem;
    padding: 0.5rem 0.62rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 0.76rem;
    line-height: 1.4;
}

.new-ui-auth-feedback--ok {
    border-color: rgba(120, 200, 140, 0.55);
    background: rgba(14, 48, 24, 0.42);
    color: #cbf4d1;
}

.new-ui-auth-feedback--err {
    border-color: rgba(220, 100, 100, 0.55);
    background: rgba(60, 15, 20, 0.42);
    color: #ffd3d3;
}

.new-ui-dialog .new-ui-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.52rem 0.72rem;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.45), rgba(20, 6, 14, 0.55));
    color: var(--text);
    font-size: 0.88rem;
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(255, 255, 255, 0.04);
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-dialog .new-ui-input::placeholder {
    color: rgba(180, 176, 186, 0.85);
}

.new-ui-dialog .new-ui-input:hover {
    border-color: rgba(255, 255, 255, 0.22);
}

.new-ui-dialog .new-ui-input:focus {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.35),
        0 0 0 2px var(--accent-soft);
}

.new-ui-dialog .new-ui-checkbox {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.05rem;
    font-size: 0.8rem;
    color: rgba(228, 224, 232, 0.88);
    cursor: pointer;
    user-select: none;
}

.new-ui-dialog .new-ui-checkbox input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 5px;
    accent-color: var(--accent);
    cursor: pointer;
}

.new-ui-submit-login {
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.58rem 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 9px;
    cursor: pointer;
    font-weight: 700;
    font-size: 0.86rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
    background: var(--filter-search-bg);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        0 3px 14px rgba(0, 0, 0, 0.42);
    transition:
        filter 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.new-ui-submit-login:hover {
    background: var(--filter-search-bg-hover);
    border-color: transparent;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
}

.new-ui-submit-login:active {
    filter: brightness(0.97);
}

.new-ui-submit-login:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.new-ui-submit-login:disabled {
    cursor: wait;
    opacity: 0.78;
    filter: saturate(0.85);
}

.new-ui-dialog-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(192, 172, 131, 0.12);
}

.new-ui-dialog-links a {
    display: inline-block;
    text-align: center;
    padding: 0.32rem 0.3rem;
    border-radius: 7px;
    color: rgba(230, 224, 255, 0.95);
    font-size: 0.82rem;
    text-decoration: none;
    background: rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition:
        color 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease;
}

.new-ui-dialog-links a:hover {
    color: #fff;
    border-color: var(--border-premium);
    background: var(--accent-soft);
}

.new-ui-dialog-links a:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* Переключатель «Вход / Регистрация» + слайд панелей */
.new-ui-auth-seg {
    position: relative;
    display: flex;
    width: 100%;
    padding: 3px;
    gap: 3px;
    margin: 0 0 0.95rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Полоса табов уже не под крестиком закрытия */
.new-ui-dialog-box > .new-ui-auth-seg {
    box-sizing: border-box;
    width: calc(100% - 2.75rem);
}

.new-ui-auth-seg-glider {
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 3px;
    width: calc((100% - 9px) / 2);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.28));
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 2px 10px rgba(0, 0, 0, 0.25);
    transition: transform 0.48s cubic-bezier(0.34, 1.12, 0.64, 1);
    z-index: 0;
    pointer-events: none;
    will-change: transform;
}

[data-auth-mode="register"] .new-ui-auth-seg-glider {
    transform: translateX(calc(100% + 3px));
}

.new-ui-auth-seg-tab {
    position: relative;
    z-index: 1;
    flex: 1;
    margin: 0;
    padding: 0.42rem 0.45rem;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.3s ease;
}

.new-ui-auth-seg-tab[aria-selected="true"] {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.new-ui-auth-seg-tab:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.new-ui-auth-panels-outer {
    overflow: hidden;
    width: 100%;
}

.new-ui-auth-panels {
    display: flex;
    width: 200%;
    align-items: flex-start;
    transition: transform 0.52s cubic-bezier(0.34, 1.1, 0.64, 1);
    will-change: transform;
}

[data-auth-mode="register"] .new-ui-auth-panels {
    transform: translateX(-50%);
}

.new-ui-auth-panel {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    box-sizing: border-box;
    padding: 0 0.25rem;
}

.new-ui-auth-panel:first-child {
    padding-left: 0;
}

.new-ui-auth-panel:last-child {
    padding-right: 0;
}

.new-ui-auth-lead {
    margin: 0 0 0.32rem;
    font-size: 0.78rem;
    line-height: 1.4;
    color: rgba(255, 218, 200, 0.9);
}

.new-ui-auth-legal {
    margin: 0.35rem 0 0;
    font-size: 0.68rem;
    line-height: 1.45;
    color: rgba(180, 176, 186, 0.78);
}

.new-ui-recaptcha {
    display: flex;
    justify-content: center;
    margin: 0.1rem 0;
    min-height: 65px;
    transform-origin: center top;
}

.new-ui-dialog select.new-ui-input {
    cursor: pointer;
    appearance: none;
    color-scheme: dark;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d4cfe8' d='M6 8 1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
    padding-right: 2rem;
}

.new-ui-dialog select.new-ui-input option {
    background-color: #14101a;
    color: var(--text-primary);
}

/* Кастомный select в модалке входа/регистрации (нативный список на Windows не читается) */
.new-ui-dialog .new-ui-auth-select {
    position: relative;
    width: 100%;
    z-index: 1;
}

.new-ui-dialog .new-ui-auth-select.is-open {
    z-index: 30;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__trigger {
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
    padding: 0.52rem 2rem 0.52rem 0.72rem;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.45), rgba(20, 6, 14, 0.55));
    color: var(--text);
    font-size: 0.88rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(255, 255, 255, 0.04);
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.7rem;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d4cfe8' d='M6 8 1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.18s ease;
    pointer-events: none;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__trigger:hover {
    border-color: rgba(255, 255, 255, 0.22);
    color: var(--text);
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__trigger:focus {
    outline: none;
    border-color: var(--accent-primary);
    color: var(--text);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.35),
        0 0 0 2px var(--accent-soft);
}

.new-ui-dialog .new-ui-auth-select.is-open .new-ui-custom-select__trigger {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: var(--accent-primary);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.35),
        0 0 0 2px var(--accent-soft);
}

.new-ui-dialog .new-ui-auth-select.is-open .new-ui-custom-select__trigger::after {
    transform: rotate(180deg);
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__menu {
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    right: 0;
    max-height: min(220px, 42vh);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    border: 1px solid var(--accent-primary);
    border-top: 0;
    border-bottom-left-radius: 9px;
    border-bottom-right-radius: 9px;
    background: linear-gradient(180deg, #1a1018 0%, #120c14 100%);
    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    scrollbar-width: thin;
    scrollbar-color: var(--accent-primary) rgba(255, 255, 255, 0.08);
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__menu::-webkit-scrollbar {
    width: 8px;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__menu::-webkit-scrollbar-thumb {
    background: var(--accent-primary);
    border-radius: 8px;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__option {
    width: 100%;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    color: rgba(243, 244, 247, 0.95);
    padding: 0.58rem 0.72rem;
    font-size: 0.88rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__option:first-child {
    border-top: 0;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__option:hover,
.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__option.is-selected {
    background: var(--accent-soft);
    color: #fff;
}

.new-ui-dialog .new-ui-auth-select .new-ui-custom-select__option.is-selected {
    font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
    .new-ui-auth-seg-glider,
    .new-ui-auth-panels {
        transition-duration: 0.01ms !important;
    }
}

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

@media (max-width: 992px) {
    .new-ui-topbar .new-ui-container {
        width: calc(100% - 10px);
    }

    .new-ui-header-inner {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "brand actions"
            "drawer drawer";
        column-gap: 0.65rem;
        row-gap: 0;
        padding: 0.5rem 0 0;
        align-items: center;
    }

    .new-ui-brand-img {
        max-height: 42px;
    }

    /* Верх: язык · сердце (контур) · бургер */
    .new-ui-heart--filled {
        display: none;
    }

    .new-ui-heart--outline {
        display: block;
    }

    .new-ui-toolbar-favorite svg {
        opacity: 1;
    }

    .new-ui-header-actions {
        max-width: none;
        gap: 0.15rem;
    }

    .new-ui-toolbar-cell--login {
        display: none !important;
    }

    .new-ui-toolbar-cell--lang {
        display: none !important;
    }

    .new-ui-header-toolbar {
        flex-wrap: nowrap;
        border-radius: 0;
        border: none;
        background: transparent;
        box-shadow: none;
    }

    .new-ui-toolbar-cell {
        border-left: none;
        padding: 0.42rem 0.46rem;
    }

    .new-ui-toolbar-cell:hover {
        background: rgba(255, 255, 255, 0.06);
        border-radius: 10px;
    }

    .new-ui-toolbar-control,
    .new-ui-lang-dd-code {
        font-size: 0.9rem;
    }

    .new-ui-toolbar-icon svg {
        width: 28px;
        height: 28px;
    }

    .new-ui-toolbar-favorite svg,
    .new-ui-toolbar-favorite .new-ui-heart-icon {
        width: 38px;
        height: 38px;
    }

    .new-ui-toolbar-cell:has(.new-ui-toolbar-favorite) {
        padding: 0.48rem 0.52rem;
    }

    .new-ui-lang-dd-trigger-inner {
        gap: 0.42rem;
    }

    .new-ui-favorite-label {
        display: none;
    }

    .new-ui-nav-toggle {
        display: inline-flex;
        width: 54px;
        height: 54px;
    }

    .new-ui-nav-toggle::before {
        width: 30px;
        height: 3px;
        box-shadow:
            0 -9px 0 var(--text),
            0 9px 0 var(--text);
    }

    /* Выезжающее меню */
    .new-ui-mobile-nav-footer {
        display: block;
        width: 100%;
        margin-top: 0;
        padding: 1rem clamp(1rem, 5vw, 1.75rem) 1.25rem;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
        box-sizing: border-box;
    }

    .new-ui-mobile-nav-lang {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.55rem;
        padding: 0.85rem clamp(1rem, 6vw, 2rem) 0.55rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .new-ui-mobile-nav-lang-item {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.42rem 0.62rem;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        background: rgba(255, 255, 255, 0.03);
        color: rgba(255, 255, 255, 0.96);
        text-decoration: none;
        font-size: 0.85rem;
        letter-spacing: 0.03em;
    }

    .new-ui-mobile-nav-lang-item.is-current {
        border-color: var(--border-premium);
        background: rgba(192, 172, 131, 0.18);
        color: #fff;
    }

    /* Плавное раскрытие; фон тот же что у .new-ui-topbar — единое полотно */
    .new-ui-main-nav {
        grid-area: drawer;
        display: flex;
        flex-direction: column;
        justify-self: stretch;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        align-items: stretch;
        gap: 0;
        padding: 0.2rem 0 0;
        border-top: none;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        /* Фон родителя .new-ui-topbar — без второго слоя радиальных градиентов */
        background-color: transparent;
        background-image: none;
        border-radius: 0 0 18px 18px;
        max-height: 0;
        min-height: 0;
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        transform: translateY(-4px);
        pointer-events: none;
        transition:
            max-height 0.42s cubic-bezier(0.4, 0, 0.2, 1),
            opacity 0.36s ease,
            visibility 0.36s ease,
            transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .new-ui-header-inner.is-nav-open .new-ui-main-nav {
        max-height: min(92vh, 640px);
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .new-ui-main-nav > a:not(:last-of-type)::after {
        display: none;
    }

    .new-ui-main-nav > a {
        width: 100%;
        box-sizing: border-box;
        padding: 0.95rem clamp(1rem, 6vw, 2rem);
        text-align: center;
        font-size: 1rem;
        letter-spacing: 0.03em;
        color: rgba(255, 255, 255, 0.98);
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        white-space: normal;
    }

    .new-ui-main-nav > a:last-of-type {
        border-bottom: none;
        padding-bottom: 0.85rem;
    }

    .new-ui-lang-dd-list {
        right: 0;
        left: auto;
        min-width: 9.5rem;
        max-width: min(12rem, calc(100vw - 1.5rem));
    }
}

@media (max-width: 992px) and (prefers-reduced-motion: reduce) {
    .new-ui-main-nav {
        transition: none;
        transform: none;
    }

    .new-ui-header-inner.is-nav-open .new-ui-main-nav {
        transform: none;
    }
}

/* --- Футер (pill-ссылки, градиент, копирайт) --- */
.new-ui-footer {
    margin-top: clamp(1.5rem, 4vw, 2.75rem);
    padding: clamp(1.35rem, 3.5vw, 2rem) 0 clamp(1.25rem, 3vw, 1.75rem);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background-color: #2a0e16;
    background-image:
        radial-gradient(ellipse 52% 140% at 0% 45%, rgba(110, 42, 58, 0.55), transparent 58%),
        linear-gradient(105deg, #3d1822 0%, #240c12 48%, #140609 100%);
    color: rgba(255, 255, 255, 0.95);
}

.new-ui-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.new-ui-footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem 0.65rem;
}

.new-ui-footer-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.12);
    color: rgba(255, 255, 255, 0.96);
    text-decoration: none;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition:
        border-color 0.18s ease,
        background 0.18s ease,
        color 0.18s ease;
}

.new-ui-footer-pill:hover {
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
}

.new-ui-footer-rule {
    height: 1px;
    margin: clamp(1rem, 2.5vw, 1.35rem) auto 0.85rem;
    max-width: min(960px, 100%);
    background: rgba(255, 255, 255, 0.16);
}

.new-ui-footer-copy {
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.52);
    text-align: center;
}

@media (max-width: 520px) {
    .new-ui-footer-pill {
        padding: 7px 14px;
        font-size: 0.78rem;
    }

    .new-ui-footer-nav {
        gap: 0.4rem 0.45rem;
    }
}

/* --- Герой-каталог: фон от верха страницы (под прозрачным хедером) --- */
body.new-ui-front {
    --new-ui-catalog-bg-image: url("/assets/new_ui/img/filter_bg.jpg");
}

.new-ui-catalog-hero-shell {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    margin-bottom: clamp(0.85rem, 2.5vw, 1.5rem);
    overflow-x: clip;
}

.new-ui-catalog-hero-shell::before,
.new-ui-catalog-hero-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
    pointer-events: none;
}

.new-ui-catalog-hero-shell::before {
    z-index: 0;
    background-image: var(--new-ui-catalog-bg-image, none);
    background-size: cover;
    background-position: center;
    opacity: var(--new-ui-catalog-bg-opacity, 0.55);
}

.new-ui-catalog-hero-shell::after {
    z-index: 1;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.15) 0%,
        rgba(0, 0, 0, 0.35) 42%,
        rgba(0, 0, 0, 0.55) 100%
    );
}

.new-ui-catalog-hero-shell .new-ui-topbar {
    position: relative;
    z-index: 10;
    background-color: transparent;
    background-image: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.new-ui-catalog-hero-shell .new-ui-topbar:has(.new-ui-header-inner.is-nav-open) {
    background-color: rgba(9, 11, 16, 0.82);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-bottom-color: transparent;
}

.new-ui-catalog-hero {
    position: relative;
    z-index: 2;
    padding: clamp(0.5rem, 2vw, 1rem) 0 clamp(1.5rem, 4vw, 2.75rem);
}

.new-ui-catalog-hero .new-ui-container {
    position: relative;
    z-index: 1;
}

.new-ui-catalog-filter-wrap {
    position: relative;
}

.new-ui-filter-mobile-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.12);
    margin: 0;
    letter-spacing: 0.06em;
    font-weight: 700;
    text-transform: uppercase;
    font-size: clamp(0.68rem, 2.9vw, 0.74rem);
    color: rgba(255, 255, 255, 0.95);
    border-radius: 999px;
    background: linear-gradient(180deg, var(--filter-gradient-start) 0%, var(--filter-gradient-end) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 1px 3px rgba(0, 0, 0, 0.45);
    transition:
        filter 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.new-ui-filter-mobile-toggle:hover {
    filter: brightness(1.1);
    border-color: rgba(255, 232, 245, 0.88);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        0 0 0 1px rgba(255, 196, 218, 0.45),
        0 5px 16px rgba(0, 0, 0, 0.38);
}

.new-ui-filter-mobile-toggle-label {
    line-height: 1.25;
}

.new-ui-filter-mobile-toggle-chev {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, 0.88);
    margin-left: 0.06rem;
    transform: translateY(1px);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.new-ui-filter-mobile-toggle.new-ui-filter-mobile-toggle--expanded .new-ui-filter-mobile-toggle-chev {
    transform: rotate(180deg) translateY(-1px);
}

.new-ui-glass-filter {
    --filter-glass-bg: rgba(9, 11, 16, 0.3);
    --filter-glass-blur: 28px;
    border-radius: 24px;
    padding: clamp(1.05rem, 3vw, 1.85rem);
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--filter-glass-bg);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 20px 60px rgba(0, 0, 0, 0.32);
}

@supports ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))) {
    .new-ui-glass-filter {
        -webkit-backdrop-filter: blur(var(--filter-glass-blur)) saturate(1.12);
        backdrop-filter: blur(var(--filter-glass-blur)) saturate(1.12);
        background: var(--filter-glass-bg);
    }
}

.new-ui-filter-rows {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
}

.new-ui-filter-rule {
    flex-shrink: 0;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.new-ui-filter-dd-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.45rem;
    width: 100%;
}

.new-ui-filter-dd {
    position: relative;
    min-width: 0;
}

.new-ui-filter-dd--wide .new-ui-filter-pill {
    min-width: 0;
}

.new-ui-filter-pill {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    cursor: pointer;
    padding: 0 0 0 0.72rem;
    border-radius: 6px;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.new-ui-filter-pill:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

.new-ui-filter-pill:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.07);
}

.new-ui-filter-dd.is-open .new-ui-filter-pill {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
}

.new-ui-filter-dd.is-open .new-ui-filter-pill:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.1);
}

.new-ui-filter-pill-chev {
    flex: 0 0 2.35rem;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: auto;
    margin-left: auto;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
    border-right: none;
    border-bottom: none;
    transform: none;
    transition: background 0.2s ease;
}

.new-ui-filter-pill-chev::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, 0.82);
    transition: transform 0.2s ease, border-top-color 0.18s ease;
}

.new-ui-filter-pill:hover .new-ui-filter-pill-chev::before {
    border-top-color: rgba(255, 255, 255, 0.95);
}

.new-ui-filter-dd.is-open .new-ui-filter-pill-chev::before {
    transform: rotate(180deg);
}

.new-ui-filter-dd-panel {
    position: absolute;
    z-index: 30;
    top: calc(100% + 0.45rem);
    left: 50%;
    right: auto;
    width: max-content;
    min-width: min(18rem, 92vw);
    max-width: min(22rem, 96vw);
    padding: 0.55rem 0;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--bg-card);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow:
        0 16px 40px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(-50%, -8px, 0);
    transform-origin: top center;
    transition:
        opacity 0.2s cubic-bezier(0.33, 1, 0.68, 1),
        transform 0.22s cubic-bezier(0.33, 1, 0.68, 1),
        visibility 0s linear 0.2s,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-filter-dd.is-open {
    z-index: 35;
}

.new-ui-filter-dd.is-open > .new-ui-filter-dd-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(-50%, 0, 0);
    transition:
        opacity 0.21s cubic-bezier(0.33, 1, 0.68, 1),
        transform 0.24s cubic-bezier(0.33, 1, 0.68, 1),
        visibility 0s linear 0s,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-filter-dd:hover .new-ui-filter-dd-panel {
    border-color: rgba(192, 172, 131, 0.28);
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 0 1px rgba(192, 172, 131, 0.12);
}

@media (prefers-reduced-motion: reduce) {
    .new-ui-filter-dd-panel {
        transition-duration: 0.01ms;
        transition-delay: 0s;
        transform: translate3d(-50%, 0, 0);
    }

    .new-ui-filter-dd.is-open > .new-ui-filter-dd-panel {
        transition-duration: 0.01ms;
        transform: translate3d(-50%, 0, 0);
    }
}


@media (min-width: 640px) and (max-width: 1099px) {
    .new-ui-filter-dd-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .new-ui-filter-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.new-ui-filter-dd-scroll {
    max-height: 14.5rem;
    overflow-y: auto;
    padding: 0 0.5rem;
}

.new-ui-filter-dd-scroll--metro {
    max-height: min(52vh, 19rem);
}

.new-ui-filter-dd-scroll--services {
    max-height: min(62vh, 24rem);
}

.new-ui-filter-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem 0.7rem;
}

.new-ui-filter-services-col {
    padding: 0.3rem 0.1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.02);
}

.new-ui-filter-services-col .new-ui-filter-line {
    padding: 0.32rem 0.42rem;
    border-radius: 7px;
}

.new-ui-filter-services-col--extra {
    border-style: dashed;
}

.new-ui-filter-line {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.38rem 0.55rem;
    border-radius: 8px;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.9);
}

.new-ui-filter-line > span {
    display: inline-flex;
    align-items: center;
    line-height: 1.35;
    min-width: 0;
}

.new-ui-filter-line:hover {
    background: rgba(255, 255, 255, 0.06);
}

.new-ui-filter-line a {
    color: inherit;
    text-decoration: none;
}

.new-ui-filter-line a:hover {
    text-decoration: underline;
}

.new-ui-filter-sliders {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.35rem 2.75rem;
    align-items: end;
}

.new-ui-rs-caption {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 0.55rem;
}

.new-ui-rs-suffix {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    font-weight: 400;
    margin-left: 0.15rem;
}

.new-ui-rs {
    --thumb-size: 14px;
    --rs-track-slot: 6px;
    --rs-shell-h: 28px;
    --rs-track-vis: 6px;
    --rs-lo-pct: 0%;
    --rs-hi-pct: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.new-ui-rs-slider-shell {
    position: relative;
    width: 100%;
    height: var(--rs-shell-h);
    margin: 0;
    flex-shrink: 0;
}

.new-ui-rs-track {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: var(--rs-track-vis);
    border-radius: 999px;
    overflow: hidden;
    background: linear-gradient(
        90deg,
        #f5e8ed 0%,
        #eec0d0 18%,
        #e28ba2 42%,
        #d45a7a 68%,
        #c04b6a 100%
    );
    box-shadow: none;
    pointer-events: none;
}

.new-ui-rs-track::before,
.new-ui-rs-track::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background: rgba(9, 11, 16, 0.58);
    border-radius: 999px;
    pointer-events: none;
}

.new-ui-rs-track::before {
    left: 0;
    width: var(--rs-lo-pct, 0%);
}

.new-ui-rs-track::after {
    left: var(--rs-hi-pct, 100%);
    right: 0;
}

.new-ui-rs-fill {
    display: none;
}

.new-ui-rs-input-row {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
}

.new-ui-rs-thumb {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: var(--rs-shell-h);
    margin: 0;
    padding: 0;
    background: transparent;
    pointer-events: none;
    box-sizing: border-box;
}

.new-ui-rs-thumb::-webkit-slider-runnable-track {
    height: var(--rs-track-slot);
    border-radius: 999px;
    background: transparent;
}

.new-ui-rs-thumb::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    pointer-events: auto;
    width: var(--thumb-size);
    height: var(--thumb-size);
    border-radius: 50%;
    background: #fff;
    border: none;
    margin-top: calc((var(--rs-track-slot) - var(--thumb-size)) / 2);
    box-shadow: none;
    cursor: grab;
}

.new-ui-rs-thumb:active::-webkit-slider-thumb {
    cursor: grabbing;
}

.new-ui-rs-thumb::-moz-range-track {
    height: var(--rs-track-slot);
    background: transparent;
    border-radius: 999px;
}

.new-ui-rs-thumb::-moz-range-thumb {
    pointer-events: auto;
    width: var(--thumb-size);
    height: var(--thumb-size);
    border: none;
    border-radius: 50%;
    background: #fff;
    box-shadow: none;
    cursor: grab;
}

.new-ui-rs-thumb-low {
    z-index: 2;
}

.new-ui-rs-thumb-high {
    z-index: 3;
}

.new-ui-rs-values {
    position: relative;
    height: 1.15rem;
    margin-top: 0.38rem;
}

.new-ui-rs-val {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-primary);
    white-space: nowrap;
    pointer-events: none;
}

.new-ui-rs-live {
    margin: 0;
}

.new-ui-filter-low {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 1.15rem;
    align-items: stretch;
    width: 100%;
}

.new-ui-filter-low > .new-ui-filter-rule {
    margin: 0.1rem 0;
}

/* Ряд чекбоксов на всю ширину панели фильтра */
.new-ui-filter-locchecks {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem 1.5rem;
    align-items: center;
}

.new-ui-mini-check {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.95);
    cursor: pointer;
    user-select: none;
    padding: 0.22rem 0.4rem;
    margin: -0.22rem -0.4rem;
    border-radius: 8px;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-mini-check span {
    line-height: 1.25;
    transition: color 0.18s ease;
}

.new-ui-mini-check:hover:not(:has(input:disabled)) {
    background-color: rgba(255, 255, 255, 0.065);
    box-shadow: 0 0 0 1px rgba(192, 172, 131, 0.12);
    color: #fff;
}

/* Кастомный квадрат: крупнее, как в текущей правке по макету */
.new-ui-mini-check input[type="checkbox"],
.new-ui-filter-line input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 19px;
    height: 19px;
    margin: 0;
    border-radius: 3px;
    border: 2px solid rgba(255, 255, 255, 0.78);
    background: rgba(8, 2, 6, 0.92);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5);
    transition:
        border-color 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease;
}

.new-ui-mini-check:hover:not(:has(input:disabled)) input[type="checkbox"]:not(:checked) {
    border-color: rgba(255, 255, 255, 0.94);
    background: rgba(192, 172, 131, 0.1);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.42),
        0 0 0 1px rgba(192, 172, 131, 0.35);
}

.new-ui-mini-check:hover:not(:has(input:disabled)) input[type="checkbox"]:checked {
    border-color: rgba(212, 196, 154, 0.98);
    background-color: rgba(192, 172, 131, 0.22);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(192, 172, 131, 0.45);
}

.new-ui-mini-check input[type="checkbox"]:checked,
.new-ui-filter-line input[type="checkbox"]:checked {
    border-color: var(--filter-slider);
    background-color: var(--accent-soft);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23D45A7A' fill='none' stroke-width='2.2' stroke-linecap='round'%3E%3Cpolyline points='4 9 7 12 13 5'/%3E%3C/svg%3E");
    background-size: 13px auto;
    background-position: center;
    background-repeat: no-repeat;
}

.new-ui-mini-check input[type="checkbox"]:focus-visible,
.new-ui-filter-line input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

.new-ui-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    justify-content: flex-end;
    width: 100%;
}

.new-ui-filter-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 48px;
    border: 0;
    cursor: pointer;
    padding: 0.72rem 1.65rem;
    border-radius: 14px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
    background: var(--filter-search-bg);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
    transition:
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.new-ui-filter-search__icon {
    display: block;
    flex-shrink: 0;
    color: #fff;
}

.new-ui-filter-search:hover {
    background: var(--filter-search-bg-hover);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
}

.new-ui-filter-search:active {
    filter: brightness(0.98);
}

.new-ui-filter-reset {
    cursor: pointer;
    padding: 0.7rem 1.85rem;
    border-radius: 11px;
    font-size: 0.95rem;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.95);
    background: linear-gradient(180deg, var(--filter-gradient-start) 0%, var(--filter-gradient-end) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 1px 3px rgba(0, 0, 0, 0.45);
    transition:
        filter 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.new-ui-filter-reset:hover {
    filter: brightness(1.12);
    border-color: rgba(255, 232, 245, 0.88);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 0 0 1px rgba(255, 196, 218, 0.45),
        0 5px 16px rgba(0, 0, 0, 0.38);
}

.new-ui-filter-reset:active {
    filter: brightness(0.98);
}

.new-ui-page-title {
    margin: 0 0 1rem;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text-primary);
}

.new-ui-recovery-page {
    padding: 24px 0 48px;
    display: flex;
    justify-content: center;
}

.new-ui-recovery-card {
    width: min(100%, 420px);
    padding: clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 16px;
    background: var(--bg-card, #fff);
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08);
}

.new-ui-recovery-form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.new-ui-recovery-alert {
    margin-bottom: 0.85rem;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    font-size: 0.92rem;
    line-height: 1.45;
}

.new-ui-recovery-alert--ok {
    background: #ecfdf3;
    color: #166534;
}

.new-ui-recovery-alert--err {
    background: #fef2f2;
    color: #991b1b;
}

.new-ui-recovery-back {
    margin: 1rem 0 0;
    text-align: center;
    font-size: 0.92rem;
}

.new-ui-recovery-back a {
    color: var(--accent, #7c3aed);
    text-decoration: none;
}

.new-ui-recovery-back a:hover {
    text-decoration: underline;
}

.new-ui-user-account__tg-prompt {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
    line-height: 1.45;
}

.new-ui-user-account__tg-prompt strong {
    display: block;
    margin-bottom: 0.35rem;
}

/* Хлебные крошки — тёмная «капсула» в тон блокам анкеты / каталога */
.new-ui-breadcrumbs {
    margin: 0 0 1.05rem;
}

.new-ui-breadcrumbs .new-ui-bc-list {
    list-style: none;
    padding: 0.52rem clamp(0.78rem, 2.2vw, 1rem);
    margin: 0;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 0.642rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.35;
    color: rgba(255, 252, 250, 0.62);
    border: 1px solid rgba(168, 135, 95, 0.42);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.38);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 2px 12px rgba(0, 0, 0, 0.25);
}

.new-ui-bc-sep {
    flex-shrink: 0;
    color: rgba(201, 184, 150, 0.52);
    font-weight: 500;
    font-size: 0.78em;
    user-select: none;
}

.new-ui-bc-list a {
    color: rgba(255, 248, 244, 0.86);
    text-decoration: none;
    transition:
        color 0.18s ease,
        text-decoration-color 0.18s ease;
    text-underline-offset: 0.2em;
}

.new-ui-bc-list a:hover {
    color: rgba(240, 207, 163, 0.98);
    text-decoration: underline;
    text-decoration-color: rgba(201, 184, 150, 0.55);
}

.new-ui-bc-list a:focus-visible {
    outline: 2px solid rgba(201, 184, 150, 0.55);
    outline-offset: 3px;
    border-radius: 2px;
}

.new-ui-bc-list > li:last-child:not(.new-ui-bc-sep) span[itemprop="name"] {
    color: rgba(255, 255, 255, 0.95);
    font-weight: 700;
}

@media (max-width: 480px) {
    .new-ui-breadcrumbs .new-ui-bc-list {
        font-size: 0.6rem;
        padding: 0.45rem 0.72rem;
        gap: 0.35rem;
    }
}

.new-ui-empty-msg {
    text-align: center;
    margin: 1.5rem 0;
}

/* SEO-текст в каталоге: ограниченная высота, прокрутка при переполнении */
.new-ui-seo-text {
    margin-top: 1.5rem;
    max-height: min(45vh, 440px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.9rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
    font-size: 0.92rem;
    line-height: 1.55;
    -webkit-overflow-scrolling: touch;
}

.new-ui-seo-text p,
.new-ui-seo-text ul,
.new-ui-seo-text ol {
    margin: 0 0 0.65em;
}

.new-ui-seo-text ul,
.new-ui-seo-text ol {
    padding-left: 1.35rem;
}

.new-ui-seo-text h1,
.new-ui-seo-text h2,
.new-ui-seo-text h3,
.new-ui-seo-text h4 {
    margin: 0.85em 0 0.45em;
    font-size: 1.05em;
    line-height: 1.35;
    font-weight: 600;
}

.new-ui-seo-text h1:first-child,
.new-ui-seo-text h2:first-child,
.new-ui-seo-text h3:first-child {
    margin-top: 0;
}

.new-ui-seo-text::-webkit-scrollbar {
    width: 8px;
}

.new-ui-seo-text::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.14);
    border-radius: 4px;
}

.new-ui-seo-text::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.new-ui-pagination nav {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.4rem;
    margin: 1.25rem 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.new-ui-pagination a {
    padding: 0.32rem 0.72rem;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.2);
    color: var(--text);
}

.new-ui-pagination a.active {
    border-color: var(--accent);
    color: var(--accent);
}

.new-ui-pagination a:hover {
    border-color: rgba(255, 255, 255, 0.25);
}

.new-ui-pagination__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.1rem;
    padding: 0 0.5rem;
    box-sizing: border-box;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.2);
    color: var(--text);
    text-decoration: none;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
}

.new-ui-pagination a.new-ui-pagination__nav:hover {
    border-color: rgba(255, 255, 255, 0.25);
}

.new-ui-pagination__nav.is-disabled {
    opacity: 0.35;
    pointer-events: none;
    cursor: default;
}

.new-ui-pagination__gap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    padding: 0 0.15rem;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.95rem;
    user-select: none;
    flex-shrink: 0;
}

main div.pagination {
    display: flex;
    justify-content: center;
    margin: 1.25rem 0;
}

@media (max-width: 992px) {
    .new-ui-filter-sliders {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem 2rem;
    }

    .new-ui-filter-locchecks {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem 1.25rem;
    }

    .new-ui-filter-actions {
        justify-content: stretch;
    }

    .new-ui-filter-actions .new-ui-filter-search,
    .new-ui-filter-actions .new-ui-filter-reset {
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* Планшет / узкий блок: фильтр компактнее, без синих вспышек Safari */
@media (max-width: 767px) {
    .new-ui-catalog-hero-shell {
        margin-bottom: 1rem;
    }

    .new-ui-catalog-hero {
        padding-top: clamp(0.65rem, 3vw, 1.15rem);
        padding-bottom: clamp(1rem, 4vw, 1.75rem);
    }

    .new-ui-catalog-hero .new-ui-container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding-left: max(0.65rem, env(safe-area-inset-left));
        padding-right: max(0.65rem, env(safe-area-inset-right));
        margin-inline: 0;
    }

    .new-ui-glass-filter {
        border-radius: clamp(14px, 4vw, 20px);
        padding: clamp(0.82rem, 3.2vw, 1.2rem);
    }

    .new-ui-filter-rows {
        gap: 1.1rem;
    }

    #new-ui-catalog-filter-root .new-ui-filter-pill,
    #new-ui-catalog-filter-root .new-ui-mini-check,
    #new-ui-catalog-filter-root .new-ui-filter-line input[type="checkbox"] {
        -webkit-tap-highlight-color: transparent;
    }

    .new-ui-filter-mobile-toggle {
        -webkit-tap-highlight-color: transparent;
        display: flex;
        width: 100%;
        min-height: 2.76rem;
        padding: 0.52rem 1.05rem;
        margin-bottom: 0.4rem;
    }

    /* Фильтр скрыт, пока не нажата кнопка */
    #new-ui-catalog-filter-root.new-ui-glass-filter:not(.new-ui-filter-mobile-open) {
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        overflow: hidden;
        pointer-events: none;
        border-color: transparent;
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background: transparent;
        transition:
            max-height 0.42s cubic-bezier(0.33, 1, 0.68, 1),
            opacity 0.26s ease,
            padding 0.26s ease,
            visibility 0s linear 0.26s,
            border-color 0.22s ease,
            margin 0.25s ease,
            box-shadow 0.22s ease,
            filter 0.2s ease;
    }

    #new-ui-catalog-filter-root.new-ui-glass-filter.new-ui-filter-mobile-open {
        max-height: 3200px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition:
            max-height 0.44s cubic-bezier(0.33, 1, 0.68, 1),
            opacity 0.28s ease,
            padding 0.28s ease,
            visibility 0s linear 0s,
            border-color 0.22s ease,
            margin 0.25s ease,
            filter 0.2s ease;
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    #new-ui-catalog-filter-root.new-ui-glass-filter {
        transition-duration: 0.01ms !important;
        transition-delay: 0s !important;
    }
}

@media (max-width: 639px) {
    .new-ui-filter-dd-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .new-ui-filter-dd {
        position: relative;
    }

    .new-ui-filter-dd.is-open {
        z-index: 42;
    }

    .new-ui-filter-dd-panel {
        top: calc(100% + 0.4rem);
        left: 0;
        right: auto;
        width: max-content;
        min-width: min(16rem, 88vw);
        max-width: min(20rem, 92vw);
        border-radius: 8px;
        transform: translate3d(0, -8px, 0);
    }

    .new-ui-filter-dd.is-open > .new-ui-filter-dd-panel {
        transform: translate3d(0, 0, 0);
    }

    .new-ui-filter-pill {
        min-height: 2.65rem;
        padding-left: 0.58rem;
        font-size: 0.75rem;
    }

    .new-ui-filter-pill-chev {
        flex-basis: 2rem;
        width: 2rem;
    }

    .new-ui-filter-dd-scroll {
        max-height: min(52vh, 17.5rem);
    }

    .new-ui-filter-dd-scroll--metro {
        max-height: min(56vh, 20rem);
    }

    .new-ui-filter-dd-scroll--services {
        max-height: min(64vh, 20rem);
    }

    .new-ui-filter-dd-scroll,
    .new-ui-filter-dd-scroll--metro {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .new-ui-filter-line {
        padding: 0.48rem 0.62rem;
        min-height: 2.68rem;
        font-size: 0.815rem;
    }

    .new-ui-filter-services-grid {
        grid-template-columns: 1fr;
    }

    .new-ui-filter-sliders {
        grid-template-columns: 1fr;
        gap: 1.35rem 0;
    }

    .new-ui-rs {
        --thumb-size: 18px;
        --rs-track-slot: 7px;
        --rs-shell-h: 32px;
        --rs-track-vis: 7px;
    }

    .new-ui-filter-locchecks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem 1.1rem;
    }

    .new-ui-mini-check {
        padding: 0.38rem 0.35rem;
        margin: -0.38rem -0.35rem;
        font-size: clamp(0.84rem, 3.8vw, 0.92rem);
    }

    .new-ui-filter-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .new-ui-filter-search,
    .new-ui-filter-reset {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding-top: 0.78rem;
        padding-bottom: 0.78rem;
        text-align: center;
    }
}

/* Очень узкие экраны: выпадающие в один столбец */
@media (max-width: 380px) {
    .new-ui-filter-dd-row {
        grid-template-columns: 1fr;
    }

    .new-ui-filter-locchecks {
        grid-template-columns: 1fr;
        gap: 0.85rem 0;
    }

    .new-ui-rs-live {
        font-size: clamp(0.72rem, 3.8vw, 0.76rem);
    }
}

@media (max-width: 639px) and (prefers-reduced-motion: reduce) {
    .new-ui-filter-dd-panel {
        transform: translate3d(0, 0, 0);
    }

    .new-ui-filter-dd.is-open > .new-ui-filter-dd-panel {
        transform: translate3d(0, 0, 0);
    }
}

/* Метро: чуть шире, но не на весь фильтр */
.new-ui-filter-dd-panel:has(.new-ui-filter-dd-scroll--metro) {
    min-width: min(20rem, 94vw);
    max-width: min(24rem, 96vw);
}

.new-ui-filter-dd-panel--services-wide {
    width: calc((100% * 6) + (0.45rem * 5) - 10px);
    min-width: calc((100% * 6) + (0.45rem * 5) - 10px);
    max-width: calc((100% * 6) + (0.45rem * 5) - 10px);
}

.new-ui-filter-dd--services-wide > .new-ui-filter-dd-panel--services-wide {
    left: calc((-100% * 2) - (0.45rem * 2));
    right: auto;
    transform: translate3d(0, -8px, 0);
}

.new-ui-filter-dd--services-wide.is-open > .new-ui-filter-dd-panel--services-wide {
    transform: translate3d(0, 0, 0);
}

@media (max-width: 639px) {
    .new-ui-filter-dd-panel--services-wide {
        width: calc(100vw - 1rem);
        min-width: calc(100vw - 1rem);
        max-width: calc(100vw - 1rem);
        left: 0;
    }
}

/* --- Карточки анкет (каталог new UI) --- */
.new-ui .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.new-ui-catalog-main,
.new-ui-anketa-page,
.new-ui-anketa-other {
    --catalog-card-gap: clamp(1rem, 2.8vw, 1.35rem);
    --catalog-card-min: min(100%, 17.5rem);
}

.new-ui-catalog-main .individuals-wrap,
.new-ui-anketa-other .individuals-wrap,
.individuals-wrap.new-ui-catalog-grid {
    display: grid;
    /* Четверть ширины ряда — 4 колонки при ~1120px+ (главная и салон одинаково) */
    grid-template-columns: repeat(
        auto-fill,
        minmax(min(100%, max(15rem, calc((100% - 3 * var(--catalog-card-gap)) / 4))), 1fr)
    );
    gap: var(--catalog-card-gap);
    margin-bottom: 1rem;
}

.new-ui-anketa-other .individuals-wrap.new-ui-catalog-grid {
    margin-bottom: 0;
}

.new-ui-anket-card {
    --ank-accent: var(--accent-primary);
    --ank-card-pad-y: clamp(0.78rem, 2.2vw, 1.02rem);
    --ank-card-pad-top: clamp(0.42rem, 1.4vw, 0.58rem);
    --ank-card-pad-x: clamp(0.465rem, 1.35vw, 0.6375rem);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    padding: var(--ank-card-pad-top) var(--ank-card-pad-x) var(--ank-card-pad-y);
    border-radius: 20px;
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.new-ui-anket-card:hover {
    background: var(--bg-card-hover);
}

.new-ui-anket-card--vip {
    border-radius: 24px;
    background: var(--bg-card-premium);
    border: 1px solid var(--border-premium);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

.new-ui-anket-card--vip:hover {
    transform: translateY(-4px);
    background: var(--bg-card-premium);
}

.new-ui-anket-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
    min-height: 1.85rem;
}

.new-ui-anket-card__metro {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.656rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
    max-width: calc(100% - 3rem);
}

.new-ui-anket-card__metro-ic {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
}

.new-ui-anket-card__metro-ic svg {
    display: block;
    width: 22px;
    height: 22px;
}

.new-ui-anket-card__metro-name {
    word-break: break-word;
    line-height: 1.2;
    align-self: center;
}

.new-ui-anket-card__fav {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
    border-radius: 10px;
    color: var(--logo-text);
    background: transparent;
    transition:
        color 0.18s ease,
        transform 0.16s ease;
}

.new-ui-anket-card__fav:hover {
    background: transparent;
    color: #e8dcc4;
}

.new-ui-anket-card__fav:active {
    transform: scale(0.95);
}

.new-ui-anket-card__heart {
    grid-area: 1 / 1;
    display: block;
    width: 22px;
    height: 22px;
}

.new-ui-anket-card__fav-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
}

.new-ui-anket-card__heart-fill {
    position: absolute;
    inset: 0;
    width: 22px;
    height: 22px;
    opacity: 0;
    transition: opacity 0.18s ease;
    pointer-events: none;
}

.new-ui-anket-card__fav:not(.is-active) .new-ui-anket-card__heart {
    opacity: 0.72;
}

.new-ui-anket-card__fav.is-active {
    color: #f0cfa3;
}

.new-ui-anket-card__fav.is-active .new-ui-anket-card__heart,
.new-ui-premium-card__fav.is-active .new-ui-anket-card__heart {
    opacity: 0;
}

.new-ui-anket-card__fav.is-active .new-ui-anket-card__heart-fill,
.new-ui-premium-card__fav.is-active .new-ui-anket-card__heart-fill {
    opacity: 1;
}

.new-ui-anket-card__fav.is-active:hover {
    color: #fff2d6;
}

.new-ui-anket-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(0.48rem, 1.65vw, 0.78rem);
    align-items: stretch;
}

.new-ui-anket-card__media {
    min-width: 0;
}

.new-ui-anket-card__photo-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.35);
}

.new-ui-anket-card__photo-link {
    display: block;
    aspect-ratio: 3 / 4;
}

.new-ui-anket-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Метки на фото: только колонка сверху вниз, не в строку */
.new-ui-anket-card__photo-wrap > .new-ui-anket-card__badges,
.new-ui-premium-card__media-wrap > .new-ui-anket-card__badges {
    position: absolute;
    z-index: 5;
    top: 0.4rem;
    left: 0.4rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0.28rem;
    max-width: calc(100% - 3.5rem);
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.new-ui-premium-card__media-wrap > .new-ui-anket-card__badges {
    top: var(--ank-card-pad-y);
    left: var(--ank-card-pad-x);
    gap: 0.42rem;
}

.new-ui-anket-card__photo-wrap > .new-ui-anket-card__badges {
    gap: 0.42rem;
}

.new-ui-anket-card__photo-wrap > .new-ui-anket-card__badges--sm {
    gap: 0.21rem;
}

.new-ui-anket-card__photo-wrap .new-ui-anket-card__badge {
    font-size: 0.96rem;
    padding: 0.24rem 0.51rem;
    border-radius: 7px;
}

.new-ui-anket-card__photo-wrap > .new-ui-anket-card__badges--sm .new-ui-anket-card__badge {
    font-size: 0.48rem;
    padding: 0.12rem 0.255rem;
    border-radius: 4px;
}

.new-ui-anket-card__photo-wrap .new-ui-anket-card__fav {
    position: absolute;
    z-index: 4;
    top: 0.35rem;
    right: 0.35rem;
    width: 22px;
    height: 22px;
    border-radius: 10px;
    background: transparent;
    color: #fff;
}

.new-ui-anket-card__photo-wrap .new-ui-anket-card__fav.is-active {
    color: var(--accent-primary);
}

.new-ui-anket-card__badge {
    display: block;
    width: max-content;
    max-width: 100%;
    padding: 0.14rem 0.28rem;
    border-radius: 5px;
    font-size: 0.578rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    line-height: 1.15;
    white-space: nowrap;
}

.new-ui-anket-card__badge--real {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    background: var(--badge-real-bg);
    color: var(--badge-real-text);
}

.new-ui-real-badge__ico-wrap {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.new-ui-real-badge__ico-wrap svg {
    display: block;
}

.new-ui-anket-card__badge--video {
    background: var(--badge-video-bg);
    color: var(--badge-video-text);
    text-shadow: none;
}

.new-ui-anket-card__badge--voice {
    background: var(--badge-voice-bg);
    color: var(--badge-voice-text);
}

.new-ui-anket-card__badge--new {
    background: var(--badge-new-bg);
    color: var(--badge-new-text);
}

.new-ui-anket-card__badge--premium {
    background: var(--badge-premium-bg);
    color: var(--badge-premium-text);
}
.new-ui-anket-card__badge--trans {
    background: #c45c8b;
    color: #fff;
}
.new-ui-anket-card__badge--indi {
    background: linear-gradient(180deg, #7c4bcf, #4f2d9e);
    color: #fff;
}

/* Имя, возраст и параметры — один блок поверх низа фото */
.new-ui-anket-card__photo-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    padding: 0.42rem 0.2rem 0.45rem;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.2) 22%,
        rgba(0, 0, 0, 0.72) 55%,
        rgba(0, 0, 0, 0.88) 100%
    );
}

.new-ui-anket-card__photo-overlay-sep {
    flex-shrink: 0;
    height: 1px;
    margin: 0;
    border: 0;
    background: rgba(255, 255, 255, 0.17);
    opacity: 0.95;
}

.new-ui-anket-card__photo-cap {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.32rem;
    padding: 0;
    margin: 0;
    background: none;
}

.new-ui-anket-card__cap-name {
    flex: 1;
    min-width: 0;
    font-size: 0.89rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.98);
}

.new-ui-anket-card__cap-age {
    display: inline-flex;
    align-items: center;
    gap: 0.24rem;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 0.782rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.94);
}

/* Карточка каталога (individual_new_ui): ПК — только цифра, моб. — с «лет» / «років» */
.new-ui-anket-card .new-ui-anket-card__cap-age-suf {
    display: none !important;
}

.new-ui-anket-card__cap-age-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.new-ui-anket-card__cap-age-ic svg {
    display: block;
    width: 14px;
    height: 14px;
}

.new-ui-anket-card__phys {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.18rem;
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    box-shadow: none;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 0.18rem;
    width: 100%;
    padding-top: 0.08rem;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i {
    flex: unset;
    min-width: 0;
    display: flex;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i:first-child {
    justify-content: flex-start;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i:last-child:not(:first-child) {
    justify-content: flex-end;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i:not(:first-child):not(:last-child) {
    justify-content: center;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i:first-child dd {
    justify-content: flex-start;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i:last-child:not(:first-child) dd {
    justify-content: flex-end;
}

.new-ui-anket-card__photo-overlay .new-ui-anket-card__phys-i:not(:first-child):not(:last-child) dd {
    justify-content: center;
}

.new-ui-anket-card__phys-i {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
}

.new-ui-anket-card__phys-i dd {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    margin: 0;
}

.new-ui-anket-card__phys-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: #fff;
    opacity: 0.95;
}

.new-ui-anket-card__phys-ic svg {
    display: block;
    width: 16px;
    height: 16px;
}

.new-ui-anket-card__phys-v {
    display: inline-flex;
    align-items: center;
    font-size: 0.758rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    white-space: nowrap;
}

.new-ui-anket-card__rates {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    align-self: stretch;
    height: 100%;
    min-height: 0;
}

.new-ui-anket-card__rate-row {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin: 0;
    min-height: 0;
    padding: 0.38rem 0.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    font-size: 0.758rem;
    color: rgba(255, 255, 255, 0.92);
}

.new-ui-anket-card__rate-row:first-child {
    padding-top: 0;
}

.new-ui-anket-card__rate-row:last-child {
    border-bottom: none;
}

@media (min-width: 481px) {
    /* Две колонки: строки цен с flex:1 делят высоту колонки (= высоте фото) поровну */
    .new-ui-anket-card__rate-row {
        padding-top: 0.28rem;
        padding-bottom: 0.28rem;
    }

    .new-ui-anket-card__rate-row:first-child {
        padding-top: 0;
    }
}

.new-ui-anket-card__rate-l {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
}

.new-ui-anket-card__rate-r {
    flex-shrink: 0;
    text-align: right;
    font-weight: 700;
}

.new-ui-anket-svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    opacity: 0.95;
}

.new-ui-anket-svg svg {
    display: block;
    width: 16px;
    height: 16px;
}

.new-ui-anket-card__info {
    margin-top: 0.72rem;
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    min-height: 0;
}

.new-ui-anket-card__info-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
}

.new-ui-anket-card__info-title a {
    color: var(--text-primary);
    text-decoration: none;
}

.new-ui-anket-card__info-title a:hover {
    color: #fff;
}

.new-ui-anket-card__info-age {
    font-weight: 600;
    color: var(--text-secondary);
}

.new-ui-anket-card__phys--below {
    padding: 0;
    background: none;
    justify-content: flex-start;
    gap: 0.65rem;
}

.new-ui-anket-card__phys--below .new-ui-anket-card__phys-i {
    flex: 0 0 auto;
}

.new-ui-anket-card__desc {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.4;
    color: var(--text-secondary);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.new-ui-anket-card__foot {
    margin-top: auto;
    padding-top: 0.72rem;
    border-top: 1px solid var(--border-default);
}

.new-ui-anket-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.35rem 0 0.1rem;
    border: none;
    border-radius: 0;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    color: var(--text-primary);
    background: transparent;
    box-shadow: none;
    transition: color 0.15s ease;
}

.new-ui-anket-card__cta:hover {
    color: #d4b87a;
    filter: none;
    border-color: transparent;
    box-shadow: none;
}

.new-ui-anket-card__cta:hover .new-ui-anket-card__cta-arr {
    transform: translateX(3px);
}

.new-ui-anket-card__cta:active {
    filter: none;
    box-shadow: none;
}

.new-ui-anket-card__cta-arr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.new-ui-anket-card__cta-arr svg {
    display: block;
    width: 18px;
    height: 18px;
}

.new-ui-catalog-grid {
    margin-top: 0;
}

@media (max-width: 480px) {
    .new-ui-anket-card__top {
        margin-bottom: 0.32rem;
    }

    .new-ui-anket-card__body {
        grid-template-columns: 1fr;
        gap: 0.72rem;
    }

    .new-ui-anket-card__rates {
        width: 100%;
        height: auto;
        margin-top: 0.5rem;
        padding-top: 0.2rem;
    }

    .new-ui-anket-card__rate-row {
        flex: none;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .new-ui-anket-card__rate-row:first-child {
        padding-top: 0.35rem;
    }

    .new-ui-anket-card__rate-row:last-child {
        padding-bottom: 0.5rem;
    }

    .new-ui-anket-card__photo-link {
        aspect-ratio: 4 / 5;
    }

    .new-ui-anket-card__phys {
        gap: 0.22rem;
    }

    .new-ui-anket-card__photo-overlay .new-ui-anket-card__phys {
        padding-top: 0.28rem;
    }

    .new-ui-anket-card__foot {
        padding-top: 1.15rem;
    }
}

/* --- Страница анкеты (полный профиль) --- */
.new-ui-anketa-page {
    padding: clamp(0.75rem, 2.5vw, 1.5rem) 0 clamp(2rem, 5vw, 3rem);
    --anketa-border: rgba(201, 184, 150, 0.45);
    --anketa-glass: rgba(12, 4, 10, 0.45);
    --nui-anketa-link-hover: #ffd8a8;
}

/* Верх анкеты: заголовок | избранное | бейджи (одна строка, макет K Lady) */
.new-ui-anketa-hero__bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1.25rem;
}

.new-ui-anketa-hero__fav-slot {
    --anketa-hero-chip-w: 13rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    justify-self: center;
}

.new-ui-anketa-hero__fav-slot:has(.new-ui-anketa-fav) {
    display: inline-grid;
    grid-template-columns: var(--anketa-hero-chip-w) var(--anketa-hero-chip-w);
    align-items: center;
    gap: 0.5rem;
}

/* Рейтинг и избранное в шапке анкеты — одинаковая ширина и высота */
.new-ui-anketa-hero__fav-slot .new-ui-anketa-hero-chip {
    width: var(--anketa-hero-chip-w);
    min-width: var(--anketa-hero-chip-w);
    max-width: var(--anketa-hero-chip-w);
}

.new-ui-anketa-hero-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    height: 2.45rem;
    min-height: 2.45rem;
    max-height: 2.45rem;
    padding: 0 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(201, 168, 120, 0.55);
    background: rgba(8, 4, 6, 0.55);
    box-sizing: border-box;
    line-height: 1;
}

.new-ui-anketa-hero-rating {
    gap: 0.35rem;
}

.new-ui-anketa-hero-rating .rating-area {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
}

.new-ui-anketa-hero-rating .rating-area label {
    float: none;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    font-size: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.new-ui-anketa-hero-rating .rating-area label .nui-rating-star {
    width: 14px;
    height: 14px;
}

.new-ui-anketa-hero-rating__value {
    font-size: 0.74rem;
    font-weight: 700;
    color: rgba(255, 245, 230, 0.95);
    letter-spacing: 0.03em;
    line-height: 1;
}

.new-ui-anketa-hero-rating--empty .new-ui-anketa-hero-rating__value {
    color: rgba(195, 190, 205, 0.72);
}

.new-ui-anketa-hero-rating--empty .rating-area label .nui-rating-star--off {
    opacity: 0.55;
}

.new-ui-anketa-hero__bar .new-ui-anketa-badges {
    justify-self: end;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    max-width: 100%;
}

.new-ui-anketa-title {
    margin: 0;
    justify-self: start;
    min-width: 0;
    font-size: clamp(1.35rem, 4vw, 1.95rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: rgba(255, 252, 255, 0.98);
}

.new-ui-anketa-fav {
    color: #fff;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        border-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

.new-ui-anketa-fav:hover {
    border-color: rgba(230, 200, 150, 0.85);
    color: #fff;
}

.new-ui-anketa-fav__lbl {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #fff;
    text-align: center;
}

.new-ui-anketa-fav__icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.new-ui-anketa-fav__heart,
.new-ui-heart-icon {
    display: block;
    flex-shrink: 0;
    transition: opacity 0.18s ease, transform 0.16s ease;
}

.new-ui-anketa-fav__heart-fill {
    position: absolute;
    inset: 0;
    width: 22px;
    height: 22px;
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.16s ease;
    pointer-events: none;
}

.new-ui-anketa-fav:not(.is-active) .new-ui-anketa-fav__heart {
    opacity: 0.78;
}

.new-ui-anketa-fav.is-active {
    border-color: rgba(236, 120, 170, 0.75);
    color: #fff;
    background: rgba(50, 12, 32, 0.65);
    box-shadow: 0 0 0 1px rgba(255, 120, 170, 0.2);
}

.new-ui-anketa-fav.is-active .new-ui-anketa-fav__heart {
    opacity: 0;
}

.new-ui-anketa-fav.is-active .new-ui-anketa-fav__heart-fill {
    opacity: 1;
}

.new-ui-anketa-badges {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.35rem;
    justify-content: flex-start;
    margin-bottom: 1rem;
}

.new-ui-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    color: #fff;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.new-ui-badge--real {
    gap: 0.2rem;
    background: var(--badge-real-bg);
    color: var(--badge-real-text);
}
.new-ui-badge--checked {
    background: var(--badge-video-bg);
    color: var(--badge-video-text);
}
.new-ui-badge--premium {
    background: var(--badge-premium-bg);
    color: var(--badge-premium-text);
}

/* Метки в кабинете пользователя — те же стили, что на карточках каталога */
.new-ui-user-girl-card__badge--premium {
    background: var(--badge-premium-bg);
    color: var(--badge-premium-text);
}
.new-ui-badge--new {
    background: var(--badge-new-bg);
    color: var(--badge-new-text);
}
.new-ui-badge--video {
    background: var(--badge-video-bg);
    color: var(--badge-video-text);
}
.new-ui-badge--voice {
    background: var(--badge-voice-bg);
    color: var(--badge-voice-text);
}
.new-ui-badge--trans {
    background: #c45c8b;
}
.new-ui-badge--indi {
    background: linear-gradient(180deg, #7c4bcf, #4f2d9e);
    color: #fff;
}

.new-ui-anketa-verify {
    margin: 0 0 0.75rem;
    font-size: 0.82rem;
    color: var(--muted);
}

.new-ui-anketa-alert {
    padding: 0.75rem 1rem;
    border-radius: 10px;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.new-ui-anketa-alert--danger {
    border: 1px solid rgba(220, 80, 100, 0.45);
    background: rgba(80, 20, 35, 0.35);
}

.new-ui-anketa-alert--info {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.2);
}

/* Галерея: до 5 карточек в ряд на широком экране, стрелки по краям */
.new-ui-anketa-gallery {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    margin: 0 0 1.5rem;
}

.new-ui-anketa-gallery__strip {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 0.2rem 0;
    flex: 1;
    min-width: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.new-ui-anketa-gallery__item[href][data-fancybox] {
    cursor: zoom-in;
}

.new-ui-anketa-gallery__item {
    flex: 0 0 min(72%, 220px);
    scroll-snap-align: start;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--anketa-border);
    aspect-ratio: 3 / 4;
    display: block;
    background: #0a0608;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
}

.new-ui-anketa-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.new-ui-anketa-gallery__item.greyscale_img,
.new-ui-anketa-gallery__item.greyscale_img img,
.new-ui-anketa-gallery__item.greyscale_img video,
.new-ui-anketa-gallery--unpaid .new-ui-anketa-gallery__item,
.new-ui-anketa-gallery--unpaid .new-ui-anketa-gallery__item img,
.new-ui-anketa-gallery--unpaid .new-ui-anketa-gallery__item video,
img.greyscale_img {
    filter: grayscale(100%) !important;
}

.fancybox__container[data-anketa-unpaid="1"] .fancybox__slide img,
.fancybox__container[data-anketa-unpaid="1"] .fancybox__slide video {
    filter: grayscale(100%) !important;
}

.new-ui-anketa-gallery__item--video {
    padding: 0;
    display: block;
}

.new-ui-anketa-gallery__video-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #000;
}

.new-ui-anketa-gallery__arr {
    flex-shrink: 0;
    align-self: center;
    width: 2.35rem;
    height: 3.25rem;
    border-radius: 10px;
    border: 1px solid rgba(201, 184, 150, 0.45);
    background: rgba(12, 6, 10, 0.75);
    color: #d4b896;
    cursor: pointer;
    font-size: 1.65rem;
    font-weight: 300;
    line-height: 1;
    transition:
        border-color 0.15s ease,
        color 0.15s ease,
        background 0.15s ease;
}

.new-ui-anketa-gallery__arr:hover {
    border-color: rgba(232, 210, 180, 0.9);
    color: #fff5e8;
    background: rgba(28, 14, 22, 0.9);
}

.new-ui-anketa-gallery__arr--prev::before {
    content: "‹";
}
.new-ui-anketa-gallery__arr--next::before {
    content: "›";
}

@media (min-width: 900px) {
    .new-ui-anketa-gallery__item {
        flex: 0 0 calc((100% - 4 * 0.5rem) / 5);
        max-width: calc((100% - 4 * 0.5rem) / 5);
    }
}

@media (min-width: 600px) and (max-width: 899px) {
    .new-ui-anketa-gallery__item {
        flex: 0 0 calc((100% - 2 * 0.5rem) / 3);
        max-width: calc((100% - 2 * 0.5rem) / 3);
    }
}

@media (max-width: 768px) {
    .new-ui-anketa-hero__bar {
        grid-template-columns: 1fr;
        justify-items: stretch;
        text-align: center;
    }

    .new-ui-anketa-hero__bar .new-ui-anketa-title {
        justify-self: center;
        text-align: center;
    }

    .new-ui-anketa-hero__fav-slot {
        justify-self: center;
    }

    .new-ui-anketa-hero__fav-slot:has(.new-ui-anketa-fav) {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0.5rem;
    }

    .new-ui-anketa-hero__bar .new-ui-anketa-badges {
        justify-self: center;
        align-items: center;
        justify-content: flex-start;
    }
}

/* Три колонки после галереи (макет): локация+цены | параметры+доп+контакты | о себе */
.new-ui-anketa-info {
    display: grid;
    grid-template-columns: 1fr 1fr 1.08fr;
    gap: 0.85rem;
    align-items: stretch;
    margin-bottom: 0.85rem;
}

.new-ui-anketa-info__col {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
}

.new-ui-anketa-info__col--right .new-ui-anketa-card--about {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: min(28rem, 70vh);
}

.new-ui-anketa-card--about .new-ui-anketa-about {
    flex: 1 1 auto;
    text-align: justify;
    hyphens: auto;
}

.new-ui-anketa-card--about-empty .new-ui-anketa-about {
    text-align: center;
}

/* Блок «Местоположение»: заголовок по центру, линия, строки иконка — подпись — пунктир — значение */
.new-ui-anketa-card--location {
    padding: 0.9rem 1rem 1rem;
}

.new-ui-anketa-card__title.new-ui-anketa-card__title--loc {
    text-align: center;
    width: 100%;
    margin-bottom: 0.65rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid rgba(200, 168, 120, 0.42);
    color: rgba(230, 216, 190, 0.95);
    letter-spacing: 0.1em;
    font-weight: 800;
}

.new-ui-anketa-loc {
    display: flex;
    flex-direction: column;
    gap: 0.72rem;
}

.new-ui-anketa-loc-row {
    display: flex;
    align-items: flex-end;
    gap: 0.45rem;
    min-height: 1.65rem;
}

.new-ui-anketa-loc-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.new-ui-anketa-loc-ic svg {
    display: block;
    width: 18px;
    height: 18px;
}

.new-ui-anketa-loc-ic--pin {
    background: center / contain no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a962' stroke-width='1.65'%3E%3Cpath d='M12 21s7-5.2 7-11a7 7 0 10-14 0c0 5.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2' fill='none' stroke='%23c9a962'/%3E%3C/svg%3E");
}

.new-ui-anketa-loc-lbl {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    color: rgba(255, 252, 255, 0.96);
    text-transform: uppercase;
    white-space: nowrap;
}

.new-ui-anketa-loc-leader {
    flex: 1 1 auto;
    min-width: 0.75rem;
    height: 0;
    margin: 0 0.15rem;
    align-self: flex-end;
    background: transparent;
    border: none;
    border-bottom: 1px dotted rgba(201, 184, 150, 0.55);
    box-sizing: border-box;
}

.new-ui-anketa-loc-val {
    flex-shrink: 0;
    max-width: 52%;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: right;
    text-transform: uppercase;
    color: rgba(255, 252, 255, 0.98);
    text-decoration: none;
    transition: color 0.15s ease;
}

.new-ui-anketa-loc-val:hover {
    color: var(--nui-anketa-link-hover);
}

/* Кликабельный текст в анкете: золотой hover как у метро / «Є пірсинг» */
.new-ui-anketa-page .new-ui-anketa-loc-val:hover,
.new-ui-anketa-page .new-ui-anketa-params-hair__val a:hover,
.new-ui-anketa-page .new-ui-anketa-tags--flags a:hover,
.new-ui-anketa-page .new-ui-anketa-places--mock .places a:hover,
.new-ui-anketa-page .new-ui-anketa-places .places a:hover,
.new-ui-anketa-page .new-ui-anketa-param:hover .new-ui-anketa-param__val,
.new-ui-anketa-page .new-ui-anketa-services--chips a:hover {
    color: var(--nui-anketa-link-hover);
}

/* Блок «Цены» + «Места выезда» (одна карта, как на макете) */
.new-ui-anketa-card--prices-block {
    padding: 0.9rem 1rem 1rem;
}

.new-ui-anketa-prices__col-title {
    margin: 0.35rem 0 0.42rem;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: center;
    color: rgba(230, 216, 190, 0.95);
}

.new-ui-anketa-card__title--section {
    margin-top: 0.85rem;
    margin-bottom: 0.65rem;
    font-size: 0.72rem;
}

/* Цены: две колонки, иконки, пунктир у нижней кромки строки */
.new-ui-anketa-prices--mock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem 0.85rem;
}

.new-ui-anketa-rate-lines {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.new-ui-anketa-rate-line {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: flex-end;
    gap: 0.35rem 0.45rem;
    font-size: 0.72rem;
    min-height: 1.5rem;
}

.new-ui-anketa-rate-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.95;
}

.new-ui-anketa-rate-ic svg {
    display: block;
    width: 16px;
    height: 16px;
}

.new-ui-anketa-rate-lbl {
    color: rgba(255, 252, 255, 0.96);
    font-weight: 600;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.new-ui-anketa-rate-dots {
    border-bottom: 1px dotted rgba(201, 184, 150, 0.55);
    min-width: 0;
    height: 0;
    align-self: flex-end;
}

.new-ui-anketa-rate-val {
    text-align: right;
    font-weight: 700;
    color: rgba(255, 248, 252, 0.95);
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.new-ui-anketa-rate-val .table-prices,
.new-ui-anketa-rate-val svg {
    vertical-align: middle;
}

.new-ui-anketa-rate-mark-none {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.08rem;
    height: 1.08rem;
    border-radius: 50%;
    border: 1px solid rgba(160, 155, 170, 0.55);
    box-sizing: border-box;
    background: rgba(35, 32, 42, 0.85);
    color: rgba(195, 190, 205, 0.95);
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1;
}

.new-ui-anketa-places--mock .places {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem 0.5rem;
    margin-top: 0.2rem;
}

.new-ui-anketa-places--mock .places a {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 252, 255, 0.95);
    text-decoration: none;
    transition: color 0.15s ease;
}

.new-ui-anketa-places--mock .places a.pink {
    color: rgba(255, 252, 255, 0.95);
}

.new-ui-anketa-places--mock .places a:not(.pink) {
    color: rgba(195, 190, 205, 0.78);
}

.new-ui-anketa-places--mock .places a:hover {
    color: var(--nui-anketa-link-hover);
}

.new-ui-anketa-places--mock .places a img {
    display: none;
}

.new-ui-anketa-places--mock .places a.pink::before {
    content: "\2713";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    border: 1px solid rgba(201, 169, 98, 0.58);
    box-sizing: border-box;
    color: #d4b87a;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
}

.new-ui-anketa-places--mock .places a:not(.pink)::before {
    content: "\2717";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    border: 1px solid rgba(160, 155, 170, 0.55);
    box-sizing: border-box;
    background: rgba(35, 32, 42, 0.85);
    color: rgba(195, 190, 205, 0.95);
    font-size: 0.62rem;
    line-height: 1;
}

/* Параметры: заголовок по центру, сетка 2×2, строка иконка — подпись — пунктир — значение */
.new-ui-anketa-card--params {
    padding: 0.9rem 1rem 1rem;
}

.new-ui-anketa-params-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem 1rem;
}

.new-ui-anketa-param {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: flex-end;
    gap: 0.35rem 0.45rem;
    min-height: 1.55rem;
    padding: 0.22rem 0;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.15s ease;
}

.new-ui-anketa-param:hover {
    opacity: 0.92;
}

.new-ui-anketa-param:hover .new-ui-anketa-param__val {
    color: var(--nui-anketa-link-hover);
}

.new-ui-anketa-param__ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: 0.95;
}

.new-ui-anketa-param__ic svg {
    display: block;
    width: 18px;
    height: 18px;
}

.new-ui-anketa-param__ic--cake {
    background: center / contain no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a962' stroke-width='1.5'%3E%3Cpath d='M4 22h16V10H4v12zM8 10V7a4 4 0 018 0v3'/%3E%3Cpath d='M6 14h4M14 14h4'/%3E%3C/svg%3E");
}

.new-ui-anketa-param__lbl {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 252, 255, 0.96);
    white-space: nowrap;
}

.new-ui-anketa-param__leader {
    height: 0;
    min-width: 0.75rem;
    margin: 0 0.1rem;
    align-self: flex-end;
    background: transparent;
    border: none;
    border-bottom: 1px dotted rgba(201, 184, 150, 0.55);
    box-sizing: border-box;
}

.new-ui-anketa-param__val {
    flex-shrink: 0;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: right;
    color: rgba(255, 248, 252, 0.95);
    min-width: 0;
}

.new-ui-anketa-params-hair {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 1rem;
    margin-top: 0.6rem;
    padding-top: 0.55rem;
    border-top: 1px dashed rgba(201, 184, 150, 0.2);
}

.new-ui-anketa-params-hair__item {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
}

.new-ui-anketa-params-hair__lbl {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 252, 255, 0.96);
    white-space: nowrap;
}

.new-ui-anketa-card--params > .new-ui-anketa-card__title,
.new-ui-anketa-card--params .new-ui-anketa-params-hair__lbl {
    color: rgba(230, 216, 190, 0.95);
    letter-spacing: 0.1em;
    font-weight: 800;
}

.new-ui-anketa-params-hair__val {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 252, 255, 0.98);
}

.new-ui-anketa-params-hair__val a {
    color: inherit;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.15s ease;
}

.new-ui-anketa-params-hair__val a:hover {
    color: var(--nui-anketa-link-hover);
}

/* Дополнительно: заголовок с короткой линией, чипы с круглыми значками */
.new-ui-anketa-card--also {
    padding: 0.9rem 1rem 1rem;
}

.new-ui-anketa-card--also .new-ui-anketa-card__title--loc {
    width: auto;
    max-width: 100%;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.65rem;
}

.new-ui-anketa-tags--flags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.15rem;
    margin: 0;
    padding: 0;
}

.new-ui-anketa-tags--flags a {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    width: auto;
    flex: 0 1 auto;
    margin: 0;
    padding: 0.3rem 0;
    border: none;
    border-radius: 0;
    background: transparent;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 252, 255, 0.96);
    text-decoration: none;
    transition: color 0.15s ease;
}

.new-ui-anketa-tags--flags a:hover {
    color: var(--nui-anketa-link-hover);
}

.new-ui-anketa-tags--flags a img {
    display: none;
}

.new-ui-anketa-tags--flags a.isset::before {
    content: "\2713";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.08rem;
    height: 1.08rem;
    border-radius: 50%;
    border: 1px solid rgba(201, 169, 98, 0.58);
    box-sizing: border-box;
    color: #d4b87a;
    font-size: 0.6rem;
    font-weight: 800;
    line-height: 1;
}

.new-ui-anketa-tags--flags a.none::before {
    content: "\2717";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.08rem;
    height: 1.08rem;
    border-radius: 50%;
    border: 1px solid rgba(160, 155, 170, 0.55);
    box-sizing: border-box;
    background: rgba(35, 32, 42, 0.85);
    color: rgba(195, 190, 205, 0.95);
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1;
}

.new-ui-anketa-tags--flags a.none {
    color: rgba(195, 190, 205, 0.78);
}

/* Контакты: только заголовок + кнопка показа телефона (как на макете) */
.new-ui-anketa-contacts__phone-wrap {
    display: flex;
    justify-content: center;
}

/* Карточка «Контакты»: тёмный фон, короткая линия у заголовка, pill-кнопка с градиентом */
.new-ui-anketa-card--contacts {
    text-align: center;
    padding: 1.35rem 1.2rem 1.3rem;
    border-radius: 18px;
    background: linear-gradient(165deg, rgba(48, 22, 32, 0.95) 0%, rgba(18, 8, 10, 0.98) 55%, rgba(14, 6, 8, 1) 100%);
    border-color: rgba(165, 130, 82, 0.5);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 8px 28px rgba(0, 0, 0, 0.35);
}

.new-ui-anketa-card--contacts .new-ui-anketa-card__title--loc {
    width: auto;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.75rem;
}

.new-ui-anketa-card--contacts .new-ui-anketa-phone-btn.show_phone {
    position: relative;
    z-index: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.75rem;
    min-width: min(100%, 20rem);
    border-radius: 999px;
    border: none;
    font-weight: 700;
    letter-spacing: 0.07em;
    font-size: 0.65rem;
    line-height: 1.25;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #4a162a 0%, #632238 42%, #ab2e52 100%);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
    transition:
        filter 0.15s ease,
        transform 0.12s ease;
}

.new-ui-anketa-card--contacts .new-ui-anketa-phone-btn.show_phone::before {
    content: "";
    position: absolute;
    top: -25%;
    left: 0;
    width: 42%;
    height: 150%;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 238, 202, 0.1) 38%,
        rgba(255, 255, 255, 0.35) 50%,
        rgba(255, 238, 202, 0.1) 62%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-22deg) translateX(-130%);
    animation: new-ui-phone-btn-sheen 3.6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes new-ui-phone-btn-sheen {
    0% {
        transform: skewX(-22deg) translateX(-130%);
    }

    100% {
        transform: skewX(-22deg) translateX(320%);
    }
}

.new-ui-anketa-card--contacts .new-ui-anketa-phone-btn.show_phone::after {
    content: "\203A";
    position: relative;
    z-index: 1;
    display: inline-block;
    font-size: 1.35em;
    font-weight: 300;
    line-height: 1;
    opacity: 0.95;
    transform: translateY(-0.03em);
}

.new-ui-anketa-card--contacts .new-ui-anketa-phone-btn.show_phone:hover {
    filter: brightness(1.07);
    transform: translateY(-1px);
}

/* Липкая плашка «Позвони мне» (моб.) */
.new-ui-anketa-call-stick {
    display: none;
}

@media (max-width: 767px) {
    .new-ui-anketa-call-stick {
        position: fixed;
        left: 0;
        right: 0;
        bottom: -6.5rem;
        z-index: 120;
        display: block;
        padding: 0.55rem 0.85rem calc(0.55rem + env(safe-area-inset-bottom, 0px));
        text-align: center;
        background: linear-gradient(180deg, rgba(28, 14, 18, 0.98) 0%, rgba(12, 6, 8, 1) 100%);
        border-top: 1px solid rgba(200, 168, 120, 0.42);
        box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.42);
        transition: bottom 0.45s ease;
        pointer-events: none;
    }

    .new-ui-anketa-call-stick.is-visible {
        bottom: 0;
        pointer-events: auto;
    }

    .new-ui-anketa-call-stick__name {
        margin: 0 0 0.35rem;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2;
        color: #fff;
    }

    .new-ui-anketa-call-stick__actions {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .new-ui-anketa-call-stick__btn.show_phone {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        border: none;
        background: transparent;
        color: #ff4d8d;
        font-size: 1.12rem;
        font-weight: 700;
        line-height: 1.25;
        text-decoration: none;
        animation: new-ui-call-stick-pulse 1s infinite;
    }

    .new-ui-anketa-call-stick__actions .new-ui-anketa-contacts-reveal {
        align-items: center;
        gap: 0.55rem;
        padding-top: 0;
    }

    .new-ui-anketa-call-stick__actions .new-ui-anketa-contacts-reveal__phone {
        justify-content: center;
    }

    .new-ui-anketa-call-stick__actions .new-ui-anketa-contacts-reveal__messengers {
        justify-content: center;
        gap: 0.45rem 0.75rem;
    }
}

@keyframes new-ui-call-stick-pulse {
    0%,
    100% {
        -webkit-text-stroke: 0 transparent;
        text-shadow: none;
    }

    50% {
        -webkit-text-stroke: 0.4px #ff4d8d;
        text-shadow: 0 0 8px rgba(255, 77, 141, 0.35);
    }
}

/* Ответ /show-phone/?new_ui=1: номер + строка мессенджеров */
.new-ui-anketa-contacts-reveal {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 0.15rem;
}

.new-ui-anketa-contacts-reveal__phone {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    width: 100%;
}

.new-ui-anketa-contacts-reveal__phone-ic {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    background: center / contain no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a962' stroke-width='1.55'%3E%3Cpath stroke-linecap='round' d='M3.5 5.5C4.2 14 10 19.8 18.5 20.5l1.8-3.5c.35-.66-.06-1.48-.82-1.73l-2.4-.75c-.65-.2-1.35.06-1.74.57a12.1 12.1 0 01-3.72-3.72c.51-.39.77-1.1.57-1.74l-.75-2.4c-.25-.76-1.07-1.17-1.73-.82L3.5 5.5z'/%3E%3Cpath stroke-linecap='round' d='M16 3c3.5.5 6.5 3.5 7 7M16 7c2 .3 3.7 2 4 4' opacity='.85'/%3E%3C/svg%3E");
}

.new-ui-anketa-contacts-reveal__phone-link {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #fff;
    text-decoration: none;
}

.new-ui-anketa-contacts-reveal__phone-link:hover {
    color: #ffd8a8;
}

.new-ui-anketa-contacts-reveal__messengers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem 1.15rem;
    width: 100%;
}

.new-ui-anketa-contacts-reveal__msg {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    gap: 0.42rem;
    color: rgba(255, 252, 255, 0.98);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: opacity 0.15s ease;
    white-space: nowrap;
}

.new-ui-anketa-contacts-reveal__msg:hover {
    opacity: 0.88;
}

.new-ui-anketa-contacts-reveal__msg-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: #fff;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

.new-ui-anketa-contacts-reveal__msg-ic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.new-ui-anketa-contacts-reveal__msg--viber .new-ui-anketa-contacts-reveal__msg-ic {
    background: #7360f2;
    padding: 5px;
    box-sizing: border-box;
}

.new-ui-anketa-contacts-reveal__msg--viber .new-ui-anketa-contacts-reveal__msg-ic img {
    object-fit: contain;
}

.new-ui-anketa-contacts-reveal__msg--tg .new-ui-anketa-contacts-reveal__msg-ic {
    background: #24a1de;
    padding: 5px;
    box-sizing: border-box;
}

.new-ui-anketa-contacts-reveal__msg--tg .new-ui-anketa-contacts-reveal__msg-ic img {
    object-fit: contain;
}

.new-ui-anketa-contacts-reveal__msg--wa .new-ui-anketa-contacts-reveal__msg-ic {
    background: #25d366;
    padding: 5px;
    box-sizing: border-box;
}

.new-ui-anketa-contacts-reveal__msg--wa .new-ui-anketa-contacts-reveal__msg-ic img {
    object-fit: contain;
}

.new-ui-anketa-muted--center {
    margin: 0.35rem 0 0;
    text-align: center;
}

.new-ui-anketa-card {
    border: 1px solid var(--anketa-border);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    background: var(--anketa-glass);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.new-ui-anketa-card--wide {
    grid-column: auto;
}

.new-ui-anketa-card__title {
    margin: 0 0 0.65rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(230, 216, 190, 0.95);
}

.new-ui-anketa-card__title.new-ui-anketa-card__title--section {
    margin-top: 0.85rem;
    margin-bottom: 0.65rem;
}

.new-ui-anketa-subhead {
    margin: 0.65rem 0 0.45rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(200, 185, 160, 0.88);
}

.new-ui-anketa-kv {
    margin: 0;
}

.new-ui-anketa-kv__row {
    display: grid;
    grid-template-columns: minmax(0, 42%) 1fr;
    gap: 0.35rem 0.65rem;
    padding: 0.28rem 0;
    border-bottom: 1px dashed rgba(201, 184, 150, 0.2);
    font-size: 0.86rem;
    align-items: baseline;
}

.new-ui-anketa-kv__row:last-child {
    border-bottom: none;
}

.new-ui-anketa-kv dt {
    margin: 0;
    color: rgba(180, 174, 188, 0.82);
    font-weight: 600;
}

.new-ui-anketa-kv dd {
    margin: 0;
    text-align: right;
    color: rgba(250, 246, 255, 0.92);
}

.new-ui-anketa-kv a {
    color: var(--accent);
    text-decoration: none;
}

.new-ui-anketa-kv a:hover {
    text-decoration: underline;
}

.new-ui-anketa-about {
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(235, 228, 240, 0.9);
}

.new-ui-anketa-prices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.new-ui-anketa-places .places {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin-top: 0.35rem;
}

.new-ui-anketa-places .places a {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.7rem;
    color: rgba(240, 232, 250, 0.9);
    text-decoration: none;
    transition: color 0.15s ease;
}

.new-ui-anketa-places .places a:hover {
    color: var(--nui-anketa-link-hover);
}

.new-ui-anketa-places .places a.pink {
    color: rgba(255, 252, 255, 0.95);
}

.new-ui-anketa-places .places a:not(.pink) {
    color: rgba(195, 190, 205, 0.78);
}

.new-ui-anketa-services a,
.new-ui-anketa-tags:not(.new-ui-anketa-tags--flags) a {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0.2rem 0.35rem 0.2rem 0;
    padding: 0.25rem 0.45rem;
    border-radius: 8px;
    border: 1px solid rgba(201, 184, 150, 0.25);
    font-size: 0.78rem;
    color: rgba(235, 228, 240, 0.92);
    text-decoration: none;
    background: rgba(0, 0, 0, 0.15);
}

.new-ui-anketa-services.cols-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 1rem;
}

/* Услуги: только отмеченные в анкете, чипы в ряд (как на макете) */
.new-ui-anketa-card--services-strip {
    padding: 1rem 1.15rem 1.15rem;
    border: 1px solid rgba(168, 135, 95, 0.65);
    border-radius: 12px;
    background: transparent;
}

.new-ui-anketa-card__title--services {
    text-align: left;
    width: auto;
    display: table;
    margin: 0 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(170, 145, 105, 0.48);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 252, 250, 0.98);
}

.new-ui-anketa-services--chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem 0.55rem;
}

.new-ui-anketa-services--chips a {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0.48rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(170, 140, 100, 0.6);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.96);
    background: linear-gradient(165deg, rgba(48, 28, 22, 0.55) 0%, rgba(18, 10, 8, 0.72) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition:
        color 0.15s ease,
        border-color 0.15s ease,
        background 0.15s ease;
}

.new-ui-anketa-services--chips a:hover {
    color: var(--nui-anketa-link-hover);
    border-color: rgba(200, 170, 125, 0.75);
    background: linear-gradient(165deg, rgba(62, 36, 28, 0.65) 0%, rgba(28, 16, 12, 0.78) 100%);
}

.new-ui-anketa-services--chips a img {
    display: none;
}

/* Инфоблок под сеткой анкеты (прозрачный фон, золотистая рамка, короткий разделитель между абзацами) */
.new-ui-anketa-notice {
    margin: 0.85rem 0 1rem;
    padding: 1.25rem 1.5rem 1.3rem;
    text-align: left;
    border-radius: 10px;
    border: 1px solid rgba(168, 135, 95, 0.75);
    background: transparent;
    box-shadow: none;
}

.new-ui-anketa-notice__line {
    margin: 0;
    max-width: 100%;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.96);
    text-transform: uppercase;
}

/* Короткая линия слева (~¼ ширины), цвет как у рамки */
.new-ui-anketa-notice__line:not(:last-child)::after {
    content: "";
    display: block;
    width: 24%;
    min-width: 4rem;
    max-width: 8.5rem;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    border: 0;
    border-top: 1px solid rgba(168, 135, 95, 0.75);
}

.new-ui-anketa-notice__line + .new-ui-anketa-notice__line {
    margin-top: 0;
}

.new-ui-anketa-notice__line b,
.new-ui-anketa-notice__line strong {
    font-weight: 700;
    color: inherit;
}

.new-ui-anketa-notice .pink,
.new-ui-anketa-notice__line .pink {
    font-weight: 700;
    color: inherit;
}

.new-ui-anketa-notice__link {
    color: #d4b87a;
    text-decoration: none;
}

.new-ui-anketa-notice__link:hover {
    color: #e6c88a;
    text-decoration: underline;
}

.new-ui-anketa-notice__danger {
    color: #ef5a5a;
    font-weight: 800;
}

.new-ui-anketa-warn {
    margin: 0.9rem 0;
    padding: 0.78rem 0.95rem;
    border-radius: 12px;
    border: 1px solid rgba(214, 108, 142, 0.55);
    background:
        linear-gradient(135deg, rgba(107, 28, 50, 0.55) 0%, rgba(53, 18, 35, 0.72) 55%, rgba(32, 10, 24, 0.82) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 8px 24px rgba(0, 0, 0, 0.28);
    color: rgba(255, 226, 236, 0.98);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.01em;
}

/* Голосовое сообщение: перед услугами, макет K Lady */
.new-ui-anketa-voice {
    margin: 1rem 0;
    padding: 1rem 1.15rem 1.12rem;
    border-radius: 12px;
    border: 1px solid rgba(92, 64, 51, 0.55);
    background: rgba(0, 0, 0, 0.4);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 2px 14px rgba(0, 0, 0, 0.25);
}

.new-ui-anketa-voice__heading {
    margin: 0 0 0.85rem;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.25;
    text-align: left;
}

.new-ui-anketa-voice__title {
    display: inline-block;
    margin: 0;
    padding: 0 0 0.45rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(255, 252, 250, 0.96);
    border-bottom: 1px solid rgba(170, 135, 100, 0.55);
}

.new-ui-anketa-voice__chrome {
    display: flex;
    align-items: center;
    gap: clamp(0.55rem, 2.5vw, 0.95rem);
    min-height: 2.85rem;
    padding: 0.48rem clamp(0.65rem, 2.2vw, 1rem);
    border-radius: 999px;
    border: 1px solid rgba(130, 100, 75, 0.45);
    background: linear-gradient(
        180deg,
        rgba(95, 72, 55, 0.55) 0%,
        rgba(52, 36, 28, 0.82) 42%,
        rgba(28, 18, 14, 0.92) 100%
    );
    box-shadow:
        inset 0 1px 0 rgba(255, 228, 200, 0.12),
        inset 0 -1px 0 rgba(0, 0, 0, 0.35);
}

.new-ui-anketa-voice__chrome-tag {
    flex-shrink: 0;
    font-size: 0.642rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 254, 252, 0.95);
    white-space: nowrap;
}

.new-ui-anketa-voice__audio {
    flex: 1 1 auto;
    min-width: 0;
    height: 2.35rem;
    vertical-align: middle;
}

@media (max-width: 520px) {
    .new-ui-anketa-voice__chrome {
        flex-wrap: wrap;
        border-radius: 14px;
    }

    .new-ui-anketa-voice__chrome-tag {
        width: 100%;
        padding-bottom: 0.08rem;
    }

    .new-ui-anketa-voice__audio {
        width: 100%;
    }
}

.new-ui-anketa-video,
.new-ui-anketa-gallery__video-el {
    -webkit-user-select: none;
    user-select: none;
}

.new-ui-anketa-video::-webkit-media-controls-enclosure,
.new-ui-anketa-gallery__video-el::-webkit-media-controls-enclosure {
    overflow: hidden;
}

.new-ui-anketa-video::-webkit-media-controls-download-button,
.new-ui-anketa-gallery__video-el::-webkit-media-controls-download-button {
    display: none;
}

.new-ui-anketa-video {
    width: 100%;
    max-height: min(70vh, 520px);
    border-radius: 10px;
    margin-top: 0.35rem;
    background: #000;
}

.new-ui-anketa-muted {
    color: var(--muted);
    font-size: 0.88rem;
}

/* Блок «Отзывы»: карточка, пустое состояние, кнопка, форма */
.new-ui-anketa-reviews-block {
    margin: 1rem 0;
    padding: 1.15rem 1.25rem 1.25rem;
    border: 1px solid rgba(168, 135, 95, 0.65);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.new-ui-anketa-reviews-block .new-ui-anketa-card__title--reviews-head {
    color: rgba(255, 252, 250, 0.98);
    border-bottom-color: rgba(170, 145, 105, 0.5);
}

.new-ui-anketa-reviews-empty {
    margin: 0.85rem auto 0;
    max-width: 28rem;
    padding: 0.8rem 1.1rem;
    text-align: center;
    border: 1px solid rgba(168, 135, 95, 0.55);
    border-radius: 10px;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.96);
}

.new-ui-anketa-reviews-list + .new-ui-anketa-reviews-cta {
    margin-top: 1rem;
}

.new-ui-anketa-reviews-empty + .new-ui-anketa-reviews-cta {
    margin-top: 1rem;
}

.new-ui-anketa-reviews-cta {
    margin-top: 0.85rem;
    text-align: center;
}

.new-ui-anketa-reviews-note {
    margin: 0.35rem 0 0;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.88);
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 0.15rem;
    padding: 0.65rem 1.65rem;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-weight: 700;
    letter-spacing: 0.07em;
    font-size: 0.65rem;
    color: #fff;
    background: linear-gradient(90deg, #3f141c 0%, #651c28 38%, #8f2438 100%);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    transition:
        filter 0.15s ease,
        transform 0.12s ease;
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-toggle:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-toggle::after {
    content: "\203A";
    font-size: 1.2em;
    font-weight: 300;
    line-height: 1;
    opacity: 0.95;
}

.new-ui-anketa-page .review-form.close {
    display: none;
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-form {
    margin: 1.05rem 0 0;
    padding: 1.05rem 0 0;
    border: none;
    border-top: 1px solid rgba(168, 135, 95, 0.38);
    border-radius: 0;
    background: transparent;
}

.new-ui-anketa-review-field-lbl {
    display: block;
    margin: 0.75rem 0 0.4rem;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
}

.new-ui-anketa-review-field-lbl[for="rev-name"] {
    margin-top: 0;
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-fields input[type="text"],
.new-ui-anketa-reviews-block .new-ui-anketa-review-fields textarea {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    border: 1px solid rgba(170, 145, 105, 0.55);
    background: rgba(0, 0, 0, 0.38);
    color: rgba(255, 250, 252, 0.96);
    font-size: 0.86rem;
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-fields textarea {
    min-height: 7rem;
    resize: vertical;
}

.new-ui-anketa-reviews-block .new-ui-anketa-review-fields input::placeholder,
.new-ui-anketa-reviews-block .new-ui-anketa-review-fields textarea::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.new-ui-anketa-reviews-block .new-ui-anketa-submit-review {
    margin-top: 0.75rem;
    padding: 0.58rem 1.5rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-weight: 700;
    font-size: 0.65rem;
    letter-spacing: 0.07em;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(90deg, #421620 0%, #702030 100%);
    transition: filter 0.15s ease;
}

.new-ui-anketa-reviews-block .new-ui-anketa-submit-review:hover {
    filter: brightness(1.08);
}

.new-ui-anketa-reviews-block .new-ui-anketa-rating-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem 0.75rem;
    margin: 0.85rem 0 0.45rem;
    font-size: 0.64rem;
    color: rgba(255, 255, 255, 0.92);
}

.new-ui-anketa-rating-row__lbl {
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
}

.new-ui-anketa-review-toggle {
    margin-top: 0.75rem;
    padding: 0.55rem 1.2rem;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.82rem;
    color: #fff;
    background: var(--filter-search-bg);
}

.new-ui-anketa-review-form {
    margin: 1rem 0 1.5rem;
    padding: 1rem;
    border: 1px solid var(--anketa-border);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.22);
}

.new-ui-anketa-review-fields input[type="text"],
.new-ui-anketa-review-fields textarea {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.55rem;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.35);
    color: var(--text);
}

.new-ui-anketa-submit-review {
    margin-top: 0.35rem;
    padding: 0.55rem 1.2rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    background: var(--filter-search-bg);
}

.new-ui-anketa-rating-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    color: var(--muted);
}

.new-ui-anketa-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.new-ui-anketa-review {
    width: min(100%, 42rem);
    padding: 0.7rem 0.85rem 0.8rem;
    border-radius: 10px;
    border: 1px solid rgba(168, 135, 95, 0.72);
    background: rgba(255, 252, 248, 0.1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
    font-size: 0.9rem;
    line-height: 1.5;
    color: rgba(255, 252, 250, 0.96);
}

.new-ui-anketa-review__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.45rem;
    margin-bottom: 0.55rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.new-ui-anketa-review__date {
    font-size: 0.78rem;
    font-weight: 700;
    color: rgba(255, 248, 240, 0.92);
}

.new-ui-anketa-review__name {
    font-size: 0.78rem;
    font-weight: 700;
    color: rgba(255, 248, 240, 0.92);
    text-align: right;
}

.new-ui-anketa-review__meta {
    font-size: 0.75rem;
    color: var(--muted);
    margin-bottom: 0.35rem;
}

.new-ui-anketa-review__body .rating-area {
    margin-bottom: 0.45rem;
}

.new-ui-anketa-review__text {
    word-break: break-word;
    color: rgba(255, 252, 250, 0.95);
}

.new-ui-anketa-review--answer {
    width: min(100%, 34rem);
    margin-left: auto;
    margin-top: -0.15rem;
    border-color: rgba(201, 90, 130, 0.55);
    background: rgba(118, 0, 89, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.new-ui-anketa-review--answer .new-ui-anketa-review__head {
    border-bottom-color: rgba(255, 255, 255, 0.16);
}

.new-ui-anketa-review--answer .new-ui-anketa-review__text {
    margin: 0;
}

.new-ui-reviews-page {
    padding: 0.9rem 0 2rem;
    --catalog-card-gap: clamp(1rem, 2.8vw, 1.35rem);
    --catalog-card-min: min(100%, 17.5rem);
}

.new-ui-reviews-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--catalog-card-min), 1fr));
    gap: var(--catalog-card-gap);
    margin-bottom: 1rem;
}

.new-ui-review-card {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 0.85rem;
    padding: 0.7rem;
    border: 1px solid rgba(168, 135, 95, 0.5);
    border-radius: 12px;
    background: rgba(10, 6, 12, 0.5);
    align-items: stretch;
    height: 100%;
}

.new-ui-review-card__photo-wrap {
    width: 110px;
}

.new-ui-review-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.new-ui-review-card__title {
    display: inline-block;
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255, 250, 245, 0.98);
    text-decoration: none;
}

.new-ui-review-card__title:hover {
    text-decoration: underline;
}

.new-ui-review-card .rating-area {
    width: auto;
    margin: 0 0 0.45rem;
}

.new-ui-review-card__text {
    margin: 0 0 0.45rem;
    color: rgba(240, 232, 245, 0.95);
    line-height: 1.45;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.new-ui-review-card__cta {
    width: 100%;
}

.new-ui-reviews-seo-text {
    margin-top: 1rem;
}

@media (max-width: 680px) {
    .new-ui-review-card {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 0.65rem;
        padding: 0.6rem;
    }

    .new-ui-review-card__photo-wrap {
        width: 84px;
    }

    .new-ui-review-card__title {
        font-size: 0.9rem;
    }
}

/* Звёзды рейтинга (как в legacy main-content, но внутри новой анкеты) */
.new-ui-anketa-page .rating-area {
    width: 130px;
    margin-right: 5px;
    overflow: hidden;
}

.new-ui-anketa-page .rating-area label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
}

.new-ui-anketa-page .rating-area label .nui-rating-star {
    display: inline-block;
    width: 16px;
    height: 16px;
}

.new-ui-anketa-page .rating-area label .nui-rating-star--on {
    display: none;
}

.new-ui-anketa-page .rating-area label .nui-rating-star--off {
    display: inline-block;
}

.new-ui-anketa-page .rating-area.form {
    position: static;
    top: auto;
    left: auto;
    transform: none;
}

.new-ui-anketa-page .rating-area:not(:checked) > input {
    display: none !important;
}

.new-ui-anketa-page .rating-area:not(:checked) > label {
    float: right;
    width: 25px;
    padding: 0;
    font-size: 28px;
    line-height: 28px;
    color: rgba(255, 255, 255, 0.22);
    text-shadow: none;
}

.new-ui-anketa-page .rating-area.form:not(:checked) > label {
    cursor: pointer;
}

.new-ui-anketa-page .rating-area:not(:checked) > label:before {
    content: none;
}

.new-ui-anketa-page .rating-area > input:checked ~ label,
.new-ui-anketa-page .rating-area label.active {
    color: inherit;
    text-shadow: none;
}

.new-ui-anketa-page .rating-area > input:checked ~ label .nui-rating-star--on,
.new-ui-anketa-page .rating-area label.active .nui-rating-star--on {
    display: inline-block;
}

.new-ui-anketa-page .rating-area > input:checked ~ label .nui-rating-star--off,
.new-ui-anketa-page .rating-area label.active .nui-rating-star--off {
    display: none;
}

/* --- Страница отзывов (new UI) --- */
.new-ui-reviews-page .rating-area {
    width: auto;
    margin: 0;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.new-ui-reviews-page .rating-area label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    cursor: default;
}

.new-ui-reviews-page .rating-area label .nui-rating-star {
    display: inline-block;
    width: 16px;
    height: 16px;
}

.new-ui-reviews-page .rating-area label .nui-rating-star--on {
    display: none;
}

.new-ui-reviews-page .rating-area label .nui-rating-star--off {
    display: inline-block;
}

.new-ui-reviews-page .rating-area label.active .nui-rating-star--on {
    display: inline-block;
}

.new-ui-reviews-page .rating-area label.active .nui-rating-star--off {
    display: none;
}

.new-ui-anketa-page .rating-area.form:not(:checked) > label:hover,
.new-ui-anketa-page .rating-area.form:not(:checked) > label:hover ~ label {
    color: inherit;
}

.new-ui-anketa-page .rating-area.form:not(:checked) > label:hover .nui-rating-star--on,
.new-ui-anketa-page .rating-area.form:not(:checked) > label:hover ~ label .nui-rating-star--on {
    display: inline-block;
}

.new-ui-anketa-page .rating-area.form:not(:checked) > label:hover .nui-rating-star--off,
.new-ui-anketa-page .rating-area.form:not(:checked) > label:hover ~ label .nui-rating-star--off {
    display: none;
}

.new-ui-anketa-page .rating-area.form > input:checked + label:hover,
.new-ui-anketa-page .rating-area.form > input:checked + label:hover ~ label,
.new-ui-anketa-page .rating-area.form > input:checked ~ label:hover,
.new-ui-anketa-page .rating-area.form > input:checked ~ label:hover ~ label,
.new-ui-anketa-page .rating-area.form > label:hover ~ input:checked ~ label {
    color: inherit;
    text-shadow: none;
}

.new-ui-anketa-flash {
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    margin: 0 0 0.65rem;
    font-size: 0.86rem;
    line-height: 1.4;
}

.new-ui-anketa-flash--ok {
    border: 1px solid rgba(120, 200, 140, 0.45);
    background: rgba(15, 45, 25, 0.42);
    color: #c8f0d0;
}

.new-ui-anketa-flash--err {
    border: 1px solid rgba(220, 100, 100, 0.45);
    background: rgba(60, 15, 20, 0.42);
    color: #ffc8c8;
}

.new-ui-anketa-other__title {
    font-size: 1.05rem;
    margin: 1.5rem 0 0.85rem;
}

@media (max-width: 992px) {
    .new-ui-anketa-info {
        grid-template-columns: 1fr;
    }
    .new-ui-anketa-info__col--right .new-ui-anketa-card--about {
        min-height: 0;
    }
    .new-ui-anketa-prices--mock {
        grid-template-columns: 1fr;
    }
    .new-ui-anketa-services.cols-2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .new-ui-anketa-gallery__item {
        flex-basis: 72%;
    }
    .new-ui-anketa-places--mock .places {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Заголовки секций каталога */
.new-ui-catalog-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin: 0 0 clamp(1rem, 2.5vw, 1.35rem);
}

.new-ui-premium-strip .new-ui-catalog-section-head {
    margin-top: 0.25rem;
}

.new-ui-catalog-section-head__main {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}

.new-ui-catalog-section-head__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--accent-primary);
}

.new-ui-catalog-section-head__icon svg {
    display: block;
    width: 28px;
    height: 28px;
}

.new-ui-catalog-section-head--premium .new-ui-catalog-section-head__main,
.new-ui-catalog-section-head--catalog .new-ui-catalog-section-head__main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 0.85rem;
    row-gap: 0.28rem;
    align-items: center;
}

.new-ui-catalog-section-head--premium .new-ui-catalog-section-head__text,
.new-ui-catalog-section-head--catalog .new-ui-catalog-section-head__text {
    display: contents;
}

.new-ui-catalog-section-head--premium .new-ui-catalog-section-head__icon,
.new-ui-catalog-section-head--catalog .new-ui-catalog-section-head__icon {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    border-radius: 50%;
    border: 1px solid var(--border-premium, rgba(212, 90, 122, 0.35));
    background: var(--accent-soft, rgba(212, 90, 122, 0.15));
    box-sizing: border-box;
    line-height: 0;
}

.new-ui-catalog-section-head--premium .new-ui-catalog-section-head__icon svg,
.new-ui-catalog-section-head--catalog .new-ui-catalog-section-head__icon svg {
    display: block;
    width: 1.375rem;
    height: 1.375rem;
    margin: 0 auto;
}

.new-ui-catalog-section-head--premium .new-ui-catalog-section-head__title,
.new-ui-catalog-section-head--catalog .new-ui-catalog-section-head__title {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}

.new-ui-catalog-section-head--premium .new-ui-catalog-section-head__subtitle,
.new-ui-catalog-section-head--catalog .new-ui-catalog-section-head__subtitle {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0;
}

.new-ui-catalog-section-head__title {
    margin: 0;
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-primary);
    line-height: 1.15;
}

.new-ui-catalog-section-head__subtitle {
    margin: 0.28rem 0 0;
    font-size: 0.875rem;
    line-height: 1.35;
    color: var(--text-secondary);
}

.new-ui-catalog-section-head__link {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--accent-primary);
    text-decoration: none;
    white-space: nowrap;
}

.new-ui-catalog-section-head__link:hover {
    color: var(--accent-hover);
}

.new-ui-catalog-section-head__link-arr {
    font-size: 1.1rem;
    line-height: 1;
}

/* Премиум-рубрика на главной */
.new-ui-premium-strip {
    margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
    padding: 0;
    position: relative;
    overflow: visible;
}

.new-ui-premium-slider {
    position: relative;
    width: 100%;
    margin-bottom: 0;
}

.new-ui-premium-slider--nav {
    display: flex;
    align-items: center;
    gap: clamp(0.35rem, 2vw, 0.75rem);
}

.new-ui-premium-slider__stage {
    flex: 1 1 auto;
    min-width: 0;
}

.new-ui-premium-slider__arr {
    flex-shrink: 0;
    align-self: center;
    width: 2.35rem;
    height: 3.25rem;
    border-radius: 10px;
    border: 1px solid rgba(201, 184, 150, 0.45);
    background: rgba(12, 6, 10, 0.75);
    color: #d4b896;
    cursor: pointer;
    font-size: 1.65rem;
    font-weight: 300;
    line-height: 1;
    padding: 0;
    transition:
        border-color 0.15s ease,
        color 0.15s ease,
        background 0.15s ease;
}

.new-ui-premium-slider__arr:hover {
    border-color: rgba(232, 210, 180, 0.9);
    color: #fff5e8;
    background: rgba(28, 14, 22, 0.9);
}

.new-ui-premium-slider__arr:disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.new-ui-premium-slider__arr--prev::before {
    content: "‹";
}

.new-ui-premium-slider__arr--next::before {
    content: "›";
}

.new-ui-premium-strip__viewport {
    overflow: hidden;
    width: 100%;
    padding: 0.5rem 0 0.25rem;
    box-sizing: border-box;
    container-type: inline-size;
    container-name: premium-strip;
    touch-action: pan-y pinch-zoom;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

.new-ui-premium-strip__viewport.is-dragging {
    cursor: grabbing;
}

.new-ui-premium-strip__viewport.is-dragging .new-ui-premium-card a {
    pointer-events: none;
}

.new-ui-premium-strip__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: var(--catalog-card-gap);
    width: max-content;
    will-change: transform;
}

/* Ширина карточек — как в .individuals-wrap каталога */
.new-ui-premium-strip__track > .new-ui-premium-card {
    --premium-cols: 1;
    flex: 0 0
        calc((100cqw - (var(--premium-cols) - 1) * var(--catalog-card-gap)) / var(--premium-cols));
    width: calc((100cqw - (var(--premium-cols) - 1) * var(--catalog-card-gap)) / var(--premium-cols));
    min-width: 0;
    max-width: none;
    height: auto;
    box-sizing: border-box;
}

@container premium-strip (min-width: 36.35rem) {
    .new-ui-premium-strip__track > .new-ui-premium-card {
        --premium-cols: 2;
    }
}

@container premium-strip (min-width: 55.2rem) {
    .new-ui-premium-strip__track > .new-ui-premium-card {
        --premium-cols: 3;
    }
}

@container premium-strip (min-width: 74.05rem) {
    .new-ui-premium-strip__track > .new-ui-premium-card {
        --premium-cols: 4;
    }
}

@container premium-strip (min-width: 92.9rem) {
    .new-ui-premium-strip__track > .new-ui-premium-card {
        --premium-cols: 5;
    }
}

@container premium-strip (min-width: 111.75rem) {
    .new-ui-premium-strip__track > .new-ui-premium-card {
        --premium-cols: 6;
    }
}

.new-ui-premium-strip__track > .new-ui-premium-card[aria-hidden="true"] {
    pointer-events: none;
}

.new-ui-premium-strip__track > .new-ui-premium-card[data-premium-clone],
.new-ui-premium-strip__track > .new-ui-premium-card[data-premium-clone-set] {
    pointer-events: none;
    user-select: none;
}

@media (prefers-reduced-motion: reduce) {
    .new-ui-premium-strip__track {
        transition: none !important;
    }

    .new-ui-premium-card::after {
        animation: none;
    }

    .new-ui-anketa-card--contacts .new-ui-anketa-phone-btn.show_phone::before {
        animation: none;
    }
}

/* Премиум-карточка (вертикальная, как в макете) */
.new-ui-premium-card {
    --ank-card-pad-y: clamp(0.78rem, 2.2vw, 1.02rem);
    --ank-card-pad-x: clamp(0.62rem, 1.8vw, 0.85rem);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    aspect-ratio: 4 / 5.45;
    padding: 0;
    border-radius: 20px;
    border: 1px solid var(--border-premium);
    background: var(--bg-card);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
    box-sizing: border-box;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.new-ui-premium-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    border: 1px solid rgba(212, 184, 122, 0.72);
    box-shadow:
        inset 0 0 0 1px rgba(255, 232, 182, 0.14),
        0 0 0 1px rgba(97, 74, 34, 0.28);
    pointer-events: none;
}

.new-ui-premium-card::after {
    content: "";
    position: absolute;
    top: -65%;
    left: -45%;
    width: 34%;
    height: 240%;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 238, 202, 0.07) 35%,
        rgba(255, 238, 202, 0.28) 52%,
        rgba(255, 238, 202, 0.08) 68%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: rotate(18deg) translateX(-190%);
    pointer-events: none;
}

.new-ui-premium-card:hover {
    transform: translateY(-4px);
    border-color: rgba(214, 178, 108, 0.7);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.32);
}

.new-ui-premium-card:hover::before {
    border-color: rgba(224, 191, 126, 0.9);
}

@keyframes new-ui-premium-sheen {
    0% {
        transform: rotate(18deg) translateX(-190%);
    }
    100% {
        transform: rotate(18deg) translateX(380%);
    }
}

.new-ui-premium-card__media-wrap {
    position: relative;
    flex: 1 1 auto;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    margin: -1px;
    min-height: 11.5rem;
    overflow: hidden;
    isolation: isolate;
}

.new-ui-premium-card__media {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    overflow: hidden;
    line-height: 0;
    color: inherit;
    text-decoration: none;
    border: none;
    outline: none;
}

.new-ui-premium-card__media:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: -2px;
}

.new-ui-premium-card__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    object-fit: cover;
}

/* Размытие: плавно снизу вверх, над именем быстро гаснет без резкой границы */
.new-ui-premium-card__media-wrap::before {
    content: "";
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 48%;
    max-height: 48%;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    mask-image: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.06) 6%,
        rgba(0, 0, 0, 0.22) 18%,
        rgba(0, 0, 0, 0.48) 32%,
        rgba(0, 0, 0, 0.78) 48%,
        rgba(0, 0, 0, 0.72) 58%,
        rgba(0, 0, 0, 0.88) 68%,
        #000 78%,
        #000 92%,
        rgba(0, 0, 0, 0.55) 96%,
        transparent 100%
    );
    -webkit-mask-image: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.06) 6%,
        rgba(0, 0, 0, 0.22) 18%,
        rgba(0, 0, 0, 0.48) 32%,
        rgba(0, 0, 0, 0.78) 48%,
        rgba(0, 0, 0, 0.72) 58%,
        rgba(0, 0, 0, 0.88) 68%,
        #000 78%,
        #000 92%,
        rgba(0, 0, 0, 0.55) 96%,
        transparent 100%
    );
    pointer-events: none;
}

.new-ui-premium-card__media-wrap::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 48%;
    max-height: 48%;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.08) 16%,
        rgba(0, 0, 0, 0.2) 30%,
        rgba(0, 0, 0, 0.38) 44%,
        rgba(0, 0, 0, 0.55) 56%,
        rgba(0, 0, 0, 0.7) 66%,
        rgba(0, 0, 0, 0.84) 76%,
        rgba(0, 0, 0, 0.93) 84%,
        #000 92%,
        #000 100%
    );
    pointer-events: none;
}

.new-ui-premium-card__overlay {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.6rem var(--ank-card-pad-x) 0.55rem;
    background: transparent;
    pointer-events: none;
}

.new-ui-premium-card__overlay-sep {
    flex-shrink: 0;
    height: 1px;
    margin: 0;
    border: 0;
    background: rgba(255, 255, 255, 0.17);
    opacity: 0.95;
}

.new-ui-premium-card__overlay-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.new-ui-premium-card__overlay-head .new-ui-premium-card__name {
    min-width: 0;
    font-size: clamp(1.1rem, 2.6vw, 1.28rem);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: auto;
}

.new-ui-premium-card__overlay-head .new-ui-premium-card__name:hover {
    color: var(--accent-primary);
}

.new-ui-premium-card__overlay-head .new-ui-premium-card__age {
    display: inline-flex;
    align-items: center;
    gap: 0.24rem;
    flex-shrink: 0;
    font-size: clamp(1rem, 2.2vw, 1.14rem);
    font-weight: 700;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.92);
}

.new-ui-premium-card__age-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.new-ui-premium-card__age-ic svg {
    display: block;
    width: 14px;
    height: 14px;
}

.new-ui-premium-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.45rem;
    pointer-events: auto;
}

.new-ui-premium-card__fav {
    position: static;
    z-index: auto;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.96);
    cursor: pointer;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.55));
    transition:
        color 0.18s ease,
        transform 0.16s ease;
}

.new-ui-premium-card__fav:hover {
    background: transparent;
    color: #fff;
}

.new-ui-premium-card__fav.is-active {
    color: var(--accent-primary);
    background: transparent;
}

.new-ui-premium-card__fav .new-ui-anket-card__fav-icon,
.new-ui-premium-card__fav .new-ui-anket-card__heart,
.new-ui-premium-card__fav .new-ui-anket-card__heart-fill {
    width: 22px;
    height: 22px;
}

.new-ui-premium-card__price-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    min-width: 0;
    min-height: 0;
    margin-left: auto;
    padding: 0;
    text-decoration: none;
    color: inherit;
    transition: color 0.15s ease;
}

.new-ui-premium-card__price-link:hover {
    color: var(--accent-primary);
}

.new-ui-premium-card__price-link:hover .new-ui-premium-card__price-arr {
    transform: translateX(3px);
    color: var(--accent-primary);
}

.new-ui-premium-card__price-arr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: rgba(255, 255, 255, 0.88);
    transition: transform 0.2s ease, color 0.15s ease;
}

.new-ui-premium-card__price-arr svg {
    display: block;
    width: 20px;
    height: 20px;
}

.new-ui-premium-card__overlay .new-ui-premium-card__phys {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.new-ui-premium-card__phys > div {
    min-width: 0;
    display: flex;
}

.new-ui-premium-card__phys > div:first-child {
    justify-content: flex-start;
}

.new-ui-premium-card__phys > div:last-child:not(:first-child) {
    justify-content: flex-end;
}

.new-ui-premium-card__phys > div:not(:first-child):not(:last-child) {
    justify-content: center;
}

.new-ui-premium-card__phys dd {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    margin: 0;
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.new-ui-premium-card__phys-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    color: var(--logo-text);
}

.new-ui-premium-card__phys-ic svg {
    display: block;
    width: 19px;
    height: 19px;
}

.new-ui-premium-card .new-ui-anket-card__badge {
    font-size: 0.96rem;
    padding: 0.24rem 0.51rem;
    border-radius: 7px;
}

.new-ui-premium-card__overlay .new-ui-premium-card__text {
    width: 100%;
    min-width: 0;
    margin: 0;
    font-size: clamp(0.62rem, 1.35vw, 0.72rem);
    line-height: 1.28;
    color: rgba(255, 255, 255, 0.92);
    max-height: calc(1.28em * 2);
    overflow: hidden;
    word-break: break-word;
    overflow-wrap: break-word;
}

.new-ui-premium-card__overlay .new-ui-premium-card__price {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.3rem 0.4rem;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    text-align: right;
}

.new-ui-premium-card__price-val {
    font-size: clamp(1.1rem, 2.5vw, 1.25rem);
    font-weight: 700;
    color: var(--accent-primary);
}

.new-ui-premium-card__price-unit {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-secondary);
}

/* --- Форма создания / редактирования анкеты (новый UI) --- */
.new-ui-girl-form-page {
    max-width: 920px;
    margin: 0 auto;
}

.new-ui-girl-form-page__head {
    margin-bottom: 20px;
}

.new-ui-girl-form-page__back {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--accent-primary);
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
}

.new-ui-girl-form-page__head-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.new-ui-girl-form-page__title {
    margin: 0;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 800;
    color: #1f2430;
    line-height: 1.15;
}

.new-ui-girl-form-page__link {
    color: var(--accent-primary);
    font-weight: 600;
    text-decoration: none;
}

.new-ui-girl-form-page__message {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

/* Flash-сообщения (успех / предупреждение / ошибка) */
.new-ui-flash {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 14px;
    line-height: 1.45;
    color: #1f2430;
}

.new-ui-flash__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.new-ui-flash__text {
    flex: 1;
    min-width: 0;
    font-weight: 600;
}

.new-ui-flash__text--rich {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.new-ui-renew-failed-msg__lead,
.new-ui-renew-failed-msg__tail {
    margin: 0;
}

.new-ui-renew-failed-msg__lead {
    margin-bottom: 6px;
}

.new-ui-renew-failed-msg__tail {
    margin-top: 8px;
}

.new-ui-renew-failed-msg__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
}

.new-ui-renew-failed-msg__list a {
    color: #b91c1c;
    text-decoration: underline;
    font-weight: 600;
}

.new-ui-renew-failed-msg__list a:hover {
    color: #991b1b;
}

.new-ui-flash--success {
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #86efac;
}

.new-ui-flash--success .new-ui-flash__icon {
    background: #22c55e;
    color: #fff;
}

.new-ui-flash--success .new-ui-flash__icon::before {
    content: "✓";
}

.new-ui-flash--warning {
    background: linear-gradient(180deg, #fff8e6 0%, #fff3cc 100%);
    border-color: #f0d78c;
}

.new-ui-flash--warning .new-ui-flash__icon {
    background: #e8a317;
    color: #fff;
}

.new-ui-flash--warning .new-ui-flash__icon::before {
    content: "!";
}

.new-ui-flash--danger {
    background: linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #fca5a5;
}

.new-ui-flash--danger .new-ui-flash__icon {
    background: #dc2626;
    color: #fff;
}

.new-ui-flash--danger .new-ui-flash__icon::before {
    content: "!";
}

/* Старые bootstrap-классы внутри new UI (если где-то остался system_message) */
.new-ui-girl-form-page__message .alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin: 0;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

.new-ui-girl-form-page__message .alert-success {
    color: #166534;
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #86efac;
}

.new-ui-girl-form-page__message .alert-warning {
    color: #854d0e;
    background: linear-gradient(180deg, #fff8e6 0%, #fff3cc 100%);
    border-color: #f0d78c;
}

.new-ui-girl-form-page__message .alert-danger {
    color: #991b1b;
    background: linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #fca5a5;
}

.new-ui-girl-accordion {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.new-ui-girl-accordion__item {
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.new-ui-girl-accordion__trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border: 0;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.new-ui-girl-accordion__trigger-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.new-ui-girl-accordion__status {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8eaef;
}

.new-ui-girl-accordion__status-icon {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #9aa3b2;
}

.new-ui-girl-accordion__item.is-step-complete .new-ui-girl-accordion__status {
    background: #e8f5e9;
}

.new-ui-girl-accordion__item.is-step-complete .new-ui-girl-accordion__status-icon {
    width: 12px;
    height: 8px;
    border-radius: 0;
    background: transparent;
    border-left: 2px solid #2e7d32;
    border-bottom: 2px solid #2e7d32;
    transform: rotate(-45deg) translateY(-1px);
}

.new-ui-girl-accordion__item.is-step-incomplete .new-ui-girl-accordion__status {
    background: #fdecec;
    border: 1px solid #f5b5b5;
    box-sizing: border-box;
}

.new-ui-girl-accordion__item.is-step-incomplete .new-ui-girl-accordion__status-icon {
    width: auto;
    height: auto;
    min-width: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    color: #c62828;
}

.new-ui-girl-accordion__item.is-step-incomplete .new-ui-girl-accordion__status-icon::before {
    content: "!";
}

.new-ui-girl-accordion__item.is-step-incomplete {
    box-shadow: inset 0 0 0 1px rgba(198, 40, 40, 0.28);
}

.new-ui-girl-accordion__item.is-step-incomplete .new-ui-girl-accordion__trigger {
    background: #fff8f8;
}

.new-ui-girl-accordion__nav {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #eef0f4;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.new-ui-girl-accordion__nav-error {
    margin: 0;
    width: 100%;
}

.new-ui-girl-accordion__next {
    align-self: flex-end;
    margin-left: auto;
}

.new-ui-girl-form__field .alert-error {
    display: none;
}

.new-ui-girl-form__field.is-field-invalid .alert-error {
    display: block;
}

.new-ui-girl-accordion__title {
    font-size: 17px;
    font-weight: 700;
    color: #1f2430;
}

.new-ui-girl-accordion__req {
    color: #d32f2f;
}

.new-ui-girl-accordion__chevron {
    width: 10px;
    height: 10px;
    border-right: 2px solid #8a8f9c;
    border-bottom: 2px solid #8a8f9c;
    transform: rotate(45deg);
    transition: transform .2s ease;
    flex-shrink: 0;
}

.new-ui-girl-accordion__item.is-open .new-ui-girl-accordion__chevron {
    transform: rotate(-135deg);
    margin-top: 4px;
}

.new-ui-girl-accordion__panel {
    padding: 16px 18px 20px;
    border-top: 1px solid #eef0f4;
}

.new-ui-girl-form__subsection {
    margin-top: 20px;
}

.new-ui-girl-form__subsection-title {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f0f1f4;
    font-size: 14px;
    font-weight: 700;
    color: #3a3f4d;
}

.new-ui-girl-form__grid {
    display: grid;
    gap: 14px 16px;
}

.new-ui-girl-form__grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.new-ui-girl-form__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.new-ui-girl-form__grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.new-ui-girl-form__appearance {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.new-ui-girl-form__field--span-2 {
    grid-column: span 2;
}

.new-ui-girl-form__appearance-extra-label {
    margin: 0 0 6px;
}

.new-ui-girl-form__appearance-extra .new-ui-girl-form__checks--extra {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.new-ui-girl-form__appearance-extra .new-ui-girl-form__checks--extra .new-ui-girl-form__messenger-option {
    width: 100%;
    min-width: 0;
}

.new-ui-girl-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.new-ui-girl-form__label {
    font-size: 13px;
    font-weight: 600;
    color: #3a3f4d;
}

.new-ui-girl-form__req {
    color: #d32f2f;
}

.new-ui-girl-form__input,
.new-ui-girl-form__select,
.new-ui-girl-form__textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #d5d9e2;
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #1f2430;
}

.new-ui-girl-form__textarea {
    min-height: 120px;
    resize: vertical;
}

.new-ui-girl-form__textarea--desc {
    font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 13px;
    line-height: 1.6;
}

.new-ui-girl-form__desc-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.new-ui-girl-form__field--desc .new-ui-girl-form__label {
    margin: 0;
}

.new-ui-girl-form__desc-char-count {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
}

.new-ui-girl-form__desc-char-count.is-at-limit [data-desc-char-count] {
    color: #d32f2f;
}

.new-ui-girl-form__hint--desc {
    margin-top: 8px;
}

.new-ui-girl-form__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.new-ui-girl-form__checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #1f2430;
    user-select: none;
}

.new-ui-girl-form__checkbox input {
    width: 18px;
    height: 18px;
    accent-color: #3d6cf5;
}

.new-ui-girl-form__telegram {
    display: flex;
    align-items: stretch;
    margin-top: 8px;
    max-width: 280px;
}

.new-ui-girl-form__telegram-prefix {
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: #eef0f4;
    border: 1px solid #d5d9e2;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    color: #6b7280;
    font-weight: 600;
}

.new-ui-girl-form__telegram .telegram_nick {
    border-radius: 0 8px 8px 0;
}

.new-ui-girl-form__hint {
    margin: 8px 0 0;
    font-size: 12px;
    color: #6b7280;
}

.new-ui-girl-form__error {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: #b91c1c;
}

.new-ui-girl-form__error[hidden] {
    display: none !important;
}

.new-ui-girl-form__error.alert-galleries,
.new-ui-girl-form__error.alert-image,
.new-ui-girl-form__error.new-ui-girl-form__media-error,
.new-ui-girl-form__error.alert-price,
.new-ui-girl-form__error.alert-cargo-express,
.new-ui-girl-form__error.alert-house-express,
.new-ui-girl-form__field.is-field-invalid .alert-error.new-ui-girl-form__error {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 13px;
    line-height: 1.45;
}

.new-ui-girl-form__error[data-field-error]:not([hidden]) {
    margin-top: 6px;
    padding: 8px 10px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fef2f2;
    color: #b91c1c;
}

.new-ui-girl-form__warnings {
    margin: 0 0 12px;
    padding-left: 18px;
    font-size: 13px;
    color: #5a6170;
}

.new-ui-girl-form__prices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.new-ui-girl-form__prices-heading {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    color: #1f2430;
}

.new-ui-girl-form__prices-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: opacity 0.15s;
}

.new-ui-girl-form__prices-col.is-disabled {
    opacity: 0.5;
}

.new-ui-girl-form__price-input-wrap.is-locked {
    opacity: 0.55;
    background: #f3f4f6;
}

.new-ui-girl-form__price-input-wrap.is-locked .new-ui-girl-form__price-input {
    cursor: not-allowed;
}

.new-ui-girl-form__price-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: stretch;
}

.new-ui-girl-form__price-field-label {
    display: block;
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}

.new-ui-girl-form__price-field-label--plain {
    font-size: 14px;
    letter-spacing: normal;
    text-transform: none;
    color: #4b5563;
}

.new-ui-girl-form__price-express-controls {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.new-ui-girl-form__price-input-wrap {
    display: flex;
    align-items: stretch;
    min-height: 42px;
    border: 1px solid #d5d9e2;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.new-ui-girl-form__price-input-label {
    display: none;
}

.new-ui-girl-form__price-input {
    flex: 1;
    width: 100%;
    min-width: 0;
    min-height: 40px;
    margin: 0;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 15px;
    color: #1f2430;
    outline: none;
    -moz-appearance: textfield;
}

.new-ui-girl-form__price-input::-webkit-outer-spin-button,
.new-ui-girl-form__price-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.new-ui-girl-form__price-input-wrap:focus-within {
    border-color: #4e69b3;
    box-shadow: 0 0 0 3px rgba(78, 105, 179, 0.15);
}

.new-ui-girl-form__prices-col.is-disabled .new-ui-girl-form__price-input-wrap:focus-within {
    border-color: #d5d9e2;
    box-shadow: none;
}

.new-ui-girl-form__messenger-option--contract {
    min-height: 42px;
    padding: 0 10px;
}

.new-ui-girl-form__messenger-option--contract .new-ui-girl-form__messenger-option-text {
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.new-ui-girl-form__price-row--express + .alert-house-express,
.new-ui-girl-form__price-row--express + [data-field-error="house-express"] {
    margin: -4px 0 0;
}

.new-ui-girl-form__section--services {
    padding-top: 4px;
}

.new-ui-girl-form__services-hint {
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.45;
    color: #6b7280;
}

.new-ui-girl-form__services-alert {
    display: none;
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #f5c2c7;
    background: #fdecee;
    color: #b42318;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.new-ui-girl-form__services-alert.focus {
    display: block;
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.18);
}

.new-ui-girl-form__services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}

.new-ui-girl-form__services-grid--ordered {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem 0.7rem;
    align-items: start;
}

.new-ui-girl-form__services-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.55rem;
    min-width: 0;
    padding: 0.3rem 0.1rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.02);
}

.new-ui-girl-form__messenger-option--service {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 10px 12px;
    align-items: flex-start;
    margin: 0;
}

.new-ui-girl-form__messenger-option--service .new-ui-girl-form__messenger-option-text {
    white-space: normal;
    line-height: 1.35;
    font-weight: 500;
}

.new-ui-girl-form__messenger-option--service:hover:not(:has(input:disabled)) {
    border-color: #aeb6c8;
}

.new-ui-girl-form__messenger-option--service:has(input:focus-visible) {
    border-color: #4e69b3;
    box-shadow: 0 0 0 3px rgba(78, 105, 179, 0.15);
}

/* Размещение на форме создания анкеты + общие стили блока оплаты дней */
.new-ui-placement-pay {
    text-align: left;
    font-size: 14px;
    color: #1f2430;
}

.new-ui-placement-pay__label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #1f2430;
}

.new-ui-placement-pay__select {
    width: 100%;
    max-width: 420px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #9bb0dc;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1f2430 !important;
    background: #fff !important;
    -webkit-text-fill-color: #1f2430;
    cursor: pointer;
    appearance: auto;
}

.new-ui-placement-pay__select option {
    color: #1f2430;
    background: #fff;
    font-weight: 600;
}

.new-ui-placement-pay__discounts {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: linear-gradient(180deg, #fff8e6 0%, #fff3cc 100%);
    border: 1px solid #f0d78c;
    max-width: 420px;
}

.new-ui-placement-pay__discounts-title {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8a5a00;
}

.new-ui-placement-pay__discount-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.new-ui-placement-pay__discount-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px dashed rgba(138, 90, 0, 0.25);
    font-size: 14px;
    color: #1f2430;
}

.new-ui-placement-pay__discount-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.new-ui-placement-pay__discount-days {
    min-width: 52px;
    font-weight: 700;
}

.new-ui-placement-pay__discount-price {
    flex: 1;
    font-weight: 600;
}

.new-ui-placement-pay__discount-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: #e8a317;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.new-ui-placement-pay__summary {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f2f4f8;
    max-width: 420px;
}

.new-ui-placement-pay__summary p {
    margin: 0 0 6px;
    color: #1f2430;
}

.new-ui-placement-pay__summary p:last-child {
    margin-bottom: 0;
}

.new-ui-girl-form__placement-section {
    margin-top: 28px;
    padding: 20px 22px;
    border: 1px solid #d5d9e2;
    border-radius: 12px;
    background: #fff;
}

.new-ui-girl-form__placement-head {
    margin-bottom: 14px;
}

.new-ui-girl-form__placement-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 700;
    color: #1f2430;
}

.new-ui-girl-form__placement-hint {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: #6b7280;
}

.new-ui-girl-form__placement-toggle {
    margin-bottom: 4px;
    max-width: 420px;
}

.new-ui-girl-form__placement-toggle .new-ui-girl-form__messenger-option--wide {
    width: 100%;
}

.new-ui-girl-form__placement-fields {
    margin-top: 16px;
}

.new-ui-girl-form__placement-fields.is-hidden {
    display: none;
}

.new-ui-girl-form__placement-alert {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
    color: #5a4a00;
    background: #fff8e6;
    border: 1px solid #f0d78c;
}

.new-ui-girl-form__placement-alert--error {
    color: #8b1c1c;
    background: #fdecec;
    border-color: #f5b5b5;
}

.new-ui-girl-form-page__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 24px;
}

.new-ui-girl-form-page__submit {
    min-height: 44px;
    padding: 0 28px;
    border: 0;
    border-radius: 8px;
    background: var(--filter-search-bg);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.new-ui-girl-form-page__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.15s ease;
}

.new-ui-girl-form-page__cancel,
.new-ui-girl-form-page__btn--secondary {
    border: 1px solid #d5d9e2;
    background: #f7f8fa;
    color: #1f2430;
}

.new-ui-girl-form-page__cancel {
    background: #fff;
    color: #3a3f4d;
}

.new-ui-girl-form-page__btn--secondary:hover {
    border-color: var(--accent-primary);
    background: #fff5f8;
    color: var(--accent-primary);
    box-shadow: 0 4px 14px var(--accent-soft);
}

.new-ui-girl-form-page__btn--secondary:active {
    transform: translateY(1px);
}

.new-ui-girl-form-page__btn--secondary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(201, 75, 114, 0.28);
}

.new-ui-girl-form-page__btn--primary,
.new-ui-girl-accordion__next {
    min-width: 148px;
    border: 0;
    background: var(--filter-search-bg);
    color: #fff;
    box-shadow: 0 4px 14px rgba(92, 21, 48, 0.22);
}

.new-ui-girl-form-page__btn--primary:hover,
.new-ui-girl-accordion__next:hover {
    background: var(--filter-search-bg-hover);
    box-shadow: 0 6px 18px var(--accent-soft);
    transform: translateY(-1px);
}

.new-ui-girl-form-page__btn--primary:active,
.new-ui-girl-accordion__next:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(92, 21, 48, 0.2);
}

.new-ui-girl-form-page__btn--primary:focus-visible,
.new-ui-girl-accordion__next:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.9),
        0 0 0 5px rgba(201, 75, 114, 0.45);
}

.new-ui-girl-form__verify-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 16px;
}

.new-ui-girl-form__verify-caption {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    flex: 0 0 auto;
    width: 100%;
    text-align: center;
}

.new-ui-girl-form__verify-photo,
.new-ui-girl-form__verify-example {
    display: flex;
    flex: 0 0 288px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 288px;
    max-width: min(100%, 288px);
    min-height: 375px;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fafbfc;
    box-sizing: border-box;
}

.new-ui-girl-form__verify-image {
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 275px;
}

.new-ui-girl-form__verify-image img {
    display: block;
    width: auto;
    max-width: 238px;
    height: auto;
    max-height: 319px;
    border-radius: 8px;
    margin: 0;
    background: #eef0f4;
    object-fit: contain;
}

.new-ui-girl-form__verify-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-top: auto;
}

.new-ui-girl-form__verify-upload-btn {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-top: 0;
}

.new-ui-girl-form__verify-actions-slot {
    display: block;
    width: 100%;
    min-height: 44px;
    visibility: hidden;
    pointer-events: none;
}

.new-ui-girl-form__media-head {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin: 0;
    padding: 0 0 10px;
    border: 0;
    border-radius: 0;
    background: none;
    border-bottom: 1px solid #eef0f4;
}

.new-ui-girl-form__media-head .new-ui-girl-form-page__btn,
.new-ui-girl-form__media-upload-label {
    font: inherit;
}

.new-ui-girl-form__media-upload-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0;
}

.new-ui-girl-form__file-input-native {
    position: absolute;
    left: 0;
    top: 0;
}

/* Первый блок: контакты */
.new-ui-girl-form__contacts {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.new-ui-girl-form__contacts-row--identity {
    max-width: 640px;
}

.new-ui-girl-form__contacts .new-ui-girl-form__field--name,
.new-ui-girl-form__contacts .new-ui-girl-form__field--phone {
    min-width: 0;
}

.new-ui-girl-form__contacts .new-ui-girl-form__field--phone {
    max-width: none;
}

.new-ui-girl-form__contacts .new-ui-girl-form__field--phone .new-ui-girl-form__phone-wrap {
    max-width: 100%;
}

.new-ui-girl-form__contacts-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 100%;
}

.new-ui-girl-form__contacts-group--telegram .new-ui-girl-form__phone-wrap {
    width: 100%;
    max-width: min(100%, 360px);
}

.new-ui-girl-form__hint--telegram-nick {
    margin: 0;
    max-width: min(100%, 560px);
    font-size: 12px;
    line-height: 1.45;
    color: #6b7280;
}

.new-ui-girl-form__field--full {
    width: 100%;
}

.new-ui-girl-form__phone-wrap {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: min(100%, 400px);
    min-height: 42px;
    border: 1px solid #d5d9e2;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.new-ui-girl-form__phone-wrap:focus-within:not(.is-disabled) {
    border-color: #4e69b3;
    box-shadow: 0 0 0 3px rgba(78, 105, 179, 0.15);
}

.new-ui-girl-form__phone-wrap.is-disabled {
    background: #f9fafb;
}

.new-ui-girl-form__phone-wrap.is-disabled .new-ui-girl-form__input {
    color: #9ca3af;
    cursor: not-allowed;
}

.new-ui-girl-form__phone-icon--at {
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}

.new-ui-girl-form__phone-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 44px;
    color: #6b7280;
    background: #f3f4f6;
    border-right: 1px solid #e5e7eb;
}

.new-ui-girl-form__phone-icon-svg {
    display: block;
}

.new-ui-girl-form__phone-wrap .new-ui-girl-form__input--phone,
.new-ui-girl-form__phone-wrap .new-ui-girl-form__input--telegram-nick,
.new-ui-girl-form__phone-wrap .new-ui-girl-form__input {
    flex: 1;
    width: auto;
    min-width: 0;
    min-height: 40px;
    margin: 0;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none;
}

.new-ui-girl-form__field--phone {
    max-width: min(100%, 400px);
}


.new-ui-girl-form__contact-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    column-gap: 24px;
    row-gap: 8px;
    align-items: start;
}

.new-ui-girl-form__contact-row-label-messengers {
    grid-column: 1;
    grid-row: 1;
}

.new-ui-girl-form__contact-row-label-nick {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

.new-ui-girl-form__contact-row [data-messengers] {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
}

.new-ui-girl-form__contact-row-nick {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    min-width: 0;
}

.new-ui-girl-form__contact-row-nick .new-ui-girl-form__phone-wrap {
    width: 100%;
    max-width: 100%;
}

.new-ui-girl-form__contact-row-error-messengers {
    grid-column: 1;
    grid-row: 3;
    align-self: start;
}

.new-ui-girl-form__contact-row-error-nick {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
}

.new-ui-girl-form__checks--messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
}

.new-ui-girl-form__messenger-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #d5d9e2;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    color: #1f2430;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.new-ui-girl-form__messenger-option:has(input:checked) {
    border-color: #4e69b3;
    box-shadow: inset 0 0 0 1px #4e69b3;
}

.new-ui-girl-form__messenger-option input {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid #c5cad6;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
}

.new-ui-girl-form__messenger-option input:checked {
    border-color: #4e69b3;
    background-color: #4e69b3;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");
    background-position: center;
    background-size: 10px 8px;
    background-repeat: no-repeat;
}

.new-ui-girl-form__messenger-option input:focus-visible {
    outline: 2px solid #4e69b3;
    outline-offset: 2px;
}

.new-ui-girl-form__messenger-option-text {
    line-height: 1.2;
    white-space: nowrap;
}

.new-ui-girl-form__subsection--bar {
    margin-top: 24px;
}

.new-ui-girl-form__subsection--bar > .new-ui-girl-form__subsection-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f0f1f4;
}

.new-ui-girl-form__subsection-icon {
    display: inline-flex;
    color: #6b7280;
    flex-shrink: 0;
}

.new-ui-girl-form__subsection-icon-svg {
    display: block;
}

.new-ui-girl-form__service-modes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.new-ui-girl-form__messenger-option--wide {
    width: 100%;
    min-width: 0;
}

.new-ui-girl-form__messenger-option--wide .new-ui-girl-form__messenger-option-text {
    white-space: normal;
}

.new-ui-girl-form__outcall {
    margin-top: 18px;
}

.new-ui-girl-form__outcall[hidden] {
    display: none !important;
}

.new-ui-girl-form__outcall-label {
    margin: 0 0 10px;
    font-weight: 600;
}

.new-ui-girl-form__checks--outcall {
    gap: 10px;
}

.new-ui-girl-form__extra-label {
    margin: 16px 0 10px;
}

.new-ui-girl-form__checks--extra {
    margin-bottom: 4px;
}

.new-ui-girl-form__messenger-option:has(input:disabled) {
    opacity: 0.55;
    cursor: not-allowed;
}

.new-ui-girl-form__messenger-option:has(input:disabled) .new-ui-girl-form__messenger-option-text {
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .new-ui-girl-form__grid--2,
    .new-ui-girl-form__grid--3,
    .new-ui-girl-form__grid--4,
    .new-ui-girl-form__prices,
    .new-ui-girl-form__services-grid,
    .new-ui-girl-form__services-grid--ordered {
        grid-template-columns: 1fr;
    }

    .new-ui-girl-form__field--span-2 {
        grid-column: span 1;
    }

    .new-ui-girl-form__appearance-extra .new-ui-girl-form__checks--extra {
        grid-template-columns: 1fr;
    }

    .new-ui-girl-form__contact-row {
        grid-template-columns: 1fr;
    }

    .new-ui-girl-form__contacts-row--identity {
        max-width: none;
    }

    .new-ui-girl-form__contacts-group--telegram .new-ui-girl-form__phone-wrap {
        max-width: none;
    }

    .new-ui-girl-form__contact-row-label-messengers,
    .new-ui-girl-form__contact-row-label-nick,
    .new-ui-girl-form__contact-row [data-messengers],
    .new-ui-girl-form__contact-row-nick,
    .new-ui-girl-form__contact-row-error-messengers,
    .new-ui-girl-form__contact-row-error-nick {
        grid-column: 1;
    }

    .new-ui-girl-form__contact-row-label-messengers {
        grid-row: 1;
    }

    .new-ui-girl-form__contact-row [data-messengers] {
        grid-row: 2;
    }

    .new-ui-girl-form__contact-row-error-messengers {
        grid-row: 3;
    }

    .new-ui-girl-form__contact-row-label-nick {
        grid-row: 4;
    }

    .new-ui-girl-form__contact-row-nick {
        grid-row: 5;
    }

    .new-ui-girl-form__contact-row-error-nick {
        grid-row: 6;
    }

    .new-ui-girl-form__service-modes {
        grid-template-columns: 1fr;
    }
}

/* Медиа в форме анкеты */
.new-ui-girl-form__section--media {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.new-ui-girl-form__media-block {
    margin: 0;
    padding: 16px;
    border: 1px solid #e8ebf0;
    border-radius: 12px;
    background: #fff;
}

.new-ui-girl-form__media-block:first-child {
    padding-top: 16px;
}

.new-ui-girl-form__media-block:last-child {
    padding-bottom: 16px;
}

.new-ui-girl-form__media-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    line-height: 1.35;
    letter-spacing: 0.01em;
}

.new-ui-girl-form__media-head .new-ui-girl-form__subsection-title {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.new-ui-girl-form__media-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 12px;
}

.new-ui-girl-form__media-notes {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    font-size: 12px;
    line-height: 1.5;
    color: #6b7280;
    list-style: none;
}

.new-ui-girl-form__media-notes li {
    position: relative;
    padding-left: 14px;
}

.new-ui-girl-form__media-notes li + li {
    margin-top: 6px;
}

.new-ui-girl-form__media-notes li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: #9ca3af;
}

.new-ui-girl-form__media-error {
    margin: 0 0 12px;
}

.new-ui-girl-form__media-notes--text {
    padding: 12px 14px;
    list-style: none;
}

.new-ui-girl-form__media-notes--text .new-ui-girl-form__hint {
    margin: 0;
}

.new-ui-girl-form__media-notes--text .new-ui-girl-form__hint + .new-ui-girl-form__hint {
    margin-top: 8px;
}

.new-ui-girl-form__media-notes--verify {
    padding: 12px 14px;
    border-radius: 8px;
    background: #f7f8fa;
    border: 1px solid #eef0f4;
    list-style: none;
    font-size: 14px;
    line-height: 1.6;
}

.new-ui-girl-form__media-notes--verify li::before {
    content: none;
}

.new-ui-girl-form__media-notes--verify .new-ui-girl-form__hint {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.new-ui-girl-form__media-notes--verify .new-ui-girl-form__hint + .new-ui-girl-form__hint,
.new-ui-girl-form__media-notes--verify .new-ui-girl-form__verify-requirements-title {
    margin-top: 10px;
}

.new-ui-girl-form__media-notes--verify .new-ui-girl-form__hint--important {
    color: #374151;
}

.new-ui-girl-form__verify-requirements-title {
    margin: 12px 0 8px;
    font-size: inherit;
    line-height: inherit;
    font-weight: 600;
    color: #374151;
}

.new-ui-girl-form__verify-requirements {
    margin: 0;
    padding-left: 1.25rem;
    font-size: inherit;
    line-height: inherit;
    color: #6b7280;
}

.new-ui-girl-form__verify-requirements li + li {
    margin-top: 8px;
}

.new-ui-girl-form__media-notes--verify .new-ui-girl-form__hint--formats {
    margin-top: 12px;
    color: #6b7280;
}

.new-ui-girl-form__media-upload-btn,
.new-ui-girl-form__media-upload-label {
    flex: 0 0 auto;
    min-width: 168px;
    white-space: nowrap;
}

.new-ui-girl-form__section--media .new-ui-girl-form__media-upload-btn {
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.15s ease;
}

.new-ui-girl-form__section--media .new-ui-girl-form__media-upload-btn:hover {
    border-color: var(--accent-primary);
    background: #fff5f8;
    color: var(--accent-primary);
    box-shadow: 0 4px 14px rgba(184, 58, 98, 0.18);
    transform: translateY(-1px);
}

.new-ui-girl-form__section--media .new-ui-girl-form__media-upload-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(184, 58, 98, 0.12);
    background: #fce8ef;
}

.new-ui-girl-form__section--media .new-ui-girl-form__media-upload-btn:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

.new-ui-girl-form__photo-grid,
.new-ui-girl-form .block_photo {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin: 0;
}

.new-ui-girl-form .block_photo .img_item {
    position: relative;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    background: #f9fafb;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.new-ui-girl-form .block_photo .img_item.is-main-photo {
    border: 3px solid var(--accent-primary);
    box-shadow:
        0 0 0 1px rgba(184, 58, 98, 0.35),
        0 10px 28px rgba(92, 21, 48, 0.18);
}

.new-ui-girl-form__photo-main-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: none;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border-radius: 6px;
    background: var(--filter-search-bg);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.new-ui-girl-form__photo-main-badge::before {
    content: "★";
    font-size: 12px;
    line-height: 1;
}

.new-ui-girl-form .block_photo .img_item.is-main-photo .new-ui-girl-form__photo-main-badge {
    display: inline-flex;
}

.new-ui-girl-form .block_photo .img_item img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.new-ui-girl-form .block_photo .img_item.is-main-photo img {
    outline: 2px solid rgba(255, 255, 255, 0.85);
    outline-offset: -2px;
}

.new-ui-girl-form .block_photo .do_main_photo {
    width: calc(100% - 16px);
    margin: 8px;
    min-height: 36px;
    font-size: 12px;
}

.new-ui-girl-form .block_photo .do_main_photo.is-main {
    border: 0;
    background: var(--filter-search-bg);
    color: #fff;
    font-weight: 700;
    opacity: 1;
    pointer-events: none;
    cursor: default;
}

.new-ui-girl-form__photo-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.new-ui-girl-form__photo-remove svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.new-ui-girl-form__media-block#media_photos_anchor {
    scroll-margin-top: 88px;
}

.new-ui-girl-form__media-player {
    max-width: 180px;
    margin: 0;
}

.new-ui-girl-form__media-player:not(.has-media) {
    display: none;
}

.new-ui-girl-form__media-player.has-media {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

.new-ui-girl-form__media-preview {
    min-height: 0;
}

.new-ui-girl-form__media-player.has-media .new-ui-girl-form__media-preview {
    min-height: 48px;
}

.new-ui-girl-form__media-preview video,
.new-ui-girl-form__media-preview audio {
    display: block;
    width: 100%;
    margin: 0;
    border-radius: 0;
    background: #111;
}

.new-ui-girl-form__media-preview video {
    aspect-ratio: 3 / 4;
    object-fit: contain;
    max-height: 240px;
}

.new-ui-girl-form__media-actions {
    display: none;
    padding: 10px 12px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
}

.new-ui-girl-form__media-player.has-media .new-ui-girl-form__media-actions {
    display: block;
}

.new-ui-girl-form__media-remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid #e11d48;
    border-radius: 8px;
    background: #fff;
    color: #be123c;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.new-ui-girl-form__media-remove-btn:hover {
    background: #be123c;
    border-color: #be123c;
    color: #fff;
    box-shadow: 0 4px 12px rgba(190, 18, 60, 0.25);
}

.new-ui-girl-form__media-remove-btn:focus-visible {
    outline: 2px solid #be123c;
    outline-offset: 2px;
}

.new-ui-girl-form__media-remove-btn-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
}

.new-ui-girl-form__media-remove-btn-icon svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.new-ui-girl-form .is-hidden,
.new-ui-girl-form [hidden] {
    display: none !important;
}

.new-ui-girl-form .is-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.new-ui-girl-form__media-count {
    margin: 0;
}

@media (max-width: 640px) {
    .new-ui-girl-form__media-head {
        flex-direction: column;
        align-items: stretch;
    }

    .new-ui-girl-form__media-upload-btn,
    .new-ui-girl-form__media-upload-label {
        width: 100%;
        min-width: 0;
    }
}

/* Отзывы и статистика на странице редактирования */
.new-ui-girl-form-page__section {
    margin-top: 28px;
    padding: 24px 22px 26px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
    scroll-margin-top: 88px;
}

.new-ui-girl-form-page__section-title {
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef0f4;
    font-size: 20px;
    font-weight: 800;
    color: #1f2430;
}

.new-ui-girl-reviews {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.new-ui-girl-reviews__share {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.new-ui-girl-reviews__intro {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #5c6370;
}

.new-ui-girl-reviews__link-field {
    margin: 0;
    gap: 10px;
}

.new-ui-girl-reviews__link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: stretch;
    margin-top: 2px;
}

.new-ui-girl-reviews__link-row .new-ui-girl-form__input {
    flex: 1 1 220px;
    min-width: 0;
}

.new-ui-girl-reviews__link-row .new-ui-girl-form-page__btn {
    flex-shrink: 0;
    min-height: 42px;
    padding-left: 18px;
    padding-right: 18px;
}

.new-ui-girl-reviews__empty {
    margin: 0;
    padding: 18px 20px;
    border-radius: 10px;
    background: #fff8fa;
    border: 1px solid #f0d4de;
    color: #6d2a45;
}

.new-ui-girl-reviews__empty p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
}

.new-ui-girl-reviews__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.new-ui-girl-review-card {
    position: relative;
    padding: 18px 18px 16px;
    border: 1px solid #e8eaef;
    border-radius: 10px;
    background: #fafbfc;
}

.new-ui-girl-review-card.is-new {
    border-color: #f3c4d4;
    background: #fff9fb;
}

.new-ui-girl-review-card__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--badge-new-bg);
    color: var(--badge-new-text);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.new-ui-girl-review-card__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 24px;
}

.new-ui-girl-review-card__meta,
.new-ui-girl-review-card__text {
    margin: 0 0 10px;
    line-height: 1.5;
    color: #1f2430;
}

.new-ui-girl-review-card__meta:last-child,
.new-ui-girl-review-card__text:last-child {
    margin-bottom: 0;
}

.new-ui-girl-review-card__label {
    font-weight: 700;
    color: var(--accent-primary);
}

.new-ui-girl-review-card__answer {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.new-ui-girl-review-card__answer-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.new-ui-girl-review-card__rating {
    flex: 0 0 auto;
    padding-top: 1.35rem;
}

.new-ui-girl-review-card__rating .rating-area {
    width: auto;
    margin: 0;
}

.new-ui-girl-review-card__answer-main {
    flex: 1 1 auto;
    min-width: 0;
}

.new-ui-girl-form__input--review-answer {
    min-height: 4.5rem;
    resize: vertical;
}

.new-ui-girl-review-card__answer-title {
    margin: 0 0 4px;
    font-weight: 700;
    color: #1f2430;
}

.new-ui-girl-review-card__answer .new-ui-girl-form__field {
    margin: 0;
}

.new-ui-girl-review-card__remove-answer {
    align-self: flex-start;
    margin-top: 6px;
}

.new-ui-girl-form-page__btn--danger {
    border: 1px solid #e57373;
    background: #fff;
    color: #c62828;
}

.new-ui-girl-form-page__btn--danger:hover {
    border-color: #ef5350;
    background: #ffebee;
    color: #b71c1c;
}

.new-ui-girl-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

.new-ui-girl-stats__group {
    margin: 0;
    padding: 0;
    border-radius: 10px;
    border: 1px solid #e8eaef;
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
    overflow: hidden;
}

.new-ui-girl-stats__group-title {
    margin: 0;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--accent-primary);
    background: #f5f0f2;
    border-bottom: 1px solid #ebe4e8;
}

.new-ui-girl-stats__list {
    margin: 0;
    padding: 8px 0;
    list-style: none;
}

.new-ui-girl-stats__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid #eef0f4;
}

.new-ui-girl-stats__item:last-child {
    border-bottom: 0;
}

.new-ui-girl-stats__item.is-highlight {
    background: #fff9fb;
}

.new-ui-girl-stats__item.is-highlight .new-ui-girl-stats__value {
    color: #8e2448;
    font-size: 16px;
}

.new-ui-girl-stats__item.is-compact .new-ui-girl-stats__label,
.new-ui-girl-stats__item.is-compact .new-ui-girl-stats__value {
    font-size: 13px;
    font-weight: 600;
}

.new-ui-girl-stats__item.is-compact .new-ui-girl-stats__value {
    color: #5c6370;
    white-space: nowrap;
}

.new-ui-girl-stats__label,
.new-ui-girl-stats__value {
    margin: 0;
}

.new-ui-girl-stats__label {
    font-size: 14px;
    font-weight: 500;
    color: #5c6370;
    line-height: 1.35;
}

.new-ui-girl-stats__value {
    flex-shrink: 0;
    font-size: 16px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #1f2430;
    text-align: right;
}

@media (max-width: 900px) {
    .new-ui-girl-review-card__grid {
        grid-template-columns: 1fr;
    }

    .new-ui-girl-review-card__answer-head {
        flex-direction: column;
        gap: 10px;
    }

    .new-ui-girl-review-card__rating {
        padding-top: 0;
    }

    .new-ui-girl-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .new-ui-girl-form-page__section {
        padding: 20px 16px 22px;
    }

    .new-ui-girl-stats__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding: 12px 16px;
    }

    .new-ui-girl-stats__value {
        text-align: left;
    }
}

/* ——— HTTP error pages (новый UI) ——— */
body.new-ui-error-layout {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.new-ui-error-layout--front {
    background: var(--bg-main);
    color: var(--text-primary);
}

body.new-ui-error-layout--user {
    background: #e8e8e8;
    color: #141414;
}

.new-ui-error-layout__user-head {
    background: rgba(9, 11, 16, 0.92);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 12px 16px;
}

.new-ui-error-layout__user-head .new-ui-user-brand {
    display: inline-flex;
}

.new-ui-error-layout__main {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px 48px;
}

.new-ui-error-page {
    width: min(520px, 100%);
    margin: 0 auto;
    text-align: center;
}

.new-ui-error-page__card {
    padding: 36px 28px 32px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(165deg, var(--bg-section) 0%, var(--bg-main) 100%);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.new-ui-error-page--user .new-ui-error-page__card {
    border-color: var(--border-default);
    background: #fff;
    box-shadow: 0 12px 32px rgba(61, 11, 27, 0.12);
}

.new-ui-error-page__code {
    margin: 0 0 12px;
    font-size: clamp(3.5rem, 12vw, 5.5rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--premium-start) 0%, var(--accent-primary) 55%, var(--premium-end) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.new-ui-error-page--user .new-ui-error-page__code {
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--premium-end) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.new-ui-error-page__title {
    margin: 0 0 14px;
    font-size: clamp(1.25rem, 4vw, 1.65rem);
    font-weight: 700;
    line-height: 1.25;
}

.new-ui-error-page__text {
    margin: 0 0 24px;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(244, 236, 232, 0.82);
}

.new-ui-error-page--user .new-ui-error-page__text {
    color: #4a4a4a;
}

.new-ui-error-page__text--mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    word-break: break-word;
    text-align: left;
}

.new-ui-error-page__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 28px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(135deg, #c93d6a 0%, #8f1f45 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.new-ui-error-page__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(201, 61, 106, 0.35);
    filter: brightness(1.05);
    color: #fff;
}

.new-ui-error-page__btn:focus-visible {
    outline: 2px solid #f6c4d8;
    outline-offset: 3px;
}

/* Фронт: агентства (салоны) */
.new-ui-catalog-main--salons .new-ui-page-title {
    margin: 0 0 1rem;
}

.new-ui-salons-grid.individuals-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: 1rem;
}

.new-ui-anket-card--salon .new-ui-anket-card__top {
    min-height: 2rem;
}

.new-ui-anket-card--salon .new-ui-anket-card__photo-overlay .new-ui-anket-card__phys {
    display: none;
}

.new-ui-anket-card--salon .new-ui-anket-card__rate-row--flag .new-ui-anket-card__rate-l {
    font-size: 13px;
    font-weight: 600;
}

.new-ui-anketa-info--salon {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

@media (max-width: 960px) {
    .new-ui-anketa-info--salon {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 639px) {
    /* Карточки каталога: крупнее типографика, иконки и «воздух» в плитке */
    .new-ui-anket-card {
        --ank-card-pad-y: clamp(0.92rem, 3vw, 1.14rem);
        --ank-card-pad-top: clamp(0.32rem, 1.8vw, 0.48rem);
        --ank-card-pad-x: clamp(0.58rem, 2.4vw, 0.75rem);
        padding: var(--ank-card-pad-top) var(--ank-card-pad-x) var(--ank-card-pad-y);
    }

    .new-ui-anket-card__top {
        margin-bottom: 0.24rem;
        min-height: 0;
        gap: 0.62rem;
    }

    .new-ui-anket-card__metro {
        font-size: 1rem;
        gap: 0.42rem;
    }

    .new-ui-anket-card__metro-name {
        font-size: 1rem;
        line-height: 1.25;
    }

    .new-ui-anket-card__metro-ic,
    .new-ui-anket-card__metro-ic svg {
        width: 26px;
        height: 26px;
    }

    .new-ui-anket-card__fav {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }

    .new-ui-anket-card__photo-wrap .new-ui-anket-card__fav {
        width: 34px;
        height: 34px;
    }

    .new-ui-anket-card__heart,
    .new-ui-anket-card__heart-fill,
    .new-ui-anket-card__fav-icon {
        width: 34px;
        height: 34px;
    }

    .new-ui-anket-card__body {
        gap: clamp(0.58rem, 2.4vw, 0.82rem);
    }

    .new-ui-anket-card__photo-overlay {
        gap: 0.44rem;
        padding: 0.52rem 0.28rem 0.55rem;
    }

    .new-ui-anket-card__photo-cap {
        gap: 0.42rem;
    }

    .new-ui-anket-card__cap-name {
        font-size: 1.12rem;
        line-height: 1.22;
    }

    .new-ui-anket-card__cap-age {
        font-size: 1rem;
    }

    .new-ui-anket-card .new-ui-anket-card__cap-age-suf {
        display: inline !important;
    }

    .new-ui-anket-card__photo-overlay .new-ui-anket-card__phys {
        padding-top: 0.18rem;
    }

    .new-ui-anket-card__phys {
        gap: 0.26rem;
    }

    .new-ui-anket-card__phys-i dd {
        gap: 0.36rem;
    }

    .new-ui-anket-card__phys-ic,
    .new-ui-anket-card__phys-ic svg {
        width: 19px;
        height: 19px;
    }

    .new-ui-anket-card__phys-v {
        font-size: 0.98rem;
    }

    .new-ui-anket-card__rates {
        gap: 0.1rem;
    }

    .new-ui-anket-card__rate-row {
        padding: 0.5rem 0.1rem;
        font-size: 0.94rem;
    }

    .new-ui-anket-card__rate-l {
        gap: 0.38rem;
    }

    .new-ui-anket-card__rate-l,
    .new-ui-anket-card__rate-r {
        font-size: 0.94rem;
    }

    .new-ui-anket-svg,
    .new-ui-anket-svg svg {
        width: 19px;
        height: 19px;
    }

    .new-ui-anket-card__foot {
        padding-top: 0.95rem;
    }

    .new-ui-anket-card__cta {
        font-size: 1.02rem;
        padding: 0.48rem 0 0.22rem;
    }

    .new-ui-anket-card__cta-arr,
    .new-ui-anket-card__cta-arr svg {
        width: 20px;
        height: 20px;
    }

    .new-ui-premium-card__overlay {
        gap: 0.55rem;
        padding-bottom: 0.62rem;
    }

    .new-ui-premium-card__overlay-head .new-ui-premium-card__name {
        font-size: 1.16rem;
    }

    .new-ui-premium-card__overlay-head .new-ui-premium-card__age {
        font-size: 1.04rem;
    }

    .new-ui-premium-card__phys dd {
        font-size: 1rem;
    }

    .new-ui-premium-card__overlay .new-ui-premium-card__text {
        font-size: clamp(0.64rem, 0.95vw, 0.72rem);
        line-height: 1.28;
        max-height: calc(1.28em * 2);
    }

    .new-ui-premium-card__foot {
        margin-top: 0.55rem;
    }

    .new-ui-premium-card__media-wrap::before,
    .new-ui-premium-card__media-wrap::after {
        height: 52%;
        max-height: 52%;
    }

    .new-ui-premium-card {
        aspect-ratio: 4 / 5.65;
    }

    .new-ui-premium-card__fav {
        width: 34px;
        height: 34px;
    }

    .new-ui-premium-card__fav .new-ui-anket-card__fav-icon,
    .new-ui-premium-card__fav .new-ui-anket-card__heart,
    .new-ui-premium-card__fav .new-ui-anket-card__heart-fill {
        width: 34px;
        height: 34px;
    }

    .new-ui-premium-card__price-link {
        min-height: 0;
    }

    .new-ui-anketa-fav__icon-wrap,
    .new-ui-anketa-fav__heart,
    .new-ui-anketa-fav__heart-fill {
        width: 30px;
        height: 30px;
    }

    .new-ui-anketa-hero__fav-slot {
        --anketa-hero-chip-w: 13.75rem;
    }

    .new-ui-anketa-hero__fav-slot:has(.new-ui-anketa-fav) {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0.5rem;
    }

    .new-ui-anketa-hero-chip {
        height: 2.55rem;
        min-height: 2.55rem;
        max-height: 2.55rem;
        padding: 0 0.7rem;
    }

    .new-ui-anketa-hero-rating .rating-area label .nui-rating-star {
        width: 15px;
        height: 15px;
    }

    .new-ui-anketa-fav {
        font-size: 0.78rem;
    }

    .new-ui-anketa-hero-rating__value {
        font-size: 0.78rem;
    }

    /* Открытая анкета: повысить читаемость текста */
    .new-ui-anketa-title {
        font-size: clamp(1.45rem, 5.4vw, 1.9rem);
    }

    .new-ui-anketa-card__title {
        font-size: 0.98rem;
    }

    .new-ui-anketa-loc-lbl,
    .new-ui-anketa-loc-val {
        font-size: 0.92rem;
    }

    .new-ui-anketa-rate-lbl,
    .new-ui-anketa-rate-val {
        font-size: 0.92rem;
    }

    .new-ui-anketa-param__lbl,
    .new-ui-anketa-param__val {
        font-size: 0.92rem;
    }

    .new-ui-anketa-params-hair__lbl,
    .new-ui-anketa-params-hair__val {
        font-size: 0.92rem;
    }

    .new-ui-anketa-tags--flags a,
    .new-ui-anketa-places--mock .places a {
        font-size: 0.92rem;
    }

    .new-ui-anketa-phone-btn.show_phone,
    .new-ui-anketa-contacts-reveal__phone-link,
    .new-ui-anketa-contacts-reveal__msg {
        font-size: 0.98rem;
    }
}
