/* ==========================================================================
   Altero — внутренние страницы: каталог, о компании, контакты
   ========================================================================== */

/* ---- Каталог ---- */
.catalog { padding-block: 28px 0; }
.catalog__head { margin-bottom: 26px; }
.catalog__title { margin: 4px 0 10px; }
/* Подзаголовок — PT Sans, крупный (как у референса) */
.catalog__subtitle { margin: 0 0 20px; color: var(--c-ink); font-family: var(--font-head); font-size: var(--fs-hero); line-height: 1.1; }
/* ---- Каталог: 2-колоночная раскладка (боковые фильтры + сетка) ---- */
.catalog__layout { display: grid; grid-template-columns: 260px 1fr; gap: clamp(24px, 3vw, 44px); align-items: start; }
.catalog__sidebar-inner { position: sticky; top: calc(var(--header-h) + 16px); display: flex; flex-direction: column; gap: 22px; }
.catalog-filter { border-bottom: 1px solid var(--c-line); padding-bottom: 18px; }
.catalog-filter:last-of-type { border-bottom: none; }
.catalog-filter__title { font-size: 1.1rem; font-weight: 700; margin: 0 0 12px; color: var(--c-ink); }
.catalog-filter__list li { margin-bottom: 8px; }
.catalog-filter__link { color: var(--c-text); font-size: 1rem; }
.catalog-filter__link:hover { color: var(--c-link-hover); }
.catalog-filter__link.is-active { color: var(--c-accent); font-weight: 700; }
/* Длинная надпись переносится, а не вылезает за пределы узкой кнопки сайдбара */
.catalog__consult { margin-top: 4px; white-space: normal; line-height: 1.3; padding-inline: 16px; }

/* Рядом с сайдбаром — 3 карточки в ряд */
.catalog__main .catalog__grid { grid-template-columns: repeat(3, 1fr); }

/* Демо-каталог (шаблон «Каталог (демо)») — сайдбар фильтров с чекбоксами */
.catalog__filters-toggle { display: none; }
.filter-group { margin-bottom: 22px; }
.filter-group__title { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; margin: 0 0 12px; }
.filter-group__list { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 9px; }
.filter-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: .95rem; color: var(--c-ink); }
.filter-check input { accent-color: var(--c-accent); width: 16px; height: 16px; flex: none; }

@media (max-width: 1100px) {
	.catalog__layout { grid-template-columns: 220px 1fr; }
	.catalog__main .catalog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	/* Фильтры уходят наверх горизонтальной лентой */
	.catalog__layout { grid-template-columns: 1fr; }
	.catalog__sidebar-inner { position: static; flex-direction: row; flex-wrap: wrap; gap: 14px 26px; align-items: flex-start; }
	.catalog-filter { border-bottom: none; padding-bottom: 0; }
	.catalog-filter__list { display: flex; flex-wrap: wrap; gap: 6px 14px; }
	.catalog-filter__list li { margin-bottom: 0; }
	.catalog__consult { display: none; }
	/* Демо-каталог: на мобильном фильтры под кнопкой-тогглом */
	.catalog__filters-toggle { display: inline-flex; margin-bottom: 14px; }
	.catalog__filters-body { display: none; }
	.catalog__filters.is-open .catalog__filters-body { display: block; }
}
@media (max-width: 560px) {
	.catalog__main .catalog__grid { grid-template-columns: 1fr; }
	/* Фильтры стопкой, чтобы группы не вылезали за экран */
	.catalog__sidebar-inner { flex-direction: column; gap: 16px; }
	.catalog-filter__list { gap: 8px 14px; }
}

