/* ==========================================================================
   Medika – Grupa LUX MED · main.css
   Tokeny 1:1 z Figmy (kolekcje „LUX MED / Kolory” i „LUX MED / Wymiary”).
   WP: tokeny → theme.json (settings.color.palette / spacing / custom),
       komponenty (.c-*) → bloki/partiale motywu.
   ========================================================================== */

/* ---------- 1. Tokeny ---------- */
:root {
  /* Function */
  --lx-primary: #005AA9;
  --lx-primary-hover: #004C8E;
  --lx-primary-pressed: #004078;
  /* Brand */
  --lx-green: #00AC35;
  --lx-green-hover: #178833;
  --lx-green-dark: #0B882B;
  /* Text */
  --lx-text: #000000;
  --lx-text-secondary: #5F6B7D;
  --lx-text-grey: #757575;
  --lx-text-link: #005AA9;
  --lx-text-on-color: #FFFFFF;
  /* Background */
  --lx-bg: #FFFFFF;
  --lx-bg-blue: #F7FAFD;
  --lx-bg-alice: #EFF7FF;
  --lx-bg-blue-hover: #DFEFFF;
  --lx-bg-grey: #F8F8F8;
  --lx-bg-navy: #004078;
  --lx-tag-new: #E1FFEC;
  /* Shade */
  --lx-stroke: #E0E0E0;
  --lx-stroke-medium: #ECECEC;
  --lx-disabled: #BBBBBB;
  --lx-error: #C32526;

  /* Radius */
  --r-s: 8px; --r-m: 16px; --r-l: 20px; --r-xl: 32px; --r-pill: 56px;
  /* Shadow */
  --sh-lower: 0 4px 12px rgba(0,0,0,.15);
  --sh-center: 0 0 16px rgba(0,0,0,.10);
  --sh-blue: 8px 8px 48px #E3ECF6;

  /* Typografia – nagłówki docelowo GT Walsheim (licencja LUX MED).
     Po dodaniu webfontu wystarczy podmienić --font-heading. */
  --font-heading: "GT Walsheim", "GT Walsheim Pro", "DM Sans", system-ui, sans-serif;
  --font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Layout */
  --container: 1140px;
  --gutter: 16px;
  --section-y: 96px;
  --header-h: 88px;
}
@media (max-width: 767px) {
  :root { --section-y: 48px; --header-h: 72px; }
}

/* ---------- 2. Reset / baza ---------- */
*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--lx-bg); color: var(--lx-text);
  font: 400 16px/1.6 var(--font-body);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--lx-text-link); text-decoration: none; }
a:hover { text-decoration: underline; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--lx-green); outline-offset: 2px; border-radius: 4px; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); margin: 0; color: inherit; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
.icon { width: 24px; height: 24px; flex: none; fill: currentColor; }
.icon--16 { width: 16px; height: 16px; }
.icon--20 { width: 20px; height: 20px; }
.icon--32 { width: 32px; height: 32px; }
.icon--48 { width: 48px; height: 48px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: 16px; top: -60px; background: var(--lx-primary); color: #fff; padding: 8px 16px; border-radius: var(--r-s); z-index: 100; }
.skip-link:focus { top: 8px; }

/* ---------- 3. Typografia (style tekstu z Figmy) ---------- */
.t-h1 { font: 700 44px/52px var(--font-heading); }
.t-h1--xl { font-size: 56px; line-height: 64px; }
.t-h2 { font: 700 35px/42px var(--font-heading); }
.t-h3 { font: 500 30px/36px var(--font-heading); letter-spacing: .03em; }
.t-h4 { font: 500 23px/30px var(--font-heading); letter-spacing: .03em; }
.t-h5 { font: 500 20px/26px var(--font-heading); letter-spacing: .03em; }
.t-h6 { font: 500 18px/24px var(--font-heading); letter-spacing: .03em; }
.t-intro { font: 600 18px/24px var(--font-body); }
.t-lead { font: 400 18px/30px var(--font-body); }
.t-body { font: 400 16px/30px var(--font-body); letter-spacing: .03em; }
.t-l { font: 400 16px/24px var(--font-body); }
.t-m { font: 400 14px/22px var(--font-body); }
.t-s { font: 400 12px/16px var(--font-body); }
.t-bold { font-weight: 700; }
.t-muted { color: var(--lx-text-secondary); }
.t-grey { color: var(--lx-text-grey); }
.t-green { color: var(--lx-green-dark); }
.t-primary { color: var(--lx-primary); }
@media (max-width: 767px) {
  .t-h1, .t-h1--xl { font-size: 34px; line-height: 40px; }
  .t-h2 { font-size: 26px; line-height: 32px; }
  .t-h3 { font-size: 23px; line-height: 30px; }
  .t-h4 { font-size: 20px; line-height: 26px; }
  .t-lead { font-size: 16px; line-height: 26px; }
  .t-body { font-size: 15px; line-height: 26px; }
}

/* ---------- 4. Layout ---------- */
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: var(--section-y) 0; }
.section--blue { background: var(--lx-bg-blue); }
.section--tight-top { padding-top: 24px; }
.section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 40px; }
.section__head > div { display: grid; gap: 16px; max-width: 720px; }
.section__head--center { flex-direction: column; align-items: center; text-align: center; }
.section__head--center > div { justify-items: center; }
.grid { display: grid; gap: 24px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1099px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .grid { gap: 12px; }
  .grid--2, .grid--3 { grid-template-columns: 1fr; }
  .section__head { flex-direction: column; align-items: flex-start; margin-bottom: 24px; }
}

