/*
 * Кейсы «Партнерство» — оформление страницы кейса.
 * Подключается только на страницах кейсов рубрики «Партнерство».
 * Все цвета — переменные ниже: поменять цвет = одна строка.
 * Основа — макет «Кейс Атырау» (28.09.2026) + рекомендации по дизайну (29.09.2026).
 */

.pc-case {
	--pc-ink: #14161A;          /* заголовки, цифры */
	--pc-text: #3A3E44;         /* основной текст */
	--pc-muted: #6C7076;        /* подписи */
	--pc-faint: #726E67;        /* второстепенное (контраст ≥ 4,5 на белом) */
	--pc-line: #E6E2DA;         /* рамки */
	--pc-line-2: #EDE9E1;       /* разделители */
	--pc-orange: #F26522;       /* акцент */
	--pc-orange-dark: #C6410E;  /* акцентный текст */
	--pc-orange-btn: #CC4A10;   /* заливка под мелким белым текстом: контраст ≥ 4,5 (фирменный #F26522 даёт 3,15) */
	--pc-warm: #F8F5F0;         /* тёплый фон секций */
	--pc-soft: #F7F4EF;         /* фон карточек, плашек */
	--pc-peach: #FFF3EB;        /* «после», выделенные карточки */
	--pc-peach-line: #FFD3B8;
	--pc-dark: #2B2B2B;         /* тёмный фон — фирменный тёмный сайта */
	--pc-dark-card: #353535;
	--pc-dark-line: #444444;
	--pc-dark-text: #C9CDD3;
	--pc-dark-accent: #FF915E;
	--pc-green: #1F9D55;        /* эталон на графиках */
	--pc-shadow: 0 14px 36px rgba(20, 22, 26, .055);
	--pc-shadow-sm: 0 8px 24px rgba(20, 22, 26, .04);
	--pc-section-y: 68px;

	font-family: "Golos Text", system-ui, -apple-system, sans-serif;
	color: var(--pc-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	line-height: 1.55;
	overflow-x: hidden;
}
.pc-case *, .pc-case *::before, .pc-case *::after { box-sizing: border-box; }
.pc-case figure { margin: 0; }
.pc-case img { max-width: 100%; height: auto; display: block; }
.pc-case p { margin: 0; }
.pc-case ul { margin: 0; padding-left: 20px; display: grid; gap: 7px; }
.pc-case li { margin: 0; }
.pc-case h1, .pc-case h2, .pc-case h3, .pc-case h4 {
	font-family: "Golos Text", system-ui, sans-serif; color: var(--pc-ink); text-transform: none;
	font-weight: 700; margin: 0; padding: 0; letter-spacing: -.015em; text-wrap: pretty;
}
.pc-case a { color: var(--pc-orange-dark); text-decoration: none; }
.pc-case a:hover { color: var(--pc-ink); }

.pc-wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }

