/* =========================================================================
   CRMed 2025 — Design System (SHELL + HOMEPAGE V1)
   Modern Human Healthcare · Palette D — Brand Truth / Premium CRMed
   Struktura uzupełniająca theme.json. Szkielet do dalszego dopracowania
   wizualnego (Etap Design) — priorytet tej wersji: poprawność funkcjonalna,
   dostępność, brak przeładowania.
   ========================================================================= */

:root {
	--crmed-grafit: #171E26;
	--crmed-grafit-hover: #0E1319;
	--crmed-grafit-2: #5B6570;
	--crmed-zolty: #F6C500;
	--crmed-rozowy: #C2247A;
	--crmed-biel: #FFFFFF;
	--crmed-off-white: #FAFAF9;
	--crmed-linia: #E4E1DB;
	--crmed-focus: #1B6EC2; /* niebieski focus ring — celowo inny niż paleta marki, żeby zawsze był widoczny niezależnie od tła */

	/* Spacing scale (8px base) */
	--space-1: 8px;
	--space-2: 12px;
	--space-3: 16px;
	--space-4: 24px;
	--space-5: 32px;
	--space-6: 48px;
	--space-7: 64px;
	--space-8: 96px;

	/* Type scale */
	--fs-xs: 0.8rem;
	--fs-sm: 0.9rem;
	--fs-base: 1.0625rem;
	--fs-md: 1.25rem;
	--fs-lg: 1.5rem;
	--fs-xl: 2rem;
	--fs-2xl: 2.75rem;
	--fs-3xl: 3.5rem;

	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 20px;
	--radius-pill: 999px;

	/* Breakpoint menu header — dobrany empirycznie (patrz raport Design
	   Review), nie sztywno 1024px. Poniżej tej szerokości 7 pozycji +
	   dropdown + telefon + CTA przestają się mieścić elegancko w jednej
	   linii, więc przełączamy na hamburger. Podniesione 1080 → 1240
	   (HEADER FIT 2026-09-23): przy 1081–1240 px lista menu była szersza niż
	   dostępne miejsce i nachodziła na logo oraz przyciski. */
	--crmed-nav-bp: 1240px;
}

/* ---------- Accessibility: visible focus everywhere, always ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.wp-block-navigation-item > a:focus-visible,
.crmed-card:focus-visible {
	outline: 3px solid var(--crmed-focus);
	outline-offset: 2px;
	border-radius: 4px;
}
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--crmed-grafit);
	color: var(--crmed-biel);
	padding: 12px 20px;
	z-index: 2000;
	border-radius: 0 0 8px 0;
}
.skip-link:focus {
	left: 0;
}

/* ---------- Typografia — premium medical, nie editorial/blog ----------
   Fraunces bez korekty bywa zbyt "ciepły/redakcyjny" przy dużych rozmiarach.
   Lekko ściągnięty letter-spacing + waga 600 (nie 700, zbyt ciężka;
   nie 500, zbyt lekka na H1) przesuwa odbiór w stronę precyzji/pewności,
   zachowując ciepło szeryfu (spójne z Modern Human Healthcare). */
h1, h2, h3 {
	letter-spacing: -0.01em;
	text-wrap: balance;
}
.crmed-hero h1 {
	letter-spacing: -0.02em;
	font-weight: 600;
}
.crmed-section__head h2 {
	font-size: var(--fs-xl);
	font-weight: 600;
	margin: 0 0 var(--space-2);
}
.crmed-section__head p {
	font-size: var(--fs-base);
	max-width: 60ch;
}
@media (max-width: 600px) {
	.crmed-section__head h2 { font-size: var(--fs-lg); }
}

/* ---------- Layout guard: absolutely no horizontal overflow ---------- */
html, body {
	max-width: 100%;
	overflow-x: hidden;
	/* `clip` zamiast `hidden` (HEADER FIT 2026-09-23): `hidden` na html/body
	   tworzy kontener przewijania i ZABIJA position:sticky nagłówka. `clip`
	   tak samo blokuje przewijanie w poziomie, ale nie tworzy scrollportu.
	   Deklaracja po `hidden` = starsze silniki bez `clip` zachowują się jak dotąd. */
	overflow-x: clip;
}
img, iframe, video {
	max-width: 100%;
	height: auto;
}

/* =========================================================================
   HEADER
   ========================================================================= */
.crmed-header {
	background: var(--crmed-biel);
	border-bottom: 1px solid var(--crmed-linia);
	position: sticky;
	top: 0;
	z-index: 40;
}
.crmed-header__row {
	padding: var(--space-3) var(--space-4);
	gap: var(--space-4);
	position: relative;
}
.crmed-header__logo {
	min-width: 0; /* pozwala flex-childowi kurczyć się poniżej treści */
	flex: 1 1 auto;
	overflow: hidden;
}
.crmed-header__logo a {
	font-weight: 600;
	font-size: var(--fs-md);
	color: var(--crmed-grafit);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
}
@media (max-width: 480px) {
	.crmed-header__logo a {
		font-size: var(--fs-sm);
	}
}

/* Nav — desktop/laptop inline (WP core/navigation handles the mobile
   overlay natively via overlayMenu:"mobile"; we only style the states). */
.crmed-header__nav .wp-block-navigation-item > a,
.crmed-header__nav .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	font-weight: 600;
	font-size: var(--fs-sm);
	color: var(--crmed-grafit);
	text-decoration: none;
	padding: var(--space-1) 2px;
}
.crmed-header__nav .wp-block-navigation-item > a:hover,
.crmed-header__nav .wp-block-navigation-submenu > .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-color: var(--crmed-zolty);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}
/* Submenu panel (Psychologia dropdown) */
.crmed-header__nav .wp-block-navigation__submenu-container {
	background: var(--crmed-biel);
	border: 1px solid var(--crmed-linia);
	border-radius: var(--radius-sm);
	box-shadow: 0 8px 24px rgba(23, 30, 38, 0.12);
	padding: var(--space-1);
	min-width: 260px;
}
.crmed-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
	font-weight: 500;
	padding: var(--space-1) var(--space-2);
	display: block;
	border-radius: 6px;
}
.crmed-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover {
	background: var(--crmed-off-white);
	text-decoration: none;
}

.crmed-header__actions {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	flex: 0 0 auto;
}
.crmed-phone {
	color: var(--crmed-grafit);
	font-weight: 600;
	font-size: var(--fs-sm);
	text-decoration: none;
	white-space: nowrap;
}
.crmed-phone:hover {
	text-decoration: underline;
}
.crmed-mydr-btn {
	background: var(--crmed-grafit);
	color: var(--crmed-biel);
	border: none;
	border-radius: var(--radius-sm);
	padding: 0.7rem 1.2rem;
	font-weight: 700;
	font-size: var(--fs-sm);
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .15s ease;
}
.crmed-mydr-btn:hover {
	background: var(--crmed-grafit-hover);
}

/* ---- Menu: własny, w pełni kontrolowany przełącznik (patrz nav-toggle.js) ----
   Powyżej --crmed-nav-bp: menu inline, hamburger ukryty.
   Poniżej: menu chowa się jako panel, hamburger widoczny. */
.crmed-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--crmed-linia);
	border-radius: var(--radius-sm);
	background: var(--crmed-biel);
	cursor: pointer;
	flex: 0 0 auto;
}
.crmed-nav-toggle__bars {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.crmed-nav-toggle__bars span {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--crmed-grafit);
	transition: transform .2s ease, opacity .2s ease;
}
.crmed-nav-open .crmed-nav-toggle__bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.crmed-nav-open .crmed-nav-toggle__bars span:nth-child(2) { opacity: 0; }
.crmed-nav-open .crmed-nav-toggle__bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}

@media (max-width: 1240px) {
	/* Uwaga: blok core/navigation dubluje className "crmed-header__nav"
	   zarówno na elemencie <nav>, jak i na wewnętrznym <ul> (ten sam
	   selektor .crmed-header__nav trafia więc w oba). Reguły pozycjonowania
	   muszą celować wyłącznie w <nav> (selektor ze znacznikiem), inaczej
	   <ul> też dostaje position:absolute, wypada z przepływu i <nav>
	   zapada się do wysokości samego paddingu — panel wygląda na pusty. */
	nav.crmed-header__nav {
		display: none;
	}
	.crmed-nav-open nav.crmed-header__nav {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--crmed-biel);
		border-top: 1px solid var(--crmed-linia);
		box-shadow: 0 16px 32px rgba(23,30,38,.10);
		padding: var(--space-3) var(--space-4) var(--space-4);
		max-height: 80vh;
		overflow-y: auto;
	}
	.crmed-nav-open .crmed-header__nav .wp-block-navigation__container {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.crmed-nav-open .crmed-header__nav .wp-block-navigation-item {
		width: 100%;
		flex-wrap: wrap;
		border-bottom: 1px solid var(--crmed-linia);
	}
	.crmed-nav-open .crmed-header__nav .wp-block-navigation-item > a,
	.crmed-nav-open .crmed-header__nav .wp-block-navigation-submenu > .wp-block-navigation-item__content {
		display: block;
		padding: var(--space-3) 2px;
		font-size: var(--fs-md);
	}
	.crmed-nav-open .crmed-header__nav .wp-block-navigation__submenu-container {
		position: static;
		flex-direction: column;
		flex-basis: 100%;
		width: 100%;
		box-shadow: none;
		border: none;
		background: var(--crmed-off-white);
		border-radius: var(--radius-sm);
		margin: 0 0 var(--space-2);
	}
	.crmed-nav-toggle {
		display: flex;
	}
}

.crmed-seasonal-notice {
	background: var(--crmed-zolty);
	color: var(--crmed-grafit);
	text-align: center;
	font-size: var(--fs-xs);
	font-weight: 600;
	padding: var(--space-1) var(--space-3);
}

/* =========================================================================
   FOOTER
   ========================================================================= */
.crmed-footer {
	background: var(--crmed-off-white);
	border-top: 1px solid var(--crmed-linia);
	color: var(--crmed-grafit-2);
}
.crmed-footer a {
	color: var(--crmed-grafit);
}
.crmed-footer .crmed-todo {
	color: var(--crmed-grafit-2);
	font-style: italic;
}

/* =========================================================================
   SECTION RHYTHM
   ========================================================================= */
.crmed-section {
	padding-block: var(--space-7);
}
.crmed-section--alt {
	background: var(--crmed-off-white);
}
.crmed-section__head {
	max-width: 640px;
	margin-bottom: var(--space-5);
}
.crmed-eyebrow {
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: var(--fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--crmed-rozowy);
	font-weight: 700;
	display: none; /* różowy zarezerwowany na max. 1 element na stronę — patrz .crmed-badge-featured */
}

/* =========================================================================
   CARDS (bazowy wzorzec dla: specjalista, usługa, problem, pakiet, opinia)
   ========================================================================= */
.crmed-card {
	background: var(--crmed-biel);
	border: 1px solid var(--crmed-linia);
	border-radius: var(--radius-md);
	padding: var(--space-4);
	box-shadow: 0 1px 2px rgba(23,30,38,.04), 0 4px 16px rgba(23,30,38,.04);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	/* border-box + min-height zamiast height:100% (content-box): karta z
	   paddingiem 2×24px wystawała o 48px poza wiersz siatki i "wisiała" pusta
	   przestrzeń pod opisem (Visual QA 1.1, 390px). */
	box-sizing: border-box;
	min-height: 100%;
}
.crmed-card__eyebrow {
	font-size: var(--fs-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--crmed-grafit-2);
}
.crmed-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--fs-lg);
	font-weight: 600;
	color: var(--crmed-grafit);
	margin: 0;
}
.crmed-card__body {
	color: var(--crmed-grafit-2);
	font-size: var(--fs-sm);
	flex: 1;
}
.crmed-card__cta {
	margin-top: auto;
}
.crmed-card--link {
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	/* Link jest kontenerem karty: tytuł/opis/eyebrow to spany — bez flex-column
	   zlewałyby się w jedną linię (Visual QA 1.1). */
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	flex: 1;
}
.crmed-card--link > .crmed-card__title,
.crmed-card--link > .crmed-card__body,
.crmed-card--link > .crmed-card__eyebrow { display: block; }
.crmed-card--link > .crmed-card__body { flex: 0 0 auto; }
.crmed-card--link:hover {
	box-shadow: 0 4px 8px rgba(23,30,38,.06), 0 12px 28px rgba(23,30,38,.08);
	transform: translateY(-2px);
}

/* Odznaka premium/różowa — zasada z Decision Pack: max. 1 na CAŁĄ stronę */
.crmed-badge-featured {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--crmed-rozowy);
	color: var(--crmed-rozowy);
	border-radius: var(--radius-pill);
	font-size: var(--fs-xs);
	font-weight: 700;
	padding: 3px 12px;
	width: fit-content;
}
.crmed-badge {
	display: inline-flex;
	align-items: center;
	background: var(--crmed-off-white);
	color: var(--crmed-grafit);
	border-radius: var(--radius-pill);
	font-size: var(--fs-xs);
	font-weight: 600;
	padding: 3px 12px;
	width: fit-content;
}
.crmed-badge--price {
	font-family: var(--wp--preset--font-family--mono, monospace);
	background: var(--crmed-off-white);
}

/* =========================================================================
   GRID PATTERNS
   ========================================================================= */
.crmed-grid {
	display: grid;
	gap: var(--space-4);
	grid-template-columns: repeat(var(--cols, 3), 1fr);
}
@media (max-width: 900px) {
	.crmed-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.crmed-grid { grid-template-columns: 1fr; }
}

/* =========================================================================
   TRUST BAR
   ========================================================================= */
.crmed-trust-bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5);
	justify-content: center;
	padding: var(--space-3) 0;
}
.crmed-trust-bar__item {
	text-align: center;
	min-width: 140px;
}
.crmed-trust-bar__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--fs-xl);
	font-weight: 600;
	color: var(--crmed-grafit);
	display: block;
}
.crmed-trust-bar__label {
	font-size: var(--fs-xs);
	color: var(--crmed-grafit-2);
}
.crmed-trust-bar__todo {
	border: 1px dashed var(--crmed-linia);
	border-radius: var(--radius-sm);
	padding: var(--space-3);
	color: var(--crmed-grafit-2);
	font-size: var(--fs-sm);
	text-align: center;
}

/* =========================================================================
   CTA STRIP
   ========================================================================= */
.crmed-cta-strip {
	background: var(--crmed-grafit);
	color: var(--crmed-biel);
	border-radius: var(--radius-lg);
	padding: var(--space-6) var(--space-5);
	text-align: center;
}
.crmed-cta-strip h2, .crmed-cta-strip p { color: var(--crmed-biel); }
.crmed-cta-strip .crmed-mydr-btn {
	background: var(--crmed-zolty);
	color: var(--crmed-grafit);
}
.crmed-cta-strip .crmed-mydr-btn:hover {
	background: #DCB100;
}

/* =========================================================================
   CONTACT / LOCATION CARD
   ========================================================================= */
.crmed-contact-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-5);
	align-items: start;
}
@media (max-width: 780px) {
	.crmed-contact-card { grid-template-columns: 1fr; }
}
.crmed-contact-card dt {
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: var(--fs-xs);
	text-transform: uppercase;
	color: var(--crmed-grafit-2);
	margin-top: var(--space-2);
}
.crmed-contact-card dd {
	margin: 2px 0 0;
	color: var(--crmed-grafit);
}

/* =========================================================================
   BREADCRUMB
   ========================================================================= */
.crmed-breadcrumb {
	font-size: var(--fs-xs);
	color: var(--crmed-grafit-2);
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding-block: var(--space-3);
}
.crmed-breadcrumb a {
	color: var(--crmed-grafit-2);
	text-decoration: none;
}
.crmed-breadcrumb a:hover { color: var(--crmed-grafit); text-decoration: underline; }
.crmed-breadcrumb span[aria-hidden] { color: var(--crmed-linia); }
.crmed-breadcrumb [aria-current="page"] { color: var(--crmed-grafit); font-weight: 600; }

/* =========================================================================
   FAQ
   ========================================================================= */
.crmed-faq details {
	border-bottom: 1px solid var(--crmed-linia);
	padding: var(--space-3) 0;
}
.crmed-faq summary {
	font-weight: 600;
	font-size: var(--fs-base);
	color: var(--crmed-grafit);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
}
.crmed-faq summary::-webkit-details-marker { display: none; }
.crmed-faq summary::after {
	content: "+";
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: var(--fs-md);
	color: var(--crmed-grafit-2);
	flex: 0 0 auto;
	transition: transform .15s ease;
}
.crmed-faq details[open] summary::after {
	content: "–";
}
.crmed-faq summary:focus-visible {
	outline: 3px solid var(--crmed-focus);
	outline-offset: 2px;
	border-radius: 4px;
}
.crmed-faq p {
	color: var(--crmed-grafit-2);
	margin-top: var(--space-2);
	max-width: 65ch;
}

/* =========================================================================
   SYSTEM ZDJĘĆ — gotowe formaty proporcji (patrz raport, sekcja F).
   Klasy przygotowane pod przyszłe realne zdjęcia; dziś bez zastosowania.
   ========================================================================= */
.crmed-photo {
	width: 100%;
	object-fit: cover;
	border-radius: var(--radius-md);
	background: var(--crmed-off-white);
	display: block;
}
.crmed-photo--hero { aspect-ratio: 4 / 5; }
.crmed-photo--portrait { aspect-ratio: 3 / 4; border-radius: var(--radius-md); }
.crmed-photo--wide { aspect-ratio: 16 / 9; }
.crmed-photo--square { aspect-ratio: 1 / 1; }

/* =========================================================================
   HERO
   ========================================================================= */
/* Hero mieszka w .crmed-section, które samo ma spory pionowy padding
   (var(--space-7), 64px) — bez korekty dawało to podwójny odstęp
   (sekcja + hero razem) i wyglądało na pustą przestrzeń pod headerem.
   Ta klasa na rodzicu ściąga górny padding sekcji specjalnie dla hero. */
.crmed-section--hero {
	padding-block: var(--space-4) var(--space-6);
}
@media (max-width: 600px) {
	.crmed-section--hero { padding-block: var(--space-3) var(--space-5); }
}
.crmed-hero {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: var(--space-6);
	align-items: center;
}
@media (max-width: 900px) {
	.crmed-hero { grid-template-columns: 1fr; }
}
.crmed-hero__eyebrow {
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--crmed-grafit-2);
	margin-bottom: var(--space-2);
}
.crmed-hero h1 {
	font-size: var(--fs-3xl);
	line-height: 1.1;
	margin: 0 0 var(--space-3);
}
@media (max-width: 600px) {
	.crmed-hero h1 { font-size: var(--fs-2xl); }
}
.crmed-hero p.crmed-hero__sub {
	font-size: var(--fs-md);
	color: var(--crmed-grafit-2);
	max-width: 50ch;
	margin-bottom: var(--space-4);
}
.crmed-hero__actions {
	display: flex;
	gap: var(--space-2);
	flex-wrap: wrap;
	margin-bottom: var(--space-3);
}
.crmed-hero__actions .crmed-mydr-btn {
	padding: 1rem 1.6rem;
	font-size: var(--fs-base);
}
.crmed-hero__secondary-cta {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--crmed-grafit);
	color: var(--crmed-grafit);
	border-radius: var(--radius-sm);
	padding: 1rem 1.6rem;
	font-weight: 700;
	font-size: var(--fs-base);
	text-decoration: none;
}
.crmed-hero__secondary-cta:hover {
	background: var(--crmed-off-white);
}
.crmed-hero__media {
	aspect-ratio: 4 / 5;
	background: linear-gradient(155deg, var(--crmed-off-white) 0%, #F1EEE7 100%);
	border: 1px dashed var(--crmed-linia);
	border-radius: var(--radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--crmed-grafit-2);
	font-size: var(--fs-sm);
	text-align: center;
	padding: var(--space-4);
	position: relative;
}
.crmed-hero__media::before {
	content: "";
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--crmed-zolty);
}
@media (max-width: 900px) {
	.crmed-hero__media { aspect-ratio: 16 / 10; }
}

/* Pasek zaufania pod CTA — zamiast drobnego, ledwo widocznego tekstu:
   3 czytelne "chipy" oddzielone kropką, z ikoną-checkiem zamiast emoji
   (zasada: zero emoji w UI). */
.crmed-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-3);
	align-items: center;
	font-size: var(--fs-sm);
	color: var(--crmed-grafit-2);
	padding-top: var(--space-2);
	border-top: 1px solid var(--crmed-linia);
}
.crmed-hero__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.crmed-hero__trust-item::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--crmed-grafit);
	opacity: .35;
	flex: 0 0 auto;
}
.crmed-hero__trust-item:first-child::before { display: none; }
.crmed-hero__trust strong {
	color: var(--crmed-grafit);
	font-weight: 700;
}

/* =========================================================================
   Sticky mobile CTA — zawsze widoczne, nigdy schowane w hamburgerze
   ========================================================================= */
.crmed-mobile-cta-bar {
	display: none;
}
@media (max-width: 1023px) {
	.crmed-mobile-cta-bar {
		display: flex;
		position: sticky;
		bottom: 0;
		z-index: 30;
		background: var(--crmed-biel);
		border-top: 1px solid var(--crmed-linia);
		padding: var(--space-2) var(--space-3);
		gap: var(--space-2);
	}
	.crmed-mobile-cta-bar .crmed-mydr-btn,
	.crmed-mobile-cta-bar .crmed-phone {
		flex: 1;
		text-align: center;
		justify-content: center;
		display: flex;
		align-items: center;
	}
	.crmed-mobile-cta-bar .crmed-phone {
		border: 1px solid var(--crmed-grafit);
		border-radius: var(--radius-sm);
		padding: 0.7rem 1rem;
	}
}

/* =========================================================================
   TODO / disclaimer — tekst zastępczy zamiast fabrykowanej treści.
   Wcześniej zdefiniowane tylko w kontekście stopki; teraz uniwersalne.
   ========================================================================= */
.crmed-todo {
	color: var(--crmed-grafit-2);
	font-style: italic;
	font-size: var(--fs-sm);
}
.crmed-disclaimer {
	font-size: var(--fs-xs);
	color: var(--crmed-grafit-2);
	border-left: 2px solid var(--crmed-linia);
	padding-left: var(--space-2);
	margin-bottom: var(--space-3);
}
.crmed-muted { color: var(--crmed-grafit-2); }
.crmed-list-plain {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	font-size: var(--fs-sm);
}

/* =========================================================================
   RELATED — wrapper dla [crmed_related] / [crmed_related_reverse]
   ========================================================================= */
.crmed-related h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--fs-md);
	font-weight: 600;
	margin: 0 0 var(--space-3);
}

/* =========================================================================
   CENA — mechanizm centralnego cennika (jedno źródło: pole Usługi)
   ========================================================================= */