/* ---------- 5. Przyciski (komponent „Button”) ---------- */
.c-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; padding: 8px 24px; border-radius: 20px; border: 1px solid transparent;
  font: 400 14px/20px var(--font-body); text-decoration: none !important; white-space: nowrap;
  transition: background-color .15s, border-color .15s, color .15s;
}
.c-btn--l { min-height: 48px; padding: 12px 32px; border-radius: 24px; font-size: 16px; line-height: 24px; }
.c-btn--primary { background: var(--lx-primary); color: #fff; }
.c-btn--primary:hover { background: var(--lx-primary-hover); }
.c-btn--primary:active { background: var(--lx-primary-pressed); }
.c-btn--secondary { background: #fff; color: var(--lx-primary); border-color: var(--lx-primary); }
.c-btn--secondary:hover { background: var(--lx-bg-blue); }
.c-btn--white { background: #fff; color: var(--lx-primary); }
.c-btn--white:hover { background: var(--lx-bg-alice); }
.c-btn--block { width: 100%; }
.c-btn .icon { width: 20px; height: 20px; }

/* Link z ikoną */
.c-link { display: inline-flex; align-items: center; gap: 4px; font: 700 14px/22px var(--font-body); color: var(--lx-text-link); }
.c-link .icon { width: 16px; height: 16px; transition: transform .15s; }
.c-link:hover .icon { transform: translateX(3px); }
.c-link--light { color: #fff; font-weight: 400; font-size: 16px; }

/* Tagi / pigułki */
.c-tag { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: var(--r-pill); font: 700 12px/16px var(--font-body); }
.c-tag--green { background: var(--lx-tag-new); color: var(--lx-green-dark); }
.c-tag--blue { background: var(--lx-bg-alice); color: var(--lx-primary); font-weight: 400; }
.c-tag--solid { background: var(--lx-green); color: #fff; padding: 6px 14px; }
.c-chip { display: inline-flex; padding: 10px 18px; border-radius: 24px; border: 1px solid var(--lx-stroke); background: #fff; font: 400 14px/22px var(--font-body); color: var(--lx-text); }
button.c-chip:hover { border-color: var(--lx-primary); }
.c-chip.is-active { background: var(--lx-primary); border-color: var(--lx-primary); color: #fff; }
.c-chips { display: flex; flex-wrap: wrap; gap: 12px; }

/* Kółko z ikoną */
.c-icon-circle { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--lx-bg-alice); color: var(--lx-primary); flex: none; }
.c-icon-circle--primary { background: var(--lx-primary); color: #fff; }
.c-icon-circle--white { background: #fff; }
.c-icon-circle--40 { width: 40px; height: 40px; }
.c-icon-circle--56 { width: 56px; height: 56px; }

/* Lista z ptaszkiem (komponent „Lista / Check item”) */
.c-checklist { display: grid; gap: 16px; }
.c-checklist--2col { grid-template-columns: 1fr 1fr; column-gap: 16px; }
.c-checklist li { display: flex; gap: 12px; font: 400 16px/24px var(--font-body); }
.c-checklist li::before {
  content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%;
  background: var(--lx-tag-new) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%230B882B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}
@media (max-width: 767px) { .c-checklist--2col { grid-template-columns: 1fr; } }

/* ---------- 6. Header ---------- */
.c-topbar { background: var(--lx-bg-blue); font: 400 12px/16px var(--font-body); }
.c-topbar .container { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 24px; }
.c-topbar__info { color: var(--lx-text-secondary); }
.c-topbar__links { display: flex; align-items: center; gap: 24px; }
.c-topbar__links a { color: var(--lx-text); display: inline-flex; align-items: center; gap: 6px; }
.c-topbar__links a.t-primary { color: var(--lx-primary); font-weight: 700; }
.c-topbar__a11y { color: var(--lx-text-secondary); display: flex; gap: 8px; }
.c-topbar__a11y button { background: none; border: 0; padding: 0; color: inherit; font-size: 12px; }

.c-header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: var(--sh-center); }
.c-header .container { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); gap: 24px; }
.c-logo { display: flex; align-items: center; gap: 16px; text-decoration: none !important; }
.c-logo__wordmark { font: 700 34px/1 var(--font-heading); color: var(--lx-primary); letter-spacing: -.5px; }
.c-logo__divider { width: 1px; height: 36px; background: var(--lx-stroke); }
.c-logo__group { height: 36px; width: auto; }
.c-nav { display: flex; align-items: center; gap: 28px; }
.c-nav > li { position: relative; }
.c-nav > li > a { display: inline-flex; align-items: center; gap: 4px; font: 600 14px/24px var(--font-body); color: var(--lx-text); padding: 32px 0; text-decoration: none; }
.c-nav > li > a:hover, .c-nav > li > a[aria-current="page"] { color: var(--lx-primary); }
.c-nav > li > a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--lx-primary); }
.c-nav__sub {
  position: absolute; top: 100%; left: -24px; min-width: 560px; padding: 24px; border-radius: 0 0 var(--r-l) var(--r-l);
  background: #fff; box-shadow: var(--sh-lower); display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: .15s;
}
.c-nav > li:hover .c-nav__sub, .c-nav > li:focus-within .c-nav__sub { opacity: 1; visibility: visible; transform: none; }
.c-nav__sub a { display: block; padding: 8px 12px; border-radius: var(--r-s); color: var(--lx-text); font-size: 14px; }
.c-nav__sub a:hover { background: var(--lx-bg-alice); color: var(--lx-primary); text-decoration: none; }
.c-nav__sub .c-nav__all { grid-column: 1 / -1; font-weight: 700; color: var(--lx-primary); border-top: 1px solid var(--lx-stroke-medium); border-radius: 0; margin-top: 8px; padding-top: 16px; }
.c-header__actions { display: flex; align-items: center; gap: 20px; }
.c-icon-btn { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 0; background: none; border-radius: 50%; color: var(--lx-text); }
.c-icon-btn:hover { background: var(--lx-bg-alice); }
.c-header__burger { display: none; }

/* Mobile menu */
.c-mmenu { position: fixed; inset: 0; z-index: 60; background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .25s; visibility: hidden; }
.c-mmenu.is-open { transform: none; visibility: visible; }
.c-mmenu__top { display: flex; justify-content: space-between; align-items: center; height: 72px; padding: 0 16px; border-bottom: 1px solid var(--lx-stroke-medium); flex: none; }
.c-mmenu__body { overflow-y: auto; flex: 1; padding: 16px; }
.c-search { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 24px; background: var(--lx-bg-grey); margin-bottom: 8px; }
.c-search input { border: 0; background: none; flex: 1; font: 400 16px/24px var(--font-body); outline: none; min-width: 0; }
.c-mmenu__list > li { border-bottom: 1px solid var(--lx-stroke-medium); }
.c-mmenu__list > li > a, .c-mmenu__list > li > button {
  display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 16px 0;
  font: 500 16px/22px var(--font-heading); color: var(--lx-text); background: none; border: 0; text-align: left; text-decoration: none;
}
.c-mmenu__list .icon { width: 20px; height: 20px; color: var(--lx-primary); transition: transform .2s; }
.c-mmenu__list button[aria-expanded="true"] { color: var(--lx-primary); }
.c-mmenu__list button[aria-expanded="true"] .icon { transform: rotate(180deg); }
.c-mmenu__sub { display: none; background: var(--lx-bg-blue); border-radius: var(--r-m); padding: 4px 16px; margin-bottom: 12px; }
.c-mmenu__sub.is-open { display: block; }
.c-mmenu__sub a { display: block; padding: 12px 0; color: var(--lx-text); }
.c-mmenu__sub a.t-bold { color: var(--lx-primary); }
.c-mmenu__bottom { flex: none; padding: 16px 16px 24px; background: var(--lx-bg-blue); display: grid; gap: 12px; }
.c-mmenu__bottom .row { display: flex; justify-content: space-between; font-size: 14px; }
body.menu-open { overflow: hidden; }

@media (max-width: 1099px) {
  .c-nav, .c-header__actions .c-btn, .c-header__actions .c-icon-btn--search { display: none; }
  .c-header__burger { display: inline-grid; }
  .c-topbar__info { display: none; }
}
@media (max-width: 767px) {
  .c-topbar { display: none; }
  .c-logo { gap: 10px; }
  .c-logo__wordmark { font-size: 26px; }
  .c-logo__divider, .c-logo__group { height: 26px; }
  .c-header__actions { gap: 8px; }
  .c-header__actions .c-icon-btn--search { display: inline-grid; }
}

/* ---------- 7. Hero ---------- */
.c-hero { position: relative; color: #fff; background: var(--lx-bg-navy); }
.c-hero__media { position: absolute; inset: 0; overflow: hidden; }
.c-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; }
.c-hero__media::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,64,120,.94) 0%, rgba(0,64,120,.75) 45%, rgba(0,64,120,0) 75%); }
.c-hero__content { position: relative; display: grid; gap: 24px; justify-items: start; max-width: 620px; padding: 128px 0 176px; }
.c-hero__content .t-lead { max-width: 560px; }
.c-hero__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.c-hero-shortcuts { position: relative; z-index: 2; margin-top: -88px; }
.c-shortcut {
  display: flex; flex-direction: column; gap: 16px; padding: 24px; min-height: 216px; border-radius: var(--r-xl);
  background: #fff; box-shadow: var(--sh-center); color: var(--lx-text); text-decoration: none !important; transition: transform .15s, box-shadow .15s;
}
.c-shortcut:hover { transform: translateY(-4px); box-shadow: var(--sh-lower); }
.c-shortcut .icon--48 { color: var(--lx-primary); }
.c-shortcut .c-link { margin-top: auto; }
@media (max-width: 767px) {
  .c-hero__media::after { background: linear-gradient(0deg, rgba(0,64,120,.96) 0%, rgba(0,64,120,.7) 55%, rgba(0,64,120,0) 100%); }
  .c-hero__content { padding: 200px 0 32px; gap: 16px; }
  .c-hero__actions { width: 100%; }
  .c-hero__actions .c-btn { width: 100%; }
  .c-hero__actions .c-link--light { display: none; }
  .c-hero-shortcuts { margin-top: 24px; }
  .c-shortcut { min-height: 140px; padding: 16px; border-radius: var(--r-l); box-shadow: var(--sh-blue); gap: 12px; }
  .c-shortcut .icon--48 { width: 32px; height: 32px; }
  .c-shortcut .t-h6 { font-size: 16px; line-height: 22px; }
}

/* Subpage hero */
.c-page-hero { position: relative; color: #fff; background: var(--lx-bg-navy); min-height: 300px; display: flex; align-items: flex-end; }
.c-page-hero__media { position: absolute; inset: 0; overflow: hidden; }
.c-page-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 75% 30%; }
.c-page-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,64,120,.96) 0%, rgba(0,64,120,.8) 50%, rgba(0,64,120,.1) 85%); }
.c-page-hero .container { position: relative; display: grid; gap: 20px; justify-items: start; padding-top: 48px; padding-bottom: 56px; }
.c-page-hero .t-lead { max-width: 640px; }
.c-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; font: 400 12px/16px var(--font-body); }
.c-breadcrumbs li + li::before { content: "›"; margin-right: 8px; }
.c-breadcrumbs a { color: #fff; }
.c-breadcrumbs [aria-current] { font-weight: 700; }
@media (max-width: 767px) {
  .c-page-hero { min-height: 240px; }
  .c-page-hero__media::after { background: linear-gradient(0deg, rgba(0,64,120,.96) 0%, rgba(0,64,120,.6) 70%, rgba(0,64,120,.2) 100%); }
  .c-page-hero .container { padding-top: 32px; padding-bottom: 32px; gap: 12px; }
}

/* ---------- 8. Karty ---------- */
.c-card { background: #fff; border: 1px solid var(--lx-stroke-medium); border-radius: var(--r-l); }
.c-card--shadow { box-shadow: var(--sh-blue); }
.c-card--pad { padding: 32px; }
@media (max-width: 767px) { .c-card--pad { padding: 20px; } }

/* Kafel specjalizacji */
.c-tile { display: flex; align-items: center; gap: 16px; min-height: 88px; padding: 12px 20px 12px 24px; border: 1px solid var(--lx-stroke-medium); border-radius: var(--r-m); background: #fff; color: var(--lx-text); text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.c-tile:hover { border-color: var(--lx-primary); box-shadow: var(--sh-blue); }
.c-tile__text { flex: 1; min-width: 0; }
.c-tile__text .t-s { color: var(--lx-text-secondary); display: block; margin-top: 2px; }
.c-tile__arrow { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--lx-bg-alice); color: var(--lx-primary); flex: none; }
.c-tile__arrow .icon { width: 20px; height: 20px; }

/* Karta usługi (lista usług) */
.c-service { display: flex; flex-direction: column; gap: 16px; padding: 32px; min-height: 256px; }
.c-service__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.c-service[hidden] { display: none; }
.c-cta-card { grid-column: span 2; display: flex; align-items: center; gap: 24px; padding: 40px; border-radius: var(--r-l); background: var(--lx-bg-navy); color: #fff; }
.c-cta-card > div { flex: 1; display: grid; gap: 12px; }
@media (max-width: 767px) {
  .c-service { padding: 20px; min-height: 0; }
  .c-cta-card { grid-column: auto; flex-direction: column; align-items: stretch; padding: 24px; }
}

/* Karta programu */
.c-program { overflow: hidden; display: flex; flex-direction: column; }
.c-program__img { aspect-ratio: 558 / 280; width: 100%; object-fit: cover; }
.c-program__body { display: flex; flex-direction: column; gap: 16px; padding: 32px; flex: 1; }
.c-program__body .c-link { margin-top: auto; }
.c-program__tags { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 767px) { .c-program__body { padding: 24px; } }

/* Karta placówki */
.c-place { display: flex; flex-direction: column; overflow: hidden; }
.c-place__map { display: grid; place-items: center; align-content: center; gap: 8px; height: 200px; background: var(--lx-bg-grey); color: var(--lx-text-grey); font-size: 12px; }
.c-place__body { display: flex; flex-direction: column; gap: 16px; padding: 28px 32px 32px; flex: 1; }
.c-place__head { display: flex; gap: 16px; align-items: center; }
.c-place__label { font: 700 12px/16px var(--font-body); color: var(--lx-text-secondary); }
.c-place--main .c-place__label { color: var(--lx-primary); }
.c-place__sep { height: 1px; background: var(--lx-stroke-medium); }
.c-meta { display: flex; align-items: center; gap: 8px; font: 400 14px/22px var(--font-body); color: var(--lx-text-secondary); }
.c-meta .icon { width: 16px; height: 16px; color: var(--lx-primary); }
.c-place .c-link { margin-top: auto; }
@media (max-width: 767px) { .c-place__body { padding: 20px; } .c-place__map { height: 160px; } }

/* Liczby */
.c-stat { display: grid; gap: 8px; justify-items: center; text-align: center; padding: 32px 24px; border-radius: var(--r-xl); background: #fff; box-shadow: var(--sh-blue); }
.c-stat strong { font: 700 35px/42px var(--font-heading); color: var(--lx-primary); }
.c-stat span { font: 400 14px/22px var(--font-body); color: var(--lx-text-secondary); }
@media (max-width: 767px) { .c-stat { padding: 20px 12px; border-radius: var(--r-l); } .c-stat strong { font-size: 23px; line-height: 30px; } .c-stat span { font-size: 12px; line-height: 16px; } }

/* ---------- 9. Sekcje strony głównej ---------- */
.c-luxmed { text-align: center; }
.c-luxmed__logo { height: 64px; width: auto; margin: 0 auto 32px; }
.c-luxmed .t-lead { max-width: 840px; margin: 24px auto 40px; color: var(--lx-text-grey); }
.c-luxmed .c-btn { margin-top: 40px; }
@media (max-width: 767px) { .c-luxmed__logo { height: 48px; margin-bottom: 24px; } .c-luxmed .t-lead { margin: 16px auto 24px; font-size: 14px; line-height: 22px; } }

.c-split { display: grid; grid-template-columns: 1fr 522px; gap: 96px; align-items: center; }
.c-split--reverse { grid-template-columns: 522px 1fr; }
.c-split--reverse .c-split__media { order: -1; }
.c-split__media img { width: 100%; aspect-ratio: 522 / 480; object-fit: cover; border-radius: var(--r-xl); }
.c-split__content { display: grid; gap: 24px; justify-items: start; }
@media (max-width: 1099px) { .c-split, .c-split--reverse { grid-template-columns: 1fr 1fr; gap: 48px; } }
@media (max-width: 767px) {
  .c-split, .c-split--reverse { grid-template-columns: 1fr; gap: 24px; }
  .c-split__media { order: -1; }
  .c-split__media img { aspect-ratio: 388 / 240; border-radius: var(--r-l); }
  .c-split__content .c-btn { width: 100%; }
}

/* Blok telefonów */
.c-phones { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 40px; border-radius: var(--r-xl); background: var(--lx-bg-blue-hover); }
.c-phones__intro { display: grid; gap: 24px; align-content: start; }
.c-phones__big { display: flex; align-items: center; gap: 16px; }
.c-phones__big a { font: 700 35px/42px var(--font-heading); color: var(--lx-primary); }
.c-phones__card { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 24px 32px; border-radius: var(--r-m); background: #fff; }
.c-phonelist h3 { font: 600 14px/24px var(--font-body); color: var(--lx-text-secondary); }
.c-phonelist li { padding: 10px 0; border-bottom: 1px solid var(--lx-stroke-medium); }
.c-phonelist a { display: block; font: 700 16px/24px var(--font-body); color: var(--lx-text); }
.c-phonelist span { font: 400 12px/16px var(--font-body); color: var(--lx-text-secondary); }
@media (max-width: 1099px) { .c-phones { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
  .c-phones { padding: 24px; border-radius: var(--r-l); }
  .c-phones__big a { font-size: 26px; line-height: 32px; }
  .c-phones__card { grid-template-columns: 1fr; gap: 16px; padding: 8px 20px 16px; }
}

/* Tabela telefonów (kontakt) */
.c-phonetable { display: grid; gap: 8px; padding: 28px 32px; border-radius: var(--r-l); background: #fff; }
.c-phonetable__head { display: flex; align-items: center; gap: 12px; padding-bottom: 8px; }
.c-phonetable li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--lx-stroke-medium); font: 400 16px/24px var(--font-body); }
.c-phonetable li span { color: var(--lx-text-secondary); }
.c-phonetable li a { font-weight: 700; white-space: nowrap; }
@media (max-width: 767px) { .c-phonetable { padding: 20px; } .c-phonetable li { font-size: 14px; } }

/* ---------- 10. Podstrony ---------- */
.c-layout { display: grid; grid-template-columns: 1fr 364px; gap: 56px; align-items: start; }
.c-layout__main { display: grid; gap: 48px; min-width: 0; }
.c-layout__aside { display: grid; gap: 24px; position: sticky; top: calc(var(--header-h) + 24px); }
.c-block { display: grid; gap: 20px; }
.c-block > p { font: 400 16px/30px var(--font-body); letter-spacing: .03em; }
@media (max-width: 1099px) { .c-layout { grid-template-columns: 1fr; } .c-layout__aside { position: static; } }
@media (max-width: 767px) { .c-layout__main { gap: 32px; } }

.c-infobox { display: flex; gap: 16px; align-items: flex-start; padding: 20px 24px; border-radius: var(--r-m); background: var(--lx-bg-alice); }
.c-infobox .icon { color: var(--lx-primary); }
.c-infobox--green { background: var(--lx-tag-new); padding: 24px 28px; }
.c-infobox--green .icon { color: var(--lx-green-dark); }

.c-doctor { display: grid; gap: 16px; align-content: start; padding: 24px; }
.c-avatar { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--lx-bg-alice); color: var(--lx-primary); font: 500 20px/1 var(--font-heading); }
@media (max-width: 767px) {
  .c-doctor { grid-template-columns: 48px 1fr; align-items: center; gap: 4px 14px; padding: 16px; }
  .c-doctor .c-avatar { width: 48px; height: 48px; font-size: 16px; grid-row: span 2; }
}

.c-book { display: grid; gap: 20px; padding: 32px; }
.c-book__phone { display: flex; align-items: center; gap: 12px; }
.c-book__phone a { font: 500 23px/30px var(--font-heading); color: var(--lx-primary); }
.c-book__sep { height: 1px; background: var(--lx-stroke-medium); }
.c-sidenav { padding: 24px 32px; border-radius: var(--r-l); background: var(--lx-bg-blue); }
.c-sidenav h2 { margin-bottom: 4px; }
.c-sidenav a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--lx-stroke); color: var(--lx-text); }
.c-sidenav a .icon { width: 20px; height: 20px; color: var(--lx-primary); }
.c-sidenav a.is-strong { font-weight: 700; color: var(--lx-primary); }
.c-sidenav--white { background: #fff; border: 1px solid var(--lx-stroke-medium); padding: 24px; }
.c-sidenav--white a { border: 0; padding: 12px 16px; border-radius: 12px; }
.c-sidenav--white a[aria-current] { background: var(--lx-bg-alice); color: var(--lx-primary); font-weight: 700; }
.c-cta-box { display: grid; gap: 16px; padding: 32px; border-radius: var(--r-l); background: var(--lx-bg-navy); color: #fff; }

.c-banner { display: flex; align-items: center; gap: 40px; padding: 40px; border-radius: var(--r-xl); background: var(--lx-bg-blue-hover); }
.c-banner > div { flex: 1; display: grid; gap: 12px; justify-items: start; }
@media (max-width: 767px) { .c-banner { flex-direction: column; align-items: stretch; padding: 24px; gap: 20px; border-radius: var(--r-l); } }

.c-steps { display: grid; gap: 24px; counter-reset: step; }
.c-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 4px 20px; counter-increment: step; }
.c-steps li::before { content: counter(step); grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--lx-primary); color: #fff; font: 500 20px/1 var(--font-heading); }
.c-steps h3 { padding-top: 8px; }

.c-feature { display: grid; gap: 12px; padding: 20px; border-radius: var(--r-m); background: var(--lx-bg-blue); align-content: start; }
.c-feature .c-icon-circle { background: #fff; }

.c-timeline__item { display: grid; gap: 16px; align-content: start; padding: 32px; border-radius: var(--r-xl); background: #fff; box-shadow: var(--sh-blue); }
.c-timeline__item strong { font: 700 35px/42px var(--font-heading); color: var(--lx-primary); }
.c-timeline__item i { display: block; width: 40px; height: 4px; border-radius: 2px; background: var(--lx-green); }
.c-timeline__item--accent { background: var(--lx-primary); color: #fff; box-shadow: none; }
.c-timeline__item--accent strong, .c-timeline__item--accent .t-muted { color: #fff; }
.c-timeline__item--accent i { background: #fff; }

.c-scope { display: flex; gap: 20px; padding: 28px; }
.c-band { display: flex; align-items: center; gap: 64px; }
.c-band img { height: 72px; width: auto; }
.c-band > div { flex: 1; display: grid; gap: 12px; }
@media (max-width: 767px) { .c-band { flex-direction: column; align-items: flex-start; gap: 24px; } .c-band img { height: 48px; } }

.c-company { display: flex; align-items: center; gap: 48px; padding: 40px; border-radius: var(--r-xl); background: var(--lx-bg-blue-hover); }
.c-company > div { flex: 1; display: grid; gap: 8px; }
.c-company img { height: 56px; width: auto; }
@media (max-width: 767px) { .c-company { flex-direction: column; align-items: flex-start; padding: 24px; gap: 24px; } }

/* Sticky CTA (mobile, podstrony poradni) */
.c-sticky-cta { display: none; }
@media (max-width: 767px) {
  .c-sticky-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; box-shadow: var(--sh-lower); transform: translateY(110%); transition: transform .2s; }
  .c-sticky-cta.is-visible { transform: none; }
  body.has-sticky-cta .c-footer { padding-bottom: 96px; }
}

/* ---------- 11. Footer ---------- */
.c-footer { background: var(--lx-bg-navy); color: #fff; padding: 80px 0 40px; }
.c-footer a { color: #fff; }
.c-footer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.c-footer__brand { display: grid; gap: 20px; align-content: start; font: 400 14px/22px var(--font-body); }
.c-footer__brand .c-logo__wordmark { color: #fff; font-size: 30px; }
.c-footer__brand .c-logo__divider { background: rgba(255,255,255,.4); height: 32px; }
.c-footer__brand .c-logo__group { height: 32px; }
.c-footer__col h2 { font: 700 12px/16px var(--font-body); text-transform: uppercase; margin-bottom: 12px; }
.c-footer__col h2 button { all: unset; display: flex; justify-content: space-between; width: 100%; cursor: default; }
.c-footer__col h2 .icon { display: none; }
.c-footer__col ul { display: grid; gap: 12px; font: 400 14px/22px var(--font-body); }
.c-footer__bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: 48px; padding-top: 40px; border-top: 1px solid rgba(255,255,255,.2); font: 400 12px/16px var(--font-body); }
@media (max-width: 1099px) { .c-footer__grid { grid-template-columns: 1fr 1fr; row-gap: 40px; } }
@media (max-width: 767px) {
  .c-footer { padding: 48px 0 32px; }
  .c-footer__grid { grid-template-columns: 1fr; gap: 0; }
  .c-footer__brand { margin-bottom: 32px; }
  .c-footer__brand .c-logo__wordmark { font-size: 26px; }
  .c-footer__col { border-top: 1px solid rgba(255,255,255,.2); }
  .c-footer__col h2 { margin: 0; }
  .c-footer__col h2 button { cursor: pointer; padding: 16px 0; }
  .c-footer__col h2 .icon { display: block; width: 20px; height: 20px; transition: transform .2s; }
  .c-footer__col h2 button[aria-expanded="true"] .icon { transform: rotate(45deg); }
  .c-footer__col ul { display: none; padding-bottom: 16px; }
  .c-footer__col ul.is-open { display: grid; }
  .c-footer__bottom { flex-direction: column; margin-top: 16px; padding-top: 24px; }
}

/* ---------- 12. Utility ---------- */
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-40{margin-top:40px}
.stack-16 > * + * { margin-top: 16px; }
.center { text-align: center; }
.hide-mobile { } @media (max-width: 767px) { .hide-mobile { display: none !important; } }
.show-mobile { display: none !important; } @media (max-width: 767px) { .show-mobile { display: revert !important; } }

/* ---------- 13. Dostępność (przełączniki w top barze) ---------- */
html.a11y-large body { zoom: 1.125; }
html.a11y-contrast { --lx-text-secondary: #1F2933; --lx-text-grey: #333333; --lx-stroke-medium: #9AA5B1; --lx-stroke: #7B8794; }

/* ---------- 14. Poprawki responsywne ---------- */
.grid > * { min-width: 0; }
.c-place h3 { font-size: 20px; line-height: 26px; }
@media (max-width: 767px) {
  .grid--tiles { grid-template-columns: 1fr; }
  .grid--tiles > :nth-child(n+6) { display: none; }
  .c-more-mobile { display: flex !important; margin-top: 16px; width: 100%; }
}
.c-more-mobile { display: none !important; }

/* ---------- 15. WordPress ---------- */
/* Podmenu z wp_nav_menu() w wyglądzie .c-nav__sub */
.c-nav .sub-menu {
  position: absolute; top: 100%; left: -24px; min-width: 560px; padding: 24px; border-radius: 0 0 var(--r-l) var(--r-l);
  background: #fff; box-shadow: var(--sh-lower); display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; list-style: none; margin: 0;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: .15s;
}
.c-nav > li:hover > .sub-menu, .c-nav > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.c-nav .sub-menu a { display: block; padding: 8px 12px; border-radius: var(--r-s); color: var(--lx-text); font-size: 14px; }
.c-nav .sub-menu a:hover { background: var(--lx-bg-alice); color: var(--lx-primary); text-decoration: none; }
.c-nav .sub-menu li:last-child { grid-column: 1 / -1; border-top: 1px solid var(--lx-stroke-medium); margin-top: 8px; padding-top: 8px; }
.c-nav .sub-menu li:last-child a { font-weight: 700; color: var(--lx-primary); }
.c-mmenu__sub a:last-child { font-weight: 700; color: var(--lx-primary); }
/* Pasek administratora */
.admin-bar .c-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .c-header { top: 0; } }
/* Treść stron */
.entry-content.is-layout-constrained > :not(.alignfull) { width: min(var(--container), 100% - 2 * var(--gutter)); max-width: none; margin-left: auto; margin-right: auto; }
.c-page-content { padding: 64px 0 var(--section-y); }
.c-place__hours { white-space: pre-line; }
.c-place__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.c-place__map--embed { display: block; padding: 0; }
/* Wyszukiwarka i 404 */
.c-results { display: grid; gap: 16px; }
.c-results a.c-card { display: block; padding: 24px; color: inherit; text-decoration: none; }
.c-results a.c-card:hover { border-color: var(--lx-primary); }
