/*
Theme Name: Parasep Child
Theme URI: https://parasep.com.ua/
Description: Дочірня тема GeneratePress для parasep.com.ua — хедер, футер і оформлення контентних сторінок у дизайн-мові лендингу.
Author: Diameb Trade
Template: generatepress
Version: 1.0.0
Text Domain: parasep-child
*/

/* Токени — ті самі, що в parasep.css лендингу. Нової палітри тема не вводить. */
:root {
	--psc-teal: #1F8378;
	--psc-teal-dark: #176359;
	--psc-teal-soft: #E6F1EF;
	--psc-teal-tint: #F4F9F8;
	--psc-apacor: #0E8A3E;
	--psc-ink-900: #0F1A18;
	--psc-ink-700: #2C3A37;
	--psc-ink-500: #5C6A66;
	--psc-ink-300: #9AA6A2;
	--psc-ink-100: #DDE3E1;
	--psc-ink-50: #F2F5F4;
	--psc-white: #FFFFFF;
	--psc-sans: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--psc-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
	--psc-header-h: 68px;
}

body {
	font-family: var(--psc-sans);
	color: var(--psc-ink-900);
}

/* ============ ХЕДЕР ============ */
/* Не липкий: прокручується разом зі сторінкою. Це заодно знімає потребу
   в офсеті для якорів — тому --ps-header-offset на лендингу зведено до нуля. */
.psc-header {
	background: var(--psc-white);
	border-bottom: 1px solid var(--psc-ink-100);
	position: relative;
	z-index: 500;
}
.psc-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	height: var(--psc-header-h);
	display: flex;
	align-items: center;
	gap: 24px;
}
.psc-mark {
	font-weight: 800;
	font-size: 20px;
	letter-spacing: 0.01em;
	color: var(--psc-ink-900);
	text-decoration: none;
	line-height: 1;
	flex-shrink: 0;
}
.psc-mark:hover { color: var(--psc-teal-dark); }
.psc-mark sup {
	font-size: 0.48em;
	color: var(--psc-teal);
	top: -0.5em;
	position: relative;
}
.psc-mark-img { display: block; max-height: 34px; width: auto; }

.psc-nav { margin-left: auto; }
.psc-menu {
	display: flex;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.psc-menu a {
	color: var(--psc-ink-700);
	text-decoration: none;
	font-size: 14.5px;
	font-weight: 500;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
	display: block;
	transition: color .15s, border-color .15s;
}
.psc-menu a:hover,
.psc-menu a:focus-visible,
.psc-menu .current-menu-item > a {
	color: var(--psc-teal-dark);
	border-bottom-color: var(--psc-teal);
	outline: none;
}

.psc-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--psc-teal);
	color: #fff !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	padding: 11px 20px;
	border-radius: 999px;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background .15s, transform .15s, box-shadow .15s;
	box-shadow: 0 8px 20px rgba(31,131,120,0.16);
}
.psc-cta:hover {
	background: var(--psc-teal-dark);
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(31,131,120,0.22);
}
.psc-cta-ico { width: 17px; height: 17px; flex-shrink: 0; }

/* бургер — тільки на вузьких екранах */
.psc-burger {
	display: none;
	margin-left: auto;
	width: 42px;
	height: 42px;
	border: 1px solid var(--psc-ink-100);
	border-radius: 10px;
	background: var(--psc-white);
	cursor: pointer;
	padding: 0;
	position: relative;
}
.psc-burger span {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--psc-ink-900);
	border-radius: 2px;
	margin: 3.5px auto;
	transition: transform .2s, opacity .2s;
}
.psc-burger.is-open span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.psc-burger.is-open span:nth-child(2) { opacity: 0; }
.psc-burger.is-open span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* ============ ХЛІБНІ КРИХТИ ============ */
/* Крихти й заголовок сторінки — один блок на спільній підкладці.
   Окремо вони давали білу смугу над teal-фоном заголовка. */
.psc-crumbs {
	background: var(--psc-teal-tint);
	padding: 16px 0 0;
}
.psc-crumbs-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	font-size: 12.5px;
	color: var(--psc-ink-500);
}
.psc-crumbs a { color: var(--psc-teal-dark); text-decoration: none; }
.psc-crumbs a:hover { text-decoration: underline; text-underline-offset: 2px; }
.psc-crumbs-arrow { margin: 0 6px; color: var(--psc-ink-300); }

/* Заголовок іде одразу за крихтами — верхній відступ у нього менший */
.psc-crumbs + * .entry-header,
body:not(.parasep-landing) .psc-crumbs ~ * .entry-header { padding-top: 18px; }