.crmed-price {
	font-family: var(--wp--preset--font-family--mono, monospace);
	color: var(--crmed-grafit);
	font-weight: 600;
	font-size: var(--fs-sm);
}
.crmed-service-meta .crmed-price {
	font-size: var(--fs-md);
}
.crmed-price--note {
	/* Zdanie opisowe (np. "Cena ustalana indywidualnie"), nie kwota —
	   celowo bez mono/pogrubienia, żeby nie udawać ceny, której nie ma. */
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	color: var(--crmed-grafit-2);
	font-size: var(--fs-sm);
}
.crmed-price__note {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: var(--fs-xs);
	color: var(--crmed-grafit-2);
	margin-top: 2px;
}

/* =========================================================================
   PROFIL — Specjalista / Usługa / Obszar (wspólny wzorzec nagłówka)
   ========================================================================= */
.crmed-profile__header {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: var(--space-6);
	align-items: start;
	padding-block: var(--space-6) var(--space-3);
}
.crmed-profile__header--service {
	grid-template-columns: 1fr;
	max-width: 78ch;
}
/* Sekcja .crmed-section ma własny duży padding-top (64px) — zaraz po
   headerze profilu to za dużo martwej przestrzeni (ten sam błąd, co przy
   hero w Design Review). Ściągamy TYLKO pierwszą sekcję po headerze. */
.crmed-profile__header + .crmed-section {
	padding-top: var(--space-4);
}
@media (max-width: 780px) {
	.crmed-profile__header {
		grid-template-columns: 1fr;
		padding-block: var(--space-4) var(--space-4);
	}
	.crmed-profile__media { max-width: 280px; }
}
.crmed-profile__eyebrow {
	font-family: var(--wp--preset--font-family--mono, monospace);
	font-size: var(--fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--crmed-grafit-2);
	margin: 0 0 var(--space-2);
}
.crmed-profile__title {
	color: var(--crmed-grafit-2);
	font-size: var(--fs-md);
	margin: 2px 0 var(--space-3);
}
.crmed-profile__bio {
	max-width: 60ch;
	margin-bottom: var(--space-4);
}
.crmed-profile__cta { margin-top: var(--space-3); }
.crmed-service-meta {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	margin: var(--space-2) 0 var(--space-4);
}
.crmed-photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: var(--fs-xs);
	color: var(--crmed-grafit-2);
	border: 1px dashed var(--crmed-linia);
	padding: var(--space-3);
}
/* (stara reguła .crmed-hours usunięta — tabela godzin używa .crmed-hours__list/__row, patrz sekcja Kontakt) */

/* =========================================================================
   SPECJALIŚCI — HUB (archiwum)
   ========================================================================= */
.crmed-hub__head {
	max-width: 70ch;
	padding-block: var(--space-6) var(--space-4);
}
.crmed-hub__filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	padding-bottom: var(--space-5);
	border-bottom: 1px solid var(--crmed-linia);
	margin-bottom: var(--space-5);
}
.crmed-filter-chip {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--crmed-linia);
	border-radius: var(--radius-pill);
	padding: 6px 16px;
	font-size: var(--fs-sm);
	color: var(--crmed-grafit);
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease;
}
.crmed-filter-chip:hover {
	background: var(--crmed-off-white);
}
.crmed-filter-chip.is-active {
	background: var(--crmed-grafit);
	border-color: var(--crmed-grafit);
	color: var(--crmed-biel);
}
.crmed-hub__grid { padding-bottom: var(--space-7); }
.crmed-specialist-card .crmed-card__eyebrow { margin-top: 2px; }
.crmed-specialist-card__cta { margin-top: auto; padding-top: var(--space-2); }
@media (max-width: 900px) {
	.crmed-hub__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
	.crmed-hub__grid { grid-template-columns: 1fr !important; }
	.crmed-hub__filters { padding-bottom: var(--space-4); margin-bottom: var(--space-4); }
}

/* =========================================================================
   SERVICE CARD + HUB INTRO + SERVICES INDEX (Scale Phase 1)
   ========================================================================= */
.crmed-service-card { justify-content: space-between; }
.crmed-service-card__meta {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	flex-wrap: wrap;
	margin-top: var(--space-2);
	padding-top: var(--space-2);
	border-top: 1px solid var(--crmed-linia);
}
.crmed-hub__intro {
	max-width: 68ch;
	color: var(--crmed-grafit-2);
	font-size: var(--fs-base);
}
.crmed-hub__intro p { margin: 0 0 var(--space-2); }
.crmed-hub__intro a { color: var(--crmed-grafit); font-weight: 600; }
.crmed-index-cat { padding-block: var(--space-5); }
.crmed-index-cat:not(:last-child) { border-bottom: 1px solid var(--crmed-linia); }
.crmed-index-cat__all {
	font-size: var(--fs-sm);
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	color: var(--crmed-grafit);
}
.crmed-index-cat__all:hover { text-decoration: underline; }

/* =========================================================================
   SCALE PHASE 1.1 — zdjęcia usług + monogram zamiast tekstowych placeholderów
   ========================================================================= */
.crmed-profile__header--service-photo {
	grid-template-columns: 1.05fr 0.95fr;
	align-items: center;
}
.crmed-profile__media--service .crmed-photo--wide {
	aspect-ratio: 4 / 3;
	border-radius: var(--radius-lg);
}
@media (max-width: 780px) {
	/* Musi stać PO regule desktopowej — ta sama specyficzność, więc kolejność
	   decyduje; bez tego nagłówek ze zdjęciem zostawał dwukolumnowy na 390px. */
	.crmed-profile__header--service-photo { grid-template-columns: 1fr; }
	.crmed-profile__media--service { max-width: none; order: -1; }
	.crmed-profile__media--service .crmed-photo--wide { aspect-ratio: 16 / 10; }
}
.crmed-service-card__img {
	aspect-ratio: 16 / 10;
	border-radius: var(--radius-sm);
	margin-bottom: var(--space-2);
}
/* Pas bezpieczeństwa: puste akapity z autop nigdy nie rozpychają kart/nagłówków */
.crmed-card > p:empty,
.crmed-profile p:empty,
.crmed-hub p:empty { display: none; margin: 0; }
/* Neutralny monogram — brak zdjęcia nie może wyglądać jak "TODO" */
.crmed-photo--monogram {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(155deg, var(--crmed-off-white) 0%, #F1EEE7 100%);
	color: var(--crmed-grafit-2);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 6vw, 3.5rem);
	font-weight: 500;
	letter-spacing: 0.04em;
}
/* Hero z realnym zdjęciem: bez pseudo-elementu "kropki" i tekstu placeholdera */
.crmed-hero__media--photo {
	padding: 0;
	background: none;
	aspect-ratio: auto;
	display: block;
}
.crmed-hero__media--photo::before { display: none; }
.crmed-hero__media--photo .crmed-photo--hero {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--radius-lg);
	display: block;
}
@media (max-width: 900px) {
	.crmed-hero__media--photo .crmed-photo--hero { aspect-ratio: 16 / 10; }
}
/* Karta specjalisty na stronie głównej (Query Loop) */
.crmed-specialist-card .wp-block-post-featured-image img,
.crmed-specialist-card .crmed-photo--portrait { border-radius: var(--radius-sm); }

/* =========================================================================
   SCALE PHASE 2 — strony statyczne, cennik, rejestracja, dokumenty, opinie,
   komunikaty, dojazd
   ========================================================================= */
/* Przyciski: warianty na bazie .crmed-mydr-btn (jedna rodzina) */
.crmed-mydr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; text-decoration: none; line-height: 1.2; }
.crmed-mydr-btn--ghost { background: transparent; color: var(--crmed-grafit); border: 1.5px solid var(--crmed-grafit); }
.crmed-mydr-btn--ghost:hover { background: var(--crmed-off-white); }
.crmed-mydr-btn--sm { padding: 0.45rem 0.8rem; font-size: var(--fs-xs); }
body.crmed-overlay-open { overflow: hidden; }

/* Strona statyczna (page.html) */
.crmed-page { max-width: 1200px; margin-inline: auto; padding: var(--space-4) var(--space-4) var(--space-7); }
.crmed-page__title { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-2xl); line-height: 1.05; margin: var(--space-3) 0 var(--space-4); max-width: 24ch; text-wrap: balance; }
.crmed-page__content > * + * { margin-top: var(--space-4); }
.crmed-page__content p, .crmed-page__content li { max-width: 70ch; color: var(--crmed-grafit-2); }
.crmed-page__content h2 { font-size: var(--fs-lg); margin-top: var(--space-6); }
.crmed-page__content h3 { font-size: var(--fs-md); margin-top: var(--space-5); }
.crmed-page__intro { font-size: var(--fs-md); color: var(--crmed-grafit-2); max-width: 62ch; }
@media (max-width: 780px) { .crmed-page__title { font-size: var(--fs-xl); } }

/* Cennik — accordion */
.crmed-cennik { max-width: 900px; }
.crmed-cennik__search { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-5); }
.crmed-cennik__search input { flex: 1 1 280px; font: inherit; font-size: var(--fs-base); padding: 0.8rem 1rem 0.8rem 2.6rem; border: 1.5px solid var(--crmed-linia); border-radius: var(--radius-pill); background: var(--crmed-biel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235B6570' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 1rem center; }
.crmed-cennik__search input:focus { outline: 3px solid var(--crmed-focus); outline-offset: 2px; border-color: var(--crmed-grafit); }
.crmed-cennik__count { font-size: var(--fs-sm); color: var(--crmed-grafit-2); }
.crmed-cennik__group { border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); background: var(--crmed-biel); margin-bottom: var(--space-2); }
.crmed-cennik__group[open] { box-shadow: 0 4px 16px rgba(23,30,38,.05); }
.crmed-cennik__group > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); cursor: pointer; list-style: none; }
.crmed-cennik__group > summary::-webkit-details-marker { display: none; }
.crmed-cennik__group-name { margin: 0; line-height: 1.3; font-family: var(--wp--preset--font-family--display); font-size: var(--fs-md); font-weight: 600; color: var(--crmed-grafit); }
.crmed-cennik__group > summary::after { content: "+"; font-family: var(--wp--preset--font-family--mono, monospace); font-size: var(--fs-md); color: var(--crmed-grafit-2); margin-left: auto; }
.crmed-cennik__group[open] > summary::after { content: "–"; }
.crmed-cennik__group > summary .crmed-badge { margin-left: 0; }
.crmed-cennik__group > summary:focus-visible { outline: 3px solid var(--crmed-focus); outline-offset: -3px; border-radius: var(--radius-md); }
.crmed-cennik__rows { border-top: 1px solid var(--crmed-linia); }
.crmed-cennik__row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); align-items: center; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--crmed-linia); }
.crmed-cennik__row:last-child { border-bottom: 0; }
.crmed-cennik__row[hidden] { display: none; }
.crmed-cennik__main { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.crmed-cennik__name { font-weight: 600; color: var(--crmed-grafit); text-decoration: none; }
.crmed-cennik__name:hover { text-decoration: underline; }
.crmed-cennik__price { text-align: right; font-variant-numeric: tabular-nums; }
.crmed-cennik__price .crmed-price { white-space: nowrap; }
.crmed-cennik__price .crmed-price { font-weight: 700; }
.crmed-cennik__price .crmed-price--note { white-space: normal; font-size: var(--fs-sm); color: var(--crmed-grafit-2); }
.crmed-cennik__empty { padding: var(--space-4); background: var(--crmed-off-white); border-radius: var(--radius-md); }
.crmed-cennik__note { margin-top: var(--space-4); font-size: var(--fs-sm); }
@media (max-width: 640px) {
	.crmed-cennik__row { grid-template-columns: 1fr auto; }
	.crmed-cennik__price { grid-column: 1; text-align: left; }
	.crmed-cennik__cta { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}

/* Rejestracja — trzy ścieżki + lista specjalistów */
.crmed-path-card .crmed-card__cta { margin-top: auto; padding-top: var(--space-2); }
.crmed-booking-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); background: var(--crmed-biel); }
.crmed-booking-list__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--crmed-linia); }
.crmed-booking-list__row:last-child { border-bottom: 0; }
.crmed-booking-list__who { display: flex; align-items: center; gap: var(--space-3); text-decoration: none; color: var(--crmed-grafit); min-width: 0; }
.crmed-booking-list__who:hover .crmed-booking-list__name { text-decoration: underline; }
.crmed-booking-list__photo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: 0 0 48px; font-size: 0.9rem; }
.crmed-booking-list__name { display: block; font-weight: 600; }
.crmed-booking-list__spec { display: block; font-size: var(--fs-sm); color: var(--crmed-grafit-2); }
.crmed-booking-list__cta { flex: 0 0 auto; }
@media (max-width: 480px) { .crmed-booking-list__row { flex-wrap: wrap; } .crmed-booking-list__cta { width: 100%; } .crmed-booking-list__cta .crmed-mydr-btn { width: 100%; } }

/* Dokumenty */
.crmed-doc__head { margin-bottom: var(--space-5); }
.crmed-doc__head h1 { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-2xl); line-height: 1.05; margin: var(--space-2) 0; max-width: 24ch; text-wrap: balance; }
.crmed-doc__body { max-width: 72ch; }
.crmed-doc__body h3 { margin-top: var(--space-5); font-size: var(--fs-md); }
.crmed-doc__body ul { padding-left: 1.2em; }
.crmed-doc__body h2 { margin-top: var(--space-5); font-size: var(--fs-lg); }
.crmed-doc__body ol { padding-left: 1.4em; } .crmed-doc__body ol li { margin-bottom: 6px; }
.crmed-doc__body table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); margin: var(--space-3) 0; }
.crmed-doc__body th, .crmed-doc__body td { border: 1px solid var(--crmed-linia); padding: 8px 10px; vertical-align: top; text-align: left; }
.crmed-doc__body th { background: var(--crmed-off-white); font-weight: 700; }
@media (max-width: 600px) { .crmed-doc__body th, .crmed-doc__body td { padding: 6px; font-size: .82rem; } }
.crmed-doc__body li p { margin: 0.25em 0; }
.crmed-footer__docs a, .crmed-footer__links a { color: inherit; }
.crmed-footer__docs-row { opacity: .85; }
@media (max-width: 780px) { .crmed-doc__head h1 { font-size: var(--fs-xl); } }

/* Opinie */
.crmed-reviews__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); max-width: none; flex-wrap: wrap; }
.crmed-reviews__all { font-weight: 600; text-decoration: none; color: var(--crmed-grafit); white-space: nowrap; }
.crmed-reviews__all:hover { text-decoration: underline; }
.crmed-review { gap: var(--space-2); }
.crmed-review__stars { color: var(--crmed-zolty); letter-spacing: 2px; font-size: var(--fs-md); }
.crmed-review__text { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: var(--fs-md); line-height: 1.4; color: var(--crmed-grafit); flex: 1; }
.crmed-review__text p { margin: 0; }
.crmed-review__meta { display: flex; justify-content: space-between; gap: var(--space-2); flex-wrap: wrap; font-size: var(--fs-sm); color: var(--crmed-grafit-2); border-top: 1px solid var(--crmed-linia); padding-top: var(--space-2); }
.crmed-review__author { font-weight: 600; color: var(--crmed-grafit); }
.crmed-review__source a { color: inherit; }

/* Komunikaty — pasek, inline, modal */
.crmed-alerts--banner { display: flex; flex-direction: column; }
.crmed-alert { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--space-2); padding: var(--space-2) var(--space-4); font-size: var(--fs-sm); background: var(--crmed-off-white); color: var(--crmed-grafit); border-left: 4px solid var(--crmed-grafit-2); }
.crmed-alert--banner { justify-content: center; text-align: center; }
.crmed-alert--uwaga { background: var(--crmed-zolty); border-left-color: #B89400; }
.crmed-alert--pilne { background: var(--crmed-biel); border-left-color: var(--crmed-rozowy); }
.crmed-alert__title { font-weight: 700; }
.crmed-alert__body { color: var(--crmed-grafit-2); }
.crmed-alert--uwaga .crmed-alert__body { color: var(--crmed-grafit); }
.crmed-alert__link { font-weight: 600; color: inherit; }
.crmed-alerts--inline .crmed-alert { border-radius: var(--radius-md); margin-bottom: var(--space-3); border: 1px solid var(--crmed-linia); border-left-width: 4px; }
.crmed-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: var(--space-4); background: rgba(23,30,38,.55); }
.crmed-modal[hidden] { display: none; }
.crmed-modal__panel { position: relative; background: var(--crmed-biel); border-radius: var(--radius-lg); padding: var(--space-5); max-width: 560px; width: 100%; box-shadow: 0 24px 64px rgba(23,30,38,.25); border-top: 6px solid var(--crmed-grafit-2); }
.crmed-modal__panel.crmed-alert--uwaga { border-top-color: var(--crmed-zolty); background: var(--crmed-biel); border-left: 0; }
.crmed-modal__panel.crmed-alert--pilne { border-top-color: var(--crmed-rozowy); border-left: 0; }
.crmed-modal__panel h2 { font-size: var(--fs-lg); margin: 0 0 var(--space-2); }
.crmed-modal__body { color: var(--crmed-grafit-2); }
.crmed-modal__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-4); }
.crmed-modal__close { position: absolute; top: 12px; right: 12px; background: transparent; border: 0; font-size: 1.2rem; cursor: pointer; color: var(--crmed-grafit-2); padding: 6px; }

/* Dojazd */
.crmed-dojazd { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-5); align-items: stretch; }
.crmed-dojazd__name { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-lg); margin: 0 0 var(--space-1); }
.crmed-dojazd__address { font-style: normal; font-size: var(--fs-md); margin-bottom: var(--space-3); }
.crmed-dojazd__facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); margin: 0 0 var(--space-4); }
.crmed-dojazd__facts div { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); }
.crmed-dojazd__facts dt { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--crmed-grafit-2); font-weight: 700; }
.crmed-dojazd__facts dd { margin: 2px 0 0; color: var(--crmed-grafit); }
.crmed-dojazd__facts a { color: inherit; }
.crmed-dojazd__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.crmed-dojazd__map { min-height: 280px; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--crmed-linia); background: var(--crmed-off-white); display: flex; }
.crmed-dojazd__map-load { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 0; cursor: pointer; font: inherit; font-weight: 600; color: var(--crmed-grafit); background: radial-gradient(circle at 50% 45%, rgba(246,197,0,.18), transparent 55%), var(--crmed-off-white); }
.crmed-dojazd__map-load small { font-weight: 400; color: var(--crmed-grafit-2); }
.crmed-dojazd__map-load:hover { background-color: var(--crmed-biel); }
.crmed-dojazd__map-pin { width: 18px; height: 18px; border-radius: 50% 50% 50% 0; background: var(--crmed-grafit); transform: rotate(-45deg); margin-bottom: 8px; }
.crmed-dojazd__map-frame { width: 100%; height: 100%; min-height: 280px; border: 0; }
.crmed-cta-strip--wide { margin-top: var(--space-5); display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.crmed-cta-strip__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
@media (max-width: 780px) {
	.crmed-dojazd { grid-template-columns: 1fr; }
	.crmed-dojazd__facts { grid-template-columns: 1fr; }
	.crmed-dojazd__map { min-height: 220px; }
}
.crmed-cta-strip .crmed-mydr-btn--ghost { background: transparent; color: var(--crmed-biel); border-color: var(--crmed-biel); }
.crmed-cta-strip .crmed-mydr-btn--ghost:hover { background: rgba(255,255,255,.1); }
.crmed-cta-strip--wide { text-align: left; }

/* ---- SCALE PHASE 2 CORRECTION: godziny + cennik badań (LAB-MED) ---- */
.crmed-hours-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-4); }
.crmed-hours { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.crmed-hours__title { font-size: var(--fs-base); margin: 0 0 var(--space-2); }
.crmed-hours__list { margin: 0; }
.crmed-hours__row { display: flex; justify-content: space-between; gap: var(--space-3); padding: 6px 0; border-bottom: 1px solid var(--crmed-linia); font-size: var(--fs-sm); }
.crmed-hours__row:last-child { border-bottom: 0; }
.crmed-hours__row dt { color: var(--crmed-grafit-2); text-transform: capitalize; }
.crmed-hours__row dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.crmed-hours__row--closed dd { font-weight: 400; color: var(--crmed-grafit-2); }
.crmed-hours__label { font-weight: 600; }
.crmed-section--lab .crmed-section__head { max-width: none; }
.crmed-lab__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-2); margin-bottom: var(--space-5); }
.crmed-lab__fact { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); display: flex; flex-direction: column; gap: 2px; }
.crmed-lab__fact-k { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--crmed-grafit-2); font-weight: 700; }
.crmed-lab__fact-v { font-size: var(--fs-sm); color: var(--crmed-grafit); }
.crmed-lab__list { max-width: none; }
.crmed-lab__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: calc(-1 * var(--space-3)) 0 var(--space-4); }
.crmed-lab__chips .crmed-filter-chip { cursor: pointer; }
.crmed-lab__sub { padding: var(--space-2) var(--space-4) 4px; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--crmed-grafit-2); background: var(--crmed-off-white); }
.crmed-lab__sub[hidden] { display: none; }
.crmed-lab__row { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto; }
.crmed-lab__name { font-weight: 600; color: var(--crmed-grafit); }
.crmed-lab__code { font-family: var(--wp--preset--font-family--mono, monospace); font-size: var(--fs-xs); color: var(--crmed-grafit-2); }
.crmed-lab__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: var(--fs-xs); color: var(--crmed-grafit-2); }
.crmed-lab__desc { flex-basis: 100%; font-size: var(--fs-xs); color: var(--crmed-grafit-2); }
.crmed-lab__desc summary { cursor: pointer; font-weight: 600; }
.crmed-lab__desc p { margin: 4px 0 0; max-width: 80ch; }
.crmed-cennik__lablink { font-weight: 600; color: var(--crmed-grafit); text-decoration: none; white-space: nowrap; }
.crmed-cennik__lablink:hover { text-decoration: underline; }
@media (max-width: 640px) {
	.crmed-lab__row { grid-template-columns: 1fr auto; }
	.crmed-lab__meta { grid-column: 1; }
	.crmed-lab__row .crmed-cennik__price { grid-column: 2; grid-row: 1 / span 2; text-align: right; align-self: center; }
}

/* =========================================================================
   SCALE PHASE 3 — homepage problem-first + patient journey
   ========================================================================= */
.crmed-section__head--row { max-width: none; display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3) var(--space-5); flex-wrap: wrap; }
.crmed-section__head--row h2 { margin: 0; }
.crmed-section__head--row p { margin: 0; color: var(--crmed-grafit-2); max-width: 52ch; }
.crmed-section__link { font-weight: 600; color: var(--crmed-grafit); text-decoration: none; white-space: nowrap; }
.crmed-section__link:hover { text-decoration: underline; }
.crmed-hero__sub { font-size: var(--fs-md); color: var(--crmed-grafit-2); max-width: 46ch; margin: 0 0 var(--space-4); }
.crmed-section--paths { padding-block: var(--space-6); }

