/*
 * overrides.css — журнал инкрементальных правок (bug fixes, patches)
 *
 * ПРАВИЛА:
 * — Этот файл append-only. Никогда не редактируй существующие блоки.
 * — Каждый блок начинается с маркера: /* === <короткое-имя> YYYYMMDD === */
 * — Грузится в header.php ПОСЛЕ style-new.css, чтобы cascade выигрывал.
 * — При деплое dev↔prod — НЕ копируй этот файл целиком. Каждая среда ведёт свой журнал.
 */

/* === bug-batch fixes 20260512 === */

/* Age-strip light theme: внутренние тексты должны быть светлыми поверх dark background */
:root[data-theme="light"] .age-strip {
    --cream: #fbf8f3;
    --cream-dim: rgba(251,248,243,.85);
    --cream-muted: rgba(251,248,243,.7);
    --gold: #d4b87a;
    --gold-dim: rgba(212,184,122,.5);
}

/* Mobile: длинные имена городов не вылазят за рамки карточки */
@media (max-width: 640px) {
    .is-root #citypad > .citylist {
        min-width: 100%; max-width: 100%; box-sizing: border-box;
        overflow-wrap: anywhere; word-break: break-word;
        margin-right: 0;
    }
    .is-root #citypad > .citylist a { word-break: break-all; }
}

/* Mobile: длинные тексты в карточках программ салона не вылазят */
.programme-name, .programme-text { overflow-wrap: anywhere; word-break: break-word; min-width: 0; }
.programme-head { min-width: 0; }
.salon-detail .text, .salon-detail .text * { overflow-wrap: anywhere; word-break: break-word; }
/* === banner-top polish 20260512 === */
/* Убираем дублирующиеся рамки и фоновую "белую" полосу: одна тонкая золотая граница вокруг картинки, контейнер по ширине самой картинки. */
.ri-card--top { max-width: 800px; margin: 0 auto 14px; }
.ri-card--top a {
    display: block;
    border: 1px solid var(--gold-dim);
    aspect-ratio: auto;
    line-height: 0;
    background: transparent;
    overflow: hidden;
    transition: border-color .3s, transform .3s;
}
.ri-card--top a:hover { border-color: var(--gold); transform: translateY(-2px); }
.ri-card--top a img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    background: transparent;
    opacity: .95;
}
.ri-card--top a:hover img { opacity: 1; }
.ri-card--top.stories a { aspect-ratio: auto; }
.ri-card--top.stories a img { height: auto; }

/* === bug-fix-followup 20260513 === */
/* #2 Light theme: .age-strip имеет hardcoded тёмный фон, поэтому внутренний текст
   должен оставаться светлым — не следовать --cream, который в светлой теме инвертирован в тёмный. */