/* ============ КОНТЕНТНІ СТОРІНКИ ============ */
/* Заголовок сторінки як hero на teal-підкладці */
body:not(.parasep-landing) .entry-header {
	background: var(--psc-teal-tint);
	border-bottom: 1px solid var(--psc-ink-100);
	padding: 34px 0 28px;
	margin: 0 0 0;
}
body:not(.parasep-landing) .entry-header .entry-title {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	font-size: clamp(24px, 3.4vw, 33px);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.18;
	text-wrap: balance;
	color: var(--psc-ink-900);
}
body:not(.parasep-landing) .inside-article { padding: 0; }
body:not(.parasep-landing) .entry-content {
	max-width: 72ch;
	margin: 0 auto;
	padding: 34px 24px 48px;
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--psc-ink-700);
}
body:not(.parasep-landing) .entry-content > *:first-child { margin-top: 0; }

body:not(.parasep-landing) .entry-content h2 {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: 34px 0 12px;
	color: var(--psc-ink-900);
	text-wrap: balance;
}
body:not(.parasep-landing) .entry-content h3 {
	font-size: 16.5px;
	font-weight: 700;
	margin: 24px 0 8px;
	color: var(--psc-ink-900);
}
body:not(.parasep-landing) .entry-content p { margin: 0 0 14px; }

/* Списки — маркер точкою в акценті, як на лендингу */
body:not(.parasep-landing) .entry-content ul {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: grid;
	gap: 9px;
}
body:not(.parasep-landing) .entry-content ul li {
	position: relative;
	padding-left: 26px;
}
body:not(.parasep-landing) .entry-content ul li::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 0.62em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--psc-teal);
}
body:not(.parasep-landing) .entry-content ol { padding-left: 22px; margin: 0 0 16px; }
body:not(.parasep-landing) .entry-content ol li { margin-bottom: 8px; }

body:not(.parasep-landing) .entry-content a {
	color: var(--psc-teal-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}
body:not(.parasep-landing) .entry-content a:hover { color: var(--psc-teal); }

/* Цитата — та сама рамка, що в дисклеймері лендингу */
body:not(.parasep-landing) .entry-content blockquote {
	margin: 20px 0;
	padding: 15px 18px;
	background: var(--psc-ink-50);
	border-left: 3px solid var(--psc-teal);
	border-radius: 8px;
	font-size: 14px;
	color: var(--psc-ink-700);
	font-style: normal;
}
body:not(.parasep-landing) .entry-content blockquote p:last-child { margin-bottom: 0; }

body:not(.parasep-landing) .entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 18px;
	font-size: 14.5px;
	display: block;
	overflow-x: auto;
}
body:not(.parasep-landing) .entry-content th {
	text-align: left;
	font-weight: 600;
	color: var(--psc-ink-900);
	border-bottom: 2px solid var(--psc-ink-900);
	padding: 10px 12px;
}
body:not(.parasep-landing) .entry-content td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--psc-ink-100);
}

/* ============ ФУТЕР ============ */
.psc-footer {
	background: var(--psc-teal-tint);
	border-top: 1px solid var(--psc-ink-100);
	padding: 44px 0 24px;
}
.psc-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}
.psc-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: 36px;
	align-items: start;
}
.psc-footer-mark {
	font-weight: 800;
	font-size: 19px;
	color: var(--psc-ink-900);
	margin-bottom: 10px;
	line-height: 1;
}
.psc-footer-mark sup { font-size: 0.48em; color: var(--psc-teal); }
.psc-footer-about {
	color: var(--psc-ink-500);
	font-size: 13.5px;
	line-height: 1.6;
	margin: 0 0 14px;
	max-width: 42ch;
}
.psc-footer-about sup { font-size: 0.7em; }
.psc-footer-maker { font-size: 12.5px; color: var(--psc-ink-500); }
.psc-footer-maker b { color: var(--psc-apacor); font-weight: 700; }