/* Trzy ścieżki */
.crmed-paths { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.crmed-path__link { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: var(--space-4); background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); text-decoration: none; color: var(--crmed-grafit); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.crmed-path__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(23,30,38,.08); border-color: var(--crmed-grafit); }
.crmed-path__num { font-family: var(--wp--preset--font-family--mono, monospace); font-size: var(--fs-xs); color: var(--crmed-grafit-2); letter-spacing: .06em; }
.crmed-path__eyebrow { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-lg); font-weight: 600; line-height: 1.15; }
.crmed-path:first-child .crmed-path__eyebrow { position: relative; padding-left: 14px; }
.crmed-path:first-child .crmed-path__eyebrow::before { content: ""; position: absolute; left: 0; top: .45em; width: 6px; height: 6px; border-radius: 50%; background: var(--crmed-zolty); box-shadow: 0 0 0 4px rgba(246,197,0,.25); }
.crmed-path__title { font-weight: 600; color: var(--crmed-grafit-2); }
.crmed-path__body { font-size: var(--fs-sm); color: var(--crmed-grafit-2); flex: 1; }
.crmed-path__foot { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid var(--crmed-linia); }
.crmed-path__cta { font-weight: 700; }
.crmed-path__meta { font-size: var(--fs-xs); color: var(--crmed-grafit-2); font-family: var(--wp--preset--font-family--mono, monospace); }
@media (max-width: 900px) { .crmed-paths { grid-template-columns: 1fr; } }

/* Pasek dolegliwości (reusable) */
.crmed-section--strip { padding-block: var(--space-4); }
.crmed-strip { display: flex; align-items: center; gap: var(--space-3) var(--space-4); flex-wrap: wrap; }
.crmed-strip__title { font-weight: 700; white-space: nowrap; }
.crmed-strip__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex: 1 1 auto; min-width: 0; }
.crmed-strip__item { display: inline-flex; align-items: center; justify-content: center; padding: .7rem 1.1rem; border-radius: var(--radius-pill); background: var(--crmed-biel); border: 1px solid var(--crmed-linia); color: var(--crmed-grafit); text-decoration: none; font-weight: 600; font-size: var(--fs-sm); white-space: nowrap; transition: background .15s, border-color .15s, transform .15s; }
.crmed-strip__item:hover { border-color: var(--crmed-grafit); transform: translateY(-1px); }
.crmed-strip__item.is-current { background: var(--crmed-grafit); color: var(--crmed-biel); border-color: var(--crmed-grafit); }
.crmed-strip__all { font-weight: 600; color: var(--crmed-grafit); text-decoration: none; white-space: nowrap; margin-left: auto; }
.crmed-strip__all:hover { text-decoration: underline; }
@media (min-width: 901px) { .crmed-strip__list li { flex: 1 1 0; } .crmed-strip__item { width: 100%; box-sizing: border-box; } }
@media (max-width: 900px) {
	.crmed-strip { align-items: flex-start; }
	.crmed-strip__title { flex-basis: 100%; }
	.crmed-strip__list { flex-basis: 100%; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 6px; margin-inline: calc(-1 * var(--space-4)); padding-inline: var(--space-4); scrollbar-width: none; }
	.crmed-strip__list::-webkit-scrollbar { display: none; }
	.crmed-strip__list li { scroll-snap-align: start; flex: 0 0 auto; }
	.crmed-strip__all { margin-left: 0; }
}

/* Patient journey */
.crmed-journey { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-3); position: relative; counter-reset: none; }
.crmed-journey::before { content: ""; position: absolute; left: 24px; right: 24px; top: 22px; height: 2px; background: var(--crmed-linia); }
.crmed-journey__step { position: relative; display: flex; flex-direction: column; gap: 6px; padding-top: 56px; }
.crmed-journey__num { position: absolute; top: 0; left: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--crmed-biel); border: 2px solid var(--crmed-grafit); display: flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: var(--fs-md); color: var(--crmed-grafit); }
.crmed-journey__step:last-child .crmed-journey__num { background: var(--crmed-zolty); border-color: var(--crmed-zolty); }
.crmed-journey__title { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-md); font-weight: 600; }
.crmed-journey__body { font-size: var(--fs-sm); color: var(--crmed-grafit-2); flex: 1; }
.crmed-journey__tag { align-self: flex-start; font-size: var(--fs-xs); font-weight: 600; color: var(--crmed-grafit); background: var(--crmed-off-white); border: 1px solid var(--crmed-linia); border-radius: var(--radius-pill); padding: 4px 10px; text-decoration: none; }
a.crmed-journey__tag:hover { border-color: var(--crmed-grafit); }
@media (max-width: 900px) {
	.crmed-journey { grid-template-columns: 1fr; gap: var(--space-4); }
	.crmed-journey::before { left: 21px; right: auto; top: 24px; bottom: 24px; width: 2px; height: auto; }
	.crmed-journey__step { padding-top: 0; padding-left: 64px; min-height: 44px; }
}

/* Filary */
.crmed-pillars { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
.crmed-pillar__link { display: flex; flex-direction: column; gap: 8px; height: 100%; box-sizing: border-box; padding: var(--space-4); background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); text-decoration: none; color: var(--crmed-grafit); transition: transform .15s ease, box-shadow .15s ease; }
.crmed-pillar__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(23,30,38,.08); }
.crmed-pillar__title { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-lg); font-weight: 600; }
.crmed-pillar__body { font-size: var(--fs-sm); color: var(--crmed-grafit-2); flex: 1; }
.crmed-pillar__foot { display: flex; justify-content: space-between; align-items: center; margin-top: var(--space-2); }
.crmed-pillar__cta { font-weight: 700; }
@media (max-width: 900px) { .crmed-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .crmed-pillars { grid-template-columns: 1fr; } }

/* Specjaliści na home */
.crmed-home-spec__card .crmed-card__body { -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.crmed-home-spec__card .crmed-photo--portrait { aspect-ratio: 4 / 5; }
@media (max-width: 900px) { .crmed-home-spec { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) {
	/* Mobile: 2 kolumny, kwadratowe zdjęcia — 6 osób mieści się w ~2 ekranach zamiast 6 */
	.crmed-home-spec { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-2); }
	.crmed-home-spec__card { padding: var(--space-2); }
	.crmed-home-spec__card .crmed-photo--portrait { aspect-ratio: 1 / 1; }
	.crmed-home-spec__card .crmed-card__title { font-size: var(--fs-base); }
	.crmed-home-spec__card .crmed-card__eyebrow { font-size: 0.7rem; }
	.crmed-home-spec__card .crmed-card__body { -webkit-line-clamp: 2; font-size: var(--fs-xs); }
	.crmed-home-spec__card .crmed-mydr-btn { width: 100%; }
}

/* LAB-MED teaser */
.crmed-section--lab-teaser { padding-block: var(--space-5); }
.crmed-lab-teaser { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-left: 6px solid var(--crmed-zolty); border-radius: var(--radius-md); padding: var(--space-4) var(--space-5); }
.crmed-lab-teaser__text { display: flex; flex-direction: column; gap: 4px; }
.crmed-lab-teaser__title { font-family: var(--wp--preset--font-family--display); font-size: var(--fs-lg); font-weight: 600; }
.crmed-lab-teaser__facts { display: flex; flex-wrap: wrap; gap: 4px var(--space-3); font-size: var(--fs-sm); color: var(--crmed-grafit-2); }
.crmed-lab-teaser__facts span + span::before { content: "·"; margin-right: var(--space-2); opacity: .5; }

/* Trust */
.crmed-trust { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--space-5); align-items: start; }
.crmed-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); overflow: hidden; }
.crmed-facts__item { display: grid; grid-template-columns: 150px 1fr; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--crmed-linia); font-size: var(--fs-sm); }
.crmed-facts__item:last-child { border-bottom: 0; }
.crmed-facts__k { font-weight: 700; color: var(--crmed-grafit); }
.crmed-facts__v { color: var(--crmed-grafit-2); }
.crmed-facts__v a { color: var(--crmed-grafit); font-weight: 700; text-decoration: none; }
.crmed-trust__reviews .crmed-reviews__head h2 { font-size: var(--fs-md); }
.crmed-trust__reviews .crmed-reviews__head { margin-bottom: var(--space-3); }
@media (max-width: 900px) { .crmed-trust { grid-template-columns: 1fr; } .crmed-facts__item { grid-template-columns: 1fr; gap: 2px; } }

/* FAQ home */
.crmed-faq--home { max-width: 760px; }

/* =========================================================================
   DESIGN SYSTEM v2 — VISUAL IMPLEMENTATION (premium healthcare + digital product)
   Nadpisuje wcześniejsze reguły (kolejność w pliku). Paleta D bez zmian.
   ========================================================================= */
:root {
	--font-display: "Manrope", "Public Sans", system-ui, sans-serif;
	--radius-sm: 10px; --radius-md: 16px; --radius-lg: 24px;
	--crmed-header-h: 68px;
	--crmed-tint: #F7F6F2;
	--crmed-shadow-1: 0 1px 2px rgba(23,30,38,.05), 0 8px 24px rgba(23,30,38,.06);
	--crmed-shadow-2: 0 4px 10px rgba(23,30,38,.06), 0 20px 48px rgba(23,30,38,.12);
	--fs-3xl: clamp(2.2rem, 1.4rem + 2.4vw, 3.4rem);
	--fs-2xl: clamp(1.8rem, 1.3rem + 1.4vw, 2.5rem);
	--fs-xl: clamp(1.5rem, 1.2rem + .8vw, 1.9rem);
}
body { font-size: 1rem; }
h1, h2, h3, h4, .crmed-card__title, .crmed-section__head h2, .crmed-page__title, .crmed-doc__head h1, .crmed-profile__title, .crmed-path__eyebrow, .crmed-journey__title, .crmed-pillar__title, .crmed-lab-teaser__title, .crmed-cennik__group-name, .crmed-dojazd__name, .crmed-strip__title, .crmed-booking-list__name, .crmed-path-card .crmed-card__title, .crmed-modal__panel h2, .crmed-review__author {
	font-family: var(--font-display);
	letter-spacing: -0.015em;
	font-weight: 700;
}
h1 { letter-spacing: -0.025em; line-height: 1.06; }
.crmed-section__head h2, .crmed-sec__head h2, .crmed-split__head h2 { font-size: var(--fs-xl); line-height: 1.15; margin: 0 0 var(--space-2); }
.crmed-review__text { font-family: "Fraunces", Georgia, serif; font-style: italic; font-weight: 500; }
.crmed-container { max-width: 1200px; margin-inline: auto; padding-inline: var(--space-4); }

/* ---- Buttons (jedna rodzina) ---- */
.crmed-btn, .crmed-mydr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: .8rem 1.3rem; border-radius: var(--radius-sm); font-family: var(--font-display); font-weight: 700; font-size: .95rem; line-height: 1.1; text-decoration: none; cursor: pointer; border: 1.5px solid transparent; transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; }
.crmed-btn--primary, .crmed-mydr-btn { background: var(--crmed-grafit); color: var(--crmed-biel); }
.crmed-btn--primary:hover, .crmed-mydr-btn:hover { background: var(--crmed-grafit-hover); transform: translateY(-1px); box-shadow: var(--crmed-shadow-1); }
.crmed-btn--accent { background: var(--crmed-zolty); color: var(--crmed-grafit); }
.crmed-btn--accent:hover { background: #E9BB00; transform: translateY(-1px); box-shadow: var(--crmed-shadow-1); }
.crmed-btn--ghost { background: transparent; color: var(--crmed-grafit); border-color: rgba(23,30,38,.35); }
.crmed-btn--ghost:hover { border-color: var(--crmed-grafit); background: var(--crmed-biel); }
.crmed-btn--ghost-light { background: transparent; color: var(--crmed-biel); border-color: rgba(255,255,255,.55); }
.crmed-btn--ghost-light:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.crmed-btn--sm { padding: .5rem .85rem; font-size: .82rem; border-radius: 8px; }
.crmed-btn--lg { padding: 1rem 1.6rem; font-size: 1rem; }
.crmed-mydr-btn--ghost { background: transparent; color: var(--crmed-grafit); border-color: rgba(23,30,38,.35); }
.crmed-cta-strip .crmed-btn--ghost-light { color: var(--crmed-biel); }

/* ---- Header v2 ---- */
.crmed-header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.97); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; } /* bez backdrop-filter: tworzyłby containing block dla position:fixed panelu menu mobilnego */
.crmed-header.is-scrolled { border-bottom-color: var(--crmed-linia); box-shadow: 0 6px 24px rgba(23,30,38,.06); }
.crmed-header__row { max-width: 1200px; margin-inline: auto; min-height: var(--crmed-header-h); padding: 0 var(--space-4); display: flex; align-items: center; gap: var(--space-4); position: relative; }
.crmed-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--crmed-grafit); flex: 0 0 auto; }
.crmed-brand__img { height: 40px; width: auto; display: block; }
.crmed-brand__mark { font-family: var(--font-display); font-weight: 800; font-size: 1.55rem; letter-spacing: -0.03em; line-height: 1; display: inline-flex; align-items: baseline; }
.crmed-brand__c { color: var(--crmed-zolty); text-shadow: 0 0 0 rgba(0,0,0,0); }
.crmed-brand__plus { color: var(--crmed-rozowy); font-size: .7em; margin: 0 -1px 0 -2px; transform: translateY(-.35em); display: inline-block; }
.crmed-brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.crmed-brand__name { display: none; }
.crmed-brand__sub { font-size: .75rem; color: var(--crmed-grafit-2); letter-spacing: .02em; }
.crmed-header__actions { margin-left: auto; display: flex; align-items: center; gap: var(--space-2); flex: 0 0 auto; }
.crmed-header__phone { font-family: var(--font-display); font-weight: 700; color: var(--crmed-grafit); text-decoration: none; padding: .5rem .6rem; border-radius: 8px; font-size: .95rem; white-space: nowrap; }
.crmed-header__phone:hover { background: var(--crmed-tint); }
.crmed-header__cta { padding: .65rem 1.1rem; font-size: .9rem; }
.crmed-header__reception { background: var(--crmed-biel); color: var(--crmed-grafit); border-color: rgba(23,30,38,.28); font-weight: 600; }
.crmed-header__reception:hover { background: var(--crmed-tint); border-color: rgba(23,30,38,.5); color: var(--crmed-grafit); }
.crmed-nav__item--aux { display: none; }
.crmed-header .crmed-alerts--banner { position: relative; z-index: 1; }

/* nav */
.crmed-nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.crmed-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; align-items: center; }
.crmed-nav__item { position: static; }
.crmed-nav__link { display: inline-flex; align-items: center; gap: 4px; padding: .55rem .7rem; border-radius: 8px; font-family: var(--font-display); font-weight: 600; font-size: .92rem; color: var(--crmed-grafit); text-decoration: none; position: relative; white-space: nowrap; }
.crmed-nav__link::after { content: ""; position: absolute; left: .7rem; right: .7rem; bottom: 4px; height: 2px; background: var(--crmed-zolty); border-radius: 2px; transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.crmed-nav__item:hover > .crmed-nav__link::after, .crmed-nav__item.is-open > .crmed-nav__link::after, .crmed-nav__link:focus-visible::after { transform: scaleX(1); }
.has-mega > .crmed-nav__link { padding-right: 1.25rem; }
.has-mega > .crmed-nav__link::before { content: ""; position: absolute; right: .45rem; top: 50%; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); opacity: .6; transition: transform .18s; }
.crmed-nav__item.is-open > .crmed-nav__link::before { transform: translateY(-30%) rotate(225deg); }
.crmed-nav__toggle { display: none; }
.crmed-mega { position: absolute; left: var(--space-4); right: var(--space-4); top: calc(100% - 6px); background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); box-shadow: var(--crmed-shadow-2); padding: var(--space-5); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; z-index: 70; }
.crmed-nav__item.is-open > .crmed-mega { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
.crmed-mega__inner { display: flex; gap: var(--space-6); }
.crmed-mega__col { flex: 1 1 0; min-width: 0; }
.crmed-mega__col--aside { flex: 0 0 280px; background: var(--crmed-tint); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); }
.crmed-mega__col--aside p { font-size: .9rem; color: var(--crmed-grafit-2); margin: 0; }
.crmed-mega__col--aside .crmed-btn { align-self: flex-start; margin-top: auto; }
.crmed-mega__title { display: block; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); margin-bottom: var(--space-2); }
.crmed-mega__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.crmed-mega__list a { display: block; padding: 6px 8px; margin-left: -8px; border-radius: 6px; color: var(--crmed-grafit); text-decoration: none; font-size: .95rem; }
.crmed-mega__list a:hover { background: var(--crmed-tint); }
.crmed-mega__more a { font-weight: 700; margin-top: 6px; }
.crmed-mega__cta { font-weight: 700; color: var(--crmed-grafit); text-decoration: none; }
@media (max-width: 1240px) { .crmed-nav__link { font-size: .86rem; padding: .5rem .55rem; } .crmed-header__phone { display: none; } }
@media (max-width: 1240px) {
	.crmed-nav-toggle { display: inline-flex; }
	.crmed-header__phone { display: inline-flex; }
	.crmed-nav { display: none; }
	.crmed-header.crmed-nav-open .crmed-nav { display: block; position: fixed; left: 0; right: 0; top: var(--crmed-header-h); bottom: 0; background: var(--crmed-biel); overflow-y: auto; padding: var(--space-2) var(--space-4) var(--space-7); z-index: 65; }
	body.crmed-nav-lock { overflow: hidden; }
	.crmed-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.crmed-nav__item { display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--crmed-linia); }
	.crmed-nav__link { flex: 1 1 auto; font-size: 1.05rem; padding: .9rem 0; }
	.crmed-nav__link::after, .has-mega > .crmed-nav__link::before { display: none; }
	.crmed-nav__toggle { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; background: transparent; border: 0; cursor: pointer; }
	.crmed-nav__toggle span { width: 8px; height: 8px; border-right: 1.5px solid var(--crmed-grafit); border-bottom: 1.5px solid var(--crmed-grafit); transform: rotate(45deg); transition: transform .18s; }
	.crmed-nav__item.is-open .crmed-nav__toggle span { transform: rotate(225deg); }
	.crmed-mega { position: static; flex-basis: 100%; display: none; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: 0 0 var(--space-3); border-radius: 0; }
	.crmed-nav__item.is-open > .crmed-mega { display: block; }
	.crmed-mega__inner { flex-direction: column; gap: var(--space-3); }
	.crmed-mega__col--aside { flex-basis: auto; }
}
@media (max-width: 1240px) {
	.crmed-header__reception { display: none; }
	.crmed-nav__item--aux { display: flex; margin-top: var(--space-3); border-bottom: 0; }
	.crmed-nav__item--aux .crmed-nav__link { font-size: .95rem; color: var(--crmed-grafit-2); font-weight: 600; }
}
@media (max-width: 480px) { .crmed-header__phone { display: none; } .crmed-brand__sub { display: none; } .crmed-header__cta { padding: .55rem .8rem; font-size: .85rem; } }

/* ---- Sekcje / rytm ---- */
.crmed-section { padding-block: var(--space-6); }
.crmed-section--alt { background: var(--crmed-tint); border-top: 1px solid var(--crmed-linia); border-bottom: 1px solid var(--crmed-linia); }
.crmed-section--alt + .crmed-section--alt { border-top: 0; }
.crmed-sec { padding-block: var(--space-6); }
.crmed-sec--tint { background: var(--crmed-tint); border-top: 1px solid var(--crmed-linia); border-bottom: 1px solid var(--crmed-linia); }
.crmed-sec--tint + .crmed-sec--tint { border-top: 0; }
.crmed-sec--intro { padding-block: var(--space-5) var(--space-4); }
.crmed-sec__head { max-width: 640px; margin-bottom: var(--space-4); }
.crmed-sec__head p { color: var(--crmed-grafit-2); margin: 0; }
.crmed-sec__head--row { max-width: none; display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.crmed-more { font-weight: 700; color: var(--crmed-grafit); text-decoration: none; white-space: nowrap; }
.crmed-more:hover { text-decoration: underline; }
.crmed-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); margin: 0 0 var(--space-2); }
.crmed-kicker::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--crmed-zolty); }
.crmed-split { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--space-5); align-items: start; }
.crmed-split__head h2 { margin-bottom: var(--space-1); }
.crmed-split__head p { color: var(--crmed-grafit-2); font-size: .95rem; margin: 0; }
.crmed-prose { max-width: 68ch; color: var(--crmed-grafit-2); }
.crmed-prose p { margin: 0 0 .9em; }
.crmed-prose--lead { font-size: 1.1rem; max-width: 72ch; }
.crmed-cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.crmed-cols2--lines > .crmed-block + .crmed-block { border-left: 1px solid var(--crmed-linia); padding-left: var(--space-5); }
.crmed-block h3 { font-size: 1.05rem; margin: 0 0 var(--space-2); }
.crmed-list { padding-left: 1.1em; color: var(--crmed-grafit-2); }
.crmed-triple { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.crmed-triple__col { padding: 0 var(--space-5); }
.crmed-triple__col:first-child { padding-left: 0; }
.crmed-triple__col + .crmed-triple__col { border-left: 1px solid var(--crmed-linia); }
@media (max-width: 900px) {
	.crmed-split { grid-template-columns: 1fr; gap: var(--space-3); }
	.crmed-cols2 { grid-template-columns: 1fr; }
	.crmed-cols2--lines > .crmed-block + .crmed-block { border-left: 0; padding-left: 0; border-top: 1px solid var(--crmed-linia); padding-top: var(--space-4); }
	.crmed-triple { grid-template-columns: 1fr; gap: var(--space-4); }
	.crmed-triple__col { padding: 0; }
	.crmed-triple__col + .crmed-triple__col { border-left: 0; border-top: 1px solid var(--crmed-linia); padding-top: var(--space-4); }
}

/* ---- Hero v2 (usługa / profil / dolegliwość / hub) ---- */
.crmed-hero2 { padding-block: var(--space-3) var(--space-6); background: linear-gradient(180deg, var(--crmed-tint) 0%, var(--crmed-biel) 100%); }
.crmed-hero2__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: var(--space-6); align-items: center; }
.crmed-hero2--text .crmed-hero2__grid { grid-template-columns: minmax(0, 1fr); }
.crmed-hero2--text .crmed-hero2__body { max-width: 760px; }
.crmed-hero2__body h1 { font-size: var(--fs-3xl); margin: 0 0 var(--space-3); max-width: 18ch; text-wrap: balance; }
.crmed-hero2__sub { font-size: 1.05rem; font-weight: 600; color: var(--crmed-grafit-2); margin: -4px 0 var(--space-2); }
.crmed-hero2__lead { font-size: 1.12rem; color: var(--crmed-grafit-2); max-width: 56ch; margin: 0 0 var(--space-4); }
.crmed-hero2__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: 0 0 var(--space-4); padding: var(--space-3) 0; border-top: 1px solid var(--crmed-linia); border-bottom: 1px solid var(--crmed-linia); }
.crmed-hero2__meta dt { font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; color: var(--crmed-grafit-2); font-weight: 700; }
.crmed-hero2__meta dd { margin: 2px 0 0; font-family: var(--font-display); font-weight: 700; }
.crmed-hero2__meta .crmed-price--note { font-weight: 500; color: var(--crmed-grafit-2); font-size: .95rem; }
.crmed-hero2__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.crmed-hero2__note { font-size: .85rem; color: var(--crmed-grafit-2); margin: var(--space-2) 0 0; }
.crmed-hero2__media { position: relative; }
.crmed-hero2__media::before { content: ""; position: absolute; inset: 12% -6% -8% 10%; background: radial-gradient(closest-side, rgba(246,197,0,.22), transparent 70%); z-index: 0; pointer-events: none; }
.crmed-hero2__photo { position: relative; z-index: 1; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--crmed-shadow-2); }
.crmed-hero2--person .crmed-hero2__grid { grid-template-columns: 380px minmax(0, 1fr); }
.crmed-hero2--person .crmed-hero2__photo { aspect-ratio: 4 / 5; }
.crmed-hero2--person .crmed-photo--monogram { aspect-ratio: 4 / 5; border-radius: var(--radius-lg); font-size: 3rem; }
.crmed-hero2__strip { margin-top: var(--space-5); }
.crmed-hero2--hub { padding-bottom: var(--space-4); }
@media (max-width: 900px) {
	.crmed-hero2__grid, .crmed-hero2--person .crmed-hero2__grid { grid-template-columns: 1fr; gap: var(--space-4); }
	.crmed-hero2__media { order: -1; }
	.crmed-hero2--person .crmed-hero2__media { max-width: 320px; }
	.crmed-hero2__photo { aspect-ratio: 16 / 10; }
	.crmed-hero2__body h1 { max-width: none; }
}

