@charset "UTF-8";
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{
    scroll-behavior: smooth;
	background-color: #151a33;
}
body{
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 16px;
    min-height: 100vh;
    padding: 0;
    line-height: 26px;
	color: #b9b9b9;
	background: radial-gradient(circle at top, #151a33 0, #050712 55%);
}
body a{
	color: #929abd;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}
.container {
	max-width: 1140px;
	padding: 0 10px;
	margin: auto;
}
.header {
	padding-top: 20px;
	margin-bottom: 24px;
}
.header-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header-logo {
	width: 300px;
	flex-shrink: 0;
}
.header-logo a {
	display: flex;
	color: #e1e1e1;
	align-items: center;
	text-decoration: none;
}
.header-logo a img {
	margin-right: 10px;
}
.header-logo a span {
	display: block;
	line-height: 20px;
	font-weight: 700;
	font-size: 19px;
}
.header-logo a span i {
	display: block;
	color: #929abd;
	font-style: normal;
	font-size: 13px;
	font-weight: normal;
}
.breadcrumbs{
	margin-bottom: 24px;
}
.breadcrumbs ul{
	display: flex;
}
.breadcrumbs ul li{
	list-style: none;
	margin-right: 12px;
	font-size: 13px;
	color: #929abd;
}
.breadcrumbs ul li a {
	display: inline-block;
	color: #929abd;
	position: relative;
	padding-right: 16px;
}
.breadcrumbs ul li a:hover {
	text-decoration: none
}
.breadcrumbs ul li a:after {
	position: absolute;
	top: -1px;
	right: 0;
	display: block;
	content: '→';
	width: 10px;
	height: auto;
}
.header-nav ul {
	list-style: none;
	display: flex;
	font-size: 15px;
}
.header-nav ul li {
	margin: 0 8px;
}
.header-nav ul li a:hover {
	text-decoration: none;
}
.lang-switcher{
	display: flex;
	gap: 10px;
}
.lang-switcher a{
	text-decoration: none;
	font-weight: bold;
	font-size: 13px;
	display: block;
	padding: 0px 5px;
	border-radius: 4px;
}
.lang-switcher a:hover {
  background: #e1e1e1;
  color: #000;
}
.lang-switcher a.active {
  background: #ffb400;
  color: #151a33;
}
/* ── City selector ────────────────────────────────────────────── */
.city-selector {
	display: flex;
	align-items: center;
	gap: 8px;
}
.city-selector__label {
	font-size: 14px;
	color: #929abd;
	white-space: nowrap;
}
.city-selector__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.12);
	color: #e1e1e1;
	font-size: 14px;
	font-family: inherit;
	line-height: 1;
	padding: 6px 32px 6px 12px;
	border-radius: 8px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23929abd' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.city-selector__select:hover {
	border-color: rgba(255,180,0,.5);
	background-color: rgba(255,255,255,.07);
}
.city-selector__select:focus,
.city-selector__select:focus-visible {
	outline: none;
	border-color: #ffb400;
	box-shadow: 0 0 0 3px rgba(255,180,0,.18);
}
.city-selector__select option {
	background-color: #1b2140;
	color: #e1e1e1;
	padding: 8px 12px;
}
.city-selector__select option:checked,
.city-selector__select option:hover {
	background-color: #ffb400;
	color: #151a33;
}
.hero {
	margin-bottom: 44px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
.hero-search{
	width: 58%;
	background: radial-gradient(circle at top left, #1b2244, #090c18 55%);
	border-radius: 10px;
	padding: 20px 22px 18px;
	border: 1px solid rgba(255,255,255,0.05);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.55);
	position: relative;
}
.hero-search:before{
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 10px;
	background: radial-gradient(circle at 0% 0%, rgba(255,180,0,0.23), transparent 56%), radial-gradient(circle at 100% 100%, rgba(0,180,255,0.22), transparent 55%);
	opacity: 0.95;
	pointer-events: none;
}
.hero-search h1{
	font-size: 12px;
	color: #ffb400;
	font-weight: 600;
	margin-bottom: 6px;
	letter-spacing: 1px;
	font-weight: normal;
	text-transform: uppercase;
}
.hero-search-subtitle{
	font-size: 24px;
	color: #e1e1e1;
	margin-bottom: 8px;
}
.hero-search-subtitle span{
	color: #ffb400;
}
.hero-search p{
	font-size: 13px;
	color: #929abd;
	margin-bottom: 16px;
}
.hero-about{
  width: 40%;
}
.hero-for-bussines{
	background: #0b0f1d;
	border-radius: 10px;
	padding: 2px 14px 12px;
	border: 1px solid rgba(255,255,255,0.05);
}
.hero-for-bussines-title{
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 4px;
	color: #e1e1e1;
}
.hero-for-bussines p{
	font-size: 13px;
	color: #929abd;
	line-height: 18px;
	margin-bottom: 10px;
}
.hero-for-bussines ul{
	list-style: none;
	display: flex;
}
.hero-for-bussines ul li{
	font-size: 12px;
	margin-right: 5px;
	line-height: 14px;
	padding: 1px 7px 3px 7px;
	border-radius: 10px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.05);
	color: #929abd;
}
.hero-advantages{
	background: #0b0f1d;
	border-radius: 10px;
	padding: 2px 14px 12px;
	border: 1px solid rgba(255,255,255,0.05);
}
.hero-advantages-title{
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 4px;
	color: #e1e1e1;
}
.hero-advantages p{
	font-size: 13px;
	color: #929abd;
	line-height: 18px;
	margin-bottom: 10px;
}
.hero-advantages ul{
	list-style: none;
	display: flex;
}
.hero-advantages ul li{
	font-size: 12px;
	line-height: 14px;
	margin-right: 5px;
	padding: 1px 7px 3px 7px;
	border-radius: 10px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.05);
	color: #929abd;
}
.company-page-wrapper{
	display: flex;
	
}
.company-page{
	flex-grow: 1;
}
.company-sidebar{
	padding-left: 18px;
}
.company-sidebar-inner{
	width: 350px;
	background: #0f1425;
	border-radius: 10px;
	border: 1px solid rgba(255,255,255,0.06);
	padding: 18px;
	box-sizing: border-box;
}
.service-page{
	display: flex;
	flex-direction: column;
}

/* Порядок блоков страниц: seo-текст высоко в DOM (для SEO), визуально — вниз.
   DOM: h1 → seo(article.page-seo) → компании → популярное.
   Визуально (flex order): h1 → компании → популярное → seo. */
.page-flow{
	display: flex;
	flex-direction: column;
}
.page-flow > .companies-block{ order: 1; }
.page-flow > .popular-block{ order: 2; }
.page-flow > .page-seo{ order: 3; }
.content p{
	margin-bottom: 10px;
}
/* ── «Читать далее»: раскрытие длинного текста (native <details>). ───
   Свёрнуто: конец текста мягко затухает в фон, под ним — разделитель
   с подписью по центру (линия — «Читать далее» — линия). ── */
.content-more{ position: relative; }
/* Затухание: блок «наезжает» на конец текста, ::before растворяет его в фон. */
.content-more:not([open]){ margin-top: -70px; }
.content-more:not([open])::before{
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 70px;
	background: linear-gradient(to bottom, rgba(5, 7, 18, 0), #050712 90%);
	pointer-events: none;
}
.content-more > summary{
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	list-style: none;
	margin: 0 0 16px;
	user-select: none;
}
.content-more:not([open]) > summary{ padding-top: 70px; }
.content-more > summary::-webkit-details-marker{ display: none; }
/* Линии слева и справа от подписи. */
.content-more > summary::before,
.content-more > summary::after{
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, .10);
}
/* Подпись: «Читать далее» / «Свернуть». */
.content-more > summary span{
	font-size: 13px;
	color: #929abd;
	white-space: nowrap;
	transition: color .2s;
}
.content-more > summary:hover span{ color: #ffb400; }
.content-more > summary .content-more__close{ display: none; }
.content-more[open] > summary .content-more__open{ display: none; }
.content-more[open] > summary .content-more__close{ display: inline; }
.company-contacts{
	margin-bottom: 16px;
}
.company-contacts h3{
	font-weight: 600;
	font-size: 17px;
	margin-bottom: 8px;
}
/* Сайт компании — выделенная строка с иконкой, а не рядовая ссылка */
.company-site{
	margin-bottom: 14px;
}
.company-site a{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	border-radius: 10px;
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .07);
	color: #e1e1e1;
	font-size: 14px;
	text-decoration: none;
	word-break: break-all;
	transition: border-color .2s, color .2s;
}
.company-site a::before{
	content: "🌐";
	flex: none;
	font-size: 16px;
	line-height: 1;
}
.company-site a::after{
	content: "→";
	margin-left: auto;
	color: #5f6b95;
	flex: none;
}
.company-site a:hover{
	border-color: #f4a300;
	color: #f4a300;
}

/* Соцсети и мессенджеры — в фирменных цветах своих сервисов.
   По умолчанию приглушённая заливка и цветной текст, на hover — полная заливка. */