.psc-footer-col-title {
	font-family: var(--psc-mono);
	font-size: 10.5px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--psc-teal);
	margin-bottom: 12px;
}
.psc-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.psc-footer-list a {
	color: var(--psc-ink-700);
	text-decoration: none;
	font-size: 13.5px;
}
.psc-footer-list a:hover {
	color: var(--psc-teal-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.psc-footer-contact { display: grid; gap: 6px; font-size: 13.5px; }
.psc-footer-contact a {
	color: var(--psc-ink-900);
	text-decoration: none;
	font-weight: 600;
}
.psc-footer-contact a:hover { color: var(--psc-teal-dark); }
.psc-footer-contact span { color: var(--psc-ink-500); }

/* Контакти розділені за адресатом: пацієнтам — пошта і список лабораторій,
   лабораторіям — телефон із графіком. Підпис групи має читатись як мітка,
   а не як ще один рядок контакту. */
.psc-footer-contact-grp { display: grid; gap: 2px; margin-bottom: 10px; }
.psc-footer-contact-lbl {
	font-family: var(--psc-mono);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--psc-ink-500);
}
.psc-footer-contact-alt {
	font-size: 12.5px;
	font-weight: 500 !important;
	color: var(--psc-teal-dark) !important;
}
.psc-footer-contact-alt:hover { text-decoration: underline; text-underline-offset: 2px; }
.psc-footer-hours { font-size: 12.5px; }

/* Кнопка заявки в підвалі: у колонці контактів вона трохи компактніша
   за ту, що в тексті сторінки, інакше розпирає вузьку колонку. */
.psc-footer-cta { margin-top: 10px; }
.psc-footer-cta .ps-labform-open {
	font-size: 13px;
	padding: 10px 18px;
}

.psc-footer-bottom {
	margin-top: 30px;
	padding-top: 16px;
	border-top: 1px solid var(--psc-ink-100);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: var(--psc-ink-500);
}
.psc-footer-bottom sup { font-size: 0.75em; }
.psc-footer-legal a { color: var(--psc-ink-500); text-decoration: underline; text-underline-offset: 2px; }
.psc-footer-legal a:hover { color: var(--psc-teal-dark); }
.psc-sep { color: var(--psc-ink-300); }

/* ============ АДАПТИВ ============ */
@media (max-width: 900px) {
	.psc-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
	.psc-footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
	:root { --psc-header-h: 60px; }

	.psc-burger { display: block; }
	.psc-cta { display: none; }

	.psc-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--psc-white);
		border-bottom: 1px solid var(--psc-ink-100);
		box-shadow: 0 14px 30px rgba(15,26,24,0.10);
		display: none;
		margin: 0;
	}
	.psc-nav.is-open { display: block; }
	.psc-menu {
		flex-direction: column;
		gap: 0;
		padding: 8px 24px 16px;
	}
	.psc-menu a {
		padding: 13px 0;
		border-bottom: 1px solid var(--psc-ink-100);
		font-size: 15px;
	}
	.psc-menu li:last-child a { border-bottom: none; }
	.psc-menu a:hover,
	.psc-menu .current-menu-item > a { border-bottom-color: var(--psc-ink-100); }

	body:not(.parasep-landing) .entry-header { padding: 24px 0 20px; }
	body:not(.parasep-landing) .entry-content { padding: 26px 20px 40px; }
	.psc-footer { padding: 34px 0 20px; }
	.psc-footer-grid { grid-template-columns: 1fr; gap: 24px; }
	.psc-footer-grid > div:first-child { grid-column: auto; }
}

/* Лендинг — від краю до краю. GeneratePress обгортає контент у
   .site.grid-container із фіксованою шириною, тому знімаємо обмеження
   з усього ланцюжка обгорток, а не лише з внутрішніх. */
body.parasep-landing .site.grid-container,
body.parasep-landing .site-content,
body.parasep-landing .content-area,
body.parasep-landing .entry-content,
body.parasep-landing .site-main,
body.parasep-landing .inside-article {
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
}
body.parasep-landing .site-main > * { margin-bottom: 0; }

/* Хедер не липкий, тож зсув для якорів не потрібен */
body.parasep-landing .ps-root { --ps-header-offset: 0px; }

/* Секції лендингу самі задають внутрішні відступи через .v1-container */
body.parasep-landing .separate-containers .inside-article,
body.parasep-landing .separate-containers .site-main {
	padding: 0;
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	.psc-cta, .psc-menu a, .psc-burger span { transition: none !important; }
	.psc-cta:hover { transform: none; }
}

/* Обов'язкове застереження за ліцензійною угодою з Apacor (п. 3.1 c, d) */
.psc-footer-legal-note {
	margin: 12px 0 0;
	font-size: 12px;
	line-height: 1.55;
	color: var(--psc-ink-500);
	max-width: 46ch;
}
.psc-footer-legal-note a {
	color: var(--psc-teal-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ============ РОЗГОРТУВАНІ РОЗДІЛИ (контакти) ============ */
/* Нативний <details>: працює без JS, зі скрінрідерами й пошуком по сторінці.
   Заголовок усередині <summary> лишається справжнім H2 — так структура
   сторінки не ламається, коли розділ згорнутий. */
body:not(.parasep-landing) .entry-content .psc-acc {
	border: 1px solid var(--psc-ink-100);
	border-radius: 12px;
	background: var(--psc-white);
	margin: 0 0 10px;
	overflow: hidden;
}
body:not(.parasep-landing) .entry-content .psc-acc[open] {
	border-color: var(--psc-teal);
	box-shadow: 0 8px 22px rgba(31,131,120,0.08);
}
body:not(.parasep-landing) .entry-content .psc-acc-btn {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px 18px;
	cursor: pointer;
	list-style: none;
	background: var(--psc-ink-50);
	transition: background .15s, color .15s;
}
body:not(.parasep-landing) .entry-content .psc-acc[open] .psc-acc-btn {
	background: var(--psc-teal-soft);
}
body:not(.parasep-landing) .entry-content .psc-acc-btn:hover { background: var(--psc-teal-soft); }
body:not(.parasep-landing) .entry-content .psc-acc-btn:focus-visible {
	outline: 2px solid var(--psc-teal);
	outline-offset: -2px;
}
.psc-acc-btn::-webkit-details-marker { display: none; }

/* Заголовок розділу — той самий H2, але без відступів списку сторінки */
body:not(.parasep-landing) .entry-content .psc-acc-ttl {
	margin: 0;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--psc-ink-900);
	flex: 1 1 auto;
}

/* Плюс, що перетворюється на мінус — той самий знак, що у FAQ лендингу */
body:not(.parasep-landing) .entry-content .psc-acc-btn::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 21px;
	line-height: 1;
	font-weight: 400;
	color: var(--psc-teal);
	transition: transform .2s;
}
body:not(.parasep-landing) .entry-content .psc-acc[open] .psc-acc-btn::after {
	transform: rotate(45deg);
}