/* ---- Kroki (usługa) ---- */
.crmed-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); position: relative; }
.crmed-steps::before { content: ""; position: absolute; left: 16px; right: 16px; top: 15px; height: 1px; background: var(--crmed-linia); }
.crmed-steps:has(> li:nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-6); } /* 6 kroków (ADOS-2) = 2 rzędy po 3 */
.crmed-steps:has(> li:nth-child(6))::before { display: none; }
@media (min-width: 901px) { .crmed-steps:has(> li:nth-child(6)) .crmed-steps__item::before { content: ""; position: absolute; left: 40px; right: -16px; top: 15px; height: 1px; background: var(--crmed-linia); } .crmed-steps:has(> li:nth-child(6)) .crmed-steps__item:nth-child(3n)::before { display: none; } }
.crmed-steps__item { position: relative; display: flex; flex-direction: column; gap: 4px; padding-top: 44px; }
.crmed-steps__num { position: absolute; top: 0; left: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--crmed-grafit); color: var(--crmed-biel); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: .85rem; }
.crmed-steps__item:last-child .crmed-steps__num { background: var(--crmed-zolty); color: var(--crmed-grafit); }
.crmed-steps__title { font-family: var(--font-display); font-weight: 700; }
.crmed-steps__body { font-size: .9rem; color: var(--crmed-grafit-2); }
@media (max-width: 900px) { .crmed-steps { grid-template-columns: 1fr; gap: var(--space-3); } .crmed-steps::before { left: 15px; right: auto; top: 16px; bottom: 16px; width: 1px; height: auto; } .crmed-steps__item { padding-top: 0; padding-left: 48px; min-height: 32px; } }

/* ---- Osoby (karty v2) ---- */
/* Karty specjalistów: jeden globalny komponent `.crmed-team` / `.crmed-team__item` (2026-10-05) — patrz sekcja „Zespół (home)” niżej. Dawne `.crmed-people` / `.crmed-person` usunięte. */

/* ---- Chipy, filtry ---- */
.crmed-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.crmed-chip { display: inline-flex; align-items: center; gap: 6px; padding: .55rem 1rem; border-radius: 999px; border: 1px solid var(--crmed-linia); background: var(--crmed-biel); color: var(--crmed-grafit); text-decoration: none; font-weight: 600; font-size: .9rem; transition: border-color .15s, transform .15s, background .15s; }
.crmed-chip:hover { border-color: var(--crmed-grafit); transform: translateY(-1px); }
.crmed-chip.is-active { background: var(--crmed-grafit); color: var(--crmed-biel); border-color: var(--crmed-grafit); }
.crmed-chip__n { font-size: .76rem; opacity: .7; font-family: var(--wp--preset--font-family--mono, monospace); }
.crmed-filters { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---- Wiersze usług ---- */
/* Układ 2026-10-02: kolumna ceny nie może mieć szerokości `auto` — opis ceny (.crmed-price__note) rozpychał ją
   do pełnej długości zdania i kolumna nazwy kurczyła się do 0 (nazwa nachodziła na opis). Teraz opis ma własną
   kolumnę o stałym udziale, a układ zależy od szerokości listy (container query), nie okna:
   domyślnie karta (nazwa / czas / opis / cena + Umów) → od 560 px karta z ceną i przyciskiem po prawej →
   od 1000 px pięć kolumn: nazwa · czas · opis · cena · Umów. Przeglądarka bez container queries zostaje przy karcie. */
.crmed-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--crmed-linia); container: crmed-rows / inline-size; }
.crmed-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name name" "meta meta" "note note" "price cta"; align-items: center; column-gap: var(--space-3); row-gap: 0; padding: 20px 4px; border-bottom: 1px solid var(--crmed-linia); transition: background .15s; }
.crmed-row:hover { background: var(--crmed-tint); }
.crmed-row__name { grid-area: name; font-family: var(--font-display); font-weight: 700; line-height: 1.3; color: var(--crmed-grafit); text-decoration: none; overflow-wrap: break-word; }
.crmed-row__name:hover { text-decoration: underline; }
.crmed-row__meta { grid-area: meta; margin-top: 4px; font-size: .85rem; color: var(--crmed-grafit-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.crmed-row__meta:empty { display: none; }
.crmed-row__price { display: contents; font-variant-numeric: tabular-nums; }
.crmed-row__price .crmed-price { grid-area: price; margin-top: 14px; font-weight: 700; text-align: left; }
.crmed-row__price .crmed-price__note { grid-area: note; margin-top: 8px; max-width: 68ch; font-size: .875rem; line-height: 1.5; text-align: left; overflow-wrap: break-word; }
.crmed-row__price .crmed-price--note { font-size: .875rem; font-weight: 400; line-height: 1.5; color: var(--crmed-grafit-2); }
.crmed-row__cta { grid-area: cta; margin-top: 14px; justify-self: end; }
@container crmed-rows (min-width: 560px) {
	.crmed-row { grid-template-columns: minmax(0, 1fr) fit-content(40%) auto; grid-template-areas: "name price cta" "meta meta meta" "note note note"; align-items: baseline; column-gap: var(--space-4); }
	.crmed-row__price .crmed-price { margin-top: 0; text-align: right; }
	.crmed-row__cta { margin-top: 0; }
}
@container crmed-rows (min-width: 1000px) {
	.crmed-row { grid-template-columns: minmax(0, 1fr) 84px minmax(0, 1.8fr) 128px auto; grid-template-areas: "name meta note price cta"; padding-block: 22px; }
	.crmed-row__meta, .crmed-row__price .crmed-price__note { margin-top: 0; }
	.crmed-row__price .crmed-price__note { max-width: none; }
	/* zdanie zamiast kwoty (np. „Cena ustalana indywidualnie”) zajmuje kolumny opisu i ceny */
	.crmed-rows:has(.crmed-price__note) .crmed-row__price .crmed-price--note { grid-column: note-start / price-end; }
	/* lista bez opisów (hub w trybie skróconym): bez pustej kolumny opisu */
	.crmed-rows:not(:has(.crmed-price__note)) .crmed-row { grid-template-columns: minmax(0, 1fr) 84px 128px auto; grid-template-areas: "name meta price cta"; }
}

/* ---- Pas rezerwacji ---- */
.crmed-band { margin: var(--space-6) 0; background: var(--crmed-grafit); color: var(--crmed-biel); border-radius: var(--radius-lg); padding: var(--space-5) var(--space-6); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; position: relative; overflow: hidden; }
.crmed-band::after { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(246,197,0,.35), transparent 72%); pointer-events: none; }
.crmed-band__text h2 { color: var(--crmed-biel); font-size: var(--fs-xl); margin: 0 0 4px; }
.crmed-band__text p { color: rgba(255,255,255,.75); margin: 0; }
.crmed-band__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; position: relative; z-index: 1; }
@media (max-width: 640px) { .crmed-band { padding: var(--space-4); } .crmed-band__actions .crmed-btn { flex: 1 1 100%; } }

/* ---- Cennik (dopracowanie) ---- */
.crmed-cennik__group { border-radius: var(--radius-md); }
.crmed-cennik__group > summary::after { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--crmed-linia); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: var(--crmed-grafit); }
.crmed-cennik__group[open] > summary::after { background: var(--crmed-grafit); color: var(--crmed-biel); border-color: var(--crmed-grafit); }
.crmed-cennik__row:hover { background: var(--crmed-tint); }
.crmed-cennik__name { font-family: var(--font-display); }

/* ---- Strona główna: dopracowania v2 ---- */
.crmed-section--hero { background: linear-gradient(180deg, var(--crmed-tint) 0%, var(--crmed-biel) 100%); border-bottom: 1px solid var(--crmed-linia); padding-block: var(--space-5) var(--space-6); }
.crmed-hero h1 { font-size: var(--fs-3xl); max-width: 16ch; text-wrap: balance; }
.crmed-hero__eyebrow { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.crmed-hero__eyebrow::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--crmed-zolty); }
.crmed-hero__media--photo { position: relative; }
.crmed-hero__media--photo::after { content: ""; position: absolute; inset: 14% -8% -8% 12%; background: radial-gradient(closest-side, rgba(246,197,0,.24), transparent 70%); z-index: 0; pointer-events: none; }
.crmed-hero__media--photo .crmed-photo--hero { position: relative; z-index: 1; box-shadow: var(--crmed-shadow-2); }
.crmed-hero__trust { border-top: 0; padding-top: var(--space-3); }
.crmed-path__link { background: var(--crmed-biel); border-color: var(--crmed-linia); }
.crmed-path__link:hover { border-color: var(--crmed-grafit); }
.crmed-pillars { gap: var(--space-3); }
.crmed-pillar--photo .crmed-pillar__link { padding: 0; overflow: hidden; border: 0; background: var(--crmed-biel); box-shadow: var(--crmed-shadow-1); }
.crmed-pillar__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.crmed-pillar__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.crmed-pillar--photo .crmed-pillar__link:hover .crmed-pillar__img { transform: scale(1.04); }
.crmed-pillar--photo .crmed-pillar__title { padding: var(--space-3) var(--space-3) 0; }
.crmed-pillar--photo .crmed-pillar__body { padding: 0 var(--space-3); }
.crmed-pillar--photo .crmed-pillar__foot { padding: 0 var(--space-3) var(--space-3); }
.crmed-journey__num { border-width: 1.5px; }
.crmed-strip__item { font-family: var(--font-display); }
.crmed-lab-teaser { box-shadow: var(--crmed-shadow-1); }
.crmed-facts { box-shadow: var(--crmed-shadow-1); }
.crmed-cta-strip { border-radius: var(--radius-lg); position: relative; overflow: hidden; }
.crmed-cta-strip::after { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(246,197,0,.35), transparent 72%); pointer-events: none; }
.crmed-cta-strip > * { position: relative; z-index: 1; }
.crmed-mobile-cta-bar .crmed-mydr-btn, .crmed-mobile-cta-bar .crmed-btn { flex: 1 1 0; }
.crmed-footer { border-top: 1px solid var(--crmed-linia); background: var(--crmed-tint); }
/* Strona /rejestracja/ i stopka używają dawnych klas — mapowanie na v2 */
.crmed-path-card { border: 1px solid var(--crmed-linia); }
.crmed-page__title { font-size: var(--fs-2xl); }
/* Header v2 — korekta gęstości (1440: brand + 8 pozycji + telefon + CTA nie mieściły się w 1200 px) */
.crmed-header__row { gap: var(--space-3); }
.crmed-nav__list { gap: 0; }
.crmed-nav__link { font-size: .88rem; padding: .5rem .55rem; }
.has-mega > .crmed-nav__link { padding-right: 1.1rem; }
.crmed-brand__sub { display: none; }
/* ---- HEADER FIT (2026-09-23) --------------------------------------------
   Bug (widoczny na Windows, ≥1500 px): przy ≥1500 px wracał jednocześnie
   podpis marki („Centrum Rehabilitacyjno-Medyczne · Gliwice”, ~258 px) i
   rosła typografia menu (+66 px), a wiersz nagłówka pozostawał ograniczony do
   1200 px. Nadmiar (~335 px) odbierał jedyny elastyczny element — <nav> —
   którego lista (white-space: nowrap, justify-content: center) wychodziła poza
   swoje pudełko po obu stronach i malowała się NA logo i NA przyciskach.
   Rozwiązanie: nagłówek nie powiększa typografii, szerokość wiersza rośnie
   dopiero gdy ekran naprawdę na to pozwala, pełny lockup marki wraca przy
   ≥1800 px, telefon jest w wierszu tylko tam, gdzie jest zapas. */
.crmed-nav { min-width: 0; }
.crmed-nav__list { flex-wrap: nowrap; min-width: 0; }
/* Sticky nagłówka: wrapper szablonu (header.wp-block-template-part) też jest
   sticky — dzięki temu zachowanie jest identyczne niezależnie od tego, czy
   silnik przewija <html> czy <body> (Windows/Chrome vs macOS/Safari). */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 60; }
@media (min-width: 1500px) {
	.crmed-header__row { max-width: 1360px; }
	.crmed-brand__sub { display: none; }
	.crmed-nav__list { gap: 0; }
	.crmed-nav__link { font-size: .88rem; padding: .5rem .55rem; }
	.has-mega > .crmed-nav__link { padding-right: 1.1rem; }
}
@media (min-width: 1800px) { .crmed-header__row { max-width: 1560px; } .crmed-brand__sub { display: block; } }
@media (max-width: 1499px) and (min-width: 1241px) { .crmed-header__phone { display: none; } }
@media (max-width: 1240px) { .crmed-nav__item.is-open .crmed-nav__toggle span { transform: rotate(-135deg); } }

/* =========================================================================
   HERO START — wariant C (hybrid): interaktywny punkt startowy pacjenta
   ========================================================================= */
.crmed-section--start { padding-block: var(--space-4) var(--space-6); background: linear-gradient(180deg, var(--crmed-tint) 0%, var(--crmed-biel) 100%); border-bottom: 1px solid var(--crmed-linia); }
.crmed-start__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: var(--space-6); align-items: start; }
.crmed-start__left h1 { font-size: clamp(2rem, 1.3rem + 1.9vw, 2.9rem); margin: 0 0 var(--space-2); max-width: 16ch; text-wrap: balance; }
.crmed-start__lead { font-size: 1.05rem; color: var(--crmed-grafit-2); max-width: 46ch; margin: 0 0 var(--space-4); }
.crmed-start__tabs { display: flex; flex-direction: column; gap: 8px; margin: 0 0 var(--space-4); }
.crmed-start__tab { display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; padding: 11px 14px; border: 1px solid var(--crmed-linia); border-radius: 14px; background: var(--crmed-biel); cursor: pointer; font: inherit; color: var(--crmed-grafit); transition: border-color .15s, box-shadow .15s, transform .15s; }
.crmed-start__tab:hover { border-color: var(--crmed-grafit); }
.crmed-start__tab.is-active { border-color: var(--crmed-grafit); box-shadow: inset 4px 0 0 var(--crmed-zolty), var(--crmed-shadow-1); }
.crmed-start__num { grid-row: span 2; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .76rem; color: var(--crmed-grafit-2); }
.crmed-start__t { font-family: var(--font-display); font-weight: 700; font-size: 1.02rem; letter-spacing: -0.01em; }
.crmed-start__s { font-size: .8rem; color: var(--crmed-grafit-2); }
.crmed-start__trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.crmed-start__trust li { display: flex; flex-direction: column; gap: 1px; padding: 9px 10px; border: 1px solid var(--crmed-linia); border-radius: 10px; background: var(--crmed-biel); font-size: .76rem; color: var(--crmed-grafit-2); min-width: 0; }
.crmed-start__trust b { font-family: var(--font-display); font-size: .82rem; color: var(--crmed-grafit); letter-spacing: -0.01em; }
.crmed-start__trust a { text-decoration: none; }
.crmed-start__panel { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--crmed-shadow-2); position: relative; }
.crmed-start__panel::before { content: ""; position: absolute; inset: -40px -10% auto 30%; height: 55%; background: radial-gradient(closest-side, rgba(246,197,0,.22), transparent 70%); z-index: -1; }
.crmed-start__photo { position: relative; }
.crmed-start__img { width: 100%; aspect-ratio: 16 / 5.5; object-fit: cover; object-position: center 45%; display: block; }
.crmed-start__badge { position: absolute; left: 14px; bottom: 12px; background: rgba(23,30,38,.85); color: #fff; font-size: .76rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
.crmed-start__body { padding: var(--space-3) var(--space-4) var(--space-4); }
.crmed-start__pane[hidden] { display: none; }
.crmed-start__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-3); }
.crmed-start__head b { font-family: var(--font-display); font-size: 1rem; }
.crmed-start__tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.crmed-start__tile { position: relative; display: flex; flex-direction: column; gap: 1px; padding: 11px 40px 11px 14px; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: 12px; text-decoration: none; color: var(--crmed-grafit); transition: transform .15s, box-shadow .15s, border-color .15s; }
.crmed-start__tile:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); border-color: var(--crmed-grafit); }
.crmed-start__tile-t { font-family: var(--font-display); font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; }
.crmed-start__tile-s { font-size: .76rem; color: var(--crmed-grafit-2); }
.crmed-start__tile-a { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--crmed-tint); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; transition: background .15s; }
.crmed-start__tile:hover .crmed-start__tile-a { background: var(--crmed-zolty); }
.crmed-start__groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.crmed-start__group { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; border: 1px solid var(--crmed-linia); border-radius: 12px; text-decoration: none; color: var(--crmed-grafit); background: var(--crmed-biel); transition: transform .15s, box-shadow .15s, border-color .15s; }
.crmed-start__group:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); border-color: var(--crmed-grafit); }
.crmed-start__group-t { font-family: var(--font-display); font-weight: 700; display: flex; align-items: baseline; gap: 8px; }
.crmed-start__group-t em { font-style: normal; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .76rem; color: var(--crmed-grafit-2); }
.crmed-start__group-n { font-size: .78rem; color: var(--crmed-grafit-2); }
.crmed-start__foot { display: flex; gap: 8px; flex-wrap: wrap; margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--crmed-linia); }
.crmed-start__search { display: block; position: relative; margin-bottom: var(--space-2); }
.crmed-start__search input { width: 100%; font: inherit; font-size: .95rem; padding: .75rem 1rem .75rem 2.5rem; border: 1.5px solid var(--crmed-linia); border-radius: 999px; background: var(--crmed-biel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235B6570' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat .9rem center; }
.crmed-start__search input:focus { outline: 3px solid var(--crmed-focus); outline-offset: 2px; border-color: var(--crmed-grafit); }
.crmed-start__results { list-style: none; margin: 0 0 var(--space-2); padding: 0; border: 1px solid var(--crmed-linia); border-radius: 12px; overflow: hidden; }
.crmed-start__results li a { display: block; padding: 10px 14px; text-decoration: none; font-weight: 600; font-size: .92rem; border-bottom: 1px solid var(--crmed-linia); color: var(--crmed-grafit); }
.crmed-start__results li:last-child a { border-bottom: 0; }
.crmed-start__results li a:hover { background: var(--crmed-tint); }
.crmed-start__results[hidden], .crmed-start__cats[hidden], .crmed-start__empty[hidden] { display: none; }
.crmed-start__empty { font-size: .9rem; color: var(--crmed-grafit-2); margin: 0 0 var(--space-2); }
.crmed-start__cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.crmed-start__cat { display: flex; flex-direction: column; gap: 1px; padding: 10px 12px; border: 1px solid var(--crmed-linia); border-radius: 12px; text-decoration: none; color: var(--crmed-grafit); font-family: var(--font-display); font-weight: 700; font-size: .92rem; transition: transform .15s, box-shadow .15s, border-color .15s; }
.crmed-start__cat em { font-style: normal; font-family: var(--wp--preset--font-family--mono, monospace); font-weight: 500; font-size: .75rem; color: var(--crmed-grafit-2); }
.crmed-start__cat:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); border-color: var(--crmed-grafit); }
@media (max-width: 1100px) { .crmed-start__trust { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
	.crmed-section--start { padding-block: var(--space-3) var(--space-5); }
	.crmed-start__grid { grid-template-columns: 1fr; gap: var(--space-3); }
	.crmed-start__left h1 { max-width: none; }
	.crmed-start__lead { margin-bottom: var(--space-3); }
	.crmed-start__tabs { flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--space-4)); padding-inline: var(--space-4); padding-bottom: 6px; scrollbar-width: none; margin-bottom: var(--space-2); }
	.crmed-start__tabs::-webkit-scrollbar { display: none; }
	.crmed-start__tab { flex: 0 0 76%; scroll-snap-align: start; }
	.crmed-start__trust { order: 3; grid-template-columns: repeat(2, 1fr); margin-top: var(--space-3); }
	.crmed-start__left { display: contents; }
	.crmed-start__panel { order: 2; }
	.crmed-start__img { aspect-ratio: 16 / 6; }
	.crmed-start__cats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) { .crmed-start__tiles { gap: 6px; } .crmed-start__tile { padding: 9px 34px 9px 11px; } .crmed-start__tile-t { font-size: .92rem; } .crmed-start__tile-s { font-size: .75rem; } .crmed-start__groups { grid-template-columns: 1fr; } }