.company-social{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.company-social li{
	list-style: none;
}
.company-social li a{
	display: block;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	text-decoration: none;
	color: var(--sn, #c7ccdd);
	border: 1px solid var(--sn, #c7ccdd);
	background: transparent;
	transition: background .2s, color .2s, border-color .2s;
}
.company-social li a:hover{
	background: var(--sn-bg, var(--sn, #c7ccdd));
	border-color: var(--sn-bg, var(--sn, #c7ccdd));
	color: var(--sn-fg, #fff);
}
/* ── Реквизиты в блоке контактов: IDNO + форма деятельности ──────
   Метка сверху мелким приглушённым, значение — крупнее и светлее:
   пара читается как карточка данных, а не как строка «ключ: значение». */
.company-req{
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, .07);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.company-req__row{
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 9px 12px;
	border-radius: 10px;
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .05);
}
.company-req dt{
	font-size: 11px;
	line-height: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #5f6b95;
}
.company-req dd{
	margin: 0;
	font-size: 14px;
	line-height: 19px;
	color: #e1e1e1;
	word-break: break-word;
}
/* IDNO — моноширинный: цифры выравниваются, читается как реквизит */
.company-req__row:first-child dd{
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 15px;
	letter-spacing: .02em;
	color: #f4a300;
}

/* Цвет сети объявляется один раз на <li>, ссылка только читает переменную.
   Конкурирующих правил color больше нет — приоритеты не спорят на :hover.
   --sn-bg — заливка, если она отличается от цвета обводки (TikTok).
   --sn-fg — текст на заливке, где белый не читается (WhatsApp, OK). */
.company-social li.telegram, .author-social li.telegram{ --sn: #229ed9; }
.company-social li.whatsapp, .author-social li.whatsapp{ --sn: #25d366; --sn-fg: #0b1a0f; }
.company-social li.viber, .author-social li.viber{ --sn: #7360f2; }
.company-social li.facebook, .author-social li.facebook{ --sn: #1877f2; }
.company-social li.instagram, .author-social li.instagram{ --sn: #e1306c; }
.company-social li.youtube, .author-social li.youtube{ --sn: #ff0000; }
.company-social li.tiktok, .author-social li.tiktok{ --sn: #c7ccdd; --sn-bg: #111; }
.company-social li.ok, .author-social li.ok{ --sn: #ee8208; --sn-fg: #1a1205; }
.company-social li.vk, .author-social li.vk{ --sn: #0077ff; }
/* Сети только из карточки автора (в контактах компании их нет) */
.author-social li.twitter{ --sn: #c7ccdd; --sn-bg: #111; }
.author-social li.linkedin{ --sn: #0a66c2; }
.author-social li.company,
.author-social li.website{ --sn: #ffb400; --sn-fg: #151a33; }

/* ── Адреса компании: каждая локация — отдельная карточка ────────
   (адресов может быть несколько — карточки визуально разделяют их) */
.company__locations{ margin-bottom: 20px; }
.company__locations h3{ font-weight: 600; font-size: 17px; margin-bottom: 10px; }

.location{
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 12px;
}
.location:last-child{ margin-bottom: 0; }

.location__head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.location__type{ color: #fff; font-size: 15px; font-weight: 600; }
.location__status{
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
	white-space: nowrap;
}
.location__status--open{ background: rgba(55, 214, 122, .14); color: #37d67a; }
.location__status--closed{ background: rgba(255, 255, 255, .07); color: #929abd; }

.location__address{ color: #c7ccdd; font-size: 14px; line-height: 1.45; margin-bottom: 10px; }
.location__phone{ margin-bottom: 12px; }
.location__phone a{ color: #ffb400; font-size: 18px; font-weight: 700; text-decoration: none; }
.location__phone a:hover{ text-decoration: underline; }

.location__hours{ width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.location__hours td{
	padding: 6px 0;
	font-size: 13px;
	color: #929abd;
	border-bottom: 1px dashed rgba(255, 255, 255, .09);
}
.location__hours tr:last-child td{ border-bottom: 0; }
.location__hours td:first-child{ color: #7d86ab; white-space: nowrap; }
.location__hours td:last-child{ text-align: right; white-space: nowrap; }
.location__hours .location__dayoff{ color: #5f6b95; }
.location__hours--today td,
.location__hours--today .location__dayoff{ color: #ffb400; font-weight: 600; }
.location__today{
	display: inline-block;
	margin-left: 6px;
	padding: 0 7px;
	border-radius: 999px;
	background: rgba(255, 180, 0, .14);
	color: #ffb400;
	font-size: 11px;
	line-height: 16px;
	font-weight: 600;
	vertical-align: 1px;
}

.location__route .location__route-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 9px 16px;
	border-radius: 9px;
	border: 1px solid rgba(255, 180, 0, .45);
	background: transparent;
	color: #ffb400;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s, border-color .2s;
}
.location__route .location__route-btn:hover{
	background: rgba(255, 180, 0, .10);
	border-color: #ffb400;
}

/* Сайт компании — заметная ссылка, а не системная синяя */
.company-site{ margin-bottom: 14px; }
.company-site a{ color: #c7ccdd; font-size: 14px; word-break: break-all; }
.company-site a:hover{ color: #ffb400; }
.services-category{
	margin-bottom: 32px;
}
.popular-block{
	margin-bottom: 32px;
}
.popular-block h2{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	margin-bottom: 4px;
	font-weight: 600;
}
.popular-block-header{ margin-bottom: 8px; }
.popular-block-header span{ color: #929abd; font-size: 13px; line-height: 16px; display: inline-block; }

/* ── Блок «Популярные категории» (6 категорий × 3 подкатегории) ── */
.main-categories{ position: relative; margin-bottom: 32px; }
.main-categories-header{ margin-bottom: 12px; position: relative; }
.main-categories-header h2{ color: #ffb400; font-size: 19px; line-height: 20px; font-weight: 600; margin-bottom: 4px; }
.main-categories-header span{ color: #929abd; font-size: 13px; }
.main-categories-header a{ position: absolute; top: 4px; right: 4px; font-size: 13px; color: #ffb400; text-decoration: none; }
.main-categories-header a:hover{ text-decoration: underline; }
.main-categories > ul{ list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0; padding: 0; }
.main-categories > ul > li{
	width: 32%;
	padding: 6px 10px 10px;
	margin-bottom: 16px;
	border-radius: 10px;
	background: #0f1425;
	border: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 16px;
	font-weight: 600;
	transition: border-color .15s;
}
.main-categories > ul > li > a{ color: #e1e1e1; text-decoration: none; }
.main-categories > ul > li:hover{ border-color: #ffb400; }
.main-categories > ul > li > a:hover{ color: #ffb400; }
.subcategories-list{ list-style: none; display: flex; flex-wrap: wrap; gap: 0 14px; padding: 4px 0 0; margin: 0; }
.subcategory-item{ font-size: 13px; line-height: 20px; font-weight: normal; }
.subcategory-item a{ color: #929abd; text-decoration: none; }
.subcategory-item a:hover{ color: #b9b9b9; text-decoration: underline; }

/* ── Страница «Все категории» (/catalog/all) ── */
.all-categories h1{ color: #ffb400; font-size: 22px; font-weight: 600; margin-bottom: 18px; }
.all-categories-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.all-categories-list > li{
	background: #0f1425;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	padding: 12px 14px;
}
.all-categories-list > li > a{ color: #e1e1e1; font-weight: 600; font-size: 16px; text-decoration: none; }
.all-categories-list > li > a:hover{ color: #ffb400; }
.all-categories-list ul{ list-style: none; margin: 6px 0 0; padding: 0; }
.all-categories-list ul li a{ color: #929abd; font-size: 14px; line-height: 24px; text-decoration: none; }
.all-categories-list ul li a:hover{ color: #b9b9b9; text-decoration: underline; }
.popular-block-list{
	padding-top: 12px;
}
.popular-block-list ul{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
}
.popular-block-list ul li{
	list-style: none;
}
.popular-block-list ul li a{
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #1b2344;
	border: 1px solid rgba(255, 180, 0, 0.12);
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: #e1e1e1;
	transition: border-color .2s ease, transform .2s ease;
}
.popular-block-list ul li a:hover{
	border-color: rgba(255, 180, 0, 0.5);
	transform: translateY(-2px);
}
.popular-img{
	display: block;
	aspect-ratio: 22 / 13;   /* под thumb 220×130 — без обрезки */
	background: #141a33;
	overflow: hidden;
}
.popular-img img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.popular-img--empty{
	background: radial-gradient(circle at 50% 42%, rgba(255, 180, 0, 0.12), transparent 62%), #141a33;
}
.popular-name{
	display: block;
	padding: 11px 14px;
	font-size: 15px;
	line-height: 1.35;
	color: #e6e8f0;
}
.popular-block-list ul li a:hover .popular-name{
	color: #ffb400;
}

/* ── Скелетон AJAX-блока «Рекомендуем» (VIP): резерв места, без прыжков ── */
@keyframes skelShimmer{ 0%{ background-position: 100% 0; } 100%{ background-position: 0 0; } }
.skel-shimmer{
	background: linear-gradient(90deg, #1e2647 25%, #2a3462 37%, #1e2647 63%);
	background-size: 400% 100%;
	animation: skelShimmer 1.4s ease infinite;
}
.premium-skel li{ min-height: 150px; }
.premium-skel__logo{ display: block; height: 96px; border-radius: 8px; margin-bottom: 10px; }
.premium-skel__line{ display: block; height: 13px; border-radius: 4px; margin: 8px 0; }
.premium-skel__line--w70{ width: 70%; }
.premium-skel__line--w40{ width: 40%; }
@keyframes ajaxFade{ from{ opacity: 0; transform: translateY(4px); } to{ opacity: 1; transform: none; } }
.premium-real{ animation: ajaxFade .35s ease; }

/* ── Витрина компании (услуги/товары) на карточке компании ─────── */
[data-showcase-block]{
	margin-bottom: 24px;
	padding: 22px;
	background: hsl(226.4, 42.3%, 10.2%);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .55);
}
[data-showcase-block] h2{
	color: #ffb400;
	font-size: 19px;
	line-height: 22px;
	font-weight: 600;
	margin: 0 0 4px;
}
[data-showcase-block] h2 span{
	color: #929abd;
	font-size: 14px;
	font-weight: 400;
}
.services-header p{
	color: #929abd;
	font-size: 14px;
	margin: 0 0 12px;
}
.company__showcase-intro{
	color: #c7ccdd;
	margin-bottom: 18px;
}
.showcase-grid{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}
.showcase-card{
	display: flex;
	flex-direction: column;
	background: #1b2344;
	border: 1px solid rgba(255, 180, 0, 0.1);
	border-radius: 12px;
	overflow: hidden;
}
.showcase-card--hidden{
	display: none;
}
.showcase-card__img{
	aspect-ratio: 22 / 13;
	background: #0f1428;
	overflow: hidden;
}
.showcase-card__img img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.showcase-card__body{
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px;
}
.showcase-card__name{
	color: #e6e8f0;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 500;
}
.showcase-card__desc{
	color: #929abd;
	font-size: 13px;
	line-height: 1.4;
}
.showcase-card__price{
	margin-top: auto;
	color: #ffb400;
	font-weight: 700;
	font-size: 15px;
}
.showcase-more{
	margin-top: 16px;
}
.showcase-note{
	margin: 16px 0 0;
	color: #6b7396;
	font-size: 13px;
}
.showcase-showall{
	display: inline-block;
	margin-top: 16px;
	font-weight: 600;
}

/* ── Статус работы «сейчас» в шапке карточки ───────────────────── */
.company-status{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 8px 0 0;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 14px;
	line-height: 1.3;
}
.company-status--open{ background: rgba(55, 214, 122, .14); color: #37d67a; }
.company-status--closed{ background: rgba(255, 255, 255, .07); color: #929abd; }
.company-status__dot{
	width: 8px; height: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}
.company-status--open .company-status__dot{
	box-shadow: 0 0 0 0 rgba(26,122,60,.5);
	animation: statusPulse 2s infinite;
}
@keyframes statusPulse{
	0%   { box-shadow: 0 0 0 0 rgba(26,122,60,.45); }
	70%  { box-shadow: 0 0 0 7px rgba(26,122,60,0); }
	100% { box-shadow: 0 0 0 0 rgba(26,122,60,0); }
}

/* Мобильная кнопка «Контакты» — по умолчанию скрыта, показывается на мобиле */
.mobile-contacts-jump{ display: none; }
@media (max-width: 768px){
	.mobile-contacts-jump{
		display: inline-flex;
		align-items: center;
		gap: 6px;
		position: fixed;
		left: 16px;
		bottom: 16px;
		z-index: 90;
		padding: 9px 18px;
		border-radius: 999px;
		background: #f4a300;
		color: #141b34;
		font-weight: 600;
		font-size: 14px;
		line-height: 1.2;
		text-decoration: none;
		box-shadow: 0 6px 18px rgba(0,0,0,.28);
	}
	.mobile-contacts-jump:active{ transform: translateY(1px); }
}

/* ── Кнопка «Наверх» — слева снизу, на всех страницах и на десктопе.
   Тот же стиль и высота, что у «Контакты компании». ── */
.to-top{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 90;
	padding: 9px 18px;
	border-radius: 999px;
	border: 0;
	background: #f4a300;
	color: #141b34;
	font-family: inherit;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .28);
}
.to-top:active{ transform: translateY(1px); }
.to-top[hidden]{ display: none; }

/* Блок «Похожие компании» на карточке (Standard) */
.company-similar{ margin-top: 28px; }
.company-similar > h2{ margin-bottom: 12px; }

/* ── Фотогалерея компании ─────────────────────────────────────── */
.company-gallery__grid{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 10px;
}
.company-gallery__item{
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
	cursor: zoom-in;
}
.company-gallery__item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .2s ease;
}
.company-gallery__item:hover img{ transform: scale(1.05); }

/* ── Лайтбокс ─────────────────────────────────────────────────── */
.lightbox{
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.9);
}
.lightbox[hidden]{ display: none; }
.lightbox__img{
	max-width: 92vw;
	max-height: 88vh;
	object-fit: contain;
	border-radius: 6px;
}
.lightbox__close,
.lightbox__nav{
	position: absolute;
	background: rgba(255,255,255,.12);
	color: #fff;
	border: 0;
	cursor: pointer;
	border-radius: 50%;
}
.lightbox__close{ top: 18px; right: 18px; width: 44px; height: 44px; font-size: 26px; }
.lightbox__nav{ top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 34px; }
.lightbox__prev{ left: 16px; }
.lightbox__next{ right: 16px; }
.lightbox__close:hover,
.lightbox__nav:hover{ background: rgba(255,255,255,.28); }

/* ── Страница /{company}/services|products: полный список таблицей ── */
.company-showcase-list__seo{
	margin: 0 0 20px;
}
.showcase-filter{
	margin: 0 0 16px;
}
.showcase-filter__input{
	max-width: 420px;
}
.showcase-filter__empty{
	margin: 12px 0 0;
}
.showcase-table{
	width: 100%;
	border-collapse: collapse;
}
.showcase-table th,
.showcase-table td{
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	text-align: left;
	vertical-align: top;
}
.showcase-table thead th{
	font-size: 13px;
	color: #6b7396;
	text-transform: uppercase;
	letter-spacing: .02em;
}
.showcase-table__name{
	width: 40%;
	font-weight: 600;
}
.showcase-table__name-cell{
	display: flex;
	align-items: center;
	gap: 10px;
}
.showcase-table__img{
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 6px;
	flex: 0 0 auto;
}
.showcase-table__desc{
	color: #4a5070;
}
.showcase-table__count{
	margin-top: 12px;
}

/* ── Поиск по сайту (живая выдача) ─────────────────────────────── */
.site-search{
	position: relative;
	scroll-margin-top: 5px;   /* отступ сверху при авто-прокрутке поля к верху (моб. фокус) */
}
.site-search--block{
	margin-bottom: 26px;
}
.search-lead{
	margin: 6px 0 14px;
	color: #929abd;
	font-size: 15px;
	line-height: 1.5;
}
.site-search__input{
	width: 100%;
	box-sizing: border-box;
	height: 52px;
	padding: 0 18px 0 48px;
	color: #e6e8f0;
	font-size: 15px;
	outline: none;
	background-color: #161d3d;
	background-image:
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.14)),
		url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffb400' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center, 16px center;
	background-size: auto, 20px 20px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.site-search__input::placeholder{
	color: #7f86a6;
}
.site-search__input:hover{
	border-color: rgba(255, 180, 0, .45);
}
.site-search__input:focus{
	border-color: #ffb400;
	background-color: #1a2249;
	box-shadow: 0 0 0 3px rgba(255, 180, 0, .16), inset 0 1px 0 rgba(255,255,255,.05);
}
.site-search__panel{
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 40;
	background: #0f1425;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .55);
	overflow: hidden;
}
.site-search__chips{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.site-search__chip{
	cursor: pointer;
	font-size: 13px;
	padding: 4px 12px;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: none;
	color: #c7ccdd;
	transition: border-color .15s ease, color .15s ease;
}
.site-search__chip.is-active{
	border-color: #ffb400;
	background: rgba(255, 180, 0, 0.15);
	color: #ffb400;
}
.site-search__chip-n{
	opacity: .65;
	font-size: 12px;
}
.site-search__list{
	max-height: 340px;
	overflow: auto;
	padding: 4px 0;
}
.site-search__group{
	padding: 8px 14px 2px;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #ffb400;
}
.site-search__item{
	display: block;
	padding: 5px 14px;
	color: #e6e8f0;
	font-size: 16px;
	line-height: 1.25;
	text-decoration: none;
}
.site-search__item:hover,
.site-search__item.is-active{
	background: rgba(255, 255, 255, 0.05);
}
.site-search__item mark{
	background: none;
	color: #ffb400;
}
.site-search__empty,
.site-search__hint{
	padding: 14px;
	color: #929abd;
	font-size: 14px;
}
.site-search__suggest-title{
	padding: 2px 14px 8px;
	color: #929abd;
	font-size: 13px;
}
.site-search__suggest{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 14px 14px;
}
.site-search__suggest-item{
	display: inline-block;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 180, 0, 0.12);
	color: #ffb400;
	font-size: 13px;
	text-decoration: none;
	transition: background .15s ease;
}
.site-search__suggest-item:hover{
	background: rgba(255, 180, 0, 0.24);
}
.site-search__all{
	display: block;
	padding: 11px 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	color: #c7ccdd;
	font-size: 14px;
	text-decoration: none;
}
.site-search__all:hover{
	color: #ffb400;
}

/* ── Страница результатов поиска (/search) ─────────────────────── */
.search-page{
	margin-bottom: 44px;
}
.search-page h1{
	color: #ffb400;
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 16px;
}
.search-form{
	display: flex;
	gap: 10px;
	max-width: 640px;
	margin-bottom: 22px;
}
.search-form .site-search__input{
	flex: 1;
}
.search-form__btn{
	flex: 0 0 auto;
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 12px;
	background: #ffb400;
	color: #11162b;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.search-form__btn:hover{
	background: #ffc633;
}
.search-tabs{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}
.search-tab{
	padding: 6px 14px;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: #c7ccdd;
	font-size: 14px;
	text-decoration: none;
}
.search-tab.is-active{
	border-color: #ffb400;
	background: rgba(255, 180, 0, 0.15);
	color: #ffb400;
}
.search-tab__n{
	opacity: .6;
	font-size: 12px;
}
.search-group{
	margin-bottom: 26px;
}
.search-group__head{
	color: #ffb400;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 10px;
}
.search-group__head span{
	color: #929abd;
	font-weight: 400;
	font-size: 14px;
}
.search-list{
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	overflow: hidden;
}
.search-list li + li{
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.search-list a{
	display: block;
	padding: 12px 16px;
	color: #e6e8f0;
	font-size: 15px;
	text-decoration: none;
}
.search-list a:hover{
	background: rgba(255, 255, 255, 0.05);
	color: #ffb400;
}
.search-more{
	display: inline-block;
	color: #ffb400;
	font-size: 14px;
	text-decoration: none;
}
.search-more:hover{
	text-decoration: underline;
}
.search-empty{
	padding: 18px 0;
	color: #929abd;
	font-size: 16px;
}
.company-catalog{
	margin-bottom: 32px;
}
.company-catalog h1{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	font-weight: 600;
	margin-bottom: 12px;
}
.company-category{
	margin-bottom: 32px;
}
.company-category h1{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	font-weight: 600;
	margin-bottom: 12px;
}
.company-description{
	background: hsl(226.4, 42.3%, 10.2%);
	border-radius: 10px;
	padding: 22px;
	border: 1px solid hwb(0 100% 0% / 0.06);
	box-shadow: 0 18px 45px rgba(0,0,0,.55);
	margin-bottom: 32px;
}
.company-description h2{
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 12px;
	color: #e1e1e1;
}
.company-description p{
	font-size: 15px;
	color: #929abd;
	margin-bottom: 10px;
}
.company-advantages{
	background: hsl(226.4, 42.3%, 10.2%);
	border-radius: 10px;
	padding: 22px;
	border: 1px solid hwb(0 100% 0% / 0.06);
	box-shadow: 0 18px 45px rgba(0,0,0,.55);
	margin-bottom: 32px;
}
.company-advantages h2{
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 12px;
	color: #e1e1e1;
}
.company-advantages p{
	font-size: 15px;
	color: #929abd;
	margin-bottom: 10px;
}
.services-category h1,
.product-category h1,
.service-page h1,
.product-page h1,
.page h1,
.geo-page h1{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	font-weight: 600;
	margin-bottom: 12px;
}
.catalog-cats{
	margin-bottom: 32px;
}
.catalog-cats ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.catalog-cats ul li{
	list-style: none;
}
.catalog-cats ul li a:hover{
	text-decoration: none;
}
.premium-companies{
	margin-bottom: 32px;
}
.premium-companies-header{
	margin-bottom: 12px;
}
.premium-companies-header h2{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	margin-bottom: 4px;
	font-weight: 600;
}
.premium-companies-header span{
	color: #929abd;
	font-size: 13px;
	line-height: 16px;
	display: inline-block;
}
.premium-companies-list ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}
.premium-companies-list ul li{
	position: relative;
	width: 32%;
	list-style: none;
	background: #141b34;
	border-radius: 12px;
	padding: 10px;
	font-size: 14px;
	margin-bottom: 12px;
}
.premium-companies-list ul li a{
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 8px;
	background: #1b2344;
	margin-bottom: 10px;
	transition: 1s;
	font-size: 22px;
	color: #e1e1e1;
	text-decoration: none;
}
.premium-companies-list ul li img{
	margin-right: 14px;
	border: 2px solid rgba(255, 180, 0, 0.1);
	border-radius: 10px;
}
.premium-companies-list ul li a span{
	position: absolute;
	top: 1px;
	right: 5px;
	font-size: 17px;
	color: #ffb400;
}
.premium-companies-list ul li p{
	color: #929abd;
	line-height: 18px;
}
.premium-companies-list ul li a:hover{
	opacity: .6;
	transition: .5s;
}

/* ── Блок «Компании» на странице услуги/товара (стиль как у рекомендуемых) ── */
.companies-block{
	margin-bottom: 32px;
}
.companies-block-header{
	margin-bottom: 20px;
}
.companies-block-header p{
	color: #ffb400;
	font-size: 16px;
	line-height: 20px;
	margin: 0 0 4px;
	font-weight: normal;
}
.companies-block-list ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}
.companies-block-list ul li{
	position: relative;
	width: 32%;
	list-style: none;
	background: #141b34;
	border-radius: 12px;
	padding: 10px;
	font-size: 14px;
	margin-bottom: 12px;
}
.companies-block-list ul li a{
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 8px;
	background: #1b2344;
	margin-bottom: 10px;
	transition: 1s;
	font-size: 22px;
	color: #e1e1e1;
	text-decoration: none;
}
.companies-block-list ul li img{
	margin-right: 14px;
	border: 2px solid rgba(255, 180, 0, 0.1);
	border-radius: 10px;
}
.companies-block-list ul li a span{
	position: absolute;
	top: 1px;
	right: 5px;
	font-size: 17px;
	color: #ffb400;
}
.companies-block-list ul li p{
	color: #929abd;
	line-height: 18px;
}
.companies-block-list ul li a:hover{
	opacity: .6;
	transition: .5s;
}

/* ── Страница товара: галерея + цена/наличие + характеристики ── */
.product-top{
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.product-gallery{
	width: 320px;
	max-width: 100%;
}
.product-gallery-main img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.06);
}
.product-gallery-thumbs{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}
.product-gallery-thumbs button{
	width: 64px;
	height: 64px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	background: none;
	cursor: pointer;
	overflow: hidden;
}
.product-gallery-thumbs button.is-active{
	border-color: #ffb400;
}
.product-gallery-thumbs img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.product-info{
	flex: 1 1 260px;
	min-width: 0;
}
.product-price{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}
.product-price .price{
	color: #ffb400;
	font-size: 22px;
	font-weight: 700;
}
.product-price .stock{
	font-size: 14px;
	padding: 3px 10px;
	border-radius: 6px;
}
.product-price .stock-in{
	color: #4caf50;
	background: rgba(76, 175, 80, 0.12);
}
.product-price .stock-order{
	color: #ffb400;
	background: rgba(255, 180, 0, 0.12);
}
.product-specs{
	width: 100%;
	border-collapse: collapse;
}
.product-specs th,
.product-specs td{
	text-align: left;
	padding: 8px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 15px;
}
.product-specs th{
	width: 45%;
	color: #929abd;
	font-weight: 400;
}
@media (max-width: 560px) {
	.product-gallery{ width: 100%; }
}

.companies-list{
	margin-bottom: 32px;
}
.companies-list ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}
.companies-list ul li{
	position: relative;
	width: 32%;
	list-style: none;
	background: #141b34;
	border-radius: 12px;
	padding: 10px;
	font-size: 14px;
	margin-bottom: 12px;
}
.companies-list ul li a{
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 8px;
	background: #1b2344;
	margin-bottom: 10px;
	transition: 1s;
	font-size: 22px;
	color: #e1e1e1;
	text-decoration: none;
}
.companies-list ul li img{
	margin-right: 14px;
	border: 2px solid rgba(255, 180, 0, 0.1);
	border-radius: 10px;
}
.companies-list ul li a span{
	position: absolute;
	top: 1px;
	right: 5px;
	font-size: 17px;
	color: #ffb400;
}
.companies-list ul li p{
	color: #929abd;
	line-height: 18px;
}
.companies-list ul li a:hover{
	opacity: .6;
	transition: .5s;
}
/* Главная — колонка блоков; SEO-интро (.about-project) визуально уезжает в самый низ
   (перед футером) через order, оставаясь высоко в DOM для поиска. */
.content-wrapper{ display: flex; flex-direction: column; }
/* В flex-column у .container с margin:auto пропадает растяжение и он сжимается
   до ширины контента (aside → узкий, ширина плавает при загрузке = дёрганье).
   Форсируем полную ширину — блоки всегда 1140px, стабильно, без прыжков. */
.content-wrapper > .container{ width: 100%; }
.about-project{ order: 99; }
.about-project{
	margin-bottom: 32px;
	padding-bottom: 2px;
}
.about-project h2{
	font-size: 20px;
	font-weight: normal;
	color: #929abd;
	margin-bottom: 14px;
}
.about-project p{
	font-size: 14px;
	margin-bottom: 10px;
	color: #929abd;
}
.about-project p:last-child{
	margin-bottom: 0;
}
.footer{
	margin-top: 32px;
	padding-top: 24px;
	padding-bottom: 32px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.footer-wrap{
	display: flex;
	justify-content: space-between;
}
.footer-logo{
	margin-bottom: 20px;
}
.copyright ul{
	list-style: none;
	margin-bottom: 20px;
}
.copyright ul li a{
	font-size: 15px;
}
.copyright ul li a:hover{
	text-decoration: none;
}
.copyright p{
	color: #929abd;
	font-size: 15px;
}
.footer-title{
	text-transform: uppercase;
	color: #ffb400;
	font-size: 13px;
	margin-bottom: 8px;
	font-weight: 600;
}
.footer-nav ul{
	list-style: none;
}
.footer-nav ul li a{
	font-size: 15px;
}
.footer-nav ul li a:hover{
	text-decoration: none;
}
/* Колонка «Компаниям» — те же стили, что у «Навигации».
   Дублируем правила, чтобы не менять разметку (меню рендерит renderMenu). */
.footer-partners ul{
	list-style: none;
}
.footer-partners ul li a{
	font-size: 15px;
}
.footer-partners ul li a:hover{
	text-decoration: none;
}
/* Колонка «Контакты»: пункт меню («Добавить в каталог») — золотая кнопка-CTA.
   Стилизуем через CSS, разметку меню не трогаем. */
.footer-contacts ul{
	list-style: none;
	margin-top: 5px;
}
.footer-contacts ul li{
	margin-bottom: 6px;
}
.footer-contacts ul li a{
	display: inline-block;
	padding: 6px 20px;
	border-radius: 10px;
	background: #f4a300;
	color: #1a1a1a;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.footer-contacts ul li a:hover{
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(244, 163, 0, .3);
	text-decoration: none;
}
/* Мини-оффер в колонке «Компаниям» */
.footer-offer{ margin-top: 16px; }
.footer-offer__t{ color: #c7ccdd; font-size: 14px; line-height: 1.4; }
.footer-offer__d{ display: inline-block; font-size: 13px; margin-top: 4px; }

/* Контактный блок футера: телефон и часы */
.footer-phone{
	display: inline-block;
	margin-top: 14px;
	color: #ffb400;
	font-size: 19px;
	font-weight: 700;
	text-decoration: none;
}
.footer-phone:hover{ text-decoration: underline; }
.footer-hours{ color: #929abd; font-size: 13px; margin-top: 2px; }
@media (max-width: 640px) {
	.city-selector__label { display: none; }
	.city-selector__select {
		padding: 12px 32px 12px 12px;
		font-size: 14px;
	}
}
/* ── Логотип компании ──────────────────────────────────────────── */
/* ── Шапка карточки компании ─────────────────────────────────── */
.company__header {
	margin-bottom: 20px;
	padding: 18px 20px;
	background: #0f1425;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 14px;
}
.company__header-main{
	display: flex;
	align-items: flex-start;
	gap: 18px;
}
/* Логотип — тот же размер и рамка, что в блоке «Рекомендуем» */
.company__logo {
	width: 140px;
	height: 110px;
	object-fit: contain;
	border: 2px solid rgba(255, 180, 0, .1);
	border-radius: 10px;
	background: rgba(255, 255, 255, .04);
	flex-shrink: 0;
}
.company__head{ flex: 1; min-width: 0; }
.company__head-top{
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
/* Заголовок — как h1 на остальных страницах сайта */
.company__header h1 {
	margin-bottom: 0;
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	font-weight: 600;
}
.company__vip{
	color: #ffb400;
	font-size: 14px;
	letter-spacing: 2px;
	white-space: nowrap;
}
.company__head .company-status{ margin-top: 10px; }
/* Описание — под шапкой, перед навигацией */
.company__header .company__slogan{
	margin: 14px 0 0;
	color: #929abd;
	font-size: 14px;
	line-height: 1.5;
}

/* Действия справа: телефон сверху, «в избранное» тихой ссылкой снизу */
.company__actions{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	flex-shrink: 0;
}
/* Телефон — просто цветом, без фона и рамки */
.company__call{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #ffb400;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.company__call:hover{ text-decoration: underline; }
.company__call--alt{
	font-size: 16px;
	font-weight: 600;
}

/* «В избранное» — не кнопка, а тихая ссылка, чтобы не спорить с телефоном */
.company__actions .fav-btn--quiet{
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	width: auto;
	height: auto;
	/* базовый .fav-btn ставит align-self: flex-start и перебивает
	   align-items: flex-end у родителя — возвращаем к правому краю */
	align-self: flex-end;
	color: #7d86ab;
	font-size: 13px;
	cursor: pointer;
}
.company__actions .fav-btn--quiet:hover{ border: 0; color: #ffb400; }
.company__actions .fav-btn--quiet:hover .fav-btn__icon{ color: #ffb400; }
.company__actions .fav-btn--quiet .fav-btn__icon{ font-size: 14px; }

/* ── Якоря — вкладками в нижней части шапки ──────────────────── */
.company__anchors{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, .07);
}
.company__anchors a{
	color: #929abd;
	font-size: 13px;
	text-decoration: none;
	padding-bottom: 6px;
	border-bottom: 2px solid transparent;
	transition: color .2s, border-color .2s;
}
.company__anchors a:hover{ color: #ffb400; border-bottom-color: #ffb400; }
/* Чтобы якорь не подлезал под край при прокрутке */
#about, #services, #products, #gallery, #video, #company-contacts{ scroll-margin-top: 16px; }

/* ─── Шапка карточки на телефоне: всё столбиком по центру,
       телефон — кнопкой во всю ширину ─── */
@media (max-width: 700px){
	.company__header{ text-align: center; }
	.company__header-main{
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}
	.company__logo{ width: 96px; height: 76px; }
	.company__head{ width: 100%; }
	/* Название и звёзды — друг под другом, по центру */
	.company__head-top{
		flex-direction: column;
		align-items: center;
		gap: 4px;
	}
	.company__head .company-status{ margin-top: 10px; }

	.company__actions{
		width: 100%;
		align-items: stretch;
		gap: 8px;
		margin-top: 4px;
	}
	/* Телефон на мобиле — заметная кнопка на всю ширину */
	.company__call{
		justify-content: center;
		padding: 6px 16px;
		border-radius: 10px;
		background: #f4a300;
		color: #1a1a1a;
		font-size: 16px;
	}
	.company__call:hover{ text-decoration: none; }
	.company__call--alt{
		background: transparent;
		border: 1px solid rgba(255, 180, 0, .45);
		color: #ffb400;
		font-size: 15px;
	}
	.company__actions .fav-btn--quiet{ align-self: center; }

	/* Описание и навигация — тоже по центру */
	.company__header .company__slogan{ text-align: center; }
	.company__anchors{ justify-content: center; gap: 16px; }
}
/* ── Логотип в списках компаний ────────────────────────────────── */
.company-list__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .25rem 0;
}
.company-list__logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 6px;
    background: rgba(255,255,255,.04);
    flex-shrink: 0;
}
/* ── Логотип в блоке рекомендованных ──────────────────────────── */
.recommended__logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(255,255,255,.04);
    display: block;
    margin: 0 auto .5rem;
}
.recommended__logo--empty {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    background: rgba(255,255,255,.04);
    display: block;
    margin: 0 auto .5rem;
}
/* ── Слоган компании ───────────────────────────────────────────── */
.company__slogan {
    font-size: 15px;
    color: #929abd;
    margin-top: .25rem;
}
.company-list__info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.company-list__name {
    font-weight: 600;
}
.company-list__slogan {
    font-size: 13px;
    color: #929abd;
    margin-top: .1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.recommended__slogan {
    font-size: 12px;
    color: #929abd;
    margin-top: .2rem;
    text-align: center;
}

/* ── Заголовки в контенте ──────────────────────────────────────── */
.content h2 { color: #ffb400; font-size: 19px; line-height: 20px; font-weight: 600; margin: 28px 0 12px; }
.content h3 { color: #ffb400; font-size: 17px; line-height: 20px; font-weight: 600; margin: 22px 0 10px; }

/* ── Жирный текст в контенте ───────────────────────────────────── */
.content b, .content strong { font-weight: 600; color: #929abd; }

/* ── Списки в контенте ─────────────────────────────────────────── */
.content ul, .content ol { margin: 16px 0; padding: 0; list-style: none; }
.content li { color: #b9b9b9; margin: 9px 0; position: relative; line-height: 26px; }
/* UL — янтарный ромб */
.content ul li { padding-left: 24px; }
.content ul li::before {
    content: ""; position: absolute; left: 2px; top: 9px;
    width: 8px; height: 8px; background: #ffb400; transform: rotate(45deg);
}
/* OL — номер в контурном кружке */
.content ol { counter-reset: n; }
.content ol li { padding-left: 36px; min-height: 26px; }
.content ol li::before {
    counter-increment: n; content: counter(n);
    position: absolute; left: 0; top: 2px;
    width: 24px; height: 24px; border: 1px solid #ffb400; color: #ffb400;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600;
}

/* ── FAQ (details/summary в стиле карточек) ────────────────────── */
.faq { margin: 32px 0; }
.faq details {
    background: #1b2140;
    border-left: 3px solid #ffb400;
    border-radius: 6px;
    margin: 10px 0;
    overflow: hidden;
}
.faq summary {
    list-style: none;
    cursor: pointer;
    color: #e1e1e1;
    font-weight: 600;
    padding: 12px 40px 12px 15px;
    position: relative;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
    content: "+";
    position: absolute; right: 13px; top: 50%; transform: translateY(-50%);
    color: #ffb400; font-size: 22px; font-weight: 600; line-height: 1;
}

/* ── Карта каталога (Список/Карта) ──────────────────────────────────────── */
.listing-view-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin-bottom: 16px;
}
.view-toggle {
	display: inline-flex;
	border: 1px solid #2a3157;
	border-radius: 9px;
	overflow: hidden;
}
.view-toggle button {
	appearance: none;
	background: transparent;
	border: 0;
	color: #929abd;
	font: inherit;
	padding: 7px 18px;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.view-toggle button + button { border-left: 1px solid #2a3157; }
.view-toggle button.active {
	background: #ffb400;
	color: #151a33;
	font-weight: 600;
}
.map-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}
/* атрибут hidden должен побеждать display:flex/inline-flex */
.map-tools[hidden], .radius-chips[hidden] { display: none; }
.map-near {
	appearance: none;
	background: #1b2140;
	border: 1px solid #2a3157;
	border-radius: 8px;
	color: #e1e1e1;
	font: inherit;
	padding: 7px 14px;
	cursor: pointer;
}
.map-near::before { content: "◎ "; color: #ffb400; }
.map-near.active { border-color: #ffb400; color: #ffb400; }
.radius-chips { display: inline-flex; gap: 6px; }
.radius-chips button {
	appearance: none;
	background: #1b2140;
	border: 1px solid #2a3157;
	border-radius: 20px;
	color: #929abd;
	font: inherit;
	font-size: 14px;
	padding: 5px 12px;
	cursor: pointer;
	white-space: nowrap;
}
.radius-chips button.active { background: #ffb400; border-color: #ffb400; color: #151a33; font-weight: 600; }
.map-opennow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #929abd;
	cursor: pointer;
	user-select: none;
}
.map-opennow input { accent-color: #ffb400; width: 16px; height: 16px; }

.listing-map[hidden] { display: none; }
.map-note {
	margin: 0 0 10px;
	padding: 8px 12px;
	font-size: 14px;
	line-height: 1.4;
	color: #929abd;
	background: #1b2140;
	border: 1px solid #2a3157;
	border-radius: 8px;
}
.listing-map-body { display: flex; gap: 12px; }
.map-stage { position: relative; flex: 1 1 auto; min-width: 0; }
.listing-map-canvas {
	height: 540px;
	border-radius: 12px;
	overflow: hidden;
	background: #0b0e1f;
	border: 1px solid #2a3157;
}

/* Лента видимых компаний (связана с пинами) */
.map-rail {
	flex: 0 0 300px;
	width: 300px;
	height: 540px;
	overflow-y: auto;
	padding-right: 4px;
}
.map-rail[hidden] { display: none; }
.map-rail-card {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 8px;
	margin-bottom: 8px;
	background: #1b2140;
	border: 1px solid #2a3157;
	border-radius: 10px;
	text-decoration: none;
	transition: border-color .12s, background .12s;
}
.map-rail-card img {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	object-fit: contain;
	background: #0b0e1f;
	border-radius: 6px;
}
.map-rail-card:hover, .map-rail-card.is-hi {
	border-color: #ffb400;
	background: #222a52;
}
.map-rail-name { color: #e1e1e1; font-weight: 600; line-height: 1.3; }
.map-rail-dist { color: #7a80a0; font-size: 13px; }
.map-pin--hi {
	transform: rotate(-45deg) scale(1.45);
	z-index: 5;
	box-shadow: 0 0 0 2px #fff, 0 3px 10px rgba(0,0,0,.6);
}
.listing-map-status {
	position: absolute;
	left: 50%; top: 16px;
	transform: translateX(-50%);
	background: rgba(11, 14, 31, .9);
	border: 1px solid #2a3157;
	border-radius: 8px;
	color: #e1e1e1;
	padding: 8px 16px;
	margin: 0;
	z-index: 2;
}

/* Маркеры-пины и кластеры (HTML-маркеры Mapbox) */
.map-pin {
	width: 16px; height: 16px;
	background: #ffb400;
	border: 2px solid #151a33;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	box-shadow: 0 0 0 1px #ffb400, 0 2px 6px rgba(0,0,0,.5);
	cursor: pointer;
}
.map-cluster {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #151a33;
	font-weight: 700;
	background: #ffb400;
	border: 2px solid #151a33;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(255,180,0,.25);
	cursor: pointer;
}
.map-cluster--sm { width: 34px; height: 34px; font-size: 13px; }
.map-cluster--md { width: 42px; height: 42px; font-size: 15px; }
.map-cluster--lg { width: 52px; height: 52px; font-size: 16px; }

/* Попап компании */
.map-popup { min-width: 160px; }
.map-popup img { display: block; max-width: 100%; height: auto; margin-bottom: 6px; border-radius: 6px; }
.map-popup__name { display: block; font-weight: 600; line-height: 1.3; }
.map-popup__dist { color: #7a80a0; font-size: 13px; margin-top: 3px; }
.mapboxgl-popup-content {
	background: #1b2140;
	color: #e1e1e1;
	border: 1px solid #2a3157;
	border-radius: 10px;
	padding: 12px 14px;
}
.mapboxgl-popup-close-button { color: #929abd; font-size: 18px; }
.mapboxgl-popup-tip {
	border-top-color: #1b2140 !important;
	border-bottom-color: #1b2140 !important;
}

@media (max-width: 700px) {
	.listing-map-body { flex-direction: column; }
	.listing-map-canvas { height: 420px; }
	.map-rail { flex: auto; width: auto; height: 240px; }
	.listing-view-bar { gap: 10px; }
}
.faq details[open] summary::after { content: "\2212"; }
.faq details > p {
    margin: 0;
    padding: 0 15px 14px 15px;
    color: #929abd;
    line-height: 24px;
}

/* ── Форма деятельности в блоке «Рекомендуем» ──────────────────── */
.recommended__namebox { display: flex; flex-direction: column; }
.recommended__form { font-size: 13px; color: #929abd; margin-top: 2px; line-height: 1.3; }
.recommended__form b { color: #ffb400; font-weight: 600; }

/* ── Модалка выбора карт («Проложить маршрут») ─────────────────── */
.route-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(9, 12, 20, 0.6);
	backdrop-filter: blur(2px);
	animation: routeFade 0.15s ease;
}
@keyframes routeFade { from { opacity: 0; } to { opacity: 1; } }

.route-modal__box {
	width: 100%;
	max-width: 300px;
	background: #232a3d;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
	animation: routePop 0.15s ease;
}
@keyframes routePop { from { transform: translateY(8px) scale(0.98); } to { transform: none; } }

.route-modal__title {
	padding: 0.85rem 1rem;
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8b93ab;
}

.route-modal__link {
	display: block;
	padding: 0.9rem 1rem;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	color: #e8ebf2;
	text-decoration: none;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	transition: background 0.12s ease;
}
.route-modal__link:hover,
.route-modal__link:focus-visible {
	background: #39415a;
	color: #fff;
}

.route-modal__close {
	display: block;
	width: 100%;
	padding: 0.8rem 1rem;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background: transparent;
	color: #8b93ab;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}
.route-modal__close:hover { background: rgba(255, 255, 255, 0.05); color: #e8ebf2; }

/* ── Избранное + «Недавно смотрели» (localStorage) ─────────────── */
.fav-btn {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 6px 12px;
	background: #1b2344;
	border: 1px solid rgba(255, 180, 0, 0.25);
	border-radius: 8px;
	color: #e1e1e1;
	font-size: 14px;
	cursor: pointer;
	transition: border-color .15s;
}
.fav-btn:hover { border-color: #ffb400; }
.fav-btn__icon { color: #6b7396; font-size: 16px; line-height: 1; transition: color .15s; }
.fav-btn.is-active { border-color: #ffb400; }
.fav-btn.is-active .fav-btn__icon { color: #ffb400; }
/* Заголовок + сердечко в один ряд (услуги/товары/гео) */
.page-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.page-head h1 { margin-bottom: 0; }
/* Кнопка-сердечко (без текста и без коробки) — чистая иконка как в шапке */
.fav-btn--icon { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; width: auto; height: auto; }
.fav-btn--icon:hover { border: 0; }
.fav-btn--icon:hover .fav-btn__icon { color: #ffb400; }
.fav-btn--icon .fav-btn__icon { font-size: 24px; }

.header-collections { display: flex; gap: 14px; align-items: center; }
.header-collections__item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #cfd3e6;
	text-decoration: none;
	font-size: 14px;
}
.header-collections__item:hover { color: #ffb400; }
.header-collections__icon { color: #ffb400; }
.header-collections__count {
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: #ffb400;
	color: #141b34;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
}

.recently-viewed { margin: 32px auto; }
.recently-viewed__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.recently-viewed__head h2 { color: #ffb400; font-size: 19px; font-weight: 600; margin: 0; }
.recently-viewed__clear { background: none; border: 0; color: #929abd; font-size: 13px; cursor: pointer; }
.recently-viewed__clear:hover { color: #ffb400; }
.recently-viewed__actions { display: flex; align-items: center; gap: 16px; }
.recently-viewed__actions a { color: #929abd; text-decoration: none; font-size: 13px; }
.recently-viewed__actions a:hover { color: #ffb400; }
.cc-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }

.cc-card {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #141b34;
	border-radius: 10px;
	padding: 8px;
	text-decoration: none;
	color: #e1e1e1;
	transition: opacity .2s;
}
.cc-card:hover { opacity: .7; }
.cc-card__img {
	flex: 0 0 48px;
	width: 48px; height: 48px;
	border-radius: 8px;
	overflow: hidden;
	background: #1b2344;
	border: 1px solid rgba(255, 180, 0, 0.1);
}
.cc-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cc-card__body { display: flex; flex-direction: column; min-width: 0; }
.cc-card__name { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-card__type { font-size: 12px; color: #929abd; margin-top: 2px; }

.cc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.cc-item { position: relative; }
.cc-item .cc-card { padding-right: 34px; }
.cc-remove {
	position: absolute; top: 8px; right: 8px;
	width: 22px; height: 22px;
	background: #1b2344; border: 0; border-radius: 50%;
	color: #929abd; font-size: 16px; line-height: 1; cursor: pointer;
}
.cc-remove:hover { background: #ffb400; color: #141b34; }
.cc-empty { color: #929abd; padding: 16px 0; }


/* ═══════════════════════ ПЛАНШЕТ / МОБИЛЬНАЯ ВЕРСИЯ ═══════════════════════ */
/* (все адаптивные стили — здесь, в самом низу файла) */

/* Бургер + off-canvas меню. На десктопе .header-mobile = display:contents,
   поэтому вёрстка шапки не меняется; бургер и затемнение скрыты. */
.burger-menu { display: none; }
.header-mobile { display: contents; }
.mobile-backdrop { display: none; }

@media (max-width: 970px) {
	.header-mobile { display: block; }   /* выходим из contents, чтобы стать панелью */

	.burger-menu {
		display: block;
		position: relative;
		width: 30px;
		height: 22px;
		padding: 0;
		border: 0;
		background: none;
		cursor: pointer;
		z-index: 101;
		flex-shrink: 0;
	}
	.burger-menu span {
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		border-radius: 3px;
		background: #b9b9b9;
		transition: transform .3s ease, opacity .2s ease, top .3s ease;
	}
	.burger-menu span:nth-child(1) { top: 0; }
	.burger-menu span:nth-child(2) { top: 9px; }
	.burger-menu span:nth-child(3) { top: 18px; }
	.burger-menu.is-active span:nth-child(1) { top: 9px; transform: rotate(45deg); }
	.burger-menu.is-active span:nth-child(2) { opacity: 0; }
	.burger-menu.is-active span:nth-child(3) { top: 9px; transform: rotate(-45deg); }

	body.no-scroll { position: fixed; width: 100%; overflow: hidden; }

	.header-mobile {
		position: fixed;
		top: 0;
		right: 0;
		width: min(320px, 84vw);
		height: 100vh;
		height: 100dvh;
		padding: 70px 0 24px;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #151a33;
		box-shadow: -12px 0 40px rgba(0, 0, 0, .5);
		transform: translateX(100%);
		transition: transform .35s cubic-bezier(.4, 0, .2, 1);
		z-index: 99;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.header-mobile.is-open { transform: translateX(0); }

	.mobile-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(5, 7, 18, .6);
		z-index: 98;
	}
	.mobile-backdrop[hidden] { display: none; }

	/* Выбор города — отдельным полем на всю ширину, над списком */
	.header-mobile .city-selector {
		padding: 0 16px 14px;
	}
	.header-mobile .city-selector__select {
		width: 100%;
	}

	/* Пункты меню — строки во всю ширину с тонкими разделителями */
	.header-mobile .header-nav ul {
		display: block;
		text-align: left;
	}
	.header-mobile .header-nav li {
		display: block;
	}
	.header-mobile .header-nav a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 13px 16px;
		border-top: 1px solid rgba(255, 255, 255, .06);
		border-radius: 0;
		color: #e1e1e1;
		font-size: 16px;
		text-decoration: none;
	}
	.header-mobile .header-nav a::after {
		content: "›";
		color: #5f6b95;
		font-size: 18px;
		line-height: 1;
	}
	.header-mobile .header-nav a:hover {
		background: rgba(255, 255, 255, .03);
		color: #ffb400;
	}

	/* Избранное и Недавние — такие же строки, счётчик справа */
	.header-mobile .header-collections {
		display: block;
	}
	.header-mobile .header-collections__item {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 13px 16px;
		border-top: 1px solid rgba(255, 255, 255, .06);
		color: #c7ccdd;
		font-size: 15px;
	}
	.header-mobile .header-collections__item:hover {
		background: rgba(255, 255, 255, .03);
	}
	.header-mobile .header-collections__count {
		margin-left: auto;
	}

	/* Язык — сегментированный переключатель в подвале панели */
	.header-mobile .lang-switcher {
		display: flex;
		gap: 6px;
		margin-top: 16px;
		padding: 16px 16px 0;
		border-top: 1px solid rgba(255, 255, 255, .06);
	}
	.header-mobile .lang-switcher a {
		flex: 1;
		text-align: center;
		padding: 7px 0;
		border: 1px solid rgba(255, 255, 255, .1);
		border-radius: 7px;
		font-size: 13px;
	}
	.header-mobile .lang-switcher a.active {
		border-color: #f4a300;
	}
}

/* Прогрессивное скрытие блоков (declutter) — только мобилка, кнопка × */
.close-hero-block { display: none; }
@media (max-width: 767px) {
	[data-declutter] { position: relative; }
	.close-hero-block {
		position: absolute;
		top: 4px;
		right: 4px;
		width: 34px;
		height: 34px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 0;
		border-radius: 50%;
		background: rgba(255, 255, 255, .06);
		color: #ffb400;
		font-size: 22px;
		line-height: 1;
		cursor: pointer;
		z-index: 5;
	}
	.close-hero-block:hover { color: #b9b9b9; }
	[data-declutter].hidden-logic { display: none !important; }
}


/* ─────────────── ПЛАНШЕТ (≤970px) ─────────────── */
@media (max-width: 970px) {
	/* Главная: hero-поиск и hero-about в колонку на всю ширину */
	.hero { flex-direction: column; gap: 20px; margin-bottom: 32px; }
	.hero-search, .hero-about { width: 100%; }

	/* Страница компании: контент + сайдбар в колонку */
	.company-page-wrapper { flex-direction: column; }
	.company-sidebar { padding-left: 0; margin-top: 24px; }
	.company-sidebar-inner { width: 100%; }

	/* Категории: 3 → 2 колонки */
	.main-categories > ul > li { width: 48%; }
	/* Компании + «Рекомендуем» — широкие карточки, сразу в одну колонку */
	.companies-block-list ul li,
	.premium-companies-list ul li { width: 100%; }

	/* Чипы категорий/преимуществ — перенос по строкам */
	.catalog-cats ul,
	.hero-for-bussines ul,
	.hero-advantages ul { flex-wrap: wrap; gap: 6px; }

	/* Футер: колонки переносятся */
	.footer-wrap { flex-wrap: wrap; gap: 28px 24px; }
	.footer-wrap > div { flex: 1 1 42%; }
}

/* ─────────────── МОБИЛЬНЫЙ (≤600px) ─────────────── */
@media (max-width: 600px) {
	.container { padding: 0 14px; }

	/* Типографика hero — компактнее */
	.hero-search { padding: 18px 16px 16px; }
	.hero-search-subtitle { font-size: 20px; }

	/* Списки компаний + «Рекомендуем» + категории: 2 → 1 колонка */
	.companies-block-list ul li,
	.premium-companies-list ul li,
	.main-categories > ul > li { width: 100%; }

	/* Популярные услуги/товары — плитки, оставляем 2 в ряд на телефоне */
	.popular-block-list ul { grid-template-columns: repeat(2, 1fr); gap: 10px; }

	/* Витрина услуг/товаров в карточке компании — тоже 2 в ряд, как в категориях */
	.showcase-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }

	/* Хлебные крошки и «недавно смотрели» — не ломаться на узком */
	.breadcrumbs ul { flex-wrap: wrap; }
	.recently-viewed__head { flex-wrap: wrap; gap: 8px; }
	.recently-viewed__actions { flex-wrap: wrap; gap: 10px 16px; }

	/* Футер: одна колонка */
	.footer-wrap { flex-direction: column; gap: 26px; }
	.footer-wrap > div { flex: none; }

	/* Модалка маршрута и попапы — впритык к краям */
	.route-modal { padding: .75rem; }
}

/* ─────────────── Адаптивные картинки контента/SEO ─────────────── */
/* Изображения с жёсткими width/height (например width="1140") не вылезают
   за контейнер и сохраняют пропорции. max-width (а не width) — чтобы мелкие
   картинки не растягивались вверх. */
.content img,
.page-seo img {
	display: block;
	max-width: 100%;
	height: auto;
}
.content figure,
.page-seo figure {
	max-width: 100%;
	margin: 0 0 12px;
}

/* ═══════════════ Страница тарифов (/for-business) ═══════════════ */
.pricing-hero{
	text-align: center;
	padding: 22px 0 8px;
}
.pricing-hero h1{
	color: #ffb400;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 12px;
}
.pricing-hero__sub{
	color: #c7ccdd;
	font-size: 16px;
	max-width: 640px;
	margin: 0 auto 20px;
	line-height: 1.5;
}
.pricing-btn{
	display: inline-block;
	padding: 12px 26px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, background .15s;
}
.pricing-btn--primary{
	background: #f4a300;
	color: #1a1a1a;
}
.pricing-btn--primary:hover{
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(244, 163, 0, .35);
}
.pricing-btn--ghost{
	background: transparent;
	color: #ffb400;
	border: 1px solid rgba(255, 180, 0, .5);
}
.pricing-btn--ghost:hover{
	background: rgba(255, 180, 0, .08);
}
.pricing-btn--lg{
	padding: 14px 34px;
	font-size: 16px;
}
.pricing-cards{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 26px 0 12px;
	align-items: stretch;
}
.pricing-card{
	position: relative;
	display: flex;
	flex-direction: column;
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 16px;
	padding: 28px 22px;
}
.pricing-card--featured{
	border-color: #ffb400;
	box-shadow: 0 0 0 1px #ffb400, 0 12px 40px rgba(255, 180, 0, .15);
}
.pricing-card__badge{
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: #f4a300;
	color: #1a1a1a;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 14px;
	border-radius: 20px;
	letter-spacing: .3px;
	white-space: nowrap;
}
.pricing-card__name{
	color: #fff;
	font-size: 22px;
	font-weight: 700;
}
.pricing-card__tag{
	color: #929abd;
	font-size: 13px;
	margin: 4px 0 16px;
	min-height: 34px;
}
.pricing-card__price{
	color: #ffb400;
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 6px;
	min-height: 38px;
}
.pricing-card__old{
	color: #8b91ad;
	font-size: 16px;
	font-weight: 500;
	text-decoration: line-through;
	margin-right: 6px;
}
.pricing-card__unit{
	color: #929abd;
	font-size: 13px;
	font-weight: 500;
}
.pricing-card__promo{
	display: inline-block;
	background: rgba(55, 214, 122, .12);
	color: #37d67a;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 6px;
	margin-bottom: 14px;
}
.pricing-card__incl{
	color: #c7ccdd;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 8px;
}
.pricing-promo-strip{
	display: inline-block;
	background: rgba(255, 180, 0, .12);
	border: 1px solid rgba(255, 180, 0, .32);
	color: #ffb400;
	font-weight: 600;
	font-size: 15px;
	padding: 9px 18px;
	border-radius: 10px;
}
.pricing-card__feats{
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	flex: 1;
}
.pricing-card__feats li{
	position: relative;
	padding: 7px 0 7px 26px;
	color: #dfe3f0;
	font-size: 14px;
	line-height: 1.4;
	border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.pricing-card__feats li::before{
	content: "✓";
	position: absolute;
	left: 0;
	top: 7px;
	color: #ffb400;
	font-weight: 700;
}
.pricing-card .pricing-btn{
	text-align: center;
}
.pricing-compare{
	margin: 42px 0;
}
.pricing-compare h2,
.pricing-why h2{
	color: #ffb400;
	font-size: 24px;
	font-weight: 600;
	margin: 0 0 18px;
	text-align: center;
}
.pricing-compare__wrap{
	overflow-x: auto;
}
.pricing-table{
	width: 100%;
	border-collapse: collapse;
	background: #0f1425;
	border-radius: 12px;
	overflow: hidden;
}
.pricing-table th,
.pricing-table td{
	padding: 13px 14px;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.pricing-table thead th{
	background: #141b34;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.pricing-table th.is-vip,
.pricing-table td.is-vip{
	background: rgba(255, 180, 0, .06);
}
.pricing-table thead th.is-vip{
	color: #ffb400;
}
.pricing-table__feat{
	text-align: left !important;
	color: #c7ccdd;
	font-size: 14px;
}
.pricing-table .pr-yes{
	color: #37d67a;
	font-weight: 700;
	font-size: 17px;
}
.pricing-table .pr-no{
	color: #5a6180;
}
.pricing-table .pr-txt{
	color: #ffb400;
	font-weight: 600;
	font-size: 13px;
}
.pricing-why{
	margin: 42px 0;
}
.pricing-why__grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.pricing-why__item{
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .06);
	border-radius: 12px;
	padding: 18px;
}
.pricing-why__t{
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	margin-bottom: 6px;
}
.pricing-why__d{
	color: #929abd;
	font-size: 13px;
	line-height: 1.5;
}
.pricing-cta{
	text-align: center;
	background: linear-gradient(135deg, #141b34, #1a2547);
	border: 1px solid rgba(255, 180, 0, .2);
	border-radius: 16px;
	padding: 34px 20px;
	margin: 42px 0 20px;
}
.pricing-cta__title{
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 8px;
}
.pricing-cta__text{
	color: #c7ccdd;
	font-size: 15px;
	max-width: 520px;
	margin: 0 auto 20px;
}

/* Тарифы — планшет/мобайл */
@media (max-width: 900px){
	.pricing-cards{
		grid-template-columns: 1fr;
		max-width: 440px;
		margin-left: auto;
		margin-right: auto;
	}
	.pricing-card--featured{
		transform: none;
	}
	.pricing-why__grid{
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 600px){
	.pricing-hero h1{
		font-size: 26px;
	}
	.pricing-why__grid{
		grid-template-columns: 1fr;
	}
	.pricing-table th,
	.pricing-table td{
		padding: 10px 8px;
		font-size: 13px;
	}
}

/* ═══════════════ Страница контактов (/contacts) ═══════════════ */
.contacts-hero{
	text-align: center;
	padding: 22px 0 10px;
}
.contacts-hero h1{
	color: #ffb400;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 12px;
}
.contacts-hero__sub{
	color: #c7ccdd;
	font-size: 16px;
	max-width: 620px;
	margin: 0 auto;
	line-height: 1.5;
}
.contacts-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 26px 0 18px;
}
.contacts-card{
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 16px;
	padding: 26px 24px;
}
.contacts-card__icon{
	font-size: 26px;
	margin-bottom: 8px;
}
.contacts-card h2{
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 6px;
}
.contacts-card p{
	color: #929abd;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 18px;
}
.contacts-main{
	text-align: center;
	margin-bottom: 18px;
}
.contacts-main .contacts-msgs{
	justify-content: center;
}
.contacts-hours{
	color: #8b91ad;
	font-size: 13px;
	margin-top: 14px;
}
.contacts-msgs{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.contacts-msg{
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	color: #fff;
	transition: transform .15s ease, box-shadow .15s ease;
}
.contacts-msg:hover{
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
}
.contacts-msg--telegram{
	background: #229ed9;
}
.contacts-msg--whatsapp{
	background: #25d366;
	color: #0b1a0f;
}
.contacts-msg--viber{
	background: #7360f2;
}
.contacts-card--wide{
	margin-bottom: 18px;
}
.contacts-phone{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.contacts-phone h2{
	margin-bottom: 4px;
}
.contacts-phone p{
	margin: 0;
}
.contacts-phone__num{
	color: #ffb400;
	font-size: 28px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.contacts-phone__num:hover{
	text-decoration: underline;
}
@media (max-width: 700px){
	.contacts-grid{
		grid-template-columns: 1fr;
	}
	.contacts-phone{
		flex-direction: column;
		align-items: flex-start;
	}
}
@media (max-width: 600px){
	.contacts-hero h1{
		font-size: 26px;
	}
	.contacts-phone__num{
		font-size: 24px;
	}
}

/* ═══════════════ Страница «О проекте» (/about-project) ═══════════════ */
.about-hero{
	text-align: center;
	padding: 28px 0 10px;
}
.about-hero__kicker{
	display: inline-block;
	color: #ffb400;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border: 1px solid rgba(255, 180, 0, .35);
	border-radius: 20px;
	padding: 6px 16px;
	margin-bottom: 18px;
}
.about-hero h1{
	color: #fff;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.15;
	max-width: 780px;
	margin: 0 auto 16px;
}
.about-hero__sub{
	color: #c7ccdd;
	font-size: 17px;
	line-height: 1.55;
	max-width: 680px;
	margin: 0 auto 24px;
}
.about-hero__cta{
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.about-stats{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 34px 0;
}
.about-stat{
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .06);
	border-radius: 14px;
	padding: 20px 14px;
	text-align: center;
}
.about-stat__v{
	color: #ffb400;
	font-size: 26px;
	font-weight: 800;
}
.about-stat__l{
	color: #929abd;
	font-size: 13px;
	margin-top: 4px;
	line-height: 1.4;
}
.about-mission{
	text-align: center;
	max-width: 760px;
	margin: 0 auto 44px;
}
.about-mission h2,
.about-section > h2{
	color: #ffb400;
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 16px;
	text-align: center;
}
.about-mission p{
	color: #c7ccdd;
	font-size: 16px;
	line-height: 1.6;
}
.about-section{
	margin: 0 0 44px;
}
.about-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.about-card{
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 16px;
	padding: 24px 22px;
	transition: transform .18s ease, border-color .18s ease;
}
.about-card:hover{
	transform: translateY(-4px);
	border-color: rgba(255, 180, 0, .4);
}
.about-card__icon{
	font-size: 30px;
	margin-bottom: 10px;
}
.about-card__t{
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 6px;
}
.about-card__d{
	color: #929abd;
	font-size: 14px;
	line-height: 1.5;
}
.about-diffs{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.about-diff{
	background: #0f1425;
	border: 1px solid rgba(255, 255, 255, .06);
	border-top: 3px solid #ffb400;
	border-radius: 14px;
	padding: 20px;
}
.about-diff__t{
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 6px;
}
.about-diff__d{
	color: #929abd;
	font-size: 13.5px;
	line-height: 1.5;
}
.about-steps{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.about-step{
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, .06);
	border-radius: 14px;
	padding: 20px;
}
.about-step__n{
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f4a300;
	color: #1a1a1a;
	font-weight: 800;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.about-step__t{
	color: #dfe3f0;
	font-size: 15px;
	line-height: 1.45;
	padding-top: 8px;
}
.about-final{
	text-align: center;
	background: linear-gradient(135deg, #141b34, #1a2547);
	border: 1px solid rgba(255, 180, 0, .25);
	border-radius: 18px;
	padding: 40px 20px;
	margin: 10px 0 24px;
}
.about-final__title{
	color: #fff;
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 8px;
}
.about-final__text{
	color: #c7ccdd;
	font-size: 16px;
	max-width: 540px;
	margin: 0 auto 22px;
	line-height: 1.5;
}
.about-final__cta{
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

@media (max-width: 900px){
	.about-stats,
	.about-diffs{
		grid-template-columns: 1fr 1fr;
	}
	.about-grid,
	.about-steps{
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 600px){
	.about-hero h1{
		font-size: 27px;
	}
	.about-grid,
	.about-steps,
	.about-stats,
	.about-diffs{
		grid-template-columns: 1fr;
	}
	.about-final__title{
		font-size: 23px;
	}
}

/* ─── Карточка компании ≤800px: блоки-секции без «коробки» ───
   Убираем фон, рамку, тень и боковые отступы — контент во всю ширину.
   Целимся по id (специфичность выше классов, которые их задают). */
@media (max-width: 800px){
	#about, #services, #products, #gallery, #video,
	.company-advantages, .company-similar{
		background: none;
		border: 0;
		box-shadow: none;
		border-radius: 0;
		padding-left: 0;
		padding-right: 0;
	}
}

/* ─── Запас снизу под плавающие кнопки («Контакты компании» и «Наверх»).
   Они position: fixed и из потока выпадают, поэтому контент под них
   не отодвигается — добавляем футеру отступ. Правило должно идти
   ПОСЛЕ базового .footer, иначе то перебьёт его по порядку. ─── */
@media (max-width: 768px){
	.footer{
		padding-bottom: 62px;
	}
}

/* ═══════════════ БЛОГ: категория, статья, блоки статей ═══════════════ */

/* Заголовки — как на остальных страницах; у статьи крупнее: это основной контент */
.blog-category h1{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	font-weight: 600;
	margin-bottom: 12px;
}
.blog-post h1{
	color: #ffb400;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 600;
	margin-bottom: 12px;
}
.blog-category,
.blog-post{
	margin-bottom: 32px;
}
.text-muted{
	color: #929abd;
	padding: 12px 0;
}

/* ── Сетка карточек статей ─────────────────────────────────────
   Вся карточка — одна ссылка, внутри img/i + заголовок + мета + анонс. */
.posts-block{
	margin-bottom: 32px;
}
.posts-block > h2{
	color: #ffb400;
	font-size: 19px;
	line-height: 20px;
	font-weight: 600;
	margin-bottom: 12px;
}
.posts-list ul{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
}
.posts-list ul li{
	list-style: none;
}
.posts-list ul li a{
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #141b34;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: #e1e1e1;
	transition: border-color .2s ease, transform .2s ease;
}
.posts-list ul li a:hover{
	border-color: rgba(255, 180, 0, 0.5);
	transform: translateY(-2px);
}
.posts-list ul li a img,
.posts-list ul li a i{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 22 / 13;   /* под thumb 220×130 — карточки одной высоты */
	object-fit: cover;
	background: #141a33;
}
/* <i> — заглушка вместо картинки: сетка не рвётся, если у статьи нет фото */
.posts-list ul li a i{
	background: radial-gradient(circle at 50% 42%, rgba(255, 180, 0, 0.12), transparent 62%), #141a33;
}
.posts-list ul li a h2,
.posts-list ul li a h3{
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
	color: #e6e8f0;
	padding: 12px 14px 0;
	transition: color .2s ease;
}
.posts-list ul li a:hover h2,
.posts-list ul li a:hover h3{
	color: #ffb400;
}
.posts-list ul li a em{
	font-style: normal;
	font-size: 13px;
	line-height: 18px;
	color: #7d86ab;
	padding: 6px 14px 0;
}
.posts-list ul li a p{
	font-size: 14px;
	line-height: 20px;
	color: #929abd;
	padding: 8px 14px 14px;
}

/* ── Пагинация ─────────────────────────────────────────────────── */
.pagination{
	margin: 24px 0 32px;
}
.pagination ul{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
}
.pagination ul li{
	list-style: none;
}
.pagination ul li a,
.pagination ul li span{
	display: block;
	min-width: 38px;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: #141b34;
	color: #c7ccdd;
	font-size: 15px;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
	transition: border-color .2s, color .2s;
}
.pagination ul li a:hover{
	border-color: #ffb400;
	color: #ffb400;
}
.pagination ul li.active span{
	border-color: #ffb400;
	background: #ffb400;
	color: #151a33;
	font-weight: 600;
}
.pagination ul li.gap span{
	border-color: transparent;
	background: none;
	color: #5f6b95;
	min-width: 20px;
	padding: 6px 2px;
}

/* ── Чипы категорий/подкатегорий (каталог, блог) ───────────────── */
.catalog-cats ul li a{
	display: block;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: #0f1425;
	color: #c7ccdd;
	font-size: 14px;
	line-height: 22px;
	text-decoration: none;
	transition: border-color .2s, color .2s;
}
.catalog-cats ul li a:hover{
	border-color: #ffb400;
	color: #ffb400;
	text-decoration: none;
}

/* ── Статья ────────────────────────────────────────────────────── */
.post{
	margin-bottom: 28px;
}
/* Мета-строка: дата · автор · время чтения · просмотры (разделитель — из CSS) */
.post-meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	color: #7d86ab;
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 18px;
}
.post-meta span + span::before,
.post-meta time + span::before{
	content: "·";
	margin-right: 10px;
	color: #4a5273;
}
.post-meta b{
	color: #c7ccdd;
	font-weight: 600;
}
.post-cover{
	margin-bottom: 22px;
}
.post-cover img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Оглавление статьи ─────────────────────────────────────────── */
.toc{
	background: #0f1425;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	padding: 14px 18px;
	margin-bottom: 24px;
}
.toc summary{
	color: #ffb400;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.toc summary::-webkit-details-marker{ display: none; }
.toc summary::after{
	content: "\002B";
	float: right;
	color: #929abd;
	font-weight: normal;
}
.toc[open] summary::after{ content: "\2212"; }
.toc ol{
	counter-reset: toc;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}
.toc ol li{
	counter-increment: toc;
	padding-left: 26px;
	position: relative;
	line-height: 24px;
}
.toc ol li::before{
	content: counter(toc) ".";
	position: absolute;
	left: 0;
	color: #ffb400;
	font-size: 13px;
}
.toc ol li a{
	color: #c7ccdd;
	font-size: 15px;
	text-decoration: none;
}
.toc ol li a:hover{
	color: #ffb400;
	text-decoration: underline;
}
/* Вложенный уровень (h3) — своя нумерация и отступ */
.toc ol ol{
	counter-reset: toc2;
	margin: 4px 0 6px;
	padding-left: 14px;
}
.toc ol ol li{
	counter-increment: toc2;
}
.toc ol ol li::before{
	content: counter(toc) "." counter(toc2);
}
.toc ol ol li a{
	font-size: 14px;
	color: #929abd;
}

/* ── Карточка автора ───────────────────────────────────────────── */
.author-card{
	display: flex;
	gap: 16px;
	background: hsl(226.4, 42.3%, 10.2%);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	padding: 18px;
	margin-bottom: 32px;
}
.author-card img{
	width: 72px;
	height: 72px;
	flex-shrink: 0;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(255, 180, 0, 0.2);
}
.author-card > div{
	min-width: 0;
}
.author-card > div span{
	display: block;
	color: #7d86ab;
	font-size: 12px;
	line-height: 16px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.author-card > div b{
	display: block;
	color: #e1e1e1;
	font-size: 17px;
	font-weight: 600;
	margin: 2px 0 6px;
}
.author-card > div p{
	color: #929abd;
	font-size: 14px;
	line-height: 22px;
}
/* Иконки соцсетей автора — та же логика цветов, что и у .company-social */
.author-social{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.author-social li{
	list-style: none;
}
.author-social li a{
	display: block;
	width: 34px;
	height: 34px;
	padding: 6px;
	border-radius: 50%;
	color: var(--sn, #c7ccdd);
	border: 1px solid var(--sn, #c7ccdd);
	transition: background .2s, color .2s, border-color .2s;
}
.author-social li a:hover{
	background: var(--sn-bg, var(--sn, #c7ccdd));
	border-color: var(--sn-bg, var(--sn, #c7ccdd));
	color: var(--sn-fg, #fff);
}
.author-social li a svg{
	display: block;
	width: 100%;
	height: 100%;
}

/* ── Блог: планшет/мобайл ──────────────────────────────────────── */
@media (max-width: 700px){
	.blog-post h1{ font-size: 21px; }
	.posts-list ul{ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
	.author-card{ flex-direction: column; align-items: center; text-align: center; }
	.author-social{ justify-content: center; }
}
@media (max-width: 480px){
	.posts-list ul{ grid-template-columns: 1fr; }
	.pagination ul li a,
	.pagination ul li span{ min-width: 34px; padding: 5px 8px; font-size: 14px; }
}