body:not(.parasep-landing) .entry-content .psc-acc-body {
	padding: 16px 18px 4px;
	border-top: 1px solid var(--psc-ink-100);
}
body:not(.parasep-landing) .entry-content .psc-acc-body > *:last-child { margin-bottom: 14px; }

@media (prefers-reduced-motion: reduce) {
	.psc-acc-btn, .psc-acc-btn::after { transition: none !important; }
}

/* Медичний дисклеймер у підвалі — перенесений з блоку на лендингу */
.psc-footer-disclaimer {
	margin: 8px 0 0;
	padding: 9px 12px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--psc-ink-700);
	background: var(--psc-white);
	border-left: 3px solid var(--psc-teal);
	border-radius: 6px;
	max-width: 46ch;
}

/* П'ять пунктів меню плюс кнопка тісняться на середніх екранах —
   на цьому діапазоні стискаємо проміжки, а не ховаємо пункти. */
@media (min-width: 769px) and (max-width: 1080px) {
	.psc-header-inner { gap: 16px; padding: 0 18px; }
	.psc-menu { gap: 18px; }
	.psc-menu a { font-size: 13.5px; }
	.psc-cta { padding: 10px 16px; font-size: 13.5px; }
	.psc-cta-ico { display: none; }
}

/* ============ МАРКА ПРОДУКТУ В ЗЕЛЕНОМУ APACOR ============ */
/* Parasep — продукт Apacor, сайт веде Diameb. Зелений виробника на
   марці й teal дистриб'ютора на решті інтерфейсу розводять ці дві
   ролі візуально: той самий колір, що вже стоїть на назві Apacor
   у підвалі. */
.psc-mark { color: var(--psc-ink-900); }
.psc-mark:hover { color: var(--psc-teal-dark); }
.psc-mark sup { color: var(--psc-teal); opacity: 1; }

/* ============ ПІДВАЛ: клікабельні контакти ============ */
.psc-footer-maker a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(14,138,62,0.35);
}
.psc-footer-maker a:hover { border-bottom-color: var(--psc-apacor); }
.psc-footer-maker a b { color: var(--psc-apacor); }

.psc-footer-addr {
	color: var(--psc-ink-700) !important;
	font-weight: 500 !important;
	line-height: 1.45;
	display: block;
}
.psc-footer-addr:hover { color: var(--psc-teal-dark) !important; }

.psc-footer-more {
	margin-top: 2px;
	font-size: 13px;
	font-weight: 600 !important;
	color: var(--psc-teal-dark) !important;
}
.psc-footer-more:hover { text-decoration: underline; text-underline-offset: 2px; }

/* Довші назви розділів — колонці потрібно більше місця, ніж рівна третина */
@media (min-width: 901px) {
	.psc-footer-grid { grid-template-columns: 1.25fr 1fr 1.05fr; }
}

/* Марка в підвалі — тим самим зеленим, що й у хедері */
.psc-footer-mark { color: var(--psc-apacor); }
.psc-footer-mark sup { color: var(--psc-apacor); opacity: 0.75; }

/* Логотип виробника в підвалі — переїхав із банера */
.psc-footer-maker {
	display: flex;
	align-items: center;
	gap: 12px;
}
.psc-footer-maker-logo {
	flex-shrink: 0;
	line-height: 0;
	border-bottom: 0 !important;
}
.psc-footer-maker-logo img {
	display: block;
	width: 52px;
	height: auto;
	opacity: 0.9;
	transition: opacity .15s;
}
.psc-footer-maker-logo:hover img { opacity: 1; }