/* Hero start — kompaktowanie po QA: niższe zdjęcie, mniejsze odstępy, poprawka scroll-snap zakładek na mobile */
.crmed-section--start { padding-block: var(--space-3) var(--space-5); }
.crmed-start__img { aspect-ratio: 16 / 5; }
.crmed-start__tile { padding: 10px 38px 10px 13px; }
.crmed-start__body { padding: var(--space-3) var(--space-3) var(--space-3); }
.crmed-start__trust li { padding: 8px 10px; }
@media (max-width: 900px) { .crmed-start__tabs { scroll-padding-inline: var(--space-4); } .crmed-start__tab { flex-basis: 78%; } .crmed-start__img { aspect-ratio: 16 / 6; } }
/* Hero start — micro-polish: trust jako spokojny pasek (bez 5 pudełek), kafle z zawijanym tytułem, oszczędniejsza wysokość */
.crmed-start__trust { display: flex; flex-wrap: wrap; gap: 6px 0; border-top: 1px solid var(--crmed-linia); padding-top: var(--space-3); margin-top: 2px; }
.crmed-start__trust li { border: 0; background: transparent; border-radius: 0; padding: 2px 18px 2px 0; margin-right: 18px; position: relative; font-size: .76rem; }
.crmed-start__trust li + li::before { content: ""; position: absolute; left: -18px; top: 6px; bottom: 6px; width: 1px; background: var(--crmed-linia); }
.crmed-start__trust li:last-child { padding-right: 0; margin-right: 0; }
.crmed-start__trust b { font-size: .84rem; }
.crmed-start__tile-t { white-space: normal; line-height: 1.2; }
.crmed-start__tile { min-height: 58px; justify-content: center; }
.crmed-start__tabs { gap: 6px; margin-bottom: var(--space-3); }
.crmed-start__tab { padding: 9px 13px; }
.crmed-start__left h1 { margin-bottom: 10px; }
.crmed-start__lead { margin-bottom: var(--space-3); }
.crmed-start__img { aspect-ratio: 16 / 4.6; }
@media (max-width: 900px) {
	.crmed-start__trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
	.crmed-start__trust li { flex: none; padding-right: 0; margin-right: 0; }
	.crmed-start__trust li + li::before { display: none; }
	.crmed-start__img { aspect-ratio: 16 / 6; }
}
/* Hero start — micro-polish 2: trust w 2 równych rzędach (3+2) zamiast osieroconego 5. elementu; niższe kafle i zdjęcie, żeby na 1366×768 było widać początek kolejnej sekcji */
@media (min-width: 901px) {
	.crmed-start__trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 0; }
	.crmed-start__trust li { margin-right: 0; padding-right: 14px; padding-left: 14px; }
	.crmed-start__trust li:nth-child(3n+1) { padding-left: 0; }
	.crmed-start__trust li + li::before { left: 0; }
	.crmed-start__trust li:nth-child(3n+1)::before { display: none; }
}
.crmed-start__tile { min-height: 50px; padding: 8px 36px 8px 12px; }
.crmed-start__tile-t { font-size: .95rem; }
.crmed-start__tiles { gap: 7px; }
.crmed-start__img { aspect-ratio: 16 / 4.2; }
.crmed-start__head { margin-bottom: 10px; }
.crmed-section--start { padding-bottom: var(--space-4); }
@media (max-width: 900px) { .crmed-start__img { aspect-ratio: 16 / 6; } .crmed-start__tile { min-height: 0; } }

/* =========================================================================
 * LAB-MED PAKIETY BADAŃ — ETAP 2 (hub, lista, szczegół, karty na home)
 * ========================================================================= */
.crmed-labhub__paths { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.crmed-labhub__path-link { display: flex; flex-direction: column; gap: 6px; padding: var(--space-4) var(--space-5); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); background: var(--crmed-biel); text-decoration: none; color: var(--crmed-grafit); box-shadow: var(--crmed-shadow-1); transition: transform .15s, box-shadow .15s, border-color .15s; min-height: 100%; box-sizing: border-box; }
.crmed-labhub__path-link:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); border-color: var(--crmed-grafit); }
.crmed-labhub__num { font-family: var(--wp--preset--font-family--mono, monospace); font-size: .78rem; color: var(--crmed-grafit-2); }
.crmed-labhub__title { font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; letter-spacing: -0.01em; }
.crmed-labhub__desc { color: var(--crmed-grafit-2); font-size: .95rem; }
.crmed-labhub__cta { margin-top: 6px; font-weight: 700; }
.crmed-labhub__path:nth-child(2) .crmed-labhub__path-link { border-left: 6px solid var(--crmed-zolty); }
.crmed-labhub__facts { list-style: none; margin: 0; padding: var(--space-3) 0 0; border-top: 1px solid var(--crmed-linia); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.crmed-labhub__facts li { display: flex; flex-direction: column; gap: 2px; font-size: .85rem; color: var(--crmed-grafit-2); }
.crmed-labhub__facts b { font-family: var(--font-display); color: var(--crmed-grafit); font-size: .9rem; }
.crmed-section--pak-home { padding-block: var(--space-5) var(--space-6); }
.crmed-paks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.crmed-paks--home { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.crmed-pak { min-width: 0; }
.crmed-pak[hidden] { display: none; }
.crmed-pak__link { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: var(--space-3) var(--space-4); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); background: var(--crmed-biel); text-decoration: none; color: var(--crmed-grafit); transition: transform .15s, box-shadow .15s, border-color .15s; }
.crmed-pak__link:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); border-color: var(--crmed-grafit); }
.crmed-pak__cat { font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--crmed-grafit-2); }
.crmed-pak__name { font-family: var(--font-display); font-weight: 700; font-size: 1.08rem; letter-spacing: -0.01em; text-wrap: balance; }
.crmed-pak__blurb { font-size: .88rem; color: var(--crmed-grafit-2); }
.crmed-pak__tests { font-size: .82rem; color: var(--crmed-grafit-2); }
.crmed-pak__tests b { color: var(--crmed-grafit); font-weight: 700; }
.crmed-pak__more { font-family: var(--wp--preset--font-family--mono, monospace); color: var(--crmed-grafit); }
.crmed-pak__foot { margin-top: auto; padding-top: var(--space-2); border-top: 1px solid var(--crmed-linia); display: flex; align-items: center; gap: 10px; }
.crmed-pak__price .crmed-price { font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; }
.crmed-pak__price .crmed-price--note { font-size: .8rem; color: var(--crmed-grafit-2); font-weight: 500; }
.crmed-pak__prep { font-size: .76rem; padding: 2px 8px; border-radius: 999px; background: var(--crmed-off-white); color: var(--crmed-grafit-2); }
.crmed-pak__arrow { margin-left: auto; font-weight: 700; }
.crmed-pak--home .crmed-pak__tests { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.crmed-paks__foot { margin: var(--space-4) 0 0; }
.crmed-paklist__tools { margin-bottom: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.crmed-paklist__search { position: relative; }
.crmed-paklist__search input { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); font: inherit; font-size: 1.02rem; background: var(--crmed-biel); }
.crmed-paklist__search input:focus { outline: 2px solid var(--crmed-zolty); outline-offset: 1px; }
.crmed-paklist__count { display: block; margin-top: 6px; font-size: .85rem; color: var(--crmed-grafit-2); min-height: 1.2em; }
.crmed-paklist__filters { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); align-items: center; justify-content: space-between; }
.crmed-paklist__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.crmed-paklist__chips .crmed-filter-chip { cursor: pointer; background: var(--crmed-biel); gap: 6px; }
.crmed-paklist__chips .crmed-filter-chip.is-active { background: var(--crmed-grafit); color: var(--crmed-biel); border-color: var(--crmed-grafit); }
.crmed-paklist__chips .crmed-filter-chip.is-active .crmed-chip__n { opacity: .8; }
.crmed-paklist__select { display: inline-flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--crmed-grafit-2); }
.crmed-paklist__select select { font: inherit; font-size: .9rem; padding: 8px 10px; border: 1px solid var(--crmed-linia); border-radius: var(--radius-sm, 8px); background: var(--crmed-biel); color: var(--crmed-grafit); max-width: 320px; }
.crmed-paklist__empty { padding: var(--space-4); border: 1px dashed var(--crmed-linia); border-radius: var(--radius-md); color: var(--crmed-grafit-2); }
.crmed-band--lab .crmed-band__hours { margin-top: 6px; color: rgba(255,255,255,.85); }
.crmed-band--lab .crmed-band__hours b { color: var(--crmed-biel); }
.crmed-hero2--pak .crmed-hero2__body h1 { max-width: 22ch; }
.crmed-pak-tests { list-style: none; margin: 0; padding: 0; counter-reset: pt; border-top: 1px solid var(--crmed-linia); }
.crmed-pak-tests__item { counter-increment: pt; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto auto; gap: var(--space-2) var(--space-3); align-items: center; padding: 10px 4px; border-bottom: 1px solid var(--crmed-linia); }
.crmed-pak-tests__item::before { content: counter(pt, decimal-leading-zero); font-family: var(--wp--preset--font-family--mono, monospace); font-size: .78rem; color: var(--crmed-grafit-2); }
.crmed-pak-tests__name { font-family: var(--font-display); font-weight: 700; }
.crmed-pak-tests__meta { font-size: .82rem; color: var(--crmed-grafit-2); white-space: nowrap; }
.crmed-pak-tests__link { font-size: .85rem; font-weight: 700; color: var(--crmed-grafit); text-decoration: none; white-space: nowrap; }
.crmed-pak-tests__link:hover { text-decoration: underline; text-decoration-color: var(--crmed-zolty); text-decoration-thickness: 2px; }
.crmed-pak__src { font-size: .82rem; margin-top: var(--space-3); }
.crmed-pak__back { margin: 0 0 var(--space-6); }
.crmed-pak__back a { font-weight: 700; color: var(--crmed-grafit); text-decoration: none; }
.crmed-page--pak .crmed-breadcrumb { margin-top: var(--space-3); }
@media (max-width: 1024px) { .crmed-paks--home { grid-template-columns: repeat(2, minmax(0, 1fr)); } .crmed-paks { grid-template-columns: repeat(2, minmax(0, 1fr)); } .crmed-labhub__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.crmed-labhub__paths { grid-template-columns: 1fr; }
	.crmed-paks, .crmed-paks--home { grid-template-columns: 1fr; gap: var(--space-2); }
	.crmed-paklist__filters { align-items: stretch; }
	.crmed-paklist__select { width: 100%; }
	.crmed-paklist__select select { max-width: none; flex: 1; }
	.crmed-pak-tests__item { grid-template-columns: 28px minmax(0, 1fr); }
	.crmed-pak-tests__meta, .crmed-pak-tests__link { grid-column: 2; }
	.crmed-pak-tests__meta { white-space: normal; }
}

/* LAB-MED pakiety — karta z obrazem (prototyp VISUAL PASS): obraz na górze, treść jak dotąd, CTA tekstowe */
.crmed-pak__link { padding: 0; overflow: hidden; }
.crmed-pak__body { display: flex; flex-direction: column; gap: 6px; padding: var(--space-3) var(--space-4); flex: 1; }
.crmed-pak__media { display: block; aspect-ratio: 5 / 3; overflow: hidden; background: var(--crmed-tint); border-bottom: 1px solid var(--crmed-linia); }
.crmed-pak__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.crmed-pak__link:hover .crmed-pak__img { transform: scale(1.03); }
.crmed-paks--home .crmed-pak__media { aspect-ratio: 16 / 9; }
.crmed-pak__cta { margin-left: auto; font-size: .82rem; font-weight: 700; color: var(--crmed-grafit); white-space: nowrap; }
.crmed-pak__foot { flex-wrap: wrap; row-gap: 6px; }
.crmed-pak__price .crmed-price, .crmed-pak__prep { white-space: nowrap; }
.crmed-pak__prep { line-height: 1.3; }
.crmed-pak__cta span { transition: transform .15s; display: inline-block; }
.crmed-pak__link:hover .crmed-pak__cta span { transform: translateX(3px); }
.crmed-pak__arrow { display: none; }
@media (max-width: 640px) { .crmed-paks--home .crmed-pak--media .crmed-pak__media { aspect-ratio: 2 / 1; } }

/* Hero start — FINAL zdjęcie (wariant D, portret środowiskowy): kadr ważony ku górze, żeby twarz została w wąskim pasie 16:4.2 (desktop) i 16:6 (mobile); lewa 1/3 zdjęcia to spokojna ściana */
.crmed-start__img { object-position: 50% 14%; }
@media (max-width: 900px) { .crmed-start__img { object-position: 50% 18%; } }

/* LAB-MED pakiety — mobile: obraz jako miniatura z lewej (karta ~180 px zamiast ~380 px), żeby sekcja 8 kart nie robiła się za długa */
@media (max-width: 640px) {
	.crmed-pak--media .crmed-pak__link { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: stretch; }
	.crmed-pak--media .crmed-pak__media { aspect-ratio: auto; height: 100%; min-height: 150px; border-bottom: 0; border-right: 1px solid var(--crmed-linia); }
	.crmed-pak--media .crmed-pak__img { object-position: 68% 30%; } /* grafiki kart mają motyw w prawej części kadru (spec promptów) */
	.crmed-pak--media .crmed-pak__body { padding: var(--space-3); }
	.crmed-paks--home .crmed-pak--media .crmed-pak__media { aspect-ratio: auto; }
}
/* Miniatura mobile: ilustracja wątroby jest wyśrodkowana (grafika zatwierdzona, bez zmian) → dla niej kadr centralny */
@media (max-width: 640px) { .crmed-pak[data-slug="pakiet-watrobowy"] .crmed-pak__img { object-position: 50% 40%; } }

/* =========================================================================
 * HOMEPAGE VISUAL POLISH ROUND 2 (2026-09-16) — journey, filary, zespół,
 * praktyczne informacje + opinie, kontakt, CTA, FAQ, stopka. Hero i LAB-MED
 * nietknięte (własne reguły wyżej). Zasady: mniej ramek, różnica skali,
 * świadomy whitespace, grafit + biel/off-white + żółty, Manrope, bez serif.
 * ========================================================================= */

/* ---- rytm sekcji (tylko sekcje objęte polishem) ---- */
#jak-to-dziala, #filary, #specjalisci, #zaufanie, #kontakt, #faq { padding-block: var(--space-7); }
#jak-to-dziala > .crmed-section__head, #filary > .crmed-section__head, #specjalisci > .crmed-section__head, #zaufanie > .crmed-section__head, #kontakt > .crmed-section__head, #faq > .crmed-section__head { margin-bottom: var(--space-5); }
#jak-to-dziala > .crmed-section__head h2, #filary > .crmed-section__head h2, #specjalisci > .crmed-section__head h2, #zaufanie > .crmed-section__head h2, #kontakt > .crmed-section__head h2, #faq > .crmed-section__head h2 { font-size: var(--fs-2xl); letter-spacing: -0.02em; }
@media (max-width: 900px) { #jak-to-dziala, #filary, #specjalisci, #zaufanie, #kontakt, #faq { padding-block: var(--space-6); } }

/* ---- 1. Journey: cienka oś, numery 01–05, bez chipów ---- */
.crmed-journey--v2 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-5) var(--space-5); }
.crmed-journey--v2::before { left: 0; right: 0; top: 0; height: 1px; background: var(--crmed-linia); }
.crmed-journey--v2 .crmed-journey__step { padding-top: var(--space-4); gap: 8px; }
.crmed-journey--v2 .crmed-journey__step::before { content: ""; position: absolute; top: -1px; left: 0; width: 36px; height: 2px; background: var(--crmed-grafit); }
.crmed-journey--v2 .crmed-journey__step:last-child::before { background: var(--crmed-zolty); width: 56px; }
.crmed-journey--v2 .crmed-journey__num { position: static; width: auto; height: auto; border: 0; background: transparent; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .78rem; letter-spacing: .1em; color: var(--crmed-grafit-2); display: block; }
.crmed-journey--v2 .crmed-journey__step:last-child .crmed-journey__num { background: transparent; color: var(--crmed-grafit); }
.crmed-journey--v2 .crmed-journey__title { font-size: 1.2rem; font-weight: 800; letter-spacing: -0.015em; color: var(--crmed-grafit); text-decoration: none; }
a.crmed-journey__title:hover { text-decoration: underline; text-decoration-color: var(--crmed-zolty); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.crmed-journey--v2 .crmed-journey__body { font-size: .92rem; line-height: 1.5; max-width: 26ch; }
@media (max-width: 900px) {
	.crmed-journey--v2 { grid-template-columns: 1fr; gap: 0; }
	.crmed-journey--v2::before { display: none; }
	.crmed-journey--v2 .crmed-journey__step { padding: var(--space-3) 0 var(--space-3) 56px; min-height: 0; border-top: 1px solid var(--crmed-linia); gap: 4px; }
	.crmed-journey--v2 .crmed-journey__step::before { display: none; }
	.crmed-journey--v2 .crmed-journey__step:last-child { border-bottom: 1px solid var(--crmed-linia); }
	.crmed-journey--v2 .crmed-journey__num { position: absolute; left: 0; top: calc(var(--space-3) + 5px); }
	.crmed-journey--v2 .crmed-journey__body { max-width: none; }
}

/* ---- 2. Filary: kompozycja editorial — 1 duży (Rehabilitacja) + 3 małe poziome w prawej kolumnie, bez ramek ---- */
.crmed-pillars--v2 { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: auto; gap: var(--space-4) var(--space-5); align-items: stretch; }
.crmed-pillars--v2 .crmed-pillar { min-width: 0; }
.crmed-pillars--v2 .crmed-pillar--i1 { grid-column: 1 / 8; grid-row: 1 / 4; }
.crmed-pillars--v2 .crmed-pillar--i2 { grid-column: 8 / 13; grid-row: 1; }
.crmed-pillars--v2 .crmed-pillar--i3 { grid-column: 8 / 13; grid-row: 2; }
.crmed-pillars--v2 .crmed-pillar--i4 { grid-column: 8 / 13; grid-row: 3; }
.crmed-pillars--v2 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--photo .crmed-pillar__link { padding: 0; border: 0; background: transparent; box-shadow: none; border-radius: 0; gap: 0; height: 100%; }
.crmed-pillars--v2 .crmed-pillar__link:hover { transform: none; box-shadow: none; }
.crmed-pillars--v2 .crmed-pillar__media { border-radius: var(--radius-lg); overflow: hidden; }
.crmed-pillars--v2 .crmed-pillar__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.crmed-pillars--v2 .crmed-pillar__link:hover .crmed-pillar__img { transform: scale(1.03); }
.crmed-pillars--v2 .crmed-pillar__text { display: flex; flex-direction: column; gap: 6px; }
.crmed-pillars--v2 .crmed-pillar--photo .crmed-pillar__title, .crmed-pillars--v2 .crmed-pillar--photo .crmed-pillar__body, .crmed-pillars--v2 .crmed-pillar--photo .crmed-pillar__foot { padding: 0; }
.crmed-pillars--v2 .crmed-pillar__title { font-size: 1.2rem; font-weight: 800; letter-spacing: -0.02em; }
.crmed-pillars--v2 .crmed-pillar__body { font-size: .92rem; line-height: 1.5; flex: 0 0 auto; }
.crmed-pillars--v2 .crmed-pillar__foot { display: flex; gap: var(--space-3); align-items: baseline; margin-top: 4px; }
.crmed-pillars--v2 .crmed-pillar__count { font-size: .8rem; color: var(--crmed-grafit-2); }
.crmed-pillars--v2 .crmed-pillar__cta { font-weight: 700; margin-left: auto; border-bottom: 2px solid var(--crmed-zolty); }
/* duży */
.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__link { display: flex; flex-direction: column; }
.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__media { flex: 1 1 auto; min-height: 380px; }
.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__text { padding-top: var(--space-3); }
.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__title { font-size: 1.75rem; }
.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__body { max-width: 48ch; font-size: .98rem; }
/* małe poziome */
.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__link { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--space-4); align-items: center; }
.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__media, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__media, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__media { aspect-ratio: 4 / 3; }
.crmed-pillars--v2 .crmed-pillar--i3, .crmed-pillars--v2 .crmed-pillar--i4 { border-top: 1px solid var(--crmed-linia); padding-top: var(--space-4); }
@media (max-width: 1100px) { .crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__media { min-height: 300px; } }
@media (max-width: 900px) {
	.crmed-pillars--v2 { grid-template-columns: 1fr; gap: var(--space-5); }
	.crmed-pillars--v2 .crmed-pillar--i1, .crmed-pillars--v2 .crmed-pillar--i2, .crmed-pillars--v2 .crmed-pillar--i3, .crmed-pillars--v2 .crmed-pillar--i4 { grid-column: auto; grid-row: auto; border-top: 0; padding-top: 0; }
	.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__media { min-height: 0; aspect-ratio: 16 / 9; flex: none; }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__link { display: flex; flex-direction: column; gap: 0; }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__media, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__media, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__media { aspect-ratio: 16 / 9; }
	.crmed-pillars--v2 .crmed-pillar__text { padding-top: var(--space-3); }
	.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__title { font-size: 1.35rem; }
}

/* ---- 3. Zespół: kompaktowe, lekkie karty (imię → specjalizacja → kompetencje → Profil · Umów) ---- */
/* Zespół — GLOBALNY STANDARD (2026-10-05): siatka dynamiczna; przy 1170 px kontenera = 6 kolumn (jak dotąd na stronie głównej), 1024 → 5, 768 → 3; liczba kart dowolna, bez wariantów per strona. */
.crmed-team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)); gap: var(--space-5) var(--space-3); }
.crmed-team__item { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.crmed-team__media { display: block; border-radius: var(--radius-md); overflow: hidden; background: var(--crmed-tint); }
.crmed-team__img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; display: block; transition: transform .35s ease; }
.crmed-team__item:hover .crmed-team__img { transform: scale(1.03); }
.crmed-team__body { display: flex; flex-direction: column; gap: 3px; }
.crmed-team__name { font-family: var(--font-display); font-weight: 800; font-size: 1.02rem; letter-spacing: -0.01em; color: var(--crmed-grafit); text-decoration: none; line-height: 1.25; }
.crmed-team__name:hover { text-decoration: underline; text-decoration-color: var(--crmed-zolty); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.crmed-team__role { font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--crmed-grafit-2); }
.crmed-team__text { font-size: .86rem; line-height: 1.45; color: var(--crmed-grafit-2); margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.crmed-team__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 8px; font-size: .86rem; font-weight: 700; } /* 2026-10-10: zawijanie całych etykiet (np. „Umów badanie USG” + „Umów online”) */
.crmed-team__actions > a, .crmed-team__actions > button { white-space: nowrap; }
.crmed-team__link { color: var(--crmed-grafit); text-decoration: none; border-bottom: 2px solid var(--crmed-zolty); padding-bottom: 1px; }
.crmed-team__note { display: block; margin-top: 6px; font-size: .74rem; line-height: 1.35; color: var(--crmed-grafit-2); } /* 2026-10-10: notka o osobnej rejestracji lekarza (np. RentMediX) */
.crmed-team__book { font: inherit; font-weight: 700; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: var(--crmed-grafit); text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: 4px; transition: text-decoration-color .15s; }
.crmed-team__book:hover, .crmed-team__link:hover { text-decoration: underline; text-decoration-color: var(--crmed-zolty); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.crmed-team__book:focus-visible, .crmed-team__link:focus-visible, .crmed-team__name:focus-visible { outline: 3px solid var(--crmed-focus); outline-offset: 3px; border-radius: 3px; }
@media (max-width: 1100px) { .crmed-team { gap: var(--space-5) var(--space-4); } }
@media (max-width: 640px) { .crmed-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-2); } .crmed-team__img { aspect-ratio: 1 / 1; } .crmed-team__actions { flex-wrap: wrap; gap: 10px 14px; } }