:root[data-theme="light"] .age-strip .inner { color: rgba(251, 248, 243, 0.75); }
:root[data-theme="light"] .age-strip .age { color: var(--gold, #c9a96e); }

/* #3 Desktop: длинные имена городов (Петропавловск-Камчатский и т.п.)
   не должны расширять inline-block карточку — фиксируем ширину = текущий min-width 210px. */
@media (min-width: 641px) {
    .is-root #citypad > .citylist {
        width: 210px;
        max-width: 210px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* #5 mon-cheri: anchor-кнопки разделов салона не помещают «Девушки15»/«Программы15»
   на узких экранах. Переводим nav в wrap (вместо горизонтального скролла) +
   ставим пробел между текстом и счётчиком. */
.salon-anchors { flex-wrap: wrap; overflow-x: visible; row-gap: 8px; column-gap: 8px; }
.salon-anchors .go_to { white-space: nowrap; flex: 0 0 auto; }
.salon-anchors .go_to > span::before { content: " "; white-space: pre; }


/* === card-cover для normal-карточек 20260515 v2 === */
.card.list.has-cover {
    display: flex !important;
    align-items: stretch;
    gap: 18px;
    padding: 18px 20px;
}
.card.list.has-cover .card-cover {
    flex: 0 0 160px;
    width: 160px;
    align-self: stretch;
    overflow: hidden;
    background: rgba(0,0,0,.15);
    border-radius: 6px;
    display: block;
    text-decoration: none;
}
.card.list.has-cover .card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
    min-height: 160px;
}
.card.list.has-cover:hover .card-cover img { transform: scale(1.04); }
.card.list.has-cover .card-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.card.list:not(.has-cover) .card-body {
    display: contents;
}
@media (max-width: 700px) {
    .card.list.has-cover {
        flex-direction: column;
        gap: 12px;
    }
    .card.list.has-cover .card-cover {
        width: 100%;
        flex: 0 0 auto;
        height: 200px;
    }
}

/* === fix: уменьшить избыточный margin-top у crumbs (header не fixed) 20260515 === */
.page-head.top-pad { margin-top: 24px; }

/* === fix: mobile-drawer текст в light-теме 20260518 === */
/* Фон drawer хардкод-тёмный (rgba(12,11,10,.96)) в обеих темах.
   В light-теме var(--cream)/--cream-dim становятся тёмными → тёмный на тёмном.
   Форсим светлый текст внутри drawer независимо от темы. */
:root[data-theme="light"] .mobile-nav a { color: #e8e0d4; }
:root[data-theme="light"] .mobile-sub a { color: rgba(232,224,212,.72); }
:root[data-theme="light"] .mobile-nav a:hover,
:root[data-theme="light"] .mobile-nav a.is-active,
:root[data-theme="light"] .mobile-sub a:hover { color: #c9a96e; }

/* === fix: drawer поверх popup-баннера 20260518 === */
/* .ri-card--popup имеет z-index 9990 и перекрывал нижние пункты открытого
   меню (Личный кабинет / Избранное / Реклама). Поднимаем drawer выше. */
.mobile-drawer { z-index: 10001; }
.drawer-backdrop { z-index: 10000; }

/* === drawer: крестик закрытия + убраны рамки иконок шапки 20260518 === */
.drawer-close {
    position: absolute;
    top: 20px;
    right: 22px;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--cream-dim);
    transition: color .25s ease;
    z-index: 2;
}
.drawer-close:hover { color: var(--gold); }
/* Иконки шапки без рамок (тема / избранное / гамбургер) */
.nav-burger,
.nav-fav,
.theme-toggle { border: none; }

/* === faq accordion block 20260519 === */
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item {
    background: var(--dark);
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
}
.faq-q {
    list-style: none;
    cursor: pointer;
    padding: 14px 46px 14px 18px;
    position: relative;
    font-size: .95rem;
    font-weight: 500;
    color: var(--cream);
    line-height: 1.45;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--gold);
    border-bottom: 2px solid var(--gold);
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s ease;
}
.faq-item[open] .faq-q::after { transform: translateY(-30%) rotate(-135deg); }
.faq-item[open] .faq-q { color: var(--gold); }
.faq-a {
    padding: 0 18px 16px;
    font-size: .9rem;
    color: var(--cream-dim);
    line-height: 1.6;
}

/* === fix: счётчик-бейдж в якорях салона — убрать фантомный ::before 20260519 === */
.salon-anchors .go_to > span::before { content: none; }
.salon-anchors .go_to > span { margin-left: 5px; }

/* === fix: кнопка «Оставить отзыв» (.review-toggle) была без стилей — выглядела как простая ссылка и терялась 20260522 === */
.review-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0 18px;
    padding: 11px 26px;
    border: 1px solid var(--gold-dim, #c9a96e);
    color: var(--gold, #c9a96e);
    background: rgba(201, 169, 110, .04);
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color .25s, color .25s, background .25s, transform .25s;
}
.review-toggle:hover {
    border-color: var(--gold, #c9a96e);
    background: rgba(201, 169, 110, .12);
    transform: translateY(-1px);
}
/* светлая тема: золото инвертируется в тёмное — задаём явные читаемые цвета */
:root[data-theme="light"] .review-toggle {
    border-color: #b8973f;
    color: #8a6d28;
    background: rgba(184, 151, 63, .06);
}
:root[data-theme="light"] .review-toggle:hover {
    background: rgba(184, 151, 63, .14);
}

/* === fix: «Без интима» (.age-strip b) и «Только» (.age em) были тёмными на тёмном фоне страйпа в светлой теме — задаём явный светлый цвет (var(--cream) тут не срабатывал) 20260523 === */
:root[data-theme="light"] .age-strip b { color: #fbf8f3; }
:root[data-theme="light"] .age-strip .age em { color: rgba(251, 248, 243, .7); }

/* === fix: SEO-блок ключевиков .tags-block (index.php) рендерил каждый тег в <p> (блочный) → вертикальная «простыня». Делаем инлайн + приглушённо 20260523 === */
.tags-block { font-size: .78rem; line-height: 1.7; color: var(--cream-muted, rgba(232,224,212,.45)); margin: 10px 0 4px; }
.tags-block p { display: inline; margin: 0; font-size: inherit; color: inherit; }
:root[data-theme="light"] .tags-block { color: rgba(12,11,10,.5); }

/* === галерея салона: индикатор «есть ещё фото справа» — затемнение края + стрелка прокрутки 20260523 === */
.salon-hero-thumbs-wrap { position: relative; }
.salon-hero-thumbs-wrap.scrollable::after {
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 64px;
    pointer-events: none; background: linear-gradient(to right, transparent, var(--dark));
}
.salon-hero-thumbs-wrap .thumbs-arrow {
    position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
    width: 36px; height: 36px; display: grid; place-items: center; z-index: 3;
    border-radius: 50%; border: 1px solid var(--gold, #c9a96e);
    background: rgba(12, 11, 10, .72); color: var(--gold, #c9a96e);
    font-size: 24px; line-height: 1; cursor: pointer; padding: 0;
    transition: background .25s, transform .25s;
}
.salon-hero-thumbs-wrap .thumbs-arrow:hover { background: rgba(201, 169, 110, .2); transform: translateY(-50%) scale(1.08); }
.salon-hero-thumbs-wrap .thumbs-arrow[hidden] { display: none; }
:root[data-theme="light"] .salon-hero-thumbs-wrap .thumbs-arrow { background: rgba(251, 248, 243, .85); border-color: #b8973f; color: #8a6d28; }

/* === promo card image (фон акции) 20260525 === */
.promo-card-pic { display:block; width:100%; height:auto; max-height:220px; object-fit:cover; border-radius:8px; margin-bottom:12px; }

/* === review form modal visibility 20260525 === */
.detail-review-form { display: none; }
.arcticmodal-container .detail-review-form { display: block; }

/* === review form styling 20260526 === */
.arcticmodal-container .detail-review-form { position: relative; width: 460px; max-width: 92vw; }
.detail-review-form .review-form-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: var(--cream); margin-bottom: 16px; }
.detail-review-form .review-form-input { margin-bottom: 14px; }
.detail-review-form .review-form-input label { display: block; font-size: .8rem; letter-spacing: .04em; color: var(--cream-dim); margin-bottom: 6px; }
.detail-review-form .rqd { color: var(--gold); }
.detail-review-form input[type="text"],
.detail-review-form textarea { width: 100%; box-sizing: border-box; background: var(--dark2); border: 1px solid var(--line-strong); color: var(--cream); padding: 10px 12px; font-size: .9rem; border-radius: 4px; }
.detail-review-form input[type="text"]:focus,
.detail-review-form textarea:focus { border-color: var(--gold); outline: none; }
.detail-review-form textarea { min-height: 90px; resize: vertical; }
.detail-review-form .review-form-input.error input,
.detail-review-form .review-form-input.error textarea { border-color: #c0504d; }
.detail-review-form .rating-block { margin: 14px 0; }
.detail-review-form .rating-block.error .rating-label { color: #c0504d; }
.detail-review-form .rating-label { font-size: .8rem; color: var(--cream-dim); margin-bottom: 8px; }
.detail-review-form .rating-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.detail-review-form .rating-btn { position: relative; }
.detail-review-form .rating-btn input { position: absolute; opacity: 0; pointer-events: none; }
.detail-review-form .rating-btn label { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--gold-dim); color: var(--cream-dim); cursor: pointer; border-radius: 4px; transition: background .2s, color .2s; }
.detail-review-form .rating-btn.active label,
.detail-review-form .rating-btn label:hover { background: var(--gold); color: var(--black); border-color: var(--gold); }
.detail-review-form .rating-titles { display: flex; justify-content: space-between; margin-top: 6px; font-size: .72rem; color: var(--cream-muted); }
.detail-review-form .review-btns { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.detail-review-form .review-form-btn { background: var(--gold); color: var(--black); border: none; padding: 11px 22px; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.detail-review-form .review-form-btn:hover { background: var(--cream); }
.detail-review-form .review-cancel-btn, .detail-review-form .review-cancel { color: var(--cream-dim); cursor: pointer; font-size: .82rem; }
.detail-review-form .review-cancel-btn:hover, .detail-review-form .review-cancel:hover { color: var(--gold); }
.detail-review-form .close-form { position: absolute; top: 12px; right: 14px; width: 20px; height: 20px; cursor: pointer; opacity: .6; }
.detail-review-form .close-form:hover { opacity: 1; }
.detail-review-form .close-form::before, .detail-review-form .close-form::after { content: ""; position: absolute; top: 9px; left: 1px; width: 18px; height: 2px; background: var(--cream); }
.detail-review-form .close-form::before { transform: rotate(45deg); }
.detail-review-form .close-form::after { transform: rotate(-45deg); }
.detail-review-form .detail-review-end { padding: 30px 10px; text-align: center; color: var(--cream); font-size: 1.05rem; }

/* === review form modal bg fix (both themes) 20260526 === */
.arcticmodal-container .detail-review-form,
.arcticmodal-container .detail-review-form.box-modal { background: var(--dark); color: var(--cream); border: 1px solid var(--gold-dim); }

/* === city seo bottom block 20260528 === */
.city-seo-bottom { max-width: 1200px; margin: 32px auto 24px; padding: 0 20px; }
.city-tagcloud { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 12px; }
.city-tagcloud li { margin: 0; }
.city-tagcloud a { display: inline-block; padding: 6px 12px; border: 1px solid var(--gold-dim); color: var(--cream-dim); font-size: .8rem; letter-spacing: .02em; text-decoration: none; border-radius: 4px; transition: border-color .25s, color .25s, background .25s; }
.city-tagcloud a:hover { border-color: var(--gold); color: var(--cream); background: rgba(201,169,110,.06); }
.city-tagcloud .tc-self { background: var(--dark2); color: var(--cream); border-color: var(--gold-dim); font-weight: 500; }

/* === detail-review-validation 20260528 === */
.detail-review-form .rating-block.error .rating-label { color: #D00025; font-weight: 600; }
.detail-review-form .rating-block.error .rating-btns {
    box-shadow: 0 0 0 2px #D00025; border-radius: 8px;
    padding: 6px; margin-top: 4px;
}
.detail-review-form .review-form-input.error input,
.detail-review-form .review-form-input.error textarea {
    border-color: #D00025 !important; outline-color: #D00025;
}
.detail-review-form .review-hint {
    margin: 10px 0 0; padding: 10px 14px; background: #fff0f0; color: #B00020;
    border-radius: 8px; font-size: 14px; border: 1px solid #f5c2c7;
    display: none;
}
.detail-review-form.has-error .review-hint { display: block; }

/* === rva-nav-synced 20260603 (индикация входа посетителя в шапке/футере) === */
.nav-fav{position:relative}
.nav-fav-synced{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:#1ca05a;border:2px solid var(--bg,#0c0b0a);box-sizing:content-box}
.nav-fav.is-synced svg{color:#c9a96e}
.footer-fav-status{display:inline-block;margin-top:6px;font-size:13px;opacity:.85}

/* === rva-nav-visitor 20260603b (индикация входа посетителя в шапке) === */
.nav-visitor{position:relative;display:inline-flex}
.nav-visitor-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(201,169,110,.14);color:inherit;border:1px solid rgba(201,169,110,.4);border-radius:20px;padding:6px 12px;font-size:13px;cursor:pointer;line-height:1}
.nav-visitor-btn svg{color:#c9a96e}
.nav-visitor-prov{font-weight:500}
.nav-visitor-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;background:var(--card,#151413);border:1px solid rgba(201,169,110,.3);border-radius:10px;padding:8px;display:none;flex-direction:column;gap:2px;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.nav-visitor:hover .nav-visitor-menu,.nav-visitor.open .nav-visitor-menu{display:flex}
.nav-visitor-menu .nvm-title{font-size:12px;opacity:.55;padding:4px 8px 6px}
.nav-visitor-menu a{padding:8px 10px;border-radius:7px;font-size:13px;color:inherit;text-decoration:none}
.nav-visitor-menu a:hover{background:rgba(201,169,110,.12)}
.nav-visitor-login{font-size:13px;color:inherit;opacity:.85;text-decoration:none;border:1px solid rgba(201,169,110,.4);border-radius:20px;padding:6px 14px}
.nav-visitor-login:hover{opacity:1;background:rgba(201,169,110,.1)}
.footer-fav-status{display:inline-block;margin-top:6px;font-size:13px;opacity:.85}
@media(max-width:900px){.nav-visitor,.nav-visitor-login{display:none}}

/* === rva-nav-fit 20260603 (пилюля входа: не переносить, не обрезать) === */
.nav-visitor-btn{white-space:nowrap;line-height:1.2;height:auto;min-height:30px}
.nav-visitor-btn .nav-visitor-prov{line-height:1.2;white-space:nowrap}
.nav-visitor-login{white-space:nowrap;line-height:1.2}


/* === rva-login-btn2 20260603 (кнопка «Войти»: как .nav-cta, золотая) === */
.nav-right .nav-visitor-login{display:inline-flex;align-items:center;justify-content:center;background:#a88547;color:#fbf8f3;border:0;border-radius:6px;padding:9px 18px;font-size:12.48px;line-height:1;text-decoration:none;white-space:nowrap}
.nav-right .nav-visitor-login:hover{background:#96763e;color:#fff}
.nav-right .nav-visitor-btn{align-self:center}

/* === rva-pill-fix3 20260603 (десктоп: запас в пилюле; мобайл: статус в drawer) === */
.nav-visitor-btn{padding-left:14px;padding-right:16px;max-width:none;width:auto}
.nav-visitor-btn .nav-visitor-prov{overflow:visible;text-overflow:clip}
.mobile-visitor-status{display:block;padding:8px 0;color:#1ca05a;font-weight:600;font-size:14px}
.mobile-visitor-login{color:#c9a96e!important}

/* === rva-pill-fix4 20260603 (гарантированный запас в пилюле входа) === */
.nav-right .nav-visitor-btn{padding:6px 18px 6px 14px;box-sizing:border-box}
.nav-right .nav-visitor-btn .nav-visitor-prov{display:inline-block;padding-right:2px}

/* === rva-pill-fix5 20260603 (РЕАЛЬНЫЙ фикс: flex не сжимает текст пилюли) === */
.nav-right .nav-visitor{flex:0 0 auto}
.nav-right .nav-visitor-btn{flex:0 0 auto;width:auto}
.nav-right .nav-visitor-btn>*{flex:0 0 auto}
.nav-right .nav-visitor-btn .nav-visitor-prov{flex:0 0 auto;width:auto;min-width:max-content;overflow:visible}

/* === rva-light-fix 20260603 (светлая тема: меню видимое; nav-cta вертикаль) === */
.nav-visitor-menu{background:#151413;color:#e8e0d4}
[data-theme=light] .nav-visitor-menu{background:#fff;color:#1a1714;border-color:rgba(0,0,0,.12);box-shadow:0 8px 24px rgba(0,0,0,.15)}
[data-theme=light] .nav-visitor-menu .nvm-title{color:rgba(26,23,20,.55)}
[data-theme=light] .nav-visitor-menu a{color:#1a1714}
[data-theme=light] .nav-visitor-menu a:hover{background:rgba(201,169,110,.15)}
[data-theme=light] .nav-visitor-btn{color:#1a1714}
/* nav-cta «Реклама»: центрируем текст по вертикали (родной баг line-height) */
.nav-right .nav-cta{display:inline-flex;align-items:center;line-height:1}

/* === rva-cta-center 20260603 (Реклама: текст по центру, как было) === */
.nav-right .nav-cta{justify-content:center;text-align:center}

/* === m-visitor-card 20260603 (мобильная карточка входа в drawer) === */
.m-visitor-card{margin:8px 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(201,169,110,.25)}
.m-visitor-card .mvc-row{display:flex;align-items:center;gap:10px}
.m-visitor-card .mvc-ava{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(201,169,110,.18);color:#c9a96e;flex:0 0 auto}
.m-visitor-card .mvc-text{display:flex;flex-direction:column;line-height:1.25;flex:1 1 auto}
.m-visitor-card .mvc-text b{font-size:15px}
.m-visitor-card .mvc-text small{font-size:12.5px;opacity:.6}
.m-visitor-card .mvc-out{flex:0 0 auto;font-size:13px;color:#c9a96e;text-decoration:underline}
.m-visitor-card .mvc-login{display:flex;align-items:center;gap:10px;background:#a88547;color:#fbf8f3;border-radius:10px;padding:12px 16px;font-size:15px;font-weight:500;text-decoration:none}
.m-visitor-card .mvc-login svg{flex:0 0 auto}

/* === rva-mobile-fix2 20260603 (карточка входа всегда светлый текст; город не обрезать) === */
/* мобильный drawer всегда тёмный → текст карточки принудительно светлый, без влияния светлой темы */
.mobile-drawer .m-visitor-card,
.mobile-drawer .m-visitor-card .mvc-text b,
.mobile-drawer .m-visitor-card .mvc-text small{color:#e8e0d4!important}
.mobile-drawer .m-visitor-card .mvc-text small{opacity:.6}
.mobile-drawer .m-visitor-card .mvc-out{color:#c9a96e!important}
.mobile-drawer .m-visitor-card .mvc-login{color:#fbf8f3!important}
/* город в мобильной шапке: не обрезать (перенос/сжатие шрифта вместо клипа) */
.nav .city-switch{white-space:normal;max-width:42vw;line-height:1.15;font-size:13px}

/* === rva-mobile-hide 20260603 (вернуть мобильное скрытие nav-cta/visitor — мои display перебили) === */
@media(max-width:1100px){
  .nav-right .nav-cta{display:none!important}
  .nav-right .nav-account{display:none!important}
}
@media(max-width:900px){
  .nav-right .nav-visitor,
  .nav-right .nav-visitor-login{display:none!important}
}

/* === rva-nav-stack 20260603 (мобайл: логотип сверху, город под ним — любой город влезает) === */
@media(max-width:600px){
  .nav .nav-left{flex-direction:column;align-items:flex-start;gap:2px;flex:1 1 auto;min-width:0}
  .nav .nav-logo{flex:0 0 auto}
  .nav .city-switch{flex:0 0 auto;width:auto;max-width:none;border:0;padding:2px 0;letter-spacing:.04em;font-size:11px;text-transform:none;white-space:nowrap;color:var(--cream-dim,#c9a96e)}
  .nav .city-switch svg{width:11px;height:11px}
}

/* === pm-side-cta 20260601 === */
.side-cta--master{margin-top:10px}
.side-cta--master .sc-eyebrow{color:#c9a96e}

/* === open-now-tag 20260601 (п.8.1 «Сейчас работает») === */
.open-now-tag{display:inline-flex;align-items:center;gap:4px;color:#1ca05a;font-weight:600;font-size:.78rem;letter-spacing:.01em}
.open-now-tag::first-letter{font-size:1.1em;line-height:1}
.card-eyebrow .open-now-tag{margin-right:6px}

/* === rva-city-fit 20260603 (ПК: длинные города не сжимаются уже контента) === */
@media(min-width:601px){
  .nav .city-switch{flex:0 0 auto;white-space:nowrap}
}
/* === salon-amenities 20260623 === */
.salon-amenities-row b { font-weight: 600; }
.salon-amenities-row span,
.salon-meta .meta-row span { white-space: nowrap; }

/* === salon-articles 20260623 === */
.articles-list { display: flex; flex-direction: column; gap: 16px; }
.article-card { padding: 16px; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; background: #fff; }
.article-card-pic { width: 100%; max-height: 280px; object-fit: cover; border-radius: 8px; margin-bottom: 12px; }
.article-name { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
.article-text { color: #444; line-height: 1.5; }