/* Ссылки на подкатегории (страницы категорий) */
.catalog__subterms { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 20px; }
.catalog__subterms a { color: var(--c-ink); font-size: 1rem; text-decoration: underline; text-underline-offset: 4px; }
.catalog__subterms a:hover { color: var(--c-link-hover); }
.catalog__chip {
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--c-ink); color: #fff;
	border-radius: 10px; padding: 8px 20px; font-size: var(--fs-btn); line-height: 1.1;
}
.catalog__chip:hover { background: #000; color: #fff; }
.catalog__chip svg { color: var(--c-accent); }
@media (max-width: 1599px) {
	.catalog__chip { padding: 4px 12px; border-radius: 7px; font-size: 14px; }
	.catalog__chip svg { width: 14px; height: 14px; }
}

.catalog__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
/* Карточки каталога: фото + серая плита с ценой/названием/кнопкой (как у референса) */
.catalog__grid .card { border-radius: 12px; overflow: hidden; }
.catalog__grid .card__media { aspect-ratio: 1 / 1; background: var(--c-bg-soft); border-radius: 12px 12px 0 0; }
.catalog__grid .card__body { background: var(--c-bg-soft); padding: 16px 16px 18px; border-radius: 0 0 12px 12px; }
.catalog__grid .card__price { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-card-price); }
.catalog__grid .card__title { font-family: var(--font-head); font-weight: 400; font-size: var(--fs-card-title); line-height: 1.1; }
.catalog__grid .card__buy { background: #fff; }
.catalog__grid .card__meta { display: none; }
.catalog__empty { color: var(--c-muted); }

/* Кнопка «Больше проектов» — чёрная пилюля (как у референса) */
.catalog__more { text-align: center; margin: 36px 0 0; }
.catalog__more a {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 15px 46px; border: none; border-radius: 14px;
	background: var(--c-ink); color: #fff; font-size: 1.05rem; line-height: 1.1;
}
.catalog__more a:hover { background: var(--c-accent); color: var(--c-ink); }

/* Пагинация — единый стиль-пилюли определён ниже (блок «Пагинация — пилюли») */

/* ---- Хронология ---- */
.timeline__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.timeline__item {
	display: grid; grid-template-columns: 84px 1fr; gap: 18px; align-items: start;
	padding: 22px; border: 1px solid var(--c-line); border-radius: var(--radius); background: #fff;
}
.timeline__year { font-family: var(--font-head); font-size: 1.5rem; font-weight: 700; color: var(--c-accent); }
.timeline__media { grid-column: 1 / -1; }
.timeline__media img { width: 100%; aspect-ratio: 425 / 276; object-fit: cover; border-radius: var(--radius-sm); }
.timeline__text { grid-column: 1 / -1; color: #444; font-size: .95rem; margin: 0; }

/* ---- Акцентный заголовок страницы (как у референса) ---- */
.page-accent-title {
	color: var(--c-accent); text-transform: uppercase; letter-spacing: .01em;
	margin: 4px 0 24px;
}
/* Чёрный подзаголовок под оранжевым кикером (страница «О компании») */
.page-subtitle {
	font-family: var(--font-head); color: var(--c-ink);
	font-size: clamp(1.3rem, 1.8vw, 2rem); margin: -12px 0 24px;
}

/* Интро «О компании» — серая скруглённая карточка (как у референса) */
.about-card {
	background: #f6f6f6; border-radius: 16px;
	padding: clamp(24px, 3vw, 40px);
}
.about-card .about__media img { border-radius: 12px; }
.about-card .btn { margin-top: 12px; }

/* ---- Контакты / адреса салонов ---- */
.contacts-page { padding-block: 28px 0; }

/* Шапка: слева заголовок+лид, справа карточка быстрого контакта */
.contacts-intro {
	display: grid; grid-template-columns: 1fr 300px; gap: clamp(24px, 4vw, 56px);
	align-items: end; margin-bottom: clamp(32px, 4vw, 56px);
}
.contacts-intro__lead .page-accent-title { margin-bottom: 14px; }
.contacts-intro__text { margin: 0; color: var(--c-muted); font-size: 1.05rem; line-height: 1.65; max-width: 620px; }
.contacts-intro__card {
	background: var(--c-ink); color: #fff; border-radius: var(--radius);
	padding: 24px; display: flex; flex-direction: column; gap: 6px;
}
.contacts-intro__phone { color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 1.35rem; white-space: nowrap; }
.contacts-intro__phone:hover { color: var(--c-accent-on-dark); }
.contacts-intro__hours { color: rgba(255, 255, 255, .7); font-size: .9rem; }
.contacts-intro__email { color: rgba(255, 255, 255, .9); font-size: .95rem; margin-bottom: 10px; }
.contacts-intro__email:hover { color: var(--c-accent-on-dark); }

/* Раскладка: слева липкая карта, справа список салонов по регионам */
.contacts-layout {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(24px, 3.5vw, 48px); align-items: start; margin-bottom: clamp(40px, 6vw, 72px);
}
.contacts-layout__map { position: sticky; top: calc(var(--header-h) + 20px); }
.contacts__map { border-radius: var(--radius); overflow: hidden; min-height: 560px; }
.contacts__map iframe { display: block; width: 100%; min-width: 100%; height: 560px; min-height: 560px; border: 0; }
.contacts__map-link { margin-top: 14px; }

.salons { margin-bottom: clamp(28px, 4vw, 48px); }
.salons:last-of-type { margin-bottom: 20px; }
/* Регион — крупный заголовок с воздухом */
.salons__region { font-size: var(--fs-lead); font-weight: 600; margin: 0 0 18px; }
.salons__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
/* В правой колонке салоны идут в один столбец компактными карточками */
.salons__grid--list { grid-template-columns: 1fr; gap: 14px; }
/* Карточка салона — серая с оранжевой рамкой */
.salon {
	padding: 32px; border: 1px solid var(--c-accent); border-radius: var(--radius);
	background: #f6f6f6;
}
.salons__grid--list .salon { padding: 22px 24px; }
.salon__name { display: flex; align-items: center; gap: 10px; font-family: var(--font-head); font-weight: 700; font-size: 1.3rem; margin: 0 0 12px; }
.salons__grid--list .salon__name { font-size: 1.15rem; margin-bottom: 8px; }
/* Иконка метро/пина — красная */
.salon__pin { color: #e0353f; display: inline-flex; flex: none; }
.salon__addr { color: #333; font-size: .95rem; margin: 0 0 12px; line-height: 1.5; }
.salons__grid--list .salon__addr { margin-bottom: 8px; }
.salon__phone { display: inline-block; font-family: var(--font-body); font-weight: 400; font-size: 1.45rem; color: var(--c-ink); margin-bottom: 8px; }
.salons__grid--list .salon__phone { font-size: 1.25rem; }
.salon__phone:hover { color: var(--c-link-hover); }
.salon__hours { color: var(--c-ink); font-size: .95rem; margin: 0; line-height: 1.5; }
.salon__map { color: var(--c-accent); font-weight: 400; font-size: .95rem; }

@media (max-width: 900px) {
	.contacts-intro { grid-template-columns: 1fr; align-items: stretch; }
	.contacts-layout { grid-template-columns: 1fr; }
	.contacts-layout__map { position: static; order: 2; }
	.contacts-layout__list { order: 1; }
	.salons__grid--list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.salons__grid--list { grid-template-columns: 1fr; }
}

/* ---- Коллекции: 2-колоночная «шахматная» мозаика (как у референса) ---- */
.collections__head { margin-bottom: 30px; }
/* Кикер + ЧЁРНЫЙ жирный заголовок (как у референса — страница на старом шаблоне) */
.collections__kicker {
	color: var(--c-muted); text-transform: uppercase; letter-spacing: .04em;
	font-weight: 700; font-size: 1rem; margin: 0 0 6px;
}
.collections__title { color: var(--c-ink); font-weight: 700; text-transform: uppercase; margin: 0 0 28px; }
.collections__intro { max-width: 1100px; color: #333; font-size: 1.05rem; margin: 0; }
.collections__promo { color: var(--c-accent); font-weight: 700; }
.collections__note { font-weight: 700; }
/* Сетка коллекций: аккуратные плитки одинакового размера (не CSS-columns —
   иначе на широком экране картинки раздуваются до огромной высоты) */
.collections-masonry {
	display: grid; grid-template-columns: repeat(2, 1fr);
	gap: clamp(20px, 2.5vw, 40px);
}
/* Карточка коллекции: прямые углы, белая плашка-подпись сверху, квадрат-стрелка с отступом */
.collection-card {
	position: relative; display: block; overflow: hidden; border-radius: 0;
}
/* Умеренная альбомная пропорция — высота под контролем на любой ширине */
.collection-card img {
	width: 100%; height: 100%; display: block;
	aspect-ratio: 3 / 2; object-fit: cover; transition: transform .5s ease;
}
.collection-card:hover img { transform: scale(1.04); }
@media (max-width: 640px) {
	.collections-masonry { grid-template-columns: 1fr; }
}
.collection-card::before {
	content: "\2192"; position: absolute; right: 18px; bottom: 18px; z-index: 2;
	width: 36px; height: 36px; background: var(--c-accent); color: #fff;
	display: grid; place-items: center; font-size: 1.1rem; line-height: 1;
	transition: background .2s ease;
}
.collection-card:hover::before { background: var(--c-accent-deep); color: #fff; }
/* Белая плашка с подписью в левом верхнем углу (как у референса) */
.collection-card__label {
	position: absolute; left: 0; top: 0; z-index: 2;
	background: #fff; color: var(--c-ink); padding: 12px 18px;
}
.collection-card__kicker { display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.collection-card__name { display: block; font-family: var(--font-head); font-weight: 700; font-size: 1.2rem; text-transform: uppercase; color: var(--c-ink); }
.collections__text { max-width: 900px; margin: 8px 0 clamp(40px, 6vw, 72px); color: #333; }
.collections__text strong { display: block; margin-bottom: 4px; }

/* ---- Главные причины — bento: заголовок-карточка + фото слева, карточки с галочками справа (как у референса) ---- */
.reasons__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(20px, 2vw, 24px); align-items: stretch; }
.reasons__left { display: flex; flex-direction: column; gap: clamp(20px, 2vw, 24px); }
.reasons__titlecard { background: var(--c-bg-soft); border-radius: 16px; padding: clamp(24px, 2.5vw, 40px); }
.reasons__title { margin: 0; }
.reasons__media { flex: 1; min-height: 240px; border-radius: 16px; overflow: hidden; }
.reasons__media img { width: 100%; height: 100%; object-fit: cover; }
.reasons__list { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2vw, 24px); align-content: stretch; }
.reason { display: flex; gap: 14px; align-items: flex-start; padding: clamp(20px, 2vw, 32px); background: var(--c-bg-soft); border-radius: 16px; }
.reason__check {
	width: 30px; height: 30px; border-radius: 50%; flex: none;
	background: var(--c-accent); color: #fff;
	display: grid; place-items: center; font-size: .85rem; font-weight: 700;
}
.reason__num { font-family: var(--font-head); font-weight: 700; font-size: 1.5rem; color: var(--c-ink); margin-bottom: 6px; }
.reason__text { color: #444; font-size: 1rem; }
@media (max-width: 900px) { .reasons__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .reasons__list { grid-template-columns: 1fr; } }

/* ---- О компании: текстовый блок, сильные стороны, сотрудничество ---- */
.about-text__cols { columns: 2; column-gap: clamp(24px, 4vw, 56px); color: #333; }
.about-text__cols p { margin: 0 0 1.1em; break-inside: avoid; }

/* Сильные стороны — нумерованный список в две колонки, строки с разделителем (своя раскладка) */
.strengths__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(28px, 4vw, 56px);
}
.strength {
	display: flex; align-items: flex-start; gap: 18px;
	padding: 22px 0; border-bottom: 1px solid var(--c-line); background: transparent;
}
.strength__num {
	flex: none; font-family: var(--font-head); font-weight: 800; font-size: 1.5rem;
	color: var(--c-accent); line-height: 1.1; min-width: 42px;
}
.strength__text { font-weight: 600; align-self: center; }
@media (max-width: 760px) {
	.strengths__list { grid-template-columns: 1fr; }
}

.cooperation__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cooperation__card {
	position: relative; display: flex; align-items: flex-end; min-height: clamp(320px, 30vw, 500px);
	border-radius: var(--radius); overflow: hidden;
	background-size: cover; background-position: center;
}
.cooperation__card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,20,.25), rgba(20,20,20,.8)); }
.cooperation__body { position: relative; z-index: 1; padding: 28px; color: #fff; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.cooperation__title { font-family: var(--font-head); font-weight: 700; font-size: 1.4rem; }
.cooperation__text { font-size: .95rem; opacity: .9; max-width: 42ch; }
.cooperation__btn { margin-top: 4px; }

/* ---- Дизайнерам: слоган по центру + два больших фото (как у референса) ---- */
.designers-hero { padding-top: 20px; }
.designers-hero__title {
	color: var(--c-accent); text-transform: uppercase; text-align: center;
	font-weight: 700; margin-bottom: clamp(24px, 3vw, 48px);
}
.designers-hero__photos {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.designers-hero__photos img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
	border-radius: var(--radius-media);
}
.designers-hero__caption {
	text-align: center; font-size: var(--fs-lead); color: var(--c-ink);
	margin: clamp(20px, 2.5vw, 36px) 0 0;
}
@media (max-width: 680px) {
	.designers-hero__photos { grid-template-columns: 1fr; }
}

/* ---- Вопрос-ответ: 2-колоночная раскладка (слева инфо-панель, справа аккордеон) ---- */
.faq-page { padding-block: 28px 0; }
.faq-layout {
	display: grid; grid-template-columns: 320px 1fr; gap: clamp(28px, 4vw, 60px);
	align-items: start; margin-top: 8px;
}
.faq-layout__aside .faq-aside { position: sticky; top: calc(var(--header-h) + 20px); }
.faq-aside__title { margin: 0 0 16px; }
.faq-aside__lead { margin: 0 0 24px; color: var(--c-muted); font-size: 1.02rem; line-height: 1.6; }
.faq-aside__card {
	background: var(--c-ink); color: #fff; border-radius: var(--radius);
	padding: 26px 24px; display: flex; flex-direction: column; gap: 10px;
}
.faq-aside__card-title { font-family: var(--font-head); font-weight: 700; font-size: 1.2rem; }
.faq-aside__phone { color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 1.4rem; white-space: nowrap; }
.faq-aside__phone:hover { color: var(--c-accent-on-dark); }
.faq-aside__hours { color: rgba(255, 255, 255, .7); font-size: .92rem; margin-bottom: 6px; }
.faq-aside__card .btn { margin-top: 4px; }
@media (max-width: 900px) {
	.faq-layout { grid-template-columns: 1fr; }
	.faq-layout__aside .faq-aside { position: static; }
	.faq-aside__card { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.faq-aside__card-title { width: 100%; }
	.faq-aside__card .btn { margin-left: auto; width: auto; }
}
@media (max-width: 560px) {
	.faq-aside__card { flex-direction: column; align-items: stretch; }
	.faq-aside__card .btn { width: 100%; margin-left: 0; }
}
.accordion--faq { max-width: none; }
.accordion--faq .accordion__item {
	border: none; margin-bottom: 20px;
	background: var(--c-bg-soft); border-radius: var(--radius); overflow: hidden;
}
.accordion--faq .accordion__head { padding: 28px 24px; gap: 18px; align-items: center; }
.faq__num {
	width: 45px; height: 45px; border-radius: 50%; flex: none;
	background: var(--c-accent); color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 1.15rem;
	display: grid; place-items: center;
}
.faq__q { flex: 1; font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; }
.accordion--faq .accordion__icon { color: var(--c-accent); display: inline-flex; font-size: 1.6rem; }
.accordion--faq .accordion__item.is-open .accordion__icon { transform: rotate(90deg); }
.accordion--faq .accordion__body p { padding: 0 24px 24px 87px; }
@media (max-width: 560px) {
	.accordion--faq .accordion__body p { padding-left: 24px; }
	.accordion--faq .accordion__head { padding: 20px 16px; }
	.faq__num { width: 34px; height: 34px; font-size: .95rem; }
}

/* ---- Отзывы: grid 2 колонки, карточки по высоте контента (без пустых полей) ---- */
.reviews-page { padding-block: 28px 0; }
.reviews-masonry { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.reviews-masonry > * { margin-bottom: 0; }
.reviews-intro {
	position: relative; overflow: hidden; border-radius: var(--radius);
	min-height: 300px; display: flex; align-items: flex-end;
	background-size: cover; background-position: center; color: #fff;
}
.reviews-intro::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,20,.35), rgba(20,20,20,.85)); }
.reviews-intro__body { position: relative; z-index: 1; padding: 28px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.reviews-intro__title { color: #fff; font-family: var(--font-head); font-weight: 700; font-size: var(--fs-title); margin: 0; line-height: 1; }
.reviews-intro__body p { font-size: .95rem; opacity: .9; margin: 0; }
/* Кнопка — контурная белая (как у референса) */
.reviews-intro .btn {
	background: transparent; color: #fff; border: 1px solid #fff;
}
.reviews-intro .btn:hover { background: #fff; color: var(--c-ink); }
.review--masonry { box-shadow: none; border: 1px solid var(--c-line); background: var(--c-bg-soft); }
.reviews-page__more { text-align: center; margin: 26px 0 clamp(40px, 6vw, 64px); }
@media (max-width: 760px) {
	.reviews-masonry { grid-template-columns: 1fr; }
}

/* ---- Адаптив ---- */
@media (max-width: 1100px) {
	.catalog__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.collections-masonry { columns: 2; }
}
@media (max-width: 700px) {
	.cooperation__grid { grid-template-columns: 1fr; }
	.about-text__cols { columns: 1; }
}
@media (max-width: 680px) {
	.catalog__grid { grid-template-columns: repeat(2, 1fr); }
	.timeline__list { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.collections-masonry { columns: 1; }
}
@media (max-width: 420px) {
	.catalog__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Статьи / блог, одиночная запись, акции, вакансии
   ========================================================================== */
.container--narrow { max-width: 900px; }

/* ---- Лента статей ---- */
.blog-page { padding-block: 28px 0; }
.blog-intro { max-width: 820px; color: #333; margin: 0 0 30px; }
.blog__grid {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.5vw, 34px); margin-bottom: 40px;
}
.blog-card { display: flex; flex-direction: column; }
.blog-card__media {
	position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden;
	border-radius: var(--radius); background: var(--c-bg-soft);
}
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.blog-card:hover .blog-card__media img { transform: scale(1.05); }
.blog-card__ph {
	position: absolute; inset: 0; display: grid; place-items: center;
	font-family: var(--font-head); font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; color: var(--c-divider); font-size: 1.1rem;
}
.blog-card__date {
	position: absolute; left: 12px; bottom: 12px; z-index: 2;
	background: var(--c-ink); color: #fff; font-size: .72rem; font-weight: 600;
	padding: 5px 12px; border-radius: 999px; letter-spacing: .03em;
}
.blog-card__body { padding: 16px 2px 0; display: flex; flex-direction: column; gap: 8px; }
.blog-card__title { font-size: 1.2rem; line-height: 1.25; margin: 0; }
.blog-card__title a { color: var(--c-ink); }
.blog-card__title a:hover { color: var(--c-accent-2); }
.blog-card__excerpt { color: var(--c-muted); font-size: .95rem; margin: 0; line-height: 1.55; }
.blog-card__more {
	margin-top: auto; font-family: var(--font-head); font-weight: 600;
	text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: var(--c-ink);
}
.blog-card__more:hover { color: var(--c-accent-2); }
.blog-empty { padding: 40px 0 60px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; color: var(--c-muted); }

/* Пагинация — пилюли (paginate_links type=list на «Статьях» + the_posts_pagination) */
.pagination { display: flex; justify-content: center; margin: 28px 0 8px; flex-wrap: wrap; }
.pagination ul,
.pagination .nav-links {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
}
/* Только сами номера-ссылки (не контейнер ul.page-numbers) */
.pagination a.page-numbers,
.pagination span.page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px;
	border: 1.5px solid var(--c-line); color: var(--c-ink);
	font-family: var(--font-head); font-weight: 600;
}
.pagination a.page-numbers:hover { border-color: var(--c-ink); }
.pagination span.page-numbers.current { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.pagination .page-numbers.dots { border: none; min-width: auto; height: auto; }

/* ---- Одиночная статья ---- */
.post-single { padding-block: 28px 0; }
.post-article__head { margin-bottom: 22px; }
.post-article__date { color: var(--c-muted); font-size: .9rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.post-article__title { margin: 10px 0 0; }
.post-article__cover { border-radius: var(--radius); overflow: hidden; margin-bottom: 26px; }
.post-article__cover img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.post-article__body { font-size: 1.06rem; line-height: 1.7; color: #2a2a2a; }
.post-article__body h2 { font-size: 1.6rem; margin: 1.4em 0 .5em; }
.post-article__body h3 { font-size: 1.3rem; margin: 1.2em 0 .4em; }
.post-article__body img { border-radius: var(--radius); margin: 1em 0; }
.post-article__body ul li { list-style: disc; margin-left: 1.2em; margin-bottom: .4em; }
.post-article__body ol li { list-style: decimal; margin-left: 1.2em; margin-bottom: .4em; }
.post-article__foot { margin-top: 34px; }

/* ---- Акции ---- */
.promo-page { padding-block: 28px 0; }
.promo__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(20px, 2.5vw, 30px); margin-bottom: 40px; }
.promo-card {
	position: relative; display: flex; flex-direction: column; gap: 12px;
	padding: clamp(24px, 3vw, 40px); border-radius: var(--radius);
	background: var(--c-bg-soft); border: 1px solid var(--c-line);
}
.promo-card__badge {
	align-self: flex-start; background: var(--c-ink); color: #fff;
	font-family: var(--font-head); font-weight: 700; font-size: 1.05rem;
	padding: 8px 18px; border-radius: 999px;
}
.promo-card__title { font-size: 1.4rem; margin: 6px 0 0; line-height: 1.2; }
.promo-card__text { color: var(--c-muted); margin: 0; line-height: 1.6; }
.promo-card__foot { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.promo-card__note { font-weight: 600; color: var(--c-ink); font-size: .95rem; }

/* ---- Вакансии ---- */
.vacancies-page { padding-block: 28px 0; }
.vacancy__list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
.vacancy {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	padding: clamp(22px, 2.6vw, 34px); border-radius: var(--radius);
	background: var(--c-bg-soft); border: 1px solid var(--c-line);
}
.vacancy__title { font-size: 1.35rem; margin: 0 0 6px; }
.vacancy__meta { color: var(--c-accent-2); font-weight: 600; font-size: .9rem; }
.vacancy__text { color: var(--c-muted); margin: 10px 0 0; line-height: 1.6; max-width: 70ch; }
.vacancy__btn { flex: none; }

@media (max-width: 1000px) {
	.blog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.promo__grid { grid-template-columns: 1fr; }
	.vacancy { flex-direction: column; align-items: flex-start; }
	.vacancy__btn { width: 100%; }
}
@media (max-width: 560px) {
	.blog__grid { grid-template-columns: 1fr; }
}