/* ---- 4. Praktyczne informacje: lista zamiast tabeli; opinie spokojniejsze, bez serif ---- */
.crmed-trust { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--space-7); }
.crmed-facts { background: transparent; border: 0; box-shadow: none; border-radius: 0; gap: 0; }
.crmed-facts__item { grid-template-columns: 1fr; gap: 3px; padding: var(--space-3) 0; border-bottom: 1px solid var(--crmed-linia); }
.crmed-facts__item:first-child { padding-top: 0; }
.crmed-facts__item:last-child { border-bottom: 0; }
.crmed-facts__k { font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--crmed-grafit-2); }
.crmed-facts__v { font-size: 1rem; line-height: 1.5; color: var(--crmed-grafit); }
.crmed-facts__v a { margin-left: 4px; border-bottom: 2px solid var(--crmed-zolty); }
.crmed-trust__reviews .crmed-reviews__head h2 { font-size: 1.05rem; letter-spacing: -0.01em; }
.crmed-trust__reviews .crmed-reviews__head { margin-bottom: var(--space-3); }
.crmed-trust__reviews .crmed-reviews__grid { gap: var(--space-3); }
.crmed-trust__reviews .crmed-review { background: var(--crmed-tint); border: 0; box-shadow: none; border-radius: var(--radius-md); padding: var(--space-4); gap: 10px; }
.crmed-trust__reviews .crmed-review__stars { font-size: .82rem; letter-spacing: 1px; }
.crmed-trust__reviews .crmed-review__text { font-family: var(--font-display); font-style: normal; font-weight: 600; font-size: 1rem; line-height: 1.5; letter-spacing: -0.005em; }
.crmed-trust__reviews .crmed-review__meta { border-top: 0; padding-top: 0; font-size: .8rem; }
.crmed-trust__reviews .crmed-review__author { font-weight: 700; }
.crmed-trust__reviews .crmed-reviews__all { font-size: .9rem; }
@media (max-width: 900px) { .crmed-trust { grid-template-columns: 1fr; gap: var(--space-5); } .crmed-facts__item { padding: var(--space-2) 0; } }

/* ---- 5. Kontakt: adres jako główny element, fakty bez pudełek ---- */
#kontakt .crmed-dojazd { gap: var(--space-7); align-items: start; }
.crmed-dojazd .crmed-eyebrow { display: none; }
.crmed-dojazd__name { font-family: var(--font-display); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); margin: 0 0 8px; }
.crmed-dojazd__address { font-family: var(--font-display); font-size: 1.7rem; font-weight: 800; letter-spacing: -0.025em; line-height: 1.15; color: var(--crmed-grafit); margin: 0 0 var(--space-5); max-width: none; }
.crmed-dojazd__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-5); margin: 0 0 var(--space-5); }
.crmed-dojazd__facts div { background: transparent; border: 0; border-top: 1px solid var(--crmed-linia); border-radius: 0; padding: var(--space-2) 0 0; }
.crmed-dojazd__facts dt { font-size: .76rem; letter-spacing: .07em; }
.crmed-dojazd__facts dd { font-size: .98rem; line-height: 1.5; }
.crmed-dojazd__fact--tel { grid-column: 1 / -1; }
.crmed-dojazd__fact--tel dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--space-4); }
.crmed-dojazd__fact--tel dd a:first-child { font-family: var(--font-display); font-size: 1.35rem; font-weight: 800; letter-spacing: -0.01em; text-decoration: none; }
.crmed-dojazd__online { font-size: .9rem; font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--crmed-zolty); }
.crmed-dojazd__actions .crmed-btn { padding-inline: 1.2rem; }
.crmed-dojazd__map { border: 1px solid var(--crmed-linia); background: var(--crmed-biel); min-height: 360px; }
.crmed-dojazd__map-load { background: radial-gradient(circle at 50% 45%, rgba(246,197,0,.16), transparent 55%), var(--crmed-biel); }
@media (max-width: 900px) { #kontakt .crmed-dojazd { gap: var(--space-4); } .crmed-dojazd__address { font-size: 1.4rem; max-width: none; } .crmed-dojazd__facts { grid-template-columns: 1fr; gap: var(--space-2); } .crmed-dojazd__map { min-height: 240px; } }

/* ---- 6. CTA band: ta sama wysokość, lepsza typografia i relacja przycisków ---- */
.crmed-cta-strip--wide { padding: var(--space-5) var(--space-6); gap: var(--space-5); margin-top: var(--space-6); }
.crmed-cta-strip--wide h2 { font-size: var(--fs-xl); letter-spacing: -0.02em; margin: 0 0 6px; }
.crmed-cta-strip--wide p { margin: 0; color: rgba(255,255,255,.72); font-size: .98rem; }
.crmed-cta-strip__actions .crmed-btn--lg { padding-inline: 1.5rem; }
.crmed-cta-strip .crmed-btn--ghost-light { border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.92); }
.crmed-cta-strip .crmed-btn--ghost-light:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); }
@media (max-width: 640px) { .crmed-cta-strip--wide { padding: var(--space-4); gap: var(--space-3); } .crmed-cta-strip__actions { width: 100%; } .crmed-cta-strip__actions .crmed-btn { flex: 1 1 100%; } }

/* ---- 7. FAQ: premium accordion ---- */
.crmed-faq--home { max-width: 840px; }
.crmed-faq details { padding: 0; border-bottom: 1px solid var(--crmed-linia); }
.crmed-faq details:first-child { border-top: 1px solid var(--crmed-linia); }
.crmed-faq summary { padding: var(--space-4) 0; font-family: var(--font-display); font-size: 1.08rem; font-weight: 700; letter-spacing: -0.01em; gap: var(--space-4); transition: color .15s; }
.crmed-faq summary:hover { color: var(--crmed-grafit-2); }
.crmed-faq summary::after { content: "+"; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--crmed-linia); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; line-height: 1; color: var(--crmed-grafit); background: var(--crmed-biel); transition: background .15s, border-color .15s, color .15s; }
.crmed-faq summary:hover::after { border-color: var(--crmed-grafit); }
.crmed-faq details[open] summary { color: var(--crmed-grafit); }
.crmed-faq details[open] summary::after { content: "–"; background: var(--crmed-grafit); border-color: var(--crmed-grafit); color: var(--crmed-biel); }
.crmed-faq details[open] { padding-bottom: var(--space-4); }
.crmed-faq p { margin: 0; padding-right: 56px; max-width: 64ch; font-size: .98rem; line-height: 1.6; }
.crmed-faq summary:focus-visible { outline: 3px solid var(--crmed-focus); outline-offset: 4px; border-radius: 6px; }
@media (max-width: 640px) { .crmed-faq summary { padding: var(--space-3) 0; font-size: 1rem; } .crmed-faq p { padding-right: 0; } }

/* ---- 8. Stopka: świadome zakończenie strony ---- */
.crmed-footer--v2 { background: var(--crmed-tint); border-top: 1px solid var(--crmed-linia); padding: var(--space-7) 0 var(--space-4); color: var(--crmed-grafit-2); font-size: .95rem; }
.crmed-footer__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .9fr); gap: var(--space-6) var(--space-5); }
.crmed-footer__brand .crmed-brand { display: inline-flex; }
.crmed-footer__desc { max-width: 36ch; margin: var(--space-3) 0; line-height: 1.55; }
.crmed-footer__social { margin: 0; }
.crmed-footer__social a { font-weight: 700; color: var(--crmed-grafit); text-decoration: none; margin-right: var(--space-3); border-bottom: 2px solid var(--crmed-zolty); }
.crmed-footer__col h3 { font-family: var(--font-display); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); margin: 0 0 var(--space-3); }
.crmed-footer__col p, .crmed-footer__col address, .crmed-footer__line { margin: 0 0 8px; font-style: normal; line-height: 1.5; display: block; }
.crmed-footer__col a { color: var(--crmed-grafit); text-decoration: none; }
.crmed-footer__col a:hover { text-decoration: underline; text-decoration-color: var(--crmed-zolty); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.crmed-footer__phone { font-family: var(--font-display); font-size: 1.2rem; font-weight: 800; letter-spacing: -0.01em; }
.crmed-footer__cta { display: inline-block; margin-top: 4px; font-weight: 700; border-bottom: 2px solid var(--crmed-zolty); }
.crmed-footer__parking { color: var(--crmed-grafit-2); }
.crmed-footer__nav { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.crmed-footer__bottom { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--crmed-linia); display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2) var(--space-4); flex-wrap: wrap; font-size: .84rem; }
.crmed-footer__bottom a { color: inherit; }
.crmed-footer__docs-row { opacity: 1; }
@media (max-width: 900px) { .crmed-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); } .crmed-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .crmed-footer--v2 { padding-top: var(--space-6); } .crmed-footer__grid { grid-template-columns: 1fr; gap: var(--space-5); } .crmed-footer__bottom { flex-direction: column; } }

/* LAB-MED = partner diagnostyczny (atrybucja raz na stronę, dyskretnie); marka pacjencka = CRMed */
.crmed-labhub__partner { margin: var(--space-2) 0 0; font-size: .8rem; color: var(--crmed-grafit-2); }


/* =========================================================================
 * HOMEPAGE FINAL MINOR FIXES (2026-09-16): 1 wyrównanie treści do osi header/footer,
 * 2 wysokość zdjęcia Rehabilitacji, 3 FAQ z blokiem pomocniczym, 4 krótszy mobile.
 * ========================================================================= */
/* 1. Gutter/kontener: sekcje strony głównej zostają full-bleed (tła), a ich treść jest w osi 1200 px
   jak header i footer (padding = (100% − 1200px) / 2, min. 24 px; mobile 16 px). Hero: tylko zewnętrzne
   wyrównanie — zdjęcie, crop, teksty, CTA i logika bez zmian. */
.home .wp-block-post-content > .crmed-section, .home main > .crmed-section { padding-inline: max(24px, calc((100% - 1200px) / 2)); }
@media (max-width: 640px) { .home .wp-block-post-content > .crmed-section, .home main > .crmed-section { padding-inline: 16px; } }

/* 2. Filary: zdjęcie Rehabilitacji max ~520 px na desktopie */
.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__media { min-height: 0; height: 520px; flex: 0 0 auto; }
@media (max-width: 1100px) { .crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__media { height: 440px; } }
/* 2a. Zdjęcie panoramiczne w dużym kaflu (klasa --wide z shortcode, np. fasada CRMed 16:9): ramka 10:7 zamiast stałej wysokości,
   żeby kadr cover nie obcinał wejścia ani końca szyldu. Poniżej 901 px obowiązują dotychczasowe proporcje (16:9 / 2:1). 2026-10-01 */
@media (min-width: 901px) { .crmed-pillars--v2 .crmed-pillar--i1.crmed-pillar--wide .crmed-pillar__media { height: auto; aspect-ratio: 10 / 7; } }

/* 3. FAQ: akordeon + spokojny blok pomocniczy po prawej */
.crmed-faq-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-7); align-items: start; }
.crmed-faq-layout .crmed-faq--home { max-width: none; }
.crmed-faq-aside { padding: var(--space-4) 0 0; border-top: 2px solid var(--crmed-grafit); }
.crmed-faq-aside h3 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 800; letter-spacing: -0.01em; margin: 0 0 var(--space-2); }
.crmed-faq-aside p { margin: 0 0 var(--space-2); color: var(--crmed-grafit-2); font-size: .95rem; line-height: 1.5; }
.crmed-faq-aside__phone a { font-family: var(--font-display); font-size: 1.35rem; font-weight: 800; color: var(--crmed-grafit); text-decoration: none; letter-spacing: -0.01em; }
.crmed-faq-aside__hours { font-size: .85rem; }
.crmed-faq-aside .crmed-btn { margin-top: var(--space-2); }
@media (max-width: 900px) { .crmed-faq-layout { grid-template-columns: 1fr; gap: var(--space-5); } .crmed-faq-aside { border-top: 1px solid var(--crmed-linia); padding-top: var(--space-4); } }

/* 4. Mobile: krótsza strona bez usuwania treści — mniejsze paddingi sekcji objętych polishem,
   filary: duży kadr 2:1, pozostałe trzy jako miniatura + tekst (jak karty pakietów), journey zwarte */
@media (max-width: 640px) {
	#jak-to-dziala, #filary, #specjalisci, #zaufanie, #kontakt, #faq { padding-block: 40px; }
	#jak-to-dziala > .crmed-section__head, #filary > .crmed-section__head, #specjalisci > .crmed-section__head, #zaufanie > .crmed-section__head, #kontakt > .crmed-section__head, #faq > .crmed-section__head { margin-bottom: var(--space-4); }
	.crmed-pillars--v2 { gap: var(--space-4); }
	.crmed-pillars--v2 .crmed-pillar--i1 .crmed-pillar__media { height: auto; aspect-ratio: 2 / 1; }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__link, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__link { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: var(--space-3); align-items: center; }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__media, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__media, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__media { aspect-ratio: 1 / 1; border-radius: var(--radius-md); }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__text, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__text, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__text { padding-top: 0; gap: 4px; }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__title, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__title, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__title { font-size: 1.05rem; }
	.crmed-pillars--v2 .crmed-pillar--i2 .crmed-pillar__body, .crmed-pillars--v2 .crmed-pillar--i3 .crmed-pillar__body, .crmed-pillars--v2 .crmed-pillar--i4 .crmed-pillar__body { font-size: .86rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.crmed-journey--v2 .crmed-journey__step { padding-block: 12px; }
	.crmed-team { gap: var(--space-3) var(--space-2); }
	.crmed-team__text { -webkit-line-clamp: 2; }
}
/* 4b. Mobile: dodatkowe oszczędności długości poza hero i kartami pakietów (stopka 2 kolumny skrótów, mapa, opinie, FAQ aside) */
@media (max-width: 640px) {
	.crmed-footer--v2 { padding-top: 40px; }
	.crmed-footer__grid { gap: var(--space-4); }
	.crmed-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px var(--space-3); }
	.crmed-footer__bottom { margin-top: var(--space-4); padding-top: var(--space-3); }
	.crmed-dojazd__map { min-height: 200px; }
	.crmed-dojazd__address { margin-bottom: var(--space-3); }
	.crmed-dojazd__facts { margin-bottom: var(--space-3); }
	.crmed-trust__reviews .crmed-review { padding: var(--space-3); }
	.crmed-trust__reviews .crmed-reviews__grid { gap: var(--space-2); }
	.crmed-faq-aside__hours { display: none; }
	.crmed-faq-aside { padding-top: var(--space-3); }
	.crmed-team__actions { margin-top: 4px; }
}

/* ============================================================
 * RYTUAŁY MASAŻU (2026-09-17) — strona /rytualy-masazu-gliwice/, pasek w hubie, cennik
 * ============================================================ */
.crmed-rit { margin-top: var(--space-3); }
.crmed-rit__facts { list-style: none; margin: 0 0 var(--space-6); padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.crmed-rit__facts li { padding: var(--space-3) var(--space-4); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); background: var(--crmed-biel); font-size: .95rem; color: var(--crmed-grafit-2); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.crmed-rit__facts b, .crmed-rit__facts .crmed-price { color: var(--crmed-grafit); font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; }
.crmed-rit__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); counter-reset: none; }
.crmed-rit__card { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); background: var(--crmed-biel); box-shadow: var(--crmed-shadow-1); scroll-margin-top: calc(var(--crmed-header-h) + 16px); position: relative; overflow: hidden; }
.crmed-rit__card::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 4px; background: var(--crmed-zolty); }
.crmed-rit__head .crmed-kicker { margin-bottom: 6px; }
.crmed-rit__name { font-family: var(--font-display); font-size: var(--fs-xl); font-weight: 800; letter-spacing: -0.02em; margin: 0 0 8px; }
.crmed-rit__char { margin: 0; font-size: 1.05rem; color: var(--crmed-grafit); max-width: 52ch; }
.crmed-rit__body { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--crmed-linia); }
.crmed-rit__label { display: block; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); margin-bottom: 6px; }
.crmed-rit__block p { margin: 0 0 8px; color: var(--crmed-grafit-2); font-size: .95rem; }
.crmed-rit__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.crmed-rit__list li { position: relative; padding-left: 18px; font-size: .95rem; color: var(--crmed-grafit-2); }
.crmed-rit__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--crmed-zolty); }
.crmed-rit__aroma .crmed-rit__label { display: inline; margin: 0 4px 0 0; }
.crmed-rit__meta { display: flex; gap: var(--space-5); margin: 0; padding-top: var(--space-3); border-top: 1px solid var(--crmed-linia); }
.crmed-rit__meta div { display: flex; flex-direction: column; gap: 2px; }
.crmed-rit__meta dt { font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); }
.crmed-rit__meta dd { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; }
.crmed-rit__meta .crmed-price { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; }
.crmed-rit__actions { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin-top: auto; }
.crmed-rit__more { flex: 1 1 100%; }
.crmed-rit__more > summary { cursor: pointer; font-weight: 600; color: var(--crmed-grafit); list-style: none; display: inline-flex; align-items: center; gap: 8px; font-size: .95rem; }
.crmed-rit__more > summary::-webkit-details-marker { display: none; }
.crmed-rit__more > summary::after { content: "+"; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--crmed-linia); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.crmed-rit__more[open] > summary::after { content: "–"; }
.crmed-rit__more .crmed-prose { margin-top: var(--space-3); font-size: .95rem; }
.crmed-rit__haslo { font-family: var(--font-display); font-weight: 700; color: var(--crmed-grafit); }
.crmed-rit__info { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--crmed-linia); }
.crmed-rit__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.crmed-rit__links a { font-weight: 600; color: var(--crmed-grafit); text-decoration: underline; text-decoration-color: var(--crmed-zolty); text-underline-offset: 4px; text-decoration-thickness: 2px; }
.crmed-rit__links a:hover { text-decoration-color: var(--crmed-grafit); }
.crmed-band--rit { margin-top: var(--space-5); }
.crmed-sec--related { padding-block: 0 var(--space-6); }
@media (max-width: 960px) { .crmed-rit__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .crmed-rit__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
	.crmed-rit__facts { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
	.crmed-rit__facts li { padding: var(--space-2) var(--space-3); }
	.crmed-rit__card { padding: var(--space-4); gap: var(--space-3); }
	.crmed-rit__body { grid-template-columns: minmax(0, 1fr); }
	.crmed-rit__meta { gap: var(--space-4); flex-wrap: wrap; }
	.crmed-rit__actions .crmed-btn { flex: 1 1 100%; }
}
.crmed-band--rit { background: var(--crmed-biel); color: var(--crmed-grafit); border: 1px solid var(--crmed-linia); box-shadow: var(--crmed-shadow-1); }
.crmed-band--rit::after { display: none; }
.crmed-band--rit .crmed-band__text h2 { color: var(--crmed-grafit); }
.crmed-band--rit .crmed-band__text p { color: var(--crmed-grafit-2); }
.crmed-rit__hero { margin: 0 0 var(--space-5); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--crmed-linia); background: var(--crmed-tint); }
.crmed-rit__hero-img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: cover; object-position: 50% 55%; }
@media (max-width: 640px) { .crmed-rit__hero { border-radius: var(--radius-md); margin-bottom: var(--space-4); } .crmed-rit__hero-img { max-height: 240px; } }
.crmed-price__label { font-family: var(--font-display); font-weight: 600; font-size: .82em; letter-spacing: 0; margin-right: 2px; }
/* Stopka prawna (art. 206 KSH) — LEGAL ROUND 1, 2026-09-17 */
.crmed-footer__legal-row { padding-top: var(--space-2); }
.crmed-footer__legal-row:empty { display: none; }
.crmed-footer__legal { display: block; font-size: .78rem; line-height: 1.5; color: var(--crmed-grafit-2); }
.crmed-hero2__note--dedicated { font-weight: 600; color: var(--crmed-grafit); }

/* Karty specjalistów — format 3 linii + O nas (TEAM TITLES, 2026-09-17) */
.crmed-team__title { font-weight: 600; color: var(--crmed-grafit-2); font-size: .9em; }
.crmed-hero2__title { display: block; font-size: .42em; font-weight: 600; letter-spacing: 0; color: var(--crmed-grafit-2); margin-bottom: 4px; }
.crmed-hero2__note--dedicated { font-weight: 600; color: var(--crmed-grafit); }
.crmed-admin-team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-4); }
.crmed-admin-team__item { display: flex; gap: var(--space-3); align-items: center; padding: var(--space-3); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); background: var(--crmed-biel); }
.crmed-admin-team__media { flex: 0 0 72px; }
.crmed-admin-team__img { width: 72px; height: 96px; object-fit: cover; border-radius: var(--radius-sm); display: block; }
.crmed-admin-team__body { display: flex; flex-direction: column; gap: 2px; }
.crmed-admin-team__name { font-family: var(--font-display); font-weight: 700; }
.crmed-admin-team__role { font-size: .85rem; color: var(--crmed-grafit-2); }
.crmed-admin-team__text { font-size: .85rem; color: var(--crmed-grafit-2); }
/* /specjalisci/ — grupy zawodowe (OWNER 2026-09-17): lekkie nagłówki, bez bannerów */
.crmed-people-group + .crmed-people-group { margin-top: var(--space-7); }
.crmed-people-group__head { display: flex; align-items: center; gap: 10px; margin: 0 0 var(--space-4); padding-bottom: var(--space-2); border-bottom: 1px solid var(--crmed-linia); font-family: var(--font-display); font-size: var(--fs-md); font-weight: 700; letter-spacing: -0.01em; }
.crmed-people-group__head::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--crmed-zolty); }
.crmed-people-group__count { font-family: var(--wp--preset--font-family--mono, monospace); font-size: .8rem; font-weight: 600; color: var(--crmed-grafit-2); padding: 2px 8px; border: 1px solid var(--crmed-linia); border-radius: 999px; }
@media (max-width: 640px) { .crmed-people-group + .crmed-people-group { margin-top: var(--space-6); } }

/* ============================================================
   Landing „Wypożyczenie Exogen” (.crmed-exo) — premium, tokeny CRMed
   ============================================================ */