/* ── Секции и фоны ── */
.pc-section { padding: var(--pc-section-y) 0; }
.pc-bg-belyj { background: #fff; }
.pc-bg-teplyj { background: var(--pc-warm); border-top: 1px solid #EEE9E1; border-bottom: 1px solid #EEE9E1; }
.pc-bg-temnyj { background: var(--pc-dark); color: #F7F5F1; }

.pc-head { max-width: 780px; margin-bottom: 40px; }
.pc-head--center { text-align: center; margin-left: auto; margin-right: auto; max-width: 860px; }
/* Мелкий оранжевый текст — тёмно-оранжевым: #F26522 на светлом фоне даёт контраст ~3, нужно ≥ 4,5. */
.pc-kicker { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--pc-orange-dark); margin-bottom: 14px; }
.pc-kicker--dark { color: var(--pc-orange-dark); letter-spacing: .12em; font-size: 12.5px; }
.pc-kicker--grey { color: var(--pc-faint); letter-spacing: .1em; margin-bottom: 0; padding: 0 4px; }
.pc-h2 { font-size: 38px; line-height: 1.14; letter-spacing: -.025em; margin-bottom: 12px !important; }
.pc-sub { font-size: 17.5px; color: var(--pc-muted); }
.pc-text { font-size: 17px; line-height: 1.65; color: var(--pc-text); max-width: 900px; }
.pc-note { font-size: 15px; color: #5C6068; margin: 16px 4px 0 !important; line-height: 1.55; }
.pc-muted { color: var(--pc-muted); font-size: 15px; line-height: 1.55; }
.pc-faint { color: var(--pc-faint); font-size: 14px; margin-bottom: 14px !important; }
.pc-strong { font-size: 17px; line-height: 1.65; font-weight: 600; }
.pc-accent { color: var(--pc-orange-dark); white-space: nowrap; }
.pc-rich { font-size: 17px; line-height: 1.65; color: var(--pc-text); }
.pc-rich p + p { margin-top: 14px; }
.pc-rich b, .pc-rich strong { color: var(--pc-ink); }

.pc-card { background: #fff; border: 1px solid var(--pc-line); border-radius: 16px; padding: 30px; }
.pc-card h3 { font-size: 19px; margin-bottom: 8px; }
.pc-cards { display: grid; gap: 22px; }
.pc-cards--2 { grid-template-columns: repeat(2, 1fr); }
.pc-cards--2 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.pc-card .pc-rich { font-size: 16.5px; line-height: 1.6; }
.pc-card .pc-rich p + p { margin-top: 12px; }

/* ── Первый экран ── */
/*
 * Над шапкой сайта висит фиксированный баннер (header-banner.php дочерней темы).
 * Прокладка темы учитывает только высоту шапки, поэтому место под баннер
 * резервируем сами — по той же пропорции, что задана баннеру в стилях темы.
 * Нет баннера на странице — нет и отступа.
 */
.pc-case { --pc-hero-gap: 40px; --pc-banner: 0px; }
body:has(.banner-up) .pc-case { --pc-banner: calc(100vw * 187 / 2048); }
@media (max-width: 768px) { body:has(.banner-up) .pc-case { --pc-banner: calc(100vw * 328 / 750); } }
.pc-hero { padding: calc(var(--pc-hero-gap) + var(--pc-banner)) 0 0; border-bottom: 1px solid var(--pc-line); background: linear-gradient(180deg, #fff 0%, #fff 72%, #FCFAF7 100%); }
.pc-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13.5px; color: var(--pc-faint); }
.pc-crumbs a { color: var(--pc-muted); }
.pc-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: end; padding-top: 46px; }
.pc-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 26px; }
/* Правило: полностью скруглённые «таблетки» — только у того, что нажимается. Ярлыки и значки — скругление 6px. */
.pc-chip { border: 1px solid var(--pc-line); color: var(--pc-muted); padding: 7px 12px; border-radius: 6px; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.pc-chip--accent { background: var(--pc-orange-btn); border-color: var(--pc-orange-btn); color: #fff; font-weight: 700; }
.pc-h1 { font-size: 52px !important; line-height: 1.08 !important; letter-spacing: -.03em !important; margin-bottom: 22px !important; }
.pc-lead { font-size: 19.5px; line-height: 1.55; color: var(--pc-text); max-width: 620px; }
.pc-hero-img { border-radius: 16px 16px 0 0; overflow: hidden; box-shadow: 0 18px 48px rgba(20, 22, 26, .08); }
.pc-hero-img img { width: 100%; height: 320px !important; object-fit: cover; }

/* ── Плашки с цифрами ── */
.pc-kpis { display: grid; gap: 18px; margin-top: 24px; }
.pc-kpi b { display: block; font-family: Manrope, sans-serif; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; line-height: 1.15; }
.pc-kpi span { display: block; color: var(--pc-muted); line-height: 1.45; }
.pc-kpi.is-accent b { color: var(--pc-orange-dark); }

.pc-kpis--hero { grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--pc-line); margin-top: 44px; border-radius: 14px 14px 0 0; overflow: hidden; box-shadow: 0 12px 34px rgba(20, 22, 26, .055); }
.pc-kpis--hero .pc-kpi { background: #fff; padding: 24px 20px; }
.pc-kpis--hero .pc-kpi b { font-size: 23px; letter-spacing: -.02em; }
.pc-kpis--hero .pc-kpi span { font-size: 13px; margin-top: 7px; }

.pc-kpis--4 { grid-template-columns: repeat(4, 1fr); }
.pc-kpis--cards .pc-kpi { background: #fff; border: 1px solid var(--pc-line); border-radius: 14px; padding: 26px 22px; box-shadow: var(--pc-shadow-sm); }
.pc-kpis--cards .pc-kpi b { font-size: 27px; }
.pc-kpis--cards .pc-kpi span { font-size: 14px; margin-top: 9px; }
.pc-kpis--soft { gap: 16px; margin-top: 22px; }
.pc-kpis--soft .pc-kpi { background: var(--pc-soft); border-radius: 12px; padding: 20px; }
.pc-kpis--soft .pc-kpi b { font-size: 24px; }
.pc-kpis--soft .pc-kpi span { font-size: 14px; margin-top: 6px; }

/* ── Предыстория ── */
.pc-story { display: grid; grid-template-columns: 1.25fr .75fr; gap: 56px; align-items: start; }
.pc-case .pc-story-main > * + * { margin-top: 22px; }
.pc-problems { display: grid; gap: 20px; }
.pc-problem { border-left: 3px solid var(--pc-orange); padding-left: 20px; }
.pc-problem h3 { font-size: 18px; margin-bottom: 8px; }
.pc-problem p { font-size: 17px; line-height: 1.65; color: var(--pc-text); }
.pc-story-side { display: grid; gap: 18px; position: sticky; top: 28px; }
.pc-fig figcaption { font-size: 14.5px; color: var(--pc-muted); margin-top: 12px; line-height: 1.55; }
.pc-fig-43, .pc-fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.pc-pointa { padding: 26px 26px 22px; }
.pc-pointa dl { margin: 0; display: grid; }
.pc-pointa-row { display: flex; justify-content: space-between; gap: 16px; font-size: 15.5px; padding: 10px 0; border-top: 1px solid var(--pc-line-2); }
.pc-pointa-row:first-child { border-top: 0; padding-top: 0; }
.pc-pointa dt { color: var(--pc-muted); }
.pc-pointa dd { margin: 0; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.pc-pointa-row.is-seroe dd { color: var(--pc-faint); font-weight: 600; }
.pc-pointa-row.is-krasnoe dd { color: var(--pc-orange-dark); }

/* ── До и после ── */
.pc-s-do_posle .pc-head { text-align: center; margin-left: auto; margin-right: auto; }
.pc-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pc-ba-card { background: #fff; border: 1px solid var(--pc-line); border-radius: 18px; padding: 34px; box-shadow: var(--pc-shadow); }
.pc-ba-card--after { background: var(--pc-peach); border-color: var(--pc-peach-line); }
.pc-ba-label { font-size: 12.5px; text-transform: uppercase; letter-spacing: .12em; color: var(--pc-muted); font-weight: 700; margin-bottom: 12px; }
.pc-ba-card--after .pc-ba-label { color: var(--pc-orange-dark); }
.pc-ba-big { font-family: Manrope, sans-serif; font-size: 34px; font-weight: 800; letter-spacing: -.03em; margin-bottom: 20px; font-variant-numeric: tabular-nums; }
.pc-ba-card--after .pc-ba-big { color: var(--pc-orange-dark); }
.pc-ba ul { font-size: 16px; line-height: 1.6; color: var(--pc-text); gap: 8px; }

/* ── Графики ── */
.pc-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.pc-chart-card { background: var(--pc-soft); border-radius: 18px; padding: 28px 24px 22px; }
.pc-bg-teplyj .pc-chart-card { background: #fff; }
.pc-chart-card h3 { font-size: 20px; margin-bottom: 18px; }
.pc-chart { width: 100%; height: auto; display: block; filter: drop-shadow(0 8px 16px rgba(20, 22, 26, .035)); overflow: visible; }
.pc-chart-grid { stroke: #DFDAD1; stroke-width: 1; stroke-dasharray: 3 4; }
.pc-chart-base { stroke: #CFC9BE; stroke-width: 1; }
.pc-chart-axis, .pc-chart-month { fill: var(--pc-faint); }
.pc-chart-line { fill: none; stroke: var(--pc-orange); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.pc-chart-area { fill: var(--pc-orange); fill-opacity: .13; }
.pc-chart-dot { fill: #fff; stroke: var(--pc-orange); stroke-width: 2.5; }
.pc-chart-bar { fill: var(--pc-orange); }
.pc-chart-bar--muted { fill: #D9D3C8; }
.pc-chart-val { font-weight: 700; fill: var(--pc-ink); }
.pc-chart-val--accent { fill: var(--pc-orange-dark); }
.pc-chart-etalon { stroke: var(--pc-green); stroke-width: 1.5; stroke-dasharray: 6 5; }
.pc-chart-etalon-label { fill: var(--pc-green); }
/* Размеры подписей в единицах рисунка. d: рисунок 800 ед. показывается на ~500–850 px → 20 ед. ≈ 12,6–21 px.
   m: рисунок 360 ед. на ~300 px → 15 ед. ≈ 12,5 px. */
.pc-chart--d .pc-chart-axis { font-size: 20px; } .pc-chart--d .pc-chart-month { font-size: 20px; }
.pc-chart--d .pc-chart-val { font-size: 21px; } .pc-chart--d .pc-chart-val--accent { font-size: 23px; }
.pc-chart--d .pc-chart-etalon-label { font-size: 20px; } .pc-chart--d .pc-chart-line { stroke-width: 4; }
.pc-chart--m .pc-chart-axis { font-size: 15px; } .pc-chart--m .pc-chart-month { font-size: 15px; }
.pc-chart--m .pc-chart-val { font-size: 15.5px; } .pc-chart--m .pc-chart-val--accent { font-size: 16.5px; }
.pc-chart--m .pc-chart-etalon-label { font-size: 15px; }
.pc-chart-m { display: none; }
@media (max-width: 600px) { .pc-chart-d { display: none; } .pc-chart-m { display: block; } }

/* ── Цифры + картинка ── */
.pc-panel { background: var(--pc-soft); border-radius: 18px; padding: 28px 24px 24px; }
.pc-bg-teplyj .pc-panel { background: #fff; }
.pc-panel .pc-kpis { margin: 0 0 22px; gap: 14px; }
.pc-panel .pc-kpis--cards .pc-kpi { padding: 20px; box-shadow: none; }
.pc-panel .pc-kpis--cards .pc-kpi b { font-size: 25px; }
.pc-shot img, .pc-tabimgs--odna img, .pc-tabimgs--dve img { width: 100%; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; }

/* ── Вкладки ── */
.pc-tabs { border: 1px solid var(--pc-line); border-radius: 18px; background: #fff; overflow: hidden; }
/* Вкладки — явные кнопки: белые с рамкой на подложке, активная — оранжевая. */
.pc-tablist { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px; border-bottom: 1px solid var(--pc-line); background: var(--pc-soft); }
.pc-case .pc-tab { flex: 1 1 auto; min-width: 0; padding: 11px 16px; border: 1px solid var(--pc-line); background: #fff; font: 600 14.5px "Golos Text", sans-serif; color: var(--pc-ink); cursor: pointer; white-space: nowrap; border-radius: 999px; text-transform: none; letter-spacing: 0; line-height: 1.3; box-shadow: none; transition: border-color .15s, color .15s, background .15s; }
.pc-case .pc-tab:hover { border-color: var(--pc-orange); color: var(--pc-orange-dark); background: #fff; }
.pc-case .pc-tab.is-active { background: var(--pc-orange-btn); border-color: var(--pc-orange-btn); color: #fff; }
.pc-tab:focus-visible { outline: 2px solid var(--pc-orange-dark); outline-offset: 2px; }
.pc-tabpanel { padding: 32px; }
.pc-tabpanel[hidden] { display: none; }
.pc-tabpanel > .pc-rich { margin-top: 22px; max-width: 920px; font-size: 16.5px; }
.pc-tabpanel > .pc-rich:first-child { margin: 0 0 20px; }
.pc-tabimgs { display: grid; gap: 22px; }
.pc-tabimgs--dve { grid-template-columns: 1fr 1fr; gap: 18px; }
.pc-tabimgs--portrety { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.pc-tabimgs--portrety img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; border-radius: 12px; }
.pc-tabimgs figcaption { font-size: 14.5px; color: var(--pc-muted); margin-top: 12px; line-height: 1.55; }

/* ── Фото ── */
.pc-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pc-photos img, .pc-posts img { transition: transform .25s ease; }
@media (hover: hover) { .pc-photos figure:hover img, .pc-posts figure:hover img { transform: translateY(-2px); } }

/* ── ОКК ── */
.pc-okk-spec { border-radius: 18px; padding: 32px; }
.pc-okk-spec-row { display: flex; gap: 26px; align-items: flex-start; }
.pc-okk-photo img { width: 120px; height: 120px; object-fit: cover; border-radius: 50%; }
.pc-okk-spec h3 { font-size: 20px; margin-bottom: 3px; }
.pc-okk-name { font-size: 14px; color: var(--pc-faint); margin-bottom: 14px !important; }
.pc-okk-spec p:last-child { font-size: 16.5px; line-height: 1.6; color: var(--pc-text); }
/* Факты — перечень, а не кнопки: без заливки и «таблеток», с маркером-точкой. */
.pc-pills { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px 28px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--pc-line-2); } /* сетка — точки строго друг под другом */
.pc-pill { position: relative; padding-left: 14px; font-size: 15px; color: var(--pc-text); }
.pc-pill::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--pc-orange); }
.pc-pill b { color: var(--pc-ink); }
.pc-okk-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 32px; margin-top: 24px; align-items: start; }
.pc-okk-grid .pc-card, .pc-okk-lists .pc-card { border-radius: 18px; padding: 32px; }
.pc-okk-grid .pc-card h3 { margin-bottom: 8px; }
.pc-fg { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin-top: 24px; }
.pc-fg-box { background: var(--pc-soft); border-radius: 14px; padding: 20px; text-align: center; }
.pc-fg-box span { display: block; font-size: 12.5px; color: var(--pc-faint); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.pc-fg-box b { display: block; font-family: Manrope, sans-serif; font-size: 38px; font-weight: 800; letter-spacing: -.03em; }
.pc-fg-box.is-after { background: var(--pc-peach); border: 1px solid var(--pc-peach-line); }
.pc-fg-box.is-after span, .pc-fg-box.is-after b { color: var(--pc-orange-dark); }
.pc-fg-arrow { font-size: 24px; color: var(--pc-orange); }
.pc-bars { display: grid; gap: 14px; margin-top: 22px; }
.pc-bar-row { display: grid; grid-template-columns: 210px 1fr 92px; gap: 14px; align-items: center; }
.pc-bar-name { font-size: 15.5px; }
.pc-bar { background: #EDE9E1; border-radius: 999px; height: 22px; position: relative; overflow: hidden; }
.pc-bar i { position: absolute; left: 0; top: 0; bottom: 0; }
.pc-bar-now { background: var(--pc-orange); border-radius: 999px; opacity: .9; }
.pc-bar-was { background: #C9C2B4; z-index: 1; }
.pc-bar-now { z-index: 0; }
.pc-bar-val { font-size: 15px; font-weight: 700; color: var(--pc-orange-dark); text-align: right; font-variant-numeric: tabular-nums; }
.pc-okk-lists { margin-top: 24px; }
.pc-okk-lists ul { font-size: 16px; line-height: 1.6; color: var(--pc-text); }
.pc-okk-lists .pc-muted { margin-top: 16px !important; }
.pc-calls-head { margin-top: 52px; max-width: 700px; }
.pc-calls-head h3 { font-size: 23px; margin-bottom: 8px; }
.pc-calls { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.pc-call { background: #fff; border: 1px solid var(--pc-line); border-radius: 18px; padding: 28px; }
.pc-call.is-after { background: var(--pc-peach); border-color: var(--pc-peach-line); }
.pc-call-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.pc-call-label { font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pc-faint); }
.pc-call.is-after .pc-call-label { color: var(--pc-orange-dark); }
.pc-call-fg { font-size: 13.5px; font-weight: 700; color: var(--pc-ink); background: #fff; border: 1px solid var(--pc-line); border-radius: 6px; padding: 4px 10px; }
.pc-call.is-after .pc-call-fg { color: #fff; background: var(--pc-orange-btn); border-color: var(--pc-orange-btn); }
.pc-audio { width: 100%; }
.pc-audio-stub { background: var(--pc-soft); border: 1px solid var(--pc-line); border-radius: 12px; padding: 22px; display: flex; align-items: center; gap: 16px; font-size: 14.5px; color: #5C6068; line-height: 1.5; }
.pc-audio-stub > span { width: 42px; height: 42px; border-radius: 50%; background: var(--pc-line); display: flex; align-items: center; justify-content: center; flex: 0 0 42px; color: var(--pc-faint); }
.pc-audio-stub b { color: var(--pc-ink); }
.pc-call ul { margin-top: 18px; font-size: 16px; line-height: 1.6; color: var(--pc-text); }

/* ── Направления работы ── */
.pc-dirs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pc-dir { border-top: 3px solid var(--pc-orange); padding-top: 24px; }
.pc-dir h3 { display: flex; align-items: center; gap: 12px; font-size: 19px; margin-bottom: 14px; }
.pc-num { width: 34px; height: 34px; border-radius: 9px; background: var(--pc-orange-btn); color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 700 14px Manrope, sans-serif; flex: 0 0 34px; }
.pc-dir ul { font-size: 16px; line-height: 1.6; color: var(--pc-text); }

/* ── Карты ── */
.pc-maps { display: grid; grid-template-columns: 1fr 2fr; gap: 24px; align-items: start; }
.pc-maps.is-single { grid-template-columns: 1fr; max-width: 520px; }
.pc-maps-rest { display: grid; gap: 20px; }
.pc-map-card { background: #fff; border: 1px solid var(--pc-line); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.pc-map-card img { border-radius: 10px; width: 100%; }
.pc-s-karty .pc-text { margin-top: 30px; }
.pc-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
/* Кнопки-ссылки (карты, соцсети) — белые с оранжевой рамкой, при наведении — заливка. */
.pc-case .pc-link-pill { background: #fff; border: 1px solid var(--pc-orange); border-radius: 999px; padding: 11px 20px; font-size: 15px; font-weight: 600; color: var(--pc-orange-dark); transition: background .15s, color .15s; }
.pc-case .pc-link-pill:hover { background: var(--pc-orange-btn); border-color: var(--pc-orange-btn); color: #fff; }

/* ── Соцсети ── */
.pc-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pc-post img { width: 100%; height: 340px !important; object-fit: cover; object-position: top; border-radius: 14px; border: 1px solid var(--pc-line); }
.pc-post figcaption { font-size: 14.5px; color: var(--pc-muted); margin-top: 14px; line-height: 1.55; }
.pc-post figcaption b { color: var(--pc-ink); }
.pc-posts-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 26px; }
.pc-case .pc-footnote { font-size: 13.5px; color: var(--pc-faint); margin: 20px 0 0; }
.pc-case .pc-posts-foot .pc-footnote { margin: 0; }

/* ── Отзыв ── */
.pc-s-otzyv .pc-head { text-align: center; margin: 0 auto 20px; }
.pc-review { max-width: 1040px; margin: 0 auto; background: #fff; border: 1px solid var(--pc-line); border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: 340px minmax(0, 1fr); }
.pc-review-photo { position: relative; background: #8E8A84; }
.pc-review-photo img { width: 100%; height: 100% !important; min-height: 440px; object-fit: cover; object-position: center 12%; }
.pc-review-photo figcaption { position: absolute; left: 16px; bottom: 16px; background: #fff; border-radius: 6px; padding: 7px 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-orange-dark); box-shadow: 0 4px 14px rgba(20, 22, 26, .08); }
.pc-review-body { padding: 44px 48px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.pc-quote { font: 800 72px/0.8 Manrope, sans-serif; color: var(--pc-orange); margin-bottom: 8px; }
.pc-review-text { font-size: 22px; line-height: 1.55; color: var(--pc-ink); }
.pc-review-text.is-stub { color: var(--pc-faint); }
.pc-review-sign { padding-top: 24px; border-top: 1px solid var(--pc-line); }
.pc-review-sign b { display: block; font-size: 19px; letter-spacing: -.01em; }
.pc-review-sign span { display: block; color: var(--pc-muted); font-size: 15px; margin-top: 4px; }
.pc-video { max-width: 1040px; margin: 24px auto 0; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; }
.pc-video iframe { width: 100%; height: 100%; border: 0; }

/* ── Второй год ── */
.pc-goals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pc-goal { background: var(--pc-soft); border-radius: 18px; padding: 30px; }
.pc-bg-teplyj .pc-goal { background: #fff; }
.pc-goal-num { font: 800 15px Manrope, sans-serif; color: var(--pc-orange-dark); margin-bottom: 12px; }
.pc-goal h3 { font-size: 19px; margin-bottom: 10px; }
.pc-goal p { color: #5C6068; font-size: 16px; line-height: 1.6; }

/* ── Итоги (тёмная секция) ── */
.pc-kpis--final { grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--pc-line); border-radius: 16px; overflow: hidden; margin-top: 0; }
.pc-kpis--final .pc-kpi { background: #fff; padding: 28px 24px; }
.pc-kpis--final .pc-kpi b { font-size: 28px; }
.pc-kpis--final .pc-kpi span { font-size: 14.5px; margin-top: 8px; }
.pc-final-foot { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: start; margin-top: 44px; } /* start: вывод слева не сдвигается, когда раскрывается форма справа */
.pc-phone-title { font: 800 19px Manrope, sans-serif; margin-bottom: 10px; }
.pc-phone p { font-size: 15px; color: var(--pc-muted); margin-bottom: 16px !important; line-height: 1.6; }
.pc-phone-form summary { list-style: none; }
.pc-phone-form summary::-webkit-details-marker { display: none; }
.pc-phone-form[open] summary { margin-bottom: 18px; }
.pc-case .pc-btn { display: inline-block; background: var(--pc-orange-btn); color: #fff; padding: 16px 32px; border-radius: 10px; font-weight: 700; font-size: 16.5px; cursor: pointer; box-shadow: 0 10px 24px rgba(242, 101, 34, .24); transition: transform .15s, background .15s; }
.pc-case .pc-btn:hover { background: var(--pc-orange-dark); color: #fff; }
@media (hover: hover) { .pc-case .pc-btn:hover { transform: translateY(-1px); } }

.pc-bg-temnyj .pc-kicker { color: var(--pc-dark-accent); }
.pc-bg-temnyj .pc-h2, .pc-bg-temnyj h3, .pc-bg-temnyj .pc-phone-title { color: #fff; }
.pc-bg-temnyj .pc-sub, .pc-bg-temnyj .pc-text, .pc-bg-temnyj .pc-phone p { color: var(--pc-dark-text); }
.pc-bg-temnyj .pc-kpis--final { background: var(--pc-dark-line); box-shadow: 0 22px 56px rgba(0, 0, 0, .18); }
.pc-bg-temnyj .pc-kpis--final .pc-kpi { background: var(--pc-dark-card); }
.pc-bg-temnyj .pc-kpi b { color: #fff; }
.pc-bg-temnyj .pc-kpi.is-accent b { color: var(--pc-dark-accent); }
.pc-bg-temnyj .pc-kpi span { color: #AAAEB5; }

/* ── Продукт и форма КП ── */
.pc-cta { background: #FFF9F3; border-top: 4px solid var(--pc-orange); }
.pc-lead-sm { font-size: 18.5px; line-height: 1.6; }
.pc-cta-nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pc-cta-num { background: #fff; border: 1px solid var(--pc-line); border-radius: 16px; padding: 28px; text-align: center; }
.pc-cta-num b { display: block; font: 800 30px Manrope, sans-serif; color: var(--pc-orange-dark); letter-spacing: -.03em; }
.pc-cta-num span { display: block; font-size: 14.5px; color: var(--pc-muted); margin-top: 9px; }
.pc-formula { background: var(--pc-peach); border: 1px solid var(--pc-peach-line); border-radius: 16px; padding: 24px 28px; text-align: center; margin-top: 20px; font-size: 18px; }
.pc-formula b { color: var(--pc-orange-dark); }
.pc-norma { border: 1px solid var(--pc-line); background: #fff; border-radius: 16px; padding: 34px; margin-top: 20px; display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: center; }
.pc-norma-num { text-align: center; }
.pc-norma-num b { display: block; font: 800 44px/1 Manrope, sans-serif; letter-spacing: -.03em; color: var(--pc-orange-dark); }
.pc-norma-num span { display: block; font-size: 14px; color: var(--pc-muted); margin-top: 8px; }
.pc-perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.pc-perk { border-top: 3px solid var(--pc-orange); padding-top: 18px; }
.pc-perk h4 { font-size: 18px; margin-bottom: 8px; }
.pc-perk p { color: #5C6068; font-size: 16px; line-height: 1.6; }
.pc-cta-card { background: #fff; border: 1px solid #E8DED3; border-radius: 20px; padding: 42px; margin-top: 52px; box-shadow: 0 20px 60px rgba(77, 48, 25, .08); }
.pc-cta-card h3 { font-size: 26px; letter-spacing: -.02em; margin-bottom: 10px; }
.pc-cta-card > p { color: #5C6068; font-size: 16.5px; line-height: 1.6; max-width: 760px; margin-bottom: 26px !important; }

/* Формы CF7: версия для компьютера и для телефона.
   Разметка форм общая с другими страницами (колонки Shortcodes Ultimate) — здесь
   только раскладка и цвет кнопки в пределах страницы кейса, сами формы не меняются. */
.pc-only-mobile { display: none; }
.pc-form .wpcf7 { max-width: 100%; }
.pc-case .pc-form .su-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 18px; margin: 0; height: auto !important; min-height: 0 !important; }
.pc-case .pc-form .su-row::before, .pc-case .pc-form .su-row::after { display: none; }
.pc-case .pc-form .su-column { width: auto !important; margin: 0 !important; float: none !important; }
.pc-case .pc-form .su-row + .su-row { margin-top: 14px; }
.pc-case .pc-form input[type="text"], .pc-case .pc-form input[type="email"], .pc-case .pc-form input[type="tel"] { width: 100% !important; max-width: none !important; }
.pc-case .pc-form .wpcf7-submit { width: 100% !important; margin-left: 0 !important; background: var(--pc-orange-btn) !important; border-color: var(--pc-orange-btn) !important; color: #fff !important; }
.pc-case .pc-form .wpcf7-submit:hover { background: var(--pc-orange-dark) !important; border-color: var(--pc-orange-dark) !important; }
.pc-case .pc-phone .pc-form .su-row { grid-template-columns: 1fr; }

/* Поля форм. Общие стили сайта ставят значок в процентах от ширины (а значку почты ещё
   добавляют margin-left: 10%) — на разной ширине он наезжает на текст. Здесь значок стоит
   на фиксированном месте по центру поля, текст начинается на 18 px правее значка.
   Подсказка «Важно заполнить это поле» — под полем (на сайте она с нулевой высотой строки
   и наезжает на соседние поля), общее сообщение об ошибке — под формой, а не поверх полей. */
.pc-case .pc-form form { display: flex; flex-direction: column; }
.pc-case .pc-form .privacy-checkbox-wrapper { order: 1; margin-top: 16px !important; }
/* Подпись согласия: на сайте полупрозрачный серый (контраст 3,4 на белом, на тёмном фоне не видна). */
.pc-case .pc-form .privacy-checkbox-wrapper .checkbox-text, .pc-case .pc-form .privacy-checkbox-wrapper .checkbox-text a { color: var(--pc-muted) !important; }
.pc-bg-temnyj .pc-form .privacy-checkbox-wrapper .checkbox-text { color: var(--pc-dark-text) !important; }
.pc-bg-temnyj .pc-form .privacy-checkbox-wrapper .checkbox-text a { color: #fff !important; }
.pc-case .pc-form .wpcf7-submit { margin: 0 !important; }
.pc-case .pc-form p:has(> .wpcf7-submit) { margin: 0 !important; padding: 0 !important; }
.pc-case .pc-form .wpcf7-response-output { order: 2; }
.pc-case .pc-form p { position: relative; }
.pc-case .pc-form p.form_style, .pc-case .pc-form p.form_style1 { margin: 0 0 12px !important; padding: 0 !important; }
.pc-case .pc-form .su-row p.form_style { margin: 0 !important; }
.pc-case .pc-form p.form_style input:not([type="submit"]), .pc-case .pc-form p.form_style1 input:not([type="submit"]) { height: 75px !important; box-sizing: border-box !important; margin: 0 !important; padding-left: 64px !important; padding-right: 20px !important; }
.pc-case .pc-form p.form_style .wpcf7-form-control-wrap, .pc-case .pc-form p.form_style1 .wpcf7-form-control-wrap { display: block; line-height: normal; }
.pc-case .pc-form p .fa { position: absolute !important; left: 24px !important; top: 37.5px !important; transform: translateY(-50%); margin: 0 !important; width: 22px; font-size: 20px !important; line-height: 1 !important; text-align: center; color: #2B2B2B !important; z-index: 2; pointer-events: none; }
.pc-case .pc-form .fa-magnifying-glass::before { content: "\f002"; } /* в подключённом наборе значков нет magnifying-glass — поле города было без значка */
.pc-case .pc-form .wpcf7-submit + .wpcf7-spinner { position: absolute; right: 18px; top: 50%; margin: -12px 0 0; }
.pc-case .pc-form .wpcf7-not-valid-tip { display: block; position: static; margin: 0; padding: 6px 0 0 24px !important; font-size: 14px !important; line-height: 1.4 !important; color: #C62828; }
.pc-bg-temnyj .pc-form .wpcf7-not-valid-tip { color: #FF9C8F; }
/* CF7 перед отправкой убирает только одну старую подсказку у поля — если их накопилось две, лишняя не видна. */
.pc-case .pc-form .wpcf7-not-valid-tip ~ .wpcf7-not-valid-tip { display: none; }
.pc-case .pc-form form[data-status="submitting"] .wpcf7-submit { opacity: .7 !important; cursor: wait; }
.pc-case .pc-form .wpcf7-response-output { position: static !important; width: auto !important; top: auto !important; left: auto !important; margin: 14px 0 0 !important; padding: 10px 16px !important; border-radius: 12px; background: #fff; color: #2B2B2B; font-size: 15px !important; line-height: 1.45; }

/* ── Адаптив ── */
@media (max-width: 900px) {
	.pc-case { --pc-section-y: 52px; --pc-hero-gap: 24px; }
	.pc-wrap { padding: 0 16px; }
	.pc-hero-grid, .pc-story, .pc-ba, .pc-charts, .pc-okk-grid, .pc-calls, .pc-dirs, .pc-maps, .pc-posts, .pc-goals,
	.pc-photos, .pc-final-foot, .pc-cta-nums, .pc-perks, .pc-norma, .pc-cards--2, .pc-tabimgs--dve { grid-template-columns: 1fr; }
	.pc-hero-grid { gap: 28px; }
	.pc-h1 { font-size: 32px !important; }
	.pc-h2 { font-size: 28px; }
	.pc-hero-img img { height: 280px !important; }
	.pc-kpis--hero, .pc-kpis--4, .pc-kpis--final { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pc-kpis--hero > :last-child:nth-child(odd), .pc-kpis--final > :last-child:nth-child(odd) { grid-column: 1 / -1; }
	.pc-story-side { position: static; }
	.pc-tabimgs--portrety { grid-template-columns: repeat(2, 1fr); }
	.pc-tablist { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.pc-tablist::-webkit-scrollbar { display: none; }
	.pc-case .pc-tab { flex: 0 0 auto; }
	.pc-tabpanel, .pc-card, .pc-ba-card, .pc-okk-spec, .pc-okk-grid .pc-card, .pc-okk-lists .pc-card { padding: 22px; }
	.pc-review { grid-template-columns: 1fr; }
	.pc-review-photo img { min-height: 320px; }
	.pc-review-body { padding: 28px 22px; }
	.pc-bar-row { grid-template-columns: 1fr 80px; }
	.pc-bar-row .pc-bar { grid-column: 1 / -1; grid-row: 2; }
	.pc-case ul, .pc-okk-lists ul, .pc-dir ul, .pc-ba ul, .pc-call ul { font-size: 16px; }
	.pc-fig figcaption, .pc-tabimgs figcaption, .pc-post figcaption { font-size: 15px; }
	.pc-case .pc-note, .pc-case .pc-muted, .pc-case .pc-phone p { font-size: 16px; }
	.pc-case .pc-faint { font-size: 15px; }
	.pc-case .pc-perk p, .pc-case .pc-goal p { font-size: 16px; }
	.pc-case .pc-footnote { font-size: 14px; }
	.pc-cta-card { padding: 28px 22px; }
	.pc-only-desktop { display: none; }
	.pc-only-mobile { display: block; }
}
@media (max-width: 520px) {
	.pc-kpis--hero .pc-kpi, .pc-kpis--4 .pc-kpi { padding: 19px 16px; }
	.pc-kpis--hero .pc-kpi b { font-size: 20px; }
	.pc-accent { white-space: normal; }

}
