/* ===== Страница анкеты ===== */

/* на странице анкеты правой колонки сайта нет: анкета занимает её место */
.wrap.is-anketa:after { display: none; }
@media screen and (min-width: 951px) {
	.is-anketa .middle-wrap { width: calc(100% + 330px); margin-right: -330px; }
}

.ank { --a: #ec6a1e; --a-soft: #fdeee4; --bg: #f5f6f8; --line: #e6e8ec; --text: #1f2328; --muted: #6b7280;
	color: var(--text); font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 14px; line-height: 1.45; }
.ank *, .ank *:before, .ank *:after { box-sizing: border-box; }
.ank button { font: inherit; cursor: pointer; }

.ank-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "head side" "gal side" "body side"; grid-template-rows: auto auto 1fr; column-gap: 20px; }
.ank-head { grid-area: head; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.ank-head__main { min-width: 0; }
.ank-edit:empty { display: none; }
.ank-edit a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--muted); font-size: 12px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.ank-edit a:hover { border-color: var(--a); color: var(--a); }
.ank-gal { grid-area: gal; min-width: 0; }
.ank-side { grid-area: side; min-width: 0; }
.ank-body { grid-area: body; min-width: 0; }
.ank-side__in { position: sticky; top: 14px; }

/* заголовок */
.middle-wrap .ank h1.ank-name { margin: 0 0 4px; padding: 0; font-family: inherit; font-size: 24px; line-height: 1.2; font-weight: 700; color: var(--text); }
.ank-verified { margin-left: 8px; color: #2a9bd8; font-size: 20px; vertical-align: 1px; }
.ank-city { font-size: 14px; color: var(--muted); }
.ank-city i { margin-right: 6px; color: var(--a); }
.ank-city a { color: #3b6fb6; text-decoration: none; }
.ank-city a:hover { text-decoration: underline; }
.ank-city a + a:before { content: ","; margin-right: 5px; color: var(--muted); display: inline-block; }

/* галерея */
.ank-view { position: relative; height: clamp(280px, 52vh, 460px); border-radius: 16px; overflow: hidden; background: #1c1d20; }
.ank-view__bg { position: absolute; inset: -30px; background-size: cover; background-position: center; filter: blur(28px) brightness(.55); }
.ank-view__img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; cursor: zoom-in; }
.ank-view__nav { position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--a); font-size: 26px; line-height: 44px; text-align: center; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); transition: background .15s; }
.ank-view__nav:hover { background: #fff; }
.ank-view__nav--prev { left: 14px; }
.ank-view__nav--next { right: 14px; }
.ank-view__video { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
/* у видео свои кнопки внизу — счётчик уводим наверх, «на весь экран» прячем */
.ank-view.is-video .ank-view__count { top: 14px; bottom: auto; }
.ank-view.is-video .ank-view__zoom { display: none; }
.ank-view__count { position: absolute; left: 14px; bottom: 14px; padding: 3px 9px; border-radius: 8px; background: rgba(0, 0, 0, .6); color: #fff; font-size: 12px; font-weight: 600; }
.ank-view__zoom, .ank-view__fav { position: absolute; right: 14px; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .6); color: #fff; font-size: 16px; line-height: 38px; text-align: center; }
.ank-view__zoom { bottom: 14px; }
.ank-view__fav { top: 14px; }
.ank-view__fav a { display: block; color: #fff; }
.ank-view__fav:empty { display: none; }
.ank-gal.is-single .ank-view__nav, .ank-gal.is-single .ank-view__count, .ank-gal.is-single .ank-thumbs { display: none; }

.middle-wrap .ank-thumbs ul.xfieldimagegallery { display: flex; gap: 6px; margin: 8px 0 0; padding: 0 0 4px; list-style: none; overflow-x: auto; scrollbar-width: thin; }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li { flex: 0 0 68px; float: none; width: 68px; height: 68px; margin: 0; padding: 0; list-style: none; border-radius: 8px; overflow: hidden; border: 2px solid transparent; background: #dfe2e7; cursor: pointer; opacity: .8; transition: opacity .15s, border-color .15s; }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li:hover { opacity: 1; }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li.is-active { opacity: 1; border-color: var(--a); }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li[data-video] { position: relative; background: #1c1d20; }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li[data-video]:after { content: "\f04b"; position: absolute; left: 50%; top: 50%; width: 26px; height: 26px; margin: -13px 0 0 -13px; padding-left: 2px; box-sizing: border-box; border-radius: 50%; background: rgba(0, 0, 0, .6); color: #fff; font: 11px/26px FontAwesome; text-align: center; }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li a { display: block; width: 100%; height: 100%; }
.middle-wrap .ank-thumbs ul.xfieldimagegallery li img { display: block; float: none; width: 100%; height: 100%; max-width: none; margin: 0; border: 0; object-fit: cover; object-position: center top; }

/* карточки-блоки */
.ank-card { margin: 0 0 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.ank-body { margin-top: 16px; }
.middle-wrap .ank .ank-card h2 { margin: 0 0 12px; padding: 0; font-family: inherit; font-size: 17px; line-height: 1.2; font-weight: 700; color: var(--text); }

/* тарифы */
.ank-rate-line { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 9px 12px; border-radius: 12px; background: var(--bg); font-size: 13px; }
.ank-rate-line i { color: #f6b21b; font-size: 15px; width: 16px; text-align: center; }
.ank-rate-line span { flex: 1; color: #4b5563; }
.ank-rate-line b { font-size: 14px; font-weight: 700; white-space: nowrap; }
.ank-rates__group + .ank-rates__group { margin-top: 12px; }
.ank-rates__label { margin: 0 0 6px; font-size: 13px; font-weight: 700; }
.ank-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.ank-tile { padding: 10px 11px; border-radius: 12px; }
.ank-tile--day { background: #fff5d9; }
.ank-tile--night { background: #2c3e55; color: #fff; }
.ank-tile__top { display: flex; align-items: center; justify-content: space-between; margin: 0 0 6px; }
.ank-tile__top b { font-size: 16px; font-weight: 700; }
.ank-ico { display: block; width: 26px; height: 26px; }
.ank-tile__row { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; padding: 2px 0; font-size: 12.5px; }
.ank-tile__row span { opacity: .8; }
.ank-tile__row b { font-weight: 700; white-space: nowrap; }
.ank-note { display: flex; gap: 8px; margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: var(--bg); color: #4b5563; font-size: 13px; }
.ank-note i { margin-top: 2px; color: var(--muted); }

/* контакты */
.ank-contacts { display: flex; flex-direction: column; gap: 8px; }
.middle-wrap .ank .ank-contacts h2 { margin-bottom: 4px; }
.middle-wrap .ank a.ank-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 12px; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; transition: filter .15s; }
.middle-wrap .ank a.ank-btn:hover { filter: brightness(.93); color: #fff; }
.ank-btn i { font-size: 18px; }
.ank-btn--wa { background: #1fa855; }
.ank-btn--tg { background: #2a9bd8; }
.ank-btn--tel { background: #3b5bdb; }
.ank-btn--vb { background: #7360f2; }
.ank-vb-ic { flex: none; }
.ank-report { padding: 11px 12px; border-radius: 12px; background: var(--bg); text-align: center; font-size: 13px; }
.ank-report a { color: #d6455d; text-decoration: none; }
.ank-report a:hover { text-decoration: underline; }
.ank-report i { margin-right: 6px; }

/* параметры */
.ank-params dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin: 0; }
.ank-params dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.ank-params dt { margin: 0; color: var(--muted); font-weight: 400; white-space: nowrap; }
.ank-params dt i { width: 18px; margin-right: 6px; color: #9aa1ab; text-align: center; }
.ank-params dd { margin: 0; font-weight: 600; text-align: right; }

/* услуги и предпочтения */
.ank-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
.ank-list span { position: relative; padding-left: 22px; }
.ank-list span:before { content: "\f00c"; position: absolute; left: 0; top: 1px; font-family: FontAwesome; font-size: 12px; color: #1fa855; }
.ank-extras { margin: 12px 0 0; padding: 10px 12px 12px; border-radius: 12px; background: #fff5d9; }
.ank-extras:nth-child(2) { margin-top: 0; }
.ank-extras__label { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; font-size: 13px; font-weight: 700; color: #8a5a00; }
.ank-extras__label i { font-size: 15px; color: #c98a00; }
.ank-list--extra span:before { content: "\f067"; color: #c98a00; }
.ank-list--plain { display: flex; flex-wrap: wrap; gap: 6px; }
.ank-list--plain span { padding: 5px 11px; border-radius: 999px; background: var(--bg); border: 1px solid var(--line); font-size: 13px; }
.ank-list--plain span:before { display: none; }

.ank-text { font-size: 14px; line-height: 1.6; color: #374151; }
.ank-video__row { display: flex; flex-wrap: wrap; gap: 10px; }


/* похожие анкеты — на всю ширину под обеими колонками */
.middle-wrap .ank-related { margin: 6px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line); }
@media screen and (min-width: 1221px) {
	.middle-wrap .ank-related .related-box { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* просмотр на весь экран */
.ank-box { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .93); }
.ank-box img, .ank-box video { max-width: 100%; max-height: 100%; object-fit: contain; }
.ank-box button { position: absolute; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 26px; line-height: 46px; text-align: center; cursor: pointer; }
.ank-box button:hover { background: rgba(255, 255, 255, .28); }
.ank-box__close { top: 14px; right: 14px; font-size: 20px !important; }
.ank-box__nav { top: 50%; margin-top: -23px; }
.ank-box__nav--prev { left: 14px; }
.ank-box__nav--next { right: 14px; }
.ank-box.is-single .ank-box__nav { display: none; }

/* карточка в списке */
.ank-card-item { position: relative; }
.ank-card-item .ank-card-price { font-weight: 700; }
.ank-card-badge { position: absolute; left: 8px; top: 8px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: #2a9bd8; font-size: 13px; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); }

/* планшет и телефон: тарифы и контакты идут сразу после галереи */
@media screen and (max-width: 1100px) {
	.ank-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "gal" "side" "body"; grid-template-rows: auto; }
	.ank-side { margin-top: 14px; }
	.ank-side__in { position: static; }
	.ank-body { margin-top: 0; }
	.ank-contacts { flex-direction: row; flex-wrap: wrap; }
	.middle-wrap .ank .ank-contacts h2 { width: 100%; }
	.middle-wrap .ank a.ank-btn { flex: 1 1 150px; }
}
@media screen and (max-width: 760px) {
	.middle-wrap .ank h1.ank-name { font-size: 20px; }
	.ank-view { height: clamp(260px, 48vh, 400px); border-radius: 14px; }
	.ank-view__nav { width: 38px; height: 38px; margin-top: -19px; font-size: 22px; line-height: 38px; }
	.ank-card { padding: 14px; border-radius: 14px; }
	.ank-params dl { grid-template-columns: minmax(0, 1fr); }
	.ank-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.middle-wrap .ank-thumbs ul.xfieldimagegallery li { flex-basis: 58px; width: 58px; height: 58px; }
}
@media screen and (max-width: 480px) {
	.ank-list { grid-template-columns: minmax(0, 1fr); }
}

/* ===== Боковое меню: выбор города и быстрые фильтры (плотные цветные блоки, как в админке КаналПоиска) ===== */
.side-nav, .side-nav .mnu-g a { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.side-nav .mnu-g { --g: #a3aab5; --g-bg: rgba(107, 114, 128, .06); --g-fg: #4b5563;
	margin: 0 0 8px; padding: 4px 4px 4px 2px; border-left: 3px solid var(--g); border-radius: 8px; background: var(--g-bg); }
.side-nav .mnu-g--green { --g: #34b38a; --g-bg: rgba(52, 179, 138, .09); --g-fg: #0f6b58; }
.side-nav .mnu-g--blue { --g: #5b8fd6; --g-bg: rgba(91, 143, 214, .09); --g-fg: #1f4f8a; }
.side-nav .mnu-g--violet { --g: #9a7fe0; --g-bg: rgba(154, 127, 224, .10); --g-fg: #5a3f9e; }
.side-nav .mnu-g--orange { --g: #ec9a5b; --g-bg: rgba(236, 154, 91, .10); --g-fg: #9a4b17; }
.side-nav .mnu-g > summary { display: flex; align-items: center; gap: 8px; padding: 2px 8px; cursor: pointer; list-style: none;
	font-size: 11px; line-height: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--g-fg); }
.side-nav .mnu-g > summary::-webkit-details-marker { display: none; }
.side-nav .mnu-g > summary .fa-angle-up, .side-nav .mnu-g > summary .fa-angle-down { margin-left: auto; font-size: 14px; color: #9ca3af; transition: transform .15s; }
.side-nav .mnu-g:not([open]) > summary .fa-angle-up, .side-nav .mnu-g[open] > summary .fa-angle-down { transform: rotate(180deg); }
.side-nav .mnu-g ul { margin: 0; padding: 0; list-style: none; }
.side-nav .mnu-g li { margin: 0; padding: 0; list-style: none; }
.side-nav .mnu-g a { display: flex; align-items: center; gap: 8px; padding: 3px 8px; border-radius: 8px; color: #374151; font-size: 13px; line-height: 20px; font-weight: 500; text-decoration: none; }
.side-nav .mnu-g a i { flex: 0 0 16px; width: 16px; font-size: 14px; color: #9ca3af; text-align: center; }
.side-nav .mnu-g a:hover { background: rgba(255, 255, 255, .7); color: #1f2328; }
.side-nav .mnu-g a.is-current { background: #fff; box-shadow: 0 0 0 1px var(--g); color: #b4480d; }
.side-nav .mnu-g a.is-current i { color: #ec6a1e; }

.side-nav .city-pick > summary { padding: 3px 8px; font-size: 13px; line-height: 20px; font-weight: 600; text-transform: none; letter-spacing: 0; color: #1f2328; }
.side-nav .city-pick > summary .fa-map-marker { flex: 0 0 16px; width: 16px; font-size: 15px; color: #ec6a1e; text-align: center; }
.side-nav .city-pick > summary span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.side-nav .city-pick__list { padding-top: 2px; }
.side-nav .city-pick__list > ul > li > a, .side-nav .city-pick__list > a { font-weight: 600; color: #1f2328; }
.side-nav .city-pick__list ul ul a { padding-left: 32px; }

/* вариант «В» (09.10): белые блоки с тонкой серой рамкой, цвет группы — только у заголовка и иконок */
.side-nav .mnu-g { margin: 0 0 6px; padding: 4px; border: 1px solid #e6e8ec; border-radius: 8px; background: #fff; }
.side-nav .mnu-g ul.flt-menu a i { color: var(--g); }
.side-nav .mnu-g a.is-current { box-shadow: 0 0 0 1px #d5d9df; }
.side-nav .mnu-g a:hover { background: #f1f2f4; }
/* вид «Д» по переключателю (класс mnu-d на <html>): цветная рамка, пункты фильтров в два столбца */
.mnu-d .side-nav .mnu-g { border-color: var(--g); }
.mnu-d .side-nav .city-pick { border-color: #e6e8ec; }
.mnu-d .side-nav .mnu-g ul.flt-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mnu-d .side-nav .mnu-g ul.flt-menu a { gap: 5px; padding: 3px 4px; font-size: 12px; white-space: nowrap; }
.mnu-d .side-nav .mnu-g ul.flt-menu a i { color: #9ca3af; }
.mnu-d .side-nav .mnu-g ul.flt-menu a.is-current i { color: #ec6a1e; }
.side-nav .mnu-switch { display: flex; align-items: center; gap: 6px; margin: 2px 0 0; padding: 3px 8px; border: 0; border-radius: 8px; background: none; color: #9ca3af; font: 500 12px/20px Inter, system-ui, sans-serif; cursor: pointer; }
.side-nav .mnu-switch:hover { background: #f1f2f4; color: #374151; }

/* в выдвижном меню на телефоне строки выше — под палец */
@media screen and (max-width: 1220px) {
	.side-nav .mnu-g a, .side-nav .city-pick > summary { padding-top: 8px; padding-bottom: 8px; font-size: 15px; }
	.side-nav .mnu-g > summary { padding-top: 6px; padding-bottom: 6px; font-size: 12px; }
	.side-nav .city-pick > summary { font-size: 15px; }
	.mnu-d .side-nav .mnu-g ul.flt-menu a { padding: 8px 4px; font-size: 14px; }
}

/* тарифы: «сколько раз» под ценой и длительность экспресса */
.ank-rate-line b, .ank-tile__row b { text-align: right; }
.ank-rate-line b small, .ank-tile__row b small { display: block; margin-top: 1px; font-size: 11px; line-height: 1.2; font-weight: 400; opacity: .75; }
.ank-rate-line span em { font-style: normal; color: var(--muted); }
.ank-rate-line span em::before { content: "· "; }
/* плитки: «У меня · 2 раза»; если цена не помещается рядом, она уходит на вторую строку вправо */
.ank-tile__row { flex-wrap: wrap; }
.ank-tile__row span { white-space: nowrap; }
.ank-tile__row b { margin-left: auto; }
.ank-tile__row span em { font-style: normal; }
.ank-tile__row span em::before { content: "· "; }

/* отзывы: строка «Отзывов пока нет · Оставить отзыв», форма раскрывается по кнопке */
.ank-reviews--empty .comments-wrap { display: none; }
.ank-reviews .ank-rev-hide { display: none; }
.ank-rev-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ank-reviews:not(.ank-reviews--empty) .ank-rev-bar { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.ank-rev-info { margin-right: auto; color: var(--muted); font-size: 13px; }
.ank-rev-btn { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text); font: inherit; font-size: 13px; font-weight: 500; line-height: 1; cursor: pointer; transition: background .15s, border-color .15s; }
.ank-rev-btn:hover { background: var(--bg); border-color: #d5d9df; }
.ank-rev-btn i { color: var(--muted); font-size: 13px; }
.ank-rev-btn[hidden] { display: none; }

/* параметры: оранжевые значки и мягкая подложка строк вместо линий; «О себе» с кавычкой */
.ank-params dl { gap: 6px 10px; }
.ank-params dl > div { padding: 8px 12px; border: 0; border-radius: 10px; background: var(--bg); }
.ank-params dt i { color: var(--a); }
.ank-about .ank-text { position: relative; min-height: 26px; padding-left: 34px; font-size: 14.5px; }
.ank-about .ank-text::before { content: "\201C"; position: absolute; left: 0; top: -4px; font: 700 46px/1 Georgia, "Times New Roman", serif; color: #f3c9ad; }

/* услуги: галочки в бледно-зелёных кружках; допы — частью того же блока, под линией, с оранжевыми плюсами */
.ank-services .ank-list { gap: 10px 16px; }
.ank-services .ank-list span { padding-left: 28px; }
.ank-services .ank-list span:before { top: 0; width: 20px; height: 20px; border-radius: 50%; background: #e4f5ea; font-size: 11px; line-height: 20px; text-align: center; }
.ank-services .ank-extras { margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); border-radius: 0; background: none; }
.ank-services .ank-extras:nth-child(2) { margin-top: 0; padding-top: 0; border-top: 0; }
.ank-services .ank-extras__label { margin: 0 0 10px; font-size: 12px; font-weight: 400; color: var(--muted); }
.ank-services .ank-list--extra span:before { background: var(--a-soft); color: var(--a); }

/* отзывы: кнопка «Оставить отзыв» — мягкий оранжевый; форма выезжает плавно */
.ank-rev-btn.ank-rev-add { border-color: #f6d3bd; background: var(--a-soft); color: #b8480d; }
.ank-rev-btn.ank-rev-add:hover { border-color: #f0bd9c; background: #fbe2d2; }
.ank-rev-btn.ank-rev-add i { color: var(--a); }
.ank-rev-form { display: grid; grid-template-rows: 0fr; margin-top: 0; padding-top: 0; border-top: 1px solid transparent; opacity: 0; visibility: hidden;
	transition: grid-template-rows .4s ease, margin-top .4s ease, padding-top .4s ease, border-color .4s ease, opacity .3s ease, visibility 0s .4s; }
.ank-rev-form > * { min-height: 0; overflow: hidden; }
.ank-rev-form.is-open { grid-template-rows: 1fr; margin-top: 14px; padding-top: 14px; border-top-color: var(--line); opacity: 1; visibility: visible;
	transition: grid-template-rows .4s ease, margin-top .4s ease, padding-top .4s ease, border-color .4s ease, opacity .4s ease .05s, visibility 0s; }

/* отзывы: лёгкая форма в стиле карточек анкеты */
#ank-reviews #addcform { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
#ank-reviews #addcform .sep-input, #ank-reviews #addcform .sep-textarea, #ank-reviews #addcform .sep-submit { margin: 0 0 12px; padding: 0; border: 0; background: none; }
#ank-reviews #addcform .sep-textarea, #ank-reviews #addcform .sep-input.secur, #ank-reviews #addcform .sep-submit { grid-column: 1 / -1; }
#ank-reviews #addcform .sep-input .label, #ank-reviews #addcform .sep-input .input { float: none; width: auto; height: auto; margin: 0; padding: 0; line-height: 1.3; }
#ank-reviews #addcform .sep-input label, #ank-reviews #addcform .textarea-title, #ank-reviews #addcform .sec-label { display: block; height: auto; margin: 0 0 5px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--muted); font-size: 12.5px; font-weight: 400; line-height: 1.3; text-align: left; }
#ank-reviews #addcform .impot { margin-left: 2px; color: var(--a); }
#ank-reviews #addcform input[type="text"] { box-sizing: border-box; width: 100%; height: 38px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: none; color: var(--text); font: inherit; font-size: 14px; transition: border-color .15s; }
#ank-reviews #addcform input[type="text"]:focus { border-color: var(--a); outline: 0; }
#ank-reviews #addcform .tox.tox-tinymce { height: 150px !important; border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
#ank-reviews #addcform .tox .tox-editor-header { display: none; }
#ank-reviews #addcform .sec-capcha { display: flex; align-items: center; gap: 10px; }
#ank-reviews #addcform .sec-capcha a { order: 2; line-height: 0; }
#ank-reviews #addcform .sec-capcha img { height: 38px; width: auto; border-radius: 8px; }
#ank-reviews #addcform .sec-capcha input[type="text"] { float: none; width: 150px; margin: 0; }
#ank-reviews #addcform .sep-submit { margin: 4px 0 0; }
#ank-reviews #addcform button.fbutton { height: 38px; padding: 0 18px; border: 1px solid #f6d3bd; border-radius: 10px; background: var(--a-soft); box-shadow: none; color: #b8480d; font: inherit; font-size: 13px; font-weight: 600; text-shadow: none; cursor: pointer; transition: background .15s, border-color .15s; }
#ank-reviews #addcform button.fbutton:hover { border-color: #f0bd9c; background: #fbe2d2; color: #b8480d; }
@media (max-width: 600px) {
	#ank-reviews #addcform { grid-template-columns: minmax(0, 1fr); }
}

/* проверенная анкета: зелёная печать у имени и лента в углу главного фото */
.ank-verified { position: relative; display: inline-block; width: 24px; height: 24px; margin-left: 8px; color: #1fa855; font-size: 24px; line-height: 24px; vertical-align: -2px; cursor: default; }
.ank-verified .fa-certificate { display: block; line-height: 24px; }
.ank-verified .fa-check { position: absolute; left: 0; top: 0; width: 24px; color: #fff; font-size: 11px; line-height: 24px; text-align: center; }
.ank-view__ribbon { position: absolute; right: -46px; bottom: 24px; z-index: 2; width: 170px; padding: 6px 0; background: #1fa855; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .7px; text-align: center; text-transform: uppercase; transform: rotate(-45deg); box-shadow: 0 2px 6px rgba(0, 0, 0, .25); pointer-events: none; }
.ank-view__ribbon i { margin-right: 5px; font-size: 10px; }
.ank-view.is-video .ank-view__ribbon { display: none; }
/* кнопка «на весь экран» уступает угол ленте и встаёт рядом со счётчиком */
.ank-view__ribbon + .ank-view__zoom { right: auto; left: 62px; bottom: 8px; }
.ank-gal.is-single .ank-view__ribbon + .ank-view__zoom { left: 14px; bottom: 14px; }


/* стрелки галереи: тёмные полупрозрачные, появляются при наведении на фото (на сенсорных экранах видны всегда) */
.ank-view__nav { background: rgba(0, 0, 0, .45); color: #fff; box-shadow: none; transition: opacity .2s ease, background .15s ease; }
.ank-view__nav:hover { background: rgba(0, 0, 0, .65); }
@media (hover: hover) {
	.ank-view__nav { opacity: 0; }
	.ank-view:hover .ank-view__nav, .ank-view__nav:focus-visible { opacity: 1; }
}

/* печать «Проверено»: галочка строго по центру значка (ширина берётся по самому значку) */
.ank-verified { width: auto; height: auto; line-height: 1; }
.ank-verified .fa-certificate { display: block; line-height: 1; }
.ank-verified .fa-check { left: 50%; top: 50%; width: auto; line-height: 1; transform: translate(-50%, -50%); }

/* карточка в списке: фото сверху, под ним данные, цены, услуги и контакты */
.shorties-wrap:has(> .ank-card-item) { display: flex; flex-wrap: wrap; align-items: stretch; }
.shorties-wrap:has(> .ank-card-item) > :not(.shorty-item):not(.shorty-item-video) { flex: 1 1 100%; min-width: 0; }
.shorty-item.ank-card-item { display: flex; flex-direction: column; float: none; aspect-ratio: auto; overflow: hidden; background: #fff; border: 1px solid #e6e8ec; border-radius: 12px; color: #1f2328; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.ank-card-item *, .ank-card-item *:before, .ank-card-item *:after { box-sizing: border-box; }
.ank-c-photo { position: relative; display: block; flex: none; aspect-ratio: 3 / 4; overflow: hidden; background: #f1f2f4; }
/* значки на фото карточки справа снизу: видео (как в блоке «С видео») и число отзывов */
.ank-c-badges { position: absolute; right: 8px; bottom: 8px; z-index: 2; display: flex; align-items: center; gap: 4px; pointer-events: none; }
.ank-c-vid, .ank-c-com { display: inline-flex; align-items: center; justify-content: center; height: 24px; border-radius: 12px; background: rgba(0, 0, 0, .55); color: #fff; line-height: 1; }
.ank-c-vid { width: 24px; }
.ank-c-vid .fa { font-size: 10px; text-indent: 1px; }
.ank-c-com { gap: 4px; padding: 0 8px; font-size: 12px; font-weight: 500; }
.ank-c-com svg { display: block; }
.ank-c-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ank-c-body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 6px; min-width: 0; padding: 10px 12px 12px; }
.ank-c-head { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ank-card-item a.ank-c-name { min-width: 0; overflow: hidden; color: #1f2328; font-size: 16px; font-weight: 600; line-height: 1.25; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.ank-card-item a.ank-c-name:hover { color: #ec6a1e; }
.ank-c-seal { position: relative; flex: none; color: #1fa855; font-size: 19px; line-height: 1; cursor: default; }
.ank-c-seal .fa-certificate { display: block; line-height: 1; }
.ank-c-seal .fa-check { position: absolute; left: 50%; top: 50%; color: #fff; font-size: 9px; line-height: 1; transform: translate(-50%, -50%); }
.ank-c-city { color: #6b7280; font-size: 13px; line-height: 1.3; }
.ank-c-city i { margin-right: 5px; color: #ec6a1e; }
.ank-c-params { font-size: 13px; line-height: 1.3; }
.ank-c-params span + span:before { content: "·"; margin: 0 6px; color: #b6bbc3; }
.ank-c-params:empty { display: none; }
/* цен нет — «По запросу» */
.ank-c-prices:empty::before { content: "\f02b"; font-family: FontAwesome; width: 14px; margin-right: 5px; color: #9aa1ab; text-align: center; }
.ank-c-prices:empty::after { content: "По запросу"; color: #ec6a1e; font-weight: 700; }
.ank-c-prices { display: flex; flex-wrap: wrap; gap: 3px 12px; font-size: 13px; line-height: 1.3; }
.ank-c-prices span { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.ank-c-prices i { width: 14px; color: #9aa1ab; text-align: center; }
.ank-c-prices b { color: #ec6a1e; font-weight: 700; }
.ank-c-tags { overflow: hidden; color: #6b7280; font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.ank-c-tags.is-ready { display: flex; flex-wrap: wrap; gap: 3px; white-space: normal; }
.ank-c-tags span, .ank-card-item .ank-c-tags a { max-width: 100%; overflow: hidden; padding: 2px 6px; border-radius: 5px; background: #f1f2f4; color: #3b4250; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.ank-card-item .ank-c-tags a { background: #fdeee4; color: #c4500d; font-weight: 600; }
.ank-c-contacts { margin-top: auto; padding-top: 2px; }
.ank-c-contacts:not(:has(a)) { display: none; }
.ank-c-contacts summary { display: flex; align-items: center; justify-content: center; height: 34px; border-radius: 8px; background: #fdeee4; color: #c4500d; font-size: 13px; font-weight: 600; list-style: none; cursor: pointer; -webkit-user-select: none; user-select: none; transition: background-color .15s; }
.ank-c-contacts summary::-webkit-details-marker { display: none; }
.ank-c-contacts summary:hover { background: #fbe0cf; }
.ank-c-contacts[open] > summary { display: none; }
.ank-c-links { display: flex; flex-wrap: wrap; gap: 6px; }
.ank-card-item .ank-c-links a { display: flex; align-items: center; justify-content: center; height: 34px; border-radius: 8px; color: #fff; font-size: 18px; text-decoration: none; transition: filter .15s; }
.ank-card-item .ank-c-links a:hover { filter: brightness(.94); }
.ank-card-item .ank-c-links a.ank-c-wa { flex: 1 0 40px; background: #1fa855; }
.ank-card-item .ank-c-links a.ank-c-tg { flex: 1 0 40px; background: #2a9bd8; font-size: 15px; }
.ank-card-item .ank-c-links a.ank-c-vb { flex: 1 0 40px; background: #7360f2; }
.ank-card-item .ank-c-links a.ank-c-tel { flex: 4 1 120px; gap: 6px; padding: 0 8px; border: 1px solid #e6e8ec; background: #fff; color: #1f2328; font-size: 13px; font-weight: 600; white-space: nowrap; }
.ank-c-tel i { color: #ec6a1e; font-size: 15px; }
/* контакт всего один — кнопке нужна подпись */
.ank-c-links a:only-child:after { margin-left: 7px; font-family: inherit; font-size: 13px; font-weight: 600; }
.ank-c-links a.ank-c-wa:only-child:after { content: "WhatsApp"; }
.ank-c-links a.ank-c-tg:only-child:after { content: "Telegram"; }
.ank-c-links a.ank-c-vb:only-child:after { content: "Viber"; }
/* сердечко «в избранное» на фото */
.ank-c-fav { position: absolute; right: 8px; top: 8px; z-index: 2; width: 32px; height: 32px; border-radius: 50%; background: rgba(0, 0, 0, .45); color: #fff; font-size: 15px; line-height: 32px; text-align: center; }
.ank-c-fav:empty { display: none; }
.ank-card-item .ank-c-fav a { display: block; color: #fff; }
.ank-c-fav .fa-heart { color: #ff7a7a; }
@media screen and (max-width: 760px) {
	html[data-cols-m="2"] .ank-c-body { gap: 5px; padding: 8px 9px 9px; }
	html[data-cols-m="2"] .ank-card-item a.ank-c-name { font-size: 14px; }
	html[data-cols-m="2"] .ank-c-seal { font-size: 17px; }
	html[data-cols-m="2"] .ank-c-city, html[data-cols-m="2"] .ank-c-params, html[data-cols-m="2"] .ank-c-prices { font-size: 12px; }
	html[data-cols-m="2"] .ank-c-params span + span:before { margin: 0 4px; }
		html[data-cols-m="2"] .ank-c-tags span, html[data-cols-m="2"] .ank-card-item .ank-c-tags a { padding: 1px 5px; }
}

/* ---------- правая колонка ---------- */
.sb { display: flex; flex-direction: column; gap: 10px; color: #1f2328; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 13px; line-height: 1.4; }
.sb [hidden] { display: none !important; }
.sb-box { padding: 12px; border: 1px solid #e6e8ec; border-radius: 12px; background: #fff; }
.sb-t { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.sb-t > i { width: 16px; color: #ec6a1e; font-size: 14px; text-align: center; }
.sb-t > a, .sb-t > button, .sb-count { margin-left: auto; padding: 0; border: 0; background: none; color: #6b7280; font: inherit; font-weight: 400; font-size: 12px; text-decoration: none; cursor: pointer; }
.sb-t > a:hover, .sb-t > button:hover { color: #ec6a1e; }
.sb-box p { margin: 0; color: #6b7280; font-size: 12px; }
.sb-btn { display: block; margin-top: 10px; padding: 8px 10px; border-radius: 10px; background: #fdeee4; color: #c4500d; font-weight: 600; text-align: center; text-decoration: none; }
.sb-btn:hover { background: #fbdfcd; color: #c4500d; }
.sb-cta { border-color: #f6c9ad; }
.sb-trust .ank-c-seal { font-size: 16px; }
.sb-trust .ank-c-seal .fa-check { font-size: 8px; }

.sb-row { display: flex; align-items: center; gap: 10px; padding: 5px 0; color: inherit; text-decoration: none; }
.sb-row + .sb-row { border-top: 1px solid #f1f2f4; }
.sb-ph { position: relative; flex: none; width: 40px; height: 52px; overflow: hidden; border-radius: 8px; background: #f1f2f4; }
.sb-ph img, .sb-slide__ph img, .sb-tile__ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.sb-ph .fa-play, .sb-tile__ph .fa-play, .sb-slide__ph .fa-play { position: absolute; right: 4px; bottom: 4px; width: 16px; height: 16px; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 7px; line-height: 16px; text-align: center; text-indent: 1px; }
.sb-row__b { flex: 1 1 auto; min-width: 0; }
.sb-name { display: flex; align-items: center; gap: 5px; min-width: 0; }
.sb-name b { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sb-row:hover .sb-name b, .sb-tile:hover .sb-name b, .sb-slide:hover .sb-name b { color: #ec6a1e; }
.sb-name .ank-c-seal { font-size: 14px; }
.sb-name .ank-c-seal .fa-check { font-size: 7px; }
.sb-meta { display: block; overflow: hidden; color: #6b7280; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sb-meta span + span::before { content: "·"; margin: 0 5px; color: #b6bbc3; }
.sb-price { flex: none; color: #ec6a1e; font-size: 12px; font-weight: 600; white-space: nowrap; }
.sb-tag { flex: none; padding: 0 6px; border-radius: 8px; background: #e7f6ec; color: #1a7f43; font-size: 11px; font-weight: 500; line-height: 16px; }

.sb-top__nav { display: flex; align-items: center; gap: 4px; margin-left: auto; color: #6b7280; font-size: 12px; font-weight: 400; }
.sb-top__nav button { width: 22px; height: 22px; padding: 0; border: 1px solid #e6e8ec; border-radius: 50%; background: #fff; color: #4b5563; font-size: 14px; line-height: 18px; cursor: pointer; }
.sb-top__nav button:hover { border-color: #ec6a1e; color: #ec6a1e; }
.sb-slider { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.sb-slider::-webkit-scrollbar { display: none; }
.sb-slide { flex: 0 0 100%; min-width: 0; color: inherit; text-decoration: none; scroll-snap-align: start; }
.sb-slide__ph { position: relative; display: block; height: 190px; overflow: hidden; border-radius: 10px; background: #f1f2f4; }
.sb-slide__b { display: flex; align-items: center; gap: 10px; padding-top: 7px; }

.sb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sb-tile { min-width: 0; color: inherit; text-decoration: none; }
.sb-tile__ph { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; margin-bottom: 5px; border-radius: 8px; background: #f1f2f4; }
.sb-tile .sb-price { display: block; }

.sb-rev { display: block; padding: 6px 0; color: inherit; text-decoration: none; }
.sb-rev + .sb-rev { border-top: 1px solid #f1f2f4; }
.sb-rev__h { display: flex; justify-content: space-between; gap: 8px; }
.sb-rev__h b { font-weight: 600; }
.sb-rev__h span, .sb-rev__t { color: #6b7280; font-size: 12px; }
.sb-rev__t { display: block; }

button.ank-c-fav--ls { padding: 0; border: 0; cursor: pointer; }
.ank-c-fav--ls .fa-heart { color: #ff7a7a; }

/* логотип: «Интим ♥ Кавказ» */
.logo-e { display: flex; align-items: center; white-space: nowrap; }
.logo-e em { font-style: normal; color: #e84c2e; }
.logo-e__h { flex: none; width: .95em; height: .95em; margin: .04em .1em 0; fill: #e84c2e; }
.bottom-box .footer-logo .logo-e { font-weight: 700; }
.bottom-box .footer-logo .logo-e__h { width: .95em; height: .95em; margin: .04em .1em 0; }

/* ---------- шапка: ссылки, избранное ---------- */
.topbar { position: relative; }
.topbar__nav a.tb-city span { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar__nav a .tb-caret { margin: 0 0 0 6px; font-size: 13px; }
.tb-fav__n { margin-left: 6px; padding: 0 6px; border-radius: 9px; background: #fdeee4; color: #c4500d; font-size: 11px; font-weight: 600; line-height: 18px; }
.tb-fav__n[hidden], .tb-pop[hidden], .tb-pop__empty[hidden] { display: none; }
.topbar__user .topbar__vip { margin-left: 0; margin-right: 4px; }
.topbar__login[title] { padding: 0 10px; }
.topbar__login[title] i { margin-right: 0; font-size: 15px; }
.tb-pop { position: absolute; top: 100%; left: 10px; z-index: 30; width: 300px; max-width: calc(100% - 20px); max-height: 70vh; margin-top: 6px; padding: 12px; overflow-y: auto; border: 1px solid #e6e8ec; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	color: #1f2328; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 13px; line-height: 1.4; }
.tb-pop__t { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-weight: 600; }
.tb-pop__x { padding: 2px 6px; border: 0; background: none; color: #6b7280; font-size: 14px; cursor: pointer; }
.tb-pop__empty { margin: 4px 0 0; color: #6b7280; font-size: 12px; }

/* логотип: «Интим» всегда тёмный, «Кавказ» всегда красный — и при наведении */
.logo-v2 .logo-e, .logo-v2:hover .logo-e, #side-nav .logo-v2 .logo-e, #side-nav .logo-v2:hover .logo-e, .bottom-box .footer-logo .logo-e, .bottom-box .footer-logo:hover .logo-e { color: #1f2123; }
.logo-e em, .logo-v2:hover .logo-e em, .footer-logo:hover .logo-e em { color: #e84c2e; }

/* выбор города в шапке */
.tb-pop--city { width: 360px; padding: 14px; }
.tb-pop--city .tb-pop__t { font-size: 16px; margin-bottom: 10px; }
/* выбор города: engine/modules/city_picker/picker.php */
.cpk a { text-decoration: none; }
.cpk-search { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; margin: 0 0 8px; border-radius: 10px; background: #f4f5f6; color: #8a8f96; cursor: text; }
.cpk-search input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; background: none; box-shadow: none; color: #1f2328; font-size: 14px; outline: none; }
.cpk-all { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; color: #1f2328; font-size: 14px; font-weight: 600; }
.cpk-all .fa { color: #ec6a1e; }
.cpk-all b { margin-left: auto; font-weight: 400; font-size: 12px; color: #8a8f96; }
.cpk-all:hover { background: #f5f6f8; color: #1f2328; }
.cpk-t { margin: 10px 2px 6px; font-size: 12px; font-weight: 600; color: #8a8f96; }
.cpk-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.cpk-tile { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border: 1px solid #e6e8ec; border-radius: 12px; color: #1f2328; transition: border-color .15s, background-color .15s; }
.cpk-tile__n { font-size: 15px; font-weight: 600; }
.cpk-tile__m { font-size: 12px; color: #8a8f96; }
.cpk-tile:hover { border-color: #f3c9ad; color: #1f2328; }
.cpk-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cpk-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid #e6e8ec; border-radius: 16px; color: #1f2328; font-size: 13px; }
.cpk-chip b { font-weight: 400; font-size: 12px; color: #8a8f96; }
.cpk-chip:hover { border-color: #f3c9ad; color: #1f2328; }
.cpk .is-current { background: #fdeee4; border-color: #f0a274; color: #b4480d; }
.cpk .is-current .cpk-tile__m, .cpk .is-current b { color: #c4500d; }
.cpk [hidden] { display: none !important; }
.cpk.is-search .cpk-t, .cpk.is-search .cpk-all { display: none; }
.cpk.is-search .cpk-tiles { margin-bottom: 6px; }
.cpk-none { margin: 8px 2px 2px; font-size: 13px; color: #8a8f96; }
@media screen and (max-width: 760px) {
	.tb-pop--city { position: fixed; top: auto; bottom: 0; left: 0 !important; right: 0; z-index: 1000; width: auto; max-width: none; max-height: 82vh; margin: 0; padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
		border: 0; border-radius: 18px 18px 0 0; box-shadow: 0 0 0 100vmax rgba(20, 22, 26, .45); }
	.cpk-tile__n { font-size: 16px; }
}

/* районы города — чипы над анкетами (engine/modules/districts/chips.php) */
.dchips {display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px 0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
.dchip {display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; margin:0; border:0; border-radius:15px; background-color:#f4f5f6;
color:#3b3d40; font-size:13px; font-weight:400; line-height:1; white-space:nowrap; text-decoration:none; cursor:pointer; box-shadow:none; transition:background-color .15s, color .15s;}
.dchip b {font-weight:400; font-size:12px; color:#8a8f96;}
.dchip:hover {background-color:#e9ebee; color:#1f2123; text-decoration:none;}
.dchip.is-on {background-color:#fdeee4; color:#b4480d; font-weight:500;}
.dchip.is-on b {color:#c4500d;}
.dchip--more i {font-size:14px; color:#8a8f96;}
.dchips .is-more {display:none;}
.dchips.is-open .is-more {display:inline-flex;}
.dchips.is-open .dchip--more {display:none;}
@media screen and (max-width: 760px) {
	.dchips {flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;}
	.dchips::-webkit-scrollbar {display:none;}
	.dchips .is-more {display:inline-flex;}
	.dchip--more {display:none;}
}

/* фильтры анкет в городе (engine/modules/ank_filter/bar.php, js/ank-filter.js) */
.afbar {display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 10px 0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
.afbtn {display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px; margin:0; border:1px solid #f3c9ad; border-radius:17px; background:#fff;
color:#b4480d; font-size:14px; font-weight:600; line-height:1; cursor:pointer; box-shadow:none;}
.afbtn:hover {background:#fdeee4;}
.afbtn__n {display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:#ec6a1e; color:#fff; font-size:12px;}
.afchip {display:inline-flex; align-items:center; gap:7px; height:30px; padding:0 11px; border-radius:15px; background:#fdeee4; color:#b4480d; font-size:13px; text-decoration:none; white-space:nowrap;}
.afchip i {font-size:12px; opacity:.7;}
.afchip:hover {background:#fbdcc7; color:#9a3c0a; text-decoration:none;}
.afreset {font-size:13px; color:#70757c; text-decoration:underline; margin-left:4px;}
.afcount, .afhint {font-size:13px; color:#70757c; margin-left:4px;}
.afp {position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; background:rgba(20,22,26,.45); font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
.afp[hidden] {display:none;}
.afp__box {display:flex; flex-direction:column; width:560px; max-width:calc(100% - 32px); max-height:calc(100% - 64px); border-radius:16px; background:#fff; overflow:hidden;}
.afp__head {display:flex; align-items:center; gap:8px; padding:16px 20px; border-bottom:1px solid #eceef1; font-size:17px; font-weight:600; color:#1f2328;}
.afp__head span {font-size:14px; font-weight:400; color:#70757c;}
.afp__x {margin-left:auto; width:34px; height:34px; padding:0; border:0; border-radius:17px; background:#f4f5f6; color:#3b3d40; font-size:16px; cursor:pointer; box-shadow:none;}
.afp__body {flex:1 1 auto; overflow-y:auto; padding:6px 20px 14px;}
.afp__note {margin:10px 0 0; font-size:13px; color:#70757c;}
.afp__g {padding:12px 0 2px;}
.afp__t {margin:0 0 8px; font-size:13px; font-weight:600; color:#3b3d40;}
.afp__opts {display:flex; flex-wrap:wrap; gap:6px;}
.afo {display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 13px; margin:0; border:1px solid #e3e5e8; border-radius:17px; background:#fff;
color:#1f2328; font-size:14px; font-weight:400; line-height:1; text-decoration:none; cursor:pointer; box-shadow:none; transition:background-color .15s, border-color .15s;}
.afo b {font-weight:400; font-size:12px; color:#8a8f96;}
.afo:hover {border-color:#f3c9ad; color:#1f2328; text-decoration:none;}
.afo.is-on {background:#fdeee4; border-color:#f0a274; color:#b4480d; font-weight:500;}
.afo.is-on b {color:#c4500d;}
.afo.is-empty {opacity:.45;}
.afp__foot {display:flex; align-items:center; gap:10px; padding:12px 20px; border-top:1px solid #eceef1;}
.afp__reset {height:42px; padding:0 16px; border:0; border-radius:12px; background:#f4f5f6; color:#3b3d40; font-size:14px; cursor:pointer; box-shadow:none;}
.afp__go {flex:1; display:flex; align-items:center; justify-content:center; height:42px; border-radius:12px; background:#ec6a1e; color:#fff; font-size:15px; font-weight:600; text-decoration:none;}
.afp__go:hover {background:#d65c14; color:#fff; text-decoration:none;}
.afp__go.is-empty {background:#c9ccd1; pointer-events:none;}
html.af-lock, html.af-lock body {overflow:hidden;}
@media screen and (max-width: 760px) {
	.afp {align-items:flex-end;}
	.afp__box {width:100%; max-width:100%; max-height:88%; border-radius:18px 18px 0 0;}
	.afp__foot {padding-bottom:calc(12px + env(safe-area-inset-bottom));}
	.afbar {flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;}
	.afbar::-webkit-scrollbar {display:none;}
	.afhint {white-space:nowrap;}
}
.dchip.is-empty {opacity:.45;}
.afempty {width:100%; margin:6px; padding:28px 20px; border-radius:14px; background:#f7f8f9; text-align:center; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
.afempty__t {font-size:17px; font-weight:600; color:#1f2328;}
.afempty__d {margin:6px 0 16px; font-size:14px; color:#70757c;}
.afempty__a {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px;}
.afempty__go {display:inline-flex; align-items:center; height:40px; padding:0 18px; border-radius:12px; background:#ec6a1e; color:#fff; font-size:14px; font-weight:600; text-decoration:none;}
.afempty__go:hover {background:#d65c14; color:#fff; text-decoration:none;}
.afempty__reset {font-size:14px; color:#70757c; text-decoration:underline;}

/* флаги стран — небольшие и приглушённые (af_flag в ank_filter/lib.php) */
.flag { display: inline-block; flex: none; width: 18px; height: 12px; margin-right: 7px; vertical-align: -1px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); filter: saturate(.55) opacity(.8); }
.afp__t .flag { margin-right: 8px; }
.cpk-tile__n { display: flex; align-items: center; }
.cpk-chip .flag { width: 15px; height: 10px; margin-right: 0; }

/* SEO главной и категорий: H1 над анкетами, текст под ними (модуль seo_page) */
.seo-h1 { margin: 4px 0 12px; font: 700 20px/1.3 Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #1f2123; }
.seo-text { margin: 18px 0 0; font-size: 13px; line-height: 1.6; }
.seo-text h2 { font-size: 15px; text-transform: none; margin: 4px 0 8px; }
.seo-text p { margin-bottom: 8px; }
@media (max-width: 760px) { .seo-h1 { font-size: 17px; margin-bottom: 10px; } }

/* ссылки на города и районы в SEO-текстах */
.seo-text a { color: #c4500d; text-decoration: none; border-bottom: 1px solid rgba(196, 80, 13, .35); }
.seo-text a:hover { border-bottom-color: #c4500d; }

/* SEO-текст под H1: свёрнут до 2 строк (3 на телефоне), «Читать дальше» раскрывает */
.seo-text { margin: -4px 0 14px; font-size: 13px; line-height: 1.6; color: #5c6066; }
.seo-text__body h2 { display: inline; margin: 0 6px 0 0; font-size: 13px; font-weight: 600; color: #1f2123; text-transform: none; }
.seo-text__body p { margin: 0 0 8px; }
.seo-text.is-collapsed .seo-text__body { max-height: calc(1.6em * 2); overflow: hidden; }
.seo-text.is-collapsed .seo-text__body p { margin: 0; display: inline; }
.seo-text.is-collapsed .seo-text__body p + p::before { content: " "; }
.seo-text__more { margin-top: 4px; padding: 0; border: 0; background: none; color: #c4500d; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.seo-text__more:hover { text-decoration: underline; }
@media (max-width: 760px) { .seo-text.is-collapsed .seo-text__body { max-height: calc(1.6em * 3); } }

/* SEO-блок снова серой плашкой под сортировкой (как было): H1 + текст, свёрнутый до 2 строк */
.site-desc.seo-box .seo-text__body h2 { display: inline; margin: 0 6px 0 0; font-size: 13px; font-weight: 600; color: #1f2123; }
.site-desc.seo-box .seo-text__body p { margin: 0 0 6px; }
.site-desc.seo-box.is-collapsed .seo-text__body { max-height: calc(1.55em * 2); overflow: hidden; }
.site-desc.seo-box.is-collapsed .seo-text__body p { margin: 0; display: inline; }
.site-desc.seo-box.is-collapsed .seo-text__body p + p::before { content: " "; }
@media (max-width: 760px) { .site-desc.seo-box.is-collapsed .seo-text__body { max-height: calc(1.55em * 3); } }

/* переключатель «карточек в ряд» в строке «Фильтры» (переносит скрипт в main.tpl) */
.list-bar.is-moved { display: none !important; }
.afbar .view-toggle { margin-left: auto; flex: 0 0 auto; }

/* кнопка города (вариант В): карточка в две строки «Ваш город / Ереван» с флагом, отделена чертой от фильтров */
.topbar__nav a.tb-city { position: relative; height: 40px; margin-right: 19px; padding: 0 10px 0 9px; border: 1px solid #d6d9dd; border-radius: 10px; background-color: #fff; color: #1f2123; }
.topbar__nav a.tb-city:hover { border-color: #ec6a1e; background-color: #fff; color: #1f2123; }
.topbar__nav a.tb-city::after { content: ""; position: absolute; top: 7px; right: -11px; width: 1px; height: 24px; background: #dfe2e5; }
.topbar__nav a.tb-city .tb-city__pin { margin-right: 8px; font-size: 16px; color: #ec6a1e; }
.topbar__nav a.tb-city .flag { width: 22px; height: 15px; margin-right: 9px; filter: none; }
.tb-city__t { display: flex; flex-direction: column; line-height: 1.15; }
.tb-city__t small { font-size: 10.5px; color: #8a8f96; }
.topbar__nav a.tb-city .tb-city__n { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; font-weight: 600; }
.topbar__nav a.tb-city .tb-caret { margin: 0 0 0 8px; color: #8a8f96; }
.topbar__nav a.tb-city.active, .topbar__nav a.tb-city.active:hover { background-color: #fff; color: #1f2123; }

/* услуги-ссылки (справочник услуг, ank_filter/svc_js.php): в анкете — как пункты списка, на карточках — как плашки */
.ank-services .ank-list a { position: relative; padding-left: 28px; color: inherit; text-decoration: none; }
.ank-services .ank-list a:before { content: "\f00c"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: #e4f5ea; font-family: FontAwesome; font-size: 11px; line-height: 20px; text-align: center; color: #1fa855; }
.ank-services .ank-list a:hover { color: #c4500d; text-decoration: underline; text-decoration-color: rgba(196, 80, 13, .4); text-underline-offset: 3px; }
.ank-card-item .ank-c-tags a.ank-c-svc:hover { background: #fdeee4; color: #b4480d; }

/* услуги-ссылки на карточках выглядят как обычные плашки; оранжевая — только «+N» и наведение */
.ank-card-item .ank-c-tags a.ank-c-svc { background: #f1f2f4; color: #3b4250; font-weight: 400; }
.ank-card-item .ank-c-tags a.ank-c-svc:hover { background: #fdeee4; color: #b4480d; }