.crmed-exo .crmed-hero2__body h1 { max-width: 14ch; }
.crmed-exo__hero { padding-bottom: var(--space-4); }
.crmed-exo__hero-points { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; }
.crmed-exo__hero-points li { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .95rem; color: var(--crmed-grafit); }
.crmed-exo__hero-points li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--crmed-zolty); flex: 0 0 8px; }
.crmed-exo__hero-media { position: relative; }
.crmed-exo__hero-photo { aspect-ratio: 4 / 3; }
.crmed-exo__hero-play { position: absolute; z-index: 2; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px 10px 10px; border: 0; border-radius: var(--radius-pill, 999px); background: rgba(255,255,255,.96); color: var(--crmed-grafit); font-family: var(--font-display); font-weight: 700; font-size: .92rem; line-height: 1.1; box-shadow: var(--crmed-shadow-2); cursor: pointer; text-align: left; transition: transform .15s ease, box-shadow .15s ease; }
.crmed-exo__hero-play small { display: block; font-weight: 500; color: var(--crmed-grafit-2); font-size: .78rem; margin-top: 2px; }
.crmed-exo__hero-play:hover { transform: translateY(-2px); }
.crmed-exo__play-ico { width: 40px; height: 40px; border-radius: 50%; background: var(--crmed-grafit); flex: 0 0 40px; position: relative; }
.crmed-exo__play-ico::after { content: ""; position: absolute; left: 16px; top: 12px; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent var(--crmed-zolty); }

.crmed-exo__facts { margin-top: calc(-1 * var(--space-2)); margin-bottom: var(--space-6); }
.crmed-exo__facts-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.crmed-exo__facts-grid li { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 4px; box-shadow: var(--crmed-shadow-1); }
.crmed-exo__facts-grid strong { font-family: var(--font-display); font-size: 1.02rem; letter-spacing: -.01em; }
.crmed-exo__facts-grid li > span:last-child { font-size: .86rem; color: var(--crmed-grafit-2); }
.crmed-exo__fact-ico { width: 28px; height: 28px; margin-bottom: 6px; color: var(--crmed-grafit); display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: rgba(246,197,0,.22); padding: 5px; box-sizing: border-box; }
.crmed-exo__fact-ico svg { width: 100%; height: 100%; }
.crmed-exo__fact--price { border-color: rgba(246,197,0,.7); background: linear-gradient(180deg, #FFFBE6 0%, var(--crmed-biel) 100%); }

.crmed-exo__when .crmed-sec__head, .crmed-exo__why .crmed-sec__head { max-width: 760px; }
.crmed-exo__when-grid, .crmed-exo__why-grid { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.crmed-exo__why-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.crmed-exo__when-grid li, .crmed-exo__why-grid li { background: var(--crmed-biel); border-radius: var(--radius-md); padding: 22px 22px 20px; border: 1px solid var(--crmed-linia); position: relative; }
.crmed-exo__when-grid li::before, .crmed-exo__why-grid li::before { content: ""; position: absolute; left: 22px; top: 0; width: 44px; height: 3px; background: var(--crmed-zolty); border-radius: 0 0 3px 3px; }
.crmed-exo__when-grid h3, .crmed-exo__why-grid h3 { font-size: 1.05rem; margin: 6px 0 8px; }
.crmed-exo__when-grid p, .crmed-exo__why-grid p { margin: 0; color: var(--crmed-grafit-2); font-size: .95rem; }
.crmed-exo__disclaimer { margin: var(--space-4) 0 0; font-size: .86rem; color: var(--crmed-grafit-2); max-width: 760px; padding-left: 14px; border-left: 3px solid var(--crmed-linia); }

.crmed-exo__process .crmed-sec__head { max-width: 760px; }
.crmed-exo__steps { margin-top: var(--space-4); }

.crmed-exo__video-card { display: block; width: 100%; position: relative; border: 0; padding: 0; margin: var(--space-4) 0 0; border-radius: var(--radius-lg); overflow: hidden; cursor: pointer; background: var(--crmed-grafit); box-shadow: var(--crmed-shadow-2); aspect-ratio: 16 / 9; }
.crmed-exo__video-poster { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; transition: transform .4s ease, opacity .2s ease; }
.crmed-exo__video-card:hover .crmed-exo__video-poster { transform: scale(1.02); opacity: 1; }
.crmed-exo__video-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--crmed-biel); font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.crmed-exo__video-play .crmed-exo__play-ico { width: 72px; height: 72px; flex-basis: 72px; background: rgba(255,255,255,.96); }
.crmed-exo__video-play .crmed-exo__play-ico::after { left: 29px; top: 22px; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--crmed-grafit); }

.crmed-exo__gallery-grid { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 14px; }
.crmed-exo__gallery-item { position: relative; border-radius: var(--radius-md); overflow: hidden; background: var(--crmed-tint); border: 1px solid var(--crmed-linia); }
.crmed-exo__gallery-item--tall { grid-row: span 2; }
.crmed-exo__gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.crmed-exo__gallery-item--tall img { object-fit: contain; padding: 18px; background: #fff; }
.crmed-exo__gallery-item span { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px; font-size: .82rem; color: #fff; background: linear-gradient(180deg, transparent, rgba(23,30,38,.75)); }
.crmed-exo__gallery-item--tall span { color: var(--crmed-grafit-2); background: linear-gradient(180deg, transparent, rgba(255,255,255,.95)); }

.crmed-exo__faq .crmed-split__head .crmed-btn { margin-top: var(--space-2); }
.crmed-exo__band { margin-top: var(--space-2); }
.crmed-exo__band-hours { font-size: .9rem; }
.crmed-exo__band .crmed-band__text a { color: var(--crmed-zolty); }

.crmed-exo__modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.crmed-exo__modal[hidden] { display: none; }
.crmed-exo__modal-backdrop { position: absolute; inset: 0; background: rgba(23,30,38,.88); }
.crmed-exo__modal-panel { position: relative; width: min(1100px, 100%); aspect-ratio: 16 / 9; background: #000; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--crmed-shadow-2); }
.crmed-exo__modal-video { width: 100%; height: 100%; display: block; }
.crmed-exo__modal-close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--crmed-grafit); font-size: 26px; line-height: 1; cursor: pointer; }
body.crmed-exo--modal-open { overflow: hidden; }

@media (max-width: 1000px) {
	.crmed-exo__facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.crmed-exo__why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.crmed-exo__gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 210px; }
}
@media (max-width: 640px) {
	.crmed-exo .crmed-hero2__body h1 { max-width: none; }
	.crmed-exo__hero-points { flex-direction: column; gap: 6px; }
	.crmed-exo__hero-play { left: 12px; bottom: 12px; padding: 8px 12px 8px 8px; font-size: .85rem; }
	.crmed-exo__facts { margin-top: 0; }
	.crmed-exo__facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.crmed-exo__fact--price { grid-column: 1 / -1; }
	.crmed-exo__when-grid, .crmed-exo__why-grid { grid-template-columns: 1fr; }
	.crmed-exo__gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; gap: 10px; }
	.crmed-exo__gallery-item--tall { grid-row: span 2; }
	.crmed-exo__gallery-item span { font-size: .76rem; padding: 18px 10px 8px; }
	.crmed-exo__video-play { font-size: .95rem; }
	.crmed-exo__video-play .crmed-exo__play-ico { width: 56px; height: 56px; flex-basis: 56px; }
	.crmed-exo__video-play .crmed-exo__play-ico::after { left: 22px; top: 17px; border-width: 11px 0 11px 17px; }
	.crmed-exo__modal { padding: 0; }
	.crmed-exo__modal-panel { border-radius: 0; }
	.crmed-hero2__actions .crmed-btn { flex: 1 1 100%; }
}

/* ============================================================
   Partnerzy / współpraca (strona główna, nad stopką)
   ============================================================ */
.crmed-section--partners { padding-block: var(--space-6); background: var(--crmed-biel); border-top: 1px solid var(--crmed-linia); }
.crmed-partners { display: grid; gap: var(--space-5); }
.crmed-partners__title { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--crmed-grafit-2); margin: 0 0 var(--space-3); font-weight: 800; display: flex; align-items: center; gap: 12px; }
.crmed-partners__title::after { content: ""; flex: 1; height: 1px; background: var(--crmed-linia); }
.crmed-partners__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.crmed-partners__group--sport .crmed-partners__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.crmed-partners__item { min-width: 0; }
.crmed-partners__link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; height: 132px; padding: 18px 16px 12px; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); text-decoration: none; color: var(--crmed-grafit-2); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.crmed-partners__logo { max-width: min(100%, 150px); max-height: 64px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .78; transition: filter .18s ease, opacity .18s ease; }
.crmed-partners__logo--small { max-height: 40px; max-width: 120px; }
.crmed-partners__logo--invert { filter: grayscale(1) invert(1) brightness(.35); } /* 2026-10-10: AQVITOX — oficjalne logo jest białe; odwrócenie kolorów wyłącznie w CSS (plik oryginalny) */
.crmed-partners__link:hover .crmed-partners__logo--invert, .crmed-partners__link:focus-visible .crmed-partners__logo--invert { filter: invert(1) brightness(.35); } /* logo niskiej rozdzielczości: mniejsze, proporcje zachowane, bez upscalingu */
.crmed-partners__name { font-size: .76rem; text-align: center; line-height: 1.25; }
.crmed-partners__link:hover, .crmed-partners__link:focus-visible { transform: translateY(-3px); box-shadow: var(--crmed-shadow-1); border-color: rgba(23,30,38,.25); outline: none; }
.crmed-partners__link:hover .crmed-partners__logo, .crmed-partners__link:focus-visible .crmed-partners__logo { filter: none; opacity: 1; }
@media (max-width: 1000px) { .crmed-partners__grid, .crmed-partners__group--sport .crmed-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .crmed-section--partners { padding-block: var(--space-5); } .crmed-partners__grid, .crmed-partners__group--sport .crmed-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .crmed-partners__link { height: 116px; padding: 14px 10px 10px; } .crmed-partners__logo { max-height: 48px; } }
@media (prefers-reduced-motion: reduce) { .crmed-exo__hero-play, .crmed-exo__video-poster, .crmed-partners__link { transition: none; } }

/* ---- Kontakt: mapa (placeholder prywatności) + tabela godzin ---- */
.crmed-dojazd__map { position: relative; display: flex; flex-direction: column; background: var(--crmed-biel); }
.crmed-dojazd__map-placeholder { position: relative; flex: 1; min-height: 360px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.crmed-dojazd__map-bg { position: absolute; inset: 0; background-color: #F3F4F1; background-image: linear-gradient(rgba(23,30,38,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(23,30,38,.06) 1px, transparent 1px), linear-gradient(115deg, transparent 46%, rgba(23,30,38,.09) 46%, rgba(23,30,38,.09) 50%, transparent 50%), linear-gradient(25deg, transparent 63%, rgba(23,30,38,.07) 63%, rgba(23,30,38,.07) 66%, transparent 66%); background-size: 48px 48px, 48px 48px, 100% 100%, 100% 100%; }
.crmed-dojazd__map-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 42%, rgba(246,197,0,.28), transparent 38%); }
.crmed-dojazd__map-bg .crmed-dojazd__map-pin { position: absolute; left: 50%; top: 40%; width: 22px; height: 22px; margin: -30px 0 0 -11px; transform: rotate(-45deg); border-radius: 50% 50% 50% 0; background: var(--crmed-grafit); box-shadow: 0 6px 14px rgba(23,30,38,.25); }
.crmed-dojazd__map-bg .crmed-dojazd__map-pin::after { content: ""; position: absolute; left: 7px; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--crmed-zolty); }
.crmed-dojazd__map-consent { position: relative; z-index: 1; text-align: center; background: rgba(255,255,255,.96); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); padding: 18px 20px 14px; box-shadow: var(--crmed-shadow-2); max-width: 340px; margin: 60px 16px 0; }
.crmed-dojazd__map-addr { margin: 0 0 12px; font-size: .9rem; color: var(--crmed-grafit-2); }
.crmed-dojazd__map-note { margin: 10px 0 0; font-size: .8rem; color: var(--crmed-grafit-2); }
.crmed-dojazd__map-consent .crmed-dojazd__map-load, .crmed-dojazd__map-consent .crmed-dojazd__map-load:hover { display: inline-flex; flex-direction: row; align-items: center; flex: 0 0 auto; width: auto; min-height: 46px; padding: .85rem 1.4rem; gap: 8px; border-radius: var(--radius-sm); background: var(--crmed-grafit); color: var(--crmed-biel); font-family: var(--font-display); font-weight: 700; font-size: 1rem; box-shadow: var(--crmed-shadow-1); }
.crmed-dojazd__map-consent .crmed-dojazd__map-load:hover { background: var(--crmed-grafit-hover); transform: translateY(-1px); }
.crmed-dojazd__map-consent .crmed-dojazd__map-load::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--crmed-zolty); }
.crmed-dojazd__map-frame { width: 100%; min-height: 360px; flex: 1; border: 0; display: block; }
.crmed-dojazd__map-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--crmed-linia); font-size: .82rem; color: var(--crmed-grafit-2); background: var(--crmed-biel); }
.crmed-dojazd__map-bar .crmed-btn { white-space: nowrap; flex: 0 0 auto; }
.crmed-dojazd__map-bar[hidden] { display: none; }
.crmed-dojazd__actions .crmed-btn { min-height: 44px; }
.crmed-hours__list { display: block; margin: 0; max-width: none; }
.crmed-hours__row dd { font-family: var(--font-display); white-space: nowrap; }
.crmed-hours__title { font-family: var(--font-display); }
@media (max-width: 640px) {
	.crmed-dojazd__map-placeholder { min-height: 300px; }
	.crmed-dojazd__map-consent { margin-top: 40px; padding: 14px 14px 12px; }
	.crmed-dojazd__map-frame { min-height: 300px; }
	.crmed-dojazd__actions .crmed-btn { flex: 1 1 100%; }
	.crmed-dojazd__map-bar { flex-direction: column; align-items: flex-start; }
	.crmed-dojazd__fact--tel dd a:first-child { font-size: 1.5rem; }
}

/* ===== Landing „Bark” (dolegliwość premium) ===== */
.crmed-bark__hero { padding-block: var(--space-6) var(--space-6); }
.crmed-bark__hero h1 { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.1; text-wrap: balance; margin-bottom: var(--space-3); }
.crmed-bark__hero-points { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.crmed-bark__hero-points li { font-size: .85rem; font-weight: 600; color: var(--crmed-grafit); background: var(--crmed-tint); border: 1px solid var(--crmed-linia); border-radius: 999px; padding: 6px 12px; }
.crmed-bark__hero-points li::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--crmed-zolty); margin-right: 8px; vertical-align: 1px; }
.crmed-bark__hero-photo { aspect-ratio: 16 / 10; }
.crmed-bark__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.crmed-bark__cards li { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--crmed-shadow-1); display: flex; flex-direction: column; gap: 8px; transition: transform .2s ease, box-shadow .2s ease; }
.crmed-bark__cards li:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); }
.crmed-bark__cards h3 { font-size: 1.05rem; margin: 0; }
.crmed-bark__cards p { margin: 0; color: var(--crmed-grafit-2); font-size: .93rem; }
.crmed-bark__ico { width: 44px; height: 44px; border-radius: 12px; background: var(--crmed-zolty); color: var(--crmed-grafit); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.crmed-bark__ico svg { width: 24px; height: 24px; }
.crmed-bark__causes-grid, .crmed-bark__methods-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.crmed-bark__chips { list-style: none; margin: var(--space-3) 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.crmed-bark__chips li { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: 10px; padding: 8px 14px; font-weight: 600; font-size: .9rem; }
.crmed-bark__rule { background: var(--crmed-biel); border-left: 4px solid var(--crmed-zolty); padding: 12px 16px; border-radius: 0 var(--radius) var(--radius) 0; margin: 0; }
.crmed-bark__figure { margin: 0; }
.crmed-bark__figure img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--crmed-shadow-2); display: block; }
.crmed-bark__figure--tall img { aspect-ratio: 4 / 3; }
.crmed-bark__figure figcaption { font-size: .82rem; color: var(--crmed-grafit-2); margin-top: 10px; }
.crmed-bark__hero-caption { position: relative; z-index: 1; font-size: .82rem; color: var(--crmed-grafit-2); margin: 10px 0 0; }
/* blok wyróżnienia (2026-10-09, landing pediatry) */
.crmed-award-sec { padding-block: var(--space-5); }
.crmed-award { display: flex; gap: 20px; align-items: flex-start; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-left: 4px solid var(--crmed-zolty); border-radius: var(--radius-lg); padding: 22px 26px; box-shadow: var(--crmed-shadow-1); max-width: 980px; }
.crmed-award__icon { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; background: var(--crmed-tint); color: var(--crmed-grafit); display: grid; place-items: center; }
.crmed-award__icon svg { width: 28px; height: 28px; }
.crmed-award__kicker { margin: 0 0 4px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--crmed-grafit-2); }
.crmed-award__title { margin: 0 0 8px; font-size: 1.35rem; line-height: 1.25; }
.crmed-award__text { margin: 0; color: var(--crmed-grafit); max-width: 70ch; }
.crmed-award__link { display: inline-block; margin-top: 10px; font-size: .9rem; font-weight: 600; color: var(--crmed-grafit); text-decoration: underline; text-underline-offset: 3px; }
.crmed-award__link:hover { color: var(--crmed-grafit-hover); }
@media (max-width: 600px) { .crmed-award { padding: 18px 18px 18px 16px; gap: 14px; } .crmed-award__icon { width: 44px; height: 44px; } .crmed-award__icon svg { width: 24px; height: 24px; } .crmed-award__title { font-size: 1.15rem; } } /* podpis pod zdjęciem hero — identyczny styl jak figcaption sekcji split */
.crmed-bark__methods-list { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; gap: 10px; }
.crmed-bark__methods-list li { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 12px 14px 12px 40px; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius); position: relative; }
.crmed-bark__methods-list li::before { content: ""; position: absolute; left: 14px; top: 17px; width: 14px; height: 14px; border-radius: 50%; background: var(--crmed-zolty); box-shadow: inset 0 0 0 3px var(--crmed-biel), 0 0 0 1px var(--crmed-zolty); }
.crmed-bark__methods-list strong { font-family: var(--font-display); }
.crmed-bark__methods-list span { font-size: .9rem; color: var(--crmed-grafit-2); }
.crmed-bark__why-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.crmed-bark__why-grid li { padding: var(--space-4); border-radius: var(--radius-lg); background: var(--crmed-grafit); color: var(--crmed-biel); }
.crmed-bark__why-grid h3 { color: var(--crmed-zolty); font-size: 1rem; margin: 0 0 6px; }
.crmed-bark__why-grid p { margin: 0; font-size: .92rem; color: rgba(255,255,255,.82); }
.crmed-bark__orto { margin-top: var(--space-5); background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.crmed-bark__orto h3 { margin: 0 0 4px; }
.crmed-bark__orto .crmed-kicker { margin-bottom: 4px; }
.crmed-bark__orto p { margin: 0; }
.crmed-bark__orto-cta { display: flex; gap: 10px; flex-wrap: wrap; }
.crmed-bark__band h2 { text-wrap: balance; }
@media (max-width: 1024px) {
	.crmed-bark__cards, .crmed-bark__why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.crmed-bark__hero { padding-block: var(--space-4) var(--space-5); }
	.crmed-bark__hero h1 { font-size: 1.85rem; }
	.crmed-bark__cards, .crmed-bark__why-grid, .crmed-bark__causes-grid, .crmed-bark__methods-grid { grid-template-columns: 1fr; gap: var(--space-4); }
	.crmed-bark__methods-grid .crmed-bark__figure { order: 2; }
	.crmed-bark__hero-photo { aspect-ratio: 4 / 3; }
	.crmed-bark__orto { flex-direction: column; align-items: flex-start; }
	.crmed-bark__cards li { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; padding: 14px 16px; }
	.crmed-bark__cards li .crmed-bark__ico { width: 40px; height: 40px; grid-row: 1 / 3; margin: 0; }
	.crmed-bark__cards li h3 { font-size: 1rem; align-self: end; }
	.crmed-bark__cards li p { font-size: .88rem; }
	.crmed-bark__cards li:hover { transform: none; }
}

/* ===== Landing „Kręgosłup” (współdzieli bloki .crmed-bark__*, własne .crmed-spine__*) ===== */
.crmed-spine__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.crmed-spine__alert { margin: var(--space-4) 0 0; padding: 14px 18px; border: 1px solid var(--crmed-linia); border-left: 4px solid var(--crmed-grafit); border-radius: 0 var(--radius) var(--radius) 0; background: var(--crmed-tint); font-size: .92rem; color: var(--crmed-grafit); }
.crmed-spine__segments { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); counter-reset: none; }
.crmed-spine__segments li { position: relative; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--crmed-shadow-1); display: flex; flex-direction: column; gap: 8px; }
.crmed-spine__segments li::before { content: ""; position: absolute; left: var(--space-4); right: var(--space-4); top: 0; height: 4px; border-radius: 0 0 4px 4px; background: var(--crmed-zolty); }
.crmed-spine__seg-tag { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 10px; border-radius: 12px; background: var(--crmed-grafit); color: var(--crmed-zolty); font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; letter-spacing: .02em; margin-top: 6px; }
.crmed-spine__segments h3 { margin: 0; font-size: 1.05rem; }
.crmed-spine__segments p { margin: 0; color: var(--crmed-grafit-2); font-size: .92rem; }
.crmed-spine__why-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.crmed-spine__doctors { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.crmed-spine__doctors .crmed-bark__orto { margin-top: 0; }
@media (max-width: 1024px) {
	.crmed-spine__cards, .crmed-spine__segments, .crmed-spine__why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.crmed-spine__cards, .crmed-spine__why-grid { grid-template-columns: 1fr; }
	.crmed-spine__segments { grid-template-columns: 1fr; gap: var(--space-3); }
	.crmed-spine__segments li { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; padding: 18px 16px 14px; }
	.crmed-spine__segments li .crmed-spine__seg-tag { grid-row: 1 / 3; margin-top: 0; width: 52px; min-width: 0; padding: 0; height: 40px; font-size: .95rem; }
	.crmed-spine__segments li h3 { align-self: end; }
}

/* ===== Generyczne landingi dolegliwości/usług (.crmed-cond) — timeline etapów, grid z obrazem po lewej ===== */
.crmed-cond__grid--img-left { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.crmed-cond__grid--img-left > div { order: 2; }
.crmed-cond__grid--img-left > figure { order: 1; }
.crmed-cond__timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); position: relative; }
.crmed-cond__timeline::before { content: ""; position: absolute; left: 22px; right: 22px; top: 22px; height: 2px; background: var(--crmed-linia); }
.crmed-cond__timeline li { position: relative; display: flex; flex-direction: column; gap: 10px; }
.crmed-cond__tl-num { position: relative; z-index: 1; width: 46px; height: 46px; border-radius: 50%; background: var(--crmed-grafit); color: var(--crmed-zolty); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: .95rem; box-shadow: 0 0 0 6px var(--crmed-tint); }
.crmed-cond__timeline li:last-child .crmed-cond__tl-num { background: var(--crmed-zolty); color: var(--crmed-grafit); }
.crmed-cond__timeline h3 { margin: 0 0 2px; font-size: 1.02rem; }
.crmed-cond__tl-when { margin: 0 0 6px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--crmed-grafit-2); }
.crmed-cond__timeline p { margin: 0; font-size: .9rem; color: var(--crmed-grafit-2); }
.crmed-cond__timeline + .crmed-bark__rule { margin-top: var(--space-4); background: var(--crmed-biel); }
.crmed-sec:not(.crmed-sec--tint) .crmed-cond__tl-num { box-shadow: 0 0 0 6px var(--crmed-biel); }
@media (max-width: 1024px) { .crmed-cond__timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); } .crmed-cond__timeline::before { display: none; } }
@media (max-width: 760px) {
	.crmed-cond__grid--img-left { grid-template-columns: 1fr; }
	.crmed-cond__grid--img-left > figure { order: 2; }
	.crmed-cond__timeline { grid-template-columns: 1fr; gap: var(--space-3); }
	.crmed-cond__timeline li { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; align-items: start; }
}

/* ===== .crmed-cond — przewodnik „co wybrać” + karty oferty (landingi usługowe) ===== */
.crmed-cond__choose { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.crmed-cond__choose:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; }
.crmed-cond__offer:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; } /* 2 usługi = 2 kolumny (hub Psychologia) */ /* 2 warianty = 2 kolumny (relaks: klasyczny/czekoladowy, 60/90; kamienie 60/90) */
.crmed-cond__offer:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; } /* 4 pakiety = 2×2 (onkologiczna) */
.crmed-cond__choose > li { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--crmed-shadow-1); display: flex; flex-direction: column; }
.crmed-cond__choose-img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.crmed-cond__choose-body { padding: var(--space-4); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.crmed-cond__choose-body h3 { margin: 0; font-size: 1.1rem; }
.crmed-cond__choose-lead { margin: 0; color: var(--crmed-grafit-2); font-size: .93rem; }
.crmed-cond__choose-list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 4px; font-size: .9rem; }
.crmed-cond__choose-list li { display: flex; align-items: flex-start; gap: 10px; padding: 0; margin: 0; line-height: 1.45; }
.crmed-cond__choose-list li::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; margin-top: calc(.725em - 4px); border-radius: 50%; background: var(--crmed-zolty); }
.crmed-cond__choose-list li > * { flex: 1; }
.crmed-cond__choose-body .crmed-more { margin-top: auto; padding-top: 8px; font-size: .9rem; }
.crmed-cond__offer { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.crmed-cond__offer-card { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--crmed-shadow-1); display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.crmed-cond__offer-card:hover { transform: translateY(-2px); box-shadow: var(--crmed-shadow-2); }
.crmed-cond__offer-img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.crmed-cond__offer-body { padding: var(--space-4); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.crmed-cond__offer-body h3 { margin: 0; font-size: 1.15rem; }
.crmed-cond__offer-body h3 a { color: inherit; text-decoration: none; }
.crmed-cond__offer-for { margin: 0; font-size: .88rem; color: var(--crmed-grafit-2); }
.crmed-cond__offer-desc { margin: 0; font-size: .93rem; }
.crmed-cond__offer-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.crmed-cond__offer-price { font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; }
.crmed-cond__offer-note { margin: 0; font-size: .8rem; color: var(--crmed-grafit-2); }
.crmed-cond__offer-cta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 8px; }
@media (max-width: 1024px) { .crmed-cond__choose, .crmed-cond__offer { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .crmed-cond__choose, .crmed-cond__choose:has(> li:nth-child(2):last-child), .crmed-cond__offer, .crmed-cond__offer:has(> li:nth-child(2):last-child) { grid-template-columns: 1fr; } }
.crmed-cond__grid--single { grid-template-columns: minmax(0, 760px); }

/* ===== .crmed-cond — cennik wariantów (landing usługi) ===== */
.crmed-cond__pricelist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 820px; }
.crmed-cond__pricelist li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 14px 18px; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius); }
.crmed-cond__pricelist li.is-featured { border-color: var(--crmed-zolty); box-shadow: 0 0 0 2px var(--crmed-zolty) inset; }
.crmed-cond__pl-name { display: flex; flex-direction: column; gap: 2px; }
.crmed-cond__pl-name span { font-size: .88rem; color: var(--crmed-grafit-2); }
.crmed-cond__pl-price { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; white-space: nowrap; }
.crmed-cond__pl-note { margin: var(--space-3) 0 0; font-size: .88rem; max-width: 820px; }
.crmed-cond__pl-cta { margin-top: var(--space-3); }
@media (max-width: 560px) { .crmed-cond__pricelist li { grid-template-columns: minmax(0, 1fr) auto; } .crmed-cond__pricelist li .crmed-badge { grid-column: 1; justify-self: start; } }

/* Profil współpracownika zewnętrznego (OWNER DECISION 2026-09-20) */
.crmed-hero2__collab{margin:.25rem 0 .75rem;font-size:.9375rem;color:var(--crmed-grafit-2)}

/* Hub Psychologia — blok „pomoc natychmiast” (wariant A, OWNER DECISION 2026-09-20): spokojna nota, bez CTA sprzedażowego */
.crmed-psy__crisis { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-6); align-items: start; background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-left: 4px solid var(--crmed-grafit-2); border-radius: var(--radius-lg); padding: var(--space-6); }
.crmed-psy__crisis h2 { font-size: 1.375rem; margin: 0 0 var(--space-3); }
.crmed-psy__crisis p { margin: 0; color: var(--crmed-grafit-2); }
.crmed-psy__crisis-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.crmed-psy__crisis-list li { display: grid; grid-template-columns: 6.5rem 1fr; gap: var(--space-3); align-items: baseline; padding-bottom: var(--space-3); border-bottom: 1px solid var(--crmed-linia); }
.crmed-psy__crisis-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.crmed-psy__crisis-list a { text-decoration: none; color: inherit; font-size: 1.25rem; font-family: var(--font-heading, inherit); letter-spacing: .01em; }
.crmed-psy__crisis-list span { color: var(--crmed-grafit-2); font-size: .9375rem; }
@media (max-width: 860px) { .crmed-psy__crisis { grid-template-columns: 1fr; padding: var(--space-5); } .crmed-psy__crisis-list li { grid-template-columns: 5.5rem 1fr; } }

/* Podstrony psychologii — mała nota kryzysowa (osobno od CTA) */
.crmed-sec.crmed-psy__crisis-note-sec { padding-block: var(--space-4); }
.crmed-psy__crisis-note { margin: 0; max-width: 62rem; font-size: .9375rem; color: var(--crmed-grafit-2); border-left: 3px solid var(--crmed-grafit-2); padding: var(--space-3) var(--space-4); background: var(--crmed-biel); border-radius: 0 var(--radius-md, 12px) var(--radius-md, 12px) 0; }
.crmed-psy__crisis-note a { color: inherit; text-decoration: none; }

/* karty 2×2 (opcja sekcji cards: cols => 2) */
.crmed-bark__cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; }
@media (max-width: 640px) { .crmed-bark__cards--2 { grid-template-columns: 1fr; } }

/* Rehabilitacja onkologiczna — „Wsparcie uzupełniające” (Mośny: drenaż i masaż, nie fizjoterapeutka) */
.crmed-onko__support { display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); gap: var(--space-5) var(--space-6); align-items: start; }
.crmed-onko__support-people { grid-template-columns: 1fr; }
.crmed-onko__support-text p { margin: 0 0 var(--space-3); }
.crmed-onko__support-text p:last-child { margin-bottom: 0; }
@media (max-width: 760px) { .crmed-onko__support { grid-template-columns: 1fr; } .crmed-onko__support-people { grid-template-columns: 1fr; max-width: 280px; } }

/* Zespół usługi — grid 2×2 na desktopie, 1 kolumna na mobile (wkładki: 4 osoby, decyzja właściciela 2026-09-20) */

/* Karty: kilka linków w jednej karcie (hub Rehabilitacja — „Wady postawy”: diagnostyka + gimnastyka) */
/* 2026-10-05: kilka linków w kafelku — jeden pod drugim i z zawijaniem (wcześniej drugi link w tej samej linii z nowrap wychodził poza kafel, np. „Gimnastyka korekcyjna (dzieci i młodzież)” na hubie Rehabilitacja) */
.crmed-bark__cards li .crmed-more { white-space: normal; }
.crmed-bark__cards li .crmed-more + .crmed-more { margin-left: 0; display: block; margin-top: 4px; }

/* Neurolog — sekcja „Rejestracja”: dwie karty lekarzy z osobnymi ścieżkami zapisu (Witold = MyDR, Mikołaj = telefon; OWNER 2026-09-21) */
.crmed-neuro__rej { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-5); }
.crmed-neuro__rej-card { background: var(--crmed-biel, #fff); border: 1px solid var(--crmed-linia, #e6e3dc); border-radius: 16px; padding: var(--space-5); }
.crmed-neuro__rej-card h3 { margin: 0 0 var(--space-2); font-size: 1.15rem; }
.crmed-neuro__rej-card p { margin: 0 0 var(--space-4); color: var(--crmed-szary-tekst, #55524c); }
.crmed-neuro__rej-cta { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.crmed-neuro__rej-note { margin: var(--space-4) 0 0; color: var(--crmed-szary-tekst, #55524c); font-size: .95rem; }
@media (max-width: 760px) { .crmed-neuro__rej { grid-template-columns: 1fr; } }

/* MEDIA CLEANUP 2026-09-22: monogram w karcie zespołu na home */
.crmed-team__media .crmed-photo--monogram.crmed-team__img { display: flex; aspect-ratio: 4 / 5; border-radius: 0; }
@media (max-width: 640px) { .crmed-team__media .crmed-photo--monogram.crmed-team__img { aspect-ratio: 1 / 1; } }

/* =========================================================================
   HOME POLISH — 2026-09-23 (tylko strona główna; etap 1 wdrożenia audytu wizualnego)
   Zakres: hero (realne wnętrze, mocniejszy kadr), karty zespołu bez zdjęcia,
   „Odwiedź nas” ze zdjęciem recepcji, opinie, spójność kart pakietów,
   krótszy hero i mniej przewijania na 390 px. Nie dotyka innych stron.
   ========================================================================= */

/* --- 1. HERO: bez zmian kadru — zdjęcie i jego prezentacja jak przed 23.09 (RESTORE 2026-09-23). --- */

/* Uwaga: osobnego wiersza CTA w hero nie dodajemy — na mobile działa przyklejony pasek
   `.crmed-mobile-cta-bar` (Umów wizytę + telefon), a duplikat zwiększałby liczbę CTA. */

/* --- 2. ZESPÓŁ: karta bez zdjęcia wygląda celowo (monogram nie dominuje) --- */
/* Siatka zespołu = oryginalna (RESTORE 2026-09-23). Poniższe reguły dotyczą wyłącznie kart osób BEZ zdjęcia. */
.crmed-team__item--nophoto { border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); background: var(--crmed-biel); padding: var(--space-3); transition: border-color .15s, box-shadow .15s, transform .15s; }
.crmed-team__item--nophoto:hover { border-color: var(--crmed-grafit); box-shadow: var(--crmed-shadow-1); transform: translateY(-2px); }
.crmed-team__item--nophoto .crmed-team__body { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; align-items: center; }
.crmed-team__mono { grid-column: 1; grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: .92rem; letter-spacing: .01em; color: var(--crmed-grafit-2); background: var(--crmed-tint); border: 1px solid var(--crmed-linia); }
.crmed-team__item--nophoto .crmed-team__name { grid-column: 2; align-self: end; }
.crmed-team__item--nophoto .crmed-team__role { grid-column: 2; align-self: start; }
.crmed-team__item--nophoto .crmed-team__text { grid-column: 1 / -1; margin-top: 10px; -webkit-line-clamp: 3; }
.crmed-team__item--nophoto .crmed-team__actions { grid-column: 1 / -1; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--crmed-linia); }
@media (max-width: 1100px) { .crmed-team__item--nophoto .crmed-team__text { -webkit-line-clamp: 2; } }
@media (max-width: 640px) {
	.crmed-team__item--nophoto .crmed-team__body { grid-template-columns: 1fr; }
	.crmed-team__mono { grid-row: auto; width: 36px; height: 36px; font-size: .82rem; margin-bottom: 4px; }
	.crmed-team__item--nophoto .crmed-team__name, .crmed-team__item--nophoto .crmed-team__role { grid-column: 1; }
	.crmed-team__item--nophoto .crmed-team__text { margin-top: 8px; }
	.crmed-team__item--nophoto .crmed-team__actions { margin-top: 10px; padding-top: 8px; }
}

/* --- 3. ODWIEDŹ NAS: zdjęcie realnego miejsca obok danych i mapy --- */
.crmed-dojazd--photo { grid-template-columns: 1.05fr .95fr; align-items: start; }
/* Home „Odwiedź nas” bez zdjęcia (2026-10-01): mapa zajmuje prawą kolumnę; te same szerokości kolumn co wcześniej (dane | mapa), bez zmian w samej mapie */
@media (min-width: 781px) { #kontakt .crmed-dojazd:not(.crmed-dojazd--photo) { grid-template-columns: 1.05fr .95fr; } }
.crmed-dojazd--photo .crmed-dojazd__info { grid-column: 1; grid-row: 1 / span 2; }
.crmed-dojazd__photo { grid-column: 2; grid-row: 1; position: relative; margin: 0 0 var(--space-3); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--crmed-linia); }
.crmed-dojazd__img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 12%; }  /* kadr tak, by logo CRMed na ścianie było widoczne */
.crmed-dojazd__photo figcaption { position: absolute; left: 14px; bottom: 12px; right: 14px; color: #fff; font-size: .78rem; font-weight: 600; text-shadow: 0 1px 8px rgba(23,30,38,.7); }
.crmed-dojazd__photo::after { content: ""; position: absolute; inset: auto 0 0 0; height: 55%; background: linear-gradient(to top, rgba(23,30,38,.6), transparent); pointer-events: none; }
.crmed-dojazd--photo .crmed-dojazd__map { grid-column: 2; grid-row: 2; min-height: 240px; }

/* --- 4. OPINIE: prezentacja cytatu (bez dopisywania ocen i źródeł) --- */
.crmed-trust__reviews .crmed-review { background: var(--crmed-biel); border: 1px solid var(--crmed-linia); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4) var(--space-3); position: relative; }
.crmed-trust__reviews .crmed-review::before { content: "”"; position: absolute; top: -6px; left: 14px; font-family: "Fraunces", Georgia, serif; font-size: 3.2rem; line-height: 1; color: var(--crmed-zolty); opacity: .9; }
.crmed-trust__reviews .crmed-review__text { font-size: 1.02rem; line-height: 1.5; padding-top: 14px; }
.crmed-trust__reviews .crmed-review__meta { border-top: 0; padding-top: var(--space-2); font-size: .8rem; }
.crmed-trust__reviews .crmed-review__author { font-weight: 700; }
.crmed-trust__reviews .crmed-review__source { opacity: .8; }

/* --- 5. PAKIETY NA HOME: zdjęcia kart przywrócone (RESTORE 2026-09-23) — bez zmian wobec stanu sprzed 23.09. --- */

/* --- 6. MOBILE: krótszy hero, mniej przewijania --- */
@media (max-width: 900px) {
	.crmed-start__tabs { margin-bottom: var(--space-3); }
	.crmed-start__tab { flex-basis: 70%; }
	.crmed-start__tabs { -webkit-mask-image: linear-gradient(to right, #000 86%, rgba(0,0,0,.15)); mask-image: linear-gradient(to right, #000 86%, rgba(0,0,0,.15)); }
	.crmed-dojazd--photo { grid-template-columns: 1fr; }
	.crmed-dojazd--photo .crmed-dojazd__photo { grid-column: 1; grid-row: 1; }
	.crmed-dojazd--photo .crmed-dojazd__info { grid-column: 1; grid-row: 2; }
	.crmed-dojazd--photo .crmed-dojazd__map { grid-column: 1; grid-row: 3; }
}
@media (max-width: 600px) {
	.home .crmed-section { padding-block: var(--space-4); }
	.home .crmed-section__head { margin-bottom: var(--space-3); }
	.crmed-section--start { padding-block: var(--space-2) var(--space-4); }
	.crmed-start__lead { margin-bottom: var(--space-2); }
	.crmed-start__tabs { margin-bottom: var(--space-2); }
	.crmed-start__body { padding: var(--space-2) var(--space-3) var(--space-3); }
	.crmed-start__trust { margin-top: var(--space-2); }
	.crmed-start__tiles { gap: 5px; }
	.crmed-start__tile { padding: 8px 32px 8px 11px; }
	.crmed-start__tile-t { font-size: .88rem; line-height: 1.2; }
	.crmed-start__tile-s { font-size: .72rem; }
	.crmed-start__trust { grid-template-columns: repeat(2, 1fr); gap: 6px; }
	.crmed-start__trust li { padding: 7px 9px; }
	.crmed-team__item--nophoto { padding: var(--space-2) var(--space-3); }
	.crmed-dojazd__img { aspect-ratio: 16 / 11; }
}

/* --- Rejestracja: tryb awaryjny MyDR (2026-10-01) — tylko blok komunikatu na /rejestracja/ --- */
.crmed-rejestracja__notice { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin: 0 0 var(--space-5); padding: var(--space-4) var(--space-5); background: var(--crmed-off-white); border: 1px solid var(--crmed-linia); border-left: 4px solid var(--crmed-zolty); border-radius: var(--radius-md); max-width: 780px; }
.crmed-rejestracja .crmed-rejestracja__notice-text { margin: 0; font-size: 1.1rem; line-height: 1.5; color: var(--crmed-grafit); font-weight: 600; }
.crmed-rejestracja__notice-contact { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--space-4); }
.crmed-rejestracja__notice-phone { font-family: var(--font-display); font-size: 1.7rem; font-weight: 800; letter-spacing: -0.02em; color: var(--crmed-grafit); text-decoration: none; white-space: nowrap; }
.crmed-rejestracja__notice-phone:hover { text-decoration: underline; }
.crmed-rejestracja__notice-hours { font-size: 1.05rem; font-weight: 600; color: var(--crmed-grafit-2); white-space: nowrap; }
@media (max-width: 640px) { .crmed-rejestracja__notice { padding: var(--space-4); } .crmed-rejestracja__notice .crmed-btn { align-self: stretch; box-sizing: border-box; justify-content: center; text-align: center; } .crmed-rejestracja__notice-phone { font-size: 1.5rem; } }
/* „Zadzwoń do recepcji” w nagłówku i dolnym pasku: na najwęższych ekranach zostaje „Zadzwoń”, żeby nie wypchnąć ikony menu */
@media (max-width: 350px) { .crmed-header__cta .crmed-cta-more { display: none; } }
@media (max-width: 380px) { .crmed-mobile-cta-bar .crmed-cta-more { display: none; } }

/* ==========================================================================
   PAKIET SEO 2026-10-05 — ścieżka pacjenta na podstronach, „Nie wiesz, od czego zacząć?”, notka merytoryczna.
   Reużywa .crmed-journey--v2 (strona główna) i .crmed-lab-teaser — bez nowego języka wizualnego.
   ========================================================================== */
.crmed-journey__links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.crmed-journey--page .crmed-journey__body { max-width: none; }
.crmed-helpbox { margin-top: var(--space-6); }
.crmed-helpbox .crmed-helpbox__body { font-size: var(--fs-sm); color: var(--crmed-grafit-2); max-width: 64ch; padding: 0; }
.crmed-helpbox__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.crmed-review-note { font-size: var(--fs-sm); margin: var(--space-5) 0 0; }
@media (max-width: 600px) { .crmed-helpbox__actions { width: 100%; } .crmed-helpbox__actions .crmed-btn { flex: 1 1 100%; box-sizing: border-box; } }
.crmed-journey-head { margin-top: var(--space-7); }
/* Ścieżka pacjenta wstawiona w treść zwykłej strony (np. „O nas”) — odstęp od nagłówka, żeby linia nie nachodziła na H2 */
.crmed-page__content .crmed-journey { margin-top: var(--space-5); margin-bottom: var(--space-3); }

/* 2026-10-05 FINAL: /lekarze/ + notka „Treść merytoryczna” przed FAQ */
.crmed-doctors__sec { margin-top: var(--space-7); }
.crmed-doctors__sec > h2 { margin-top: 0; }
.crmed-doctors__sec .crmed-bark__cards, .crmed-doctors__sec .crmed-team { margin-top: var(--space-4); }
.crmed-doctors .crmed-team li, .crmed-doctors .crmed-bark__cards li { max-width: none; }
.crmed-doctors__more { margin-top: var(--space-6); font-size: var(--fs-sm); }
.crmed-review-wrap .crmed-review-note { margin: var(--space-5) 0; }
@media (max-width: 640px) {
	/* 2026-10-05: link karty pod tekstem (nie w kolumnie ikony); karty bez ikony = zwykła kolumna */
	.crmed-bark__cards li .crmed-bark__ico ~ .crmed-more { grid-column: 2; }
	.crmed-bark__cards li:not(:has(.crmed-bark__ico)) { display: flex; flex-direction: column; gap: 6px; }
	.crmed-bark__cards li:not(:has(.crmed-bark__ico)) h3 { align-self: auto; }
}

/* 2026-10-06: dodatkowe sekcje profilu specjalisty (wyróżnienie, obszary pracy, „Kiedy warto”) */
.crmed-distinction { justify-content: flex-start; flex-wrap: nowrap; }
.crmed-distinction__ico { flex: 0 0 auto; color: var(--crmed-grafit); }
.crmed-distinction__ico .crmed-bark__ico { width: 44px; height: 44px; margin: 0; }
.crmed-distinction__body { display: block; color: var(--crmed-grafit-2); max-width: 70ch; }
.crmed-distinction__src { display: block; font-size: var(--fs-xs); color: var(--crmed-grafit-2); margin-top: 6px; }
.crmed-spec-extra__head { margin-top: var(--space-7); }
.crmed-spec-when { columns: 2; column-gap: var(--space-6); }
.crmed-spec-when li { break-inside: avoid; }
.crmed-spec-when__note { font-size: var(--fs-sm); margin-top: var(--space-4); }
.crmed-spec-links__h { margin-top: var(--space-6); font-size: var(--fs-md); }
.crmed-spec-links__more { margin-top: var(--space-3); font-size: var(--fs-sm); }
.crmed-lab-peds { margin-top: var(--space-4); font-size: var(--fs-sm); }
@media (max-width: 640px) { .crmed-spec-when { columns: 1; } .crmed-distinction { flex-direction: column; align-items: flex-start; } }
