@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400..700&display=swap');

/* ==========================================================================
   Agata Nina Klejnowska — warstwa „premium editorial" na szablonie INSIDE
   Ciepła kremowa paleta, elegancki font szeryfowy w nagłówkach,
   dopracowany turkus + złoty akcent, miękkie karty i cienie.
   ========================================================================== */

:root {
  --ink: #2b2320;         /* ciepła czerń */
  --muted: #6d635b;       /* tekst drugorzędny */
  --ivory: #fbf8f2;       /* tło główne */
  --ivory-2: #f4ece0;     /* tło alternatywne */
  --cream: #ffffff;       /* karty */
  --line: #e9e0d2;        /* ciepłe obramowanie */
  /* Jedna ciepła paleta: bordo (główny akcent) + złoto + krem */
  --teal: #7c4a44;        /* GŁÓWNY AKCENT (dawniej turkus) — ciepłe bordo */
  --teal-dark: #5f3833;   /* bordo ciemniejsze (hover) */
  --gold: #b28a52;        /* złoty akcent */
  --bordo: #7c4a44;
  --rose: #e6cbc9;        /* jasny pudrowy róż (tło/akcent) */
}

/* ------------------------------ Tła / baza ------------------------------ */
body {
  background-color: var(--ivory);
  color: var(--ink);
}
.bg-white { background-color: var(--ivory) !important; }
.bg-white-lighter { background-color: var(--ivory-2) !important; }
.context-dark, .bg-gray-dark { }
p { color: var(--muted); }

/* --------------------------- Typografia (serif) ------------------------- */
h1, h2, h3, h4, h5,
.heading-1, .heading-2, .heading-3, .heading-4, .heading-5,
.block-disclosure-title, .block-accent-title, .thumb-default-title,
.quote-testimonial-title, .box-left h2, .heading-with-aside-divider,
.vip-content h5, .post-title, .single-post-title {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
  color: var(--ink);
  font-weight: 600;
  letter-spacing: 0.004em;
}
/* Małe etykiety / nawigacja / stopka — czysty, nowoczesny sans (Lato) */
.text-uppercase, .font-base, [class*="text-spacing"],
.rd-navbar-nav, .rd-navbar-nav li a, .rd-navbar-dropdown li a,
.breadcrumb-custom, .breadcrumb-custom li a, .list-inline,
.ak-eyebrow, .brand-sub, .button, .link-default, .rd-navbar-call a {
  font-family: "Lato", Helvetica, Arial, sans-serif !important;
}
h1, .heading-1 { line-height: 1.06; }
h2, .heading-2 { line-height: 1.1; letter-spacing: 0.005em; }
h3 { line-height: 1.15; }

/* Nagłówki sekcji – trochę większe i lżejsze, editorialowo */
.box-left h2,
.heading-with-aside-divider {
  font-size: clamp(2.1rem, 3.4vw, 3.2rem);
  font-weight: 600;
}

/* Eyebrow / etykiety zostają bezszeryfowe (klasa .heading-4) */
.heading-4 {
  font-family: "Lato", Helvetica, Arial, sans-serif !important;
}

/* ------------------------------- Logo ---------------------------------- */
.rd-navbar-brand .brand-name {
  display: inline-flex !important;
  flex-direction: column !important;
  justify-content: center;
  line-height: 1.02;
  text-decoration: none;
  white-space: nowrap;
}
.brand-text {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--ink);
  line-height: 1.05;
}
.brand-sub {
  display: block;
  margin-top: 2px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
}
@media (max-width: 480px) { .brand-text { font-size: 20px; } }

/* ------------------------------ Górny pasek ---------------------------- */
.rd-navbar-top-panel {
  background: var(--ink) !important;
}
.rd-navbar-top-panel, .rd-navbar-top-panel a, .rd-navbar-top-panel li {
  color: rgba(255,255,255,0.82) !important;
  letter-spacing: 0.02em;
}
.rd-navbar-top-panel a:hover { color: #fff !important; }

/* ------------------------------- Hero ---------------------------------- */
.swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(30,22,20,0.66) 0%, rgba(30,22,20,0.38) 46%, rgba(30,22,20,0.08) 80%);
  z-index: 1;
  pointer-events: none;
}
.swiper-slide-caption { position: relative; z-index: 2; }
.swiper-content h1,
.swiper-content h2,
.swiper-content p {
  color: #fff !important;
  text-shadow: 0 2px 30px rgba(20,14,12,0.4);
}
.swiper-content h1,
.swiper-content h2,
.swiper-slide-caption h1,
.swiper-slide-caption h2 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.08;
  margin: 0;
  letter-spacing: 0.005em;
}
@media (min-width: 768px)  { .swiper-slide-caption h1, .swiper-slide-caption h2 { font-size: 48px; } }
@media (min-width: 1200px) { .swiper-slide-caption h1, .swiper-slide-caption h2 { font-size: 56px; } }
/* Eyebrow hero */
.swiper-content .heading-4 {
  font-family: "Lato", sans-serif !important;
  font-size: 13px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
}
.swiper-content .button-gradient { position: relative; z-index: 3; }
/* delikatny gradient pod całym hero (spójność) */
.swiper-main-wrap { background: var(--ink); }

/* --------------------------- Akcenty / dividery ------------------------ */
/* pionowa kreska eyebrow + poziome dividery – złoto zamiast turkusu */
.heading-divider-modern:before,
.heading-with-aside-divider .divider,
.divider-modern {
  background-color: var(--gold) !important;
}
.divider { background-color: var(--gold) !important; }

/* ------------------------------ Przyciski ------------------------------ */
.button {
  border-radius: 999px !important;
  letter-spacing: 0.06em;
  font-weight: 700;
  transition: all .3s cubic-bezier(.22,.61,.36,1) !important;
}
.button-primary,
.button-gradient {
  background-image: none !important;
  background-color: var(--teal) !important;
  border-color: var(--teal) !important;
  color: #fff !important;
  padding: 15px 36px;
  box-shadow: 0 14px 30px -14px rgba(10,120,110,0.6);
}
.button-primary:hover,
.button-gradient:hover {
  background-color: var(--teal-dark) !important;
  border-color: var(--teal-dark) !important;
  transform: translateY(-2px);
}
.button-albus {
  border-radius: 999px !important;
  border: 1px solid var(--line) !important;
  background: transparent !important;
  color: var(--ink) !important;
  padding: 14px 32px;
}
.button-albus:hover {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: #fff !important;
}

/* ------------------------------- Karty --------------------------------- */
/* Obszary wsparcia */
.block-accent {
  background: var(--cream) !important;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 40px -30px rgba(70,50,40,0.4);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.block-accent:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 50px -28px rgba(70,50,40,0.45);
  border-color: rgba(10,160,147,0.4);
}
.block-accent-title { font-size: 20px !important; margin-top: 14px; }

/* Karty zespołu */
.block-disclosure,
.block-disclosure-xl {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 44px -32px rgba(70,50,40,0.45);
  transition: transform .35s ease, box-shadow .35s ease;
}
.block-disclosure:hover,
.block-disclosure-xl:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 54px -30px rgba(70,50,40,0.5);
}
.block-disclosure-body { padding: 22px 24px 26px; }
.block-disclosure-title { font-size: 23px !important; }
.block-disclosure-title a { color: var(--ink) !important; }
.block-disclosure-cite { color: var(--gold) !important; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; font-size: 11px; }
.block-disclosure-quote p { color: var(--muted); font-style: italic; }

/* Karty usług (thumb) */
.thumb-default {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 40px -30px rgba(70,50,40,0.4);
  transition: transform .35s ease, box-shadow .35s ease;
}
.thumb-default:hover { transform: translateY(-5px); }
.thumb-default-title { font-size: 21px !important; }
/* pełne tytuły kart (bez ucinania wielokropkiem) */
.thumb-default-title,
.thumb-default-title a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Ikony – ciepły turkus */
.icon-primary,
.icon-gradient { color: var(--teal) !important; }
.icon-gradient { background-image: none !important; -webkit-text-fill-color: var(--teal); }

/* ------------------------------- Linki --------------------------------- */
a { color: var(--ink); }
a:hover { color: var(--teal-dark); }
.rd-navbar-nav > li > a:hover,
.rd-navbar-nav > li.active > a { color: var(--teal) !important; }

/* Blok „O mnie" – ikony w kółkach */
.icon-unit-left .icon {
  color: var(--teal) !important;
}

/* --------------------------- Sekcje / rytm ----------------------------- */
.work-info dt { font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: var(--ink); }
.work-info dd { color: var(--gold); font-weight: 700; }

/* ------------------------- Stopka / drobne ----------------------------- */
.page-footer { background: var(--ivory-2); }
.footer-classic { background: var(--ink); }

/* Usuń przestarzałą ikonę Google+ */
[class*="fa-google-plus"] { display: none !important; }

/* Formularze – łagodniejsze pola */
.form-input {
  border-radius: 12px !important;
  border-color: var(--line) !important;
  background: var(--cream) !important;
}
.form-input:focus { border-color: var(--teal) !important; }

/* Wskaźnik slajdów – aktywny w złocie/turkusie */
.swiper-pagination-index .swiper-pagination-bullet:hover,
.swiper-pagination-index .swiper-pagination-bullet.swiper-pagination-bullet-active {
  color: var(--teal) !important;
  border-color: var(--teal) !important;
}

/* ==========================================================================
   2026 — miękkie, pływające, mocno zaokrąglone, dużo oddechu
   ========================================================================== */
:root { --r: 24px; --r-lg: 34px; --r-sm: 16px; }

/* Hero jako pływający, zaokrąglony kadr */
.swiper-wrapper {
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 50px 90px -46px rgba(60,38,34,0.55);
}
.swiper-main-wrap { margin-top: 26px; }
.swiper-slide { border-radius: var(--r-lg); }

/* Karty — większy promień, cień zamiast kreski, delikatny „float" */
.block-accent,
.block-disclosure,
.block-disclosure-xl,
.thumb-default,
.form-block,
.gm-contact-inner,
.box-counter {
  border-radius: var(--r) !important;
  border-color: transparent !important;
  box-shadow: 0 34px 60px -38px rgba(60,38,34,0.4) !important;
}
.block-accent:hover,
.block-disclosure:hover,
.block-disclosure-xl:hover,
.thumb-default:hover {
  transform: translateY(-8px);
  box-shadow: 0 46px 76px -34px rgba(60,38,34,0.48) !important;
}

/* Zdjęcia w kartach dziedziczą zaokrąglenie od rodzica (overflow:hidden) */
.thumb-default img,
.block-disclosure-left img { display: block; width: 100%; }

/* Breadcrumb hero — zaokrąglony dół, bardziej „bannerowy" */
.breadcrumb-wrapper {
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  overflow: hidden;
}

/* Pola formularza / selecty — bardziej miękkie */
.form-input,
.select2-container .select2-selection {
  border-radius: var(--r-sm) !important;
}

/* Przyciski — pełna pigułka + miększy cień */
.button {
  border-radius: 999px !important;
  box-shadow: 0 16px 30px -18px rgba(124,74,68,0.45);
}

/* Ikony w kółkach (blok „O mnie") — miękkie tło */
.icon-unit-left {
  background: var(--rose);
  width: 60px; height: 60px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
}
.icon-unit-left img,
.icon-unit-left .icon { color: var(--bordo) !important; }

/* Więcej powietrza między sekcjami */
@media (min-width: 992px) {
  .section-lg { padding-top: 110px !important; padding-bottom: 110px !important; }
}

/* Delikatny, ciepły gradient tła (subtelny) */
body {
  background-image:
    radial-gradient(1200px 600px at 100% 0%, rgba(230,203,201,0.28), transparent 60%);
  background-repeat: no-repeat;
}

/* Miękki, „szklany" pasek nawigacji po przyklejeniu */
.rd-navbar-fixed.rd-navbar--is-stuck .rd-navbar-inner,
.rd-navbar.rd-navbar--is-stuck {
  backdrop-filter: saturate(140%) blur(10px);
  background: rgba(251,248,242,0.82) !important;
  box-shadow: 0 12px 30px -20px rgba(60,38,34,0.4);
}

/* Płynniejsze przejścia globalnie */
a, .button, .block-accent, .block-disclosure, .thumb-default, .icon {
  transition: all .35s cubic-bezier(.22,.61,.36,1);
}

/* ==========================================================================
   Poprawki + „życie"
   ========================================================================== */

/* Białe dekoracyjne kwadraty za nagłówkami -> miękki różowy akcent */
.block-modern-title::before {
  background-color: var(--rose) !important;
  opacity: 0.7;
  border-radius: 6px;
}

/* HERO NA CAŁĄ SZEROKOŚĆ (pełnoekranowy kadr, bez zaokrągleń/marginesów) */
.swiper-main-wrap { margin-top: 0 !important; }
.swiper-container {
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.swiper-wrapper {
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.swiper-slide { border-radius: 0 !important; }

/* Tekst hero: wyśrodkowany kontener (nie ucieka poza ekran, nie zasłania twarzy) */
.swiper-slide-caption { padding: 0 !important; }
.swiper-content,
.swiper-content.section-lg {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  box-sizing: border-box;
}
.swiper-content h1,
.swiper-content h2 {
  max-width: 640px;
  white-space: normal !important;
}
.swiper-content > p,
.swiper-content .heading-4 { max-width: 560px; }
@media (max-width: 575px) {
  .swiper-content, .swiper-content.section-lg { padding: 0 24px !important; }
}

/* Życie: delikatny zoom zdjęć w kartach przy hover */
.thumb-default figure,
.thumb-default .thumb-default-media,
.block-disclosure-left { overflow: hidden; }
.thumb-default img,
.block-disclosure-left img {
  transition: transform .7s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.thumb-default:hover img,
.block-disclosure:hover .block-disclosure-left img,
.block-disclosure-xl:hover .block-disclosure-left img { transform: scale(1.07); }

/* Życie: pojawianie się przy przewijaniu (klasę dodaje js/life.js) */
.reveal-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1);
}
.reveal-up.is-in { opacity: 1; transform: none; }

/* Życie: subtelny „shine" na przyciskach głównych */
.button-primary, .button-gradient { position: relative; overflow: hidden; }
.button-primary::after, .button-gradient::after {
  content: "";
  position: absolute; top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
  transform: skewX(-18deg);
  transition: left .6s ease;
}
.button-primary:hover::after, .button-gradient:hover::after { left: 130%; }

/* Placeholder mapy (do czasu klucza Google Maps) */
.ak-map {
  height: 100%;
  min-height: 360px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: 6px;
  padding: 40px;
  border-radius: var(--r);
  background:
    radial-gradient(120% 120% at 50% 0%, rgba(230,203,201,0.45), transparent 60%),
    var(--ivory-2);
  border: 1px solid var(--line);
}
/* Guzik „Umów konsultację" przy telefonie w nagłówku — lekko promieniujący */
.rd-navbar-call { display: inline-flex; align-items: center; gap: 18px; }
.ak-nav-cta {
  padding: 11px 24px !important;
  font-size: 12px !important;
  letter-spacing: 0.1em;
  white-space: nowrap;
  box-shadow: 0 8px 20px -8px rgba(124,74,68,0.55), 0 0 16px 0 rgba(178,138,82,0.30);
  transition: box-shadow .35s ease, transform .35s ease;
}
.ak-nav-cta:hover {
  box-shadow: 0 12px 26px -8px rgba(124,74,68,0.65), 0 0 26px 4px rgba(178,138,82,0.5);
  transform: translateY(-2px);
}
/* w ciemnym górnym pasku nie pokazujemy guzika (jest w nagłówku) */
.rd-navbar-top-panel .ak-nav-cta { display: none !important; }
/* na telefonie chowamy (jest menu + Kontakt) */
@media (max-width: 991px) { .ak-nav-cta { display: none !important; } }

/* Osadzona mapa Google */
.ak-gmap {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  border-radius: 26px;
  box-shadow: 0 34px 64px -42px rgba(60,38,34,0.5);
  filter: saturate(0.95);
}
.ak-map h4 { margin: 8px 0 2px; }
.ak-map p { color: var(--muted); margin: 0; }
.ak-map .icon { color: var(--bordo) !important; font-size: 40px; }
.ak-map .button { margin-top: 16px; }
.ak-map-note { font-size: 12px; color: var(--warmgray, #a79b95); opacity: .8; margin-top: 10px !important; }

/* Życie: ikona telefonu lekko rośnie przy najechaniu */
.rd-navbar-call .icon,
.unit-link-with-icon .icon { transition: transform .3s ease; }
.rd-navbar-call:hover .icon,
.unit-link-with-icon:hover .icon { transform: scale(1.12); }

/* ==========================================================================
   HERO NA CAŁY EKRAN + tekst na dole (twarz odsłonięta)
   ========================================================================== */
.swiper-container { height: 100vh !important; min-height: 480px; max-height: none !important; }
.swiper-slide-caption { align-items: flex-end !important; }
/* Desktop: nagłówek (~167px) jest w przepływie NAD hero. Hero z pełnym 100vh
   wychodził poza ekran i chował dolny przycisk. Hero = ekran minus nagłówek. */
@media (min-width: 992px) {
  .swiper-container { height: calc(100vh - 168px) !important; }
}
/* Niskie / poziome okna: wyśrodkuj hero w pionie, żeby przycisk
   „Umów konsultację" nigdy nie chował się pod krawędzią ekranu */
@media (max-height: 720px) {
  .swiper-slide-caption { align-items: center !important; }
  .swiper-content,
  .swiper-content.section-lg {
    padding-top: 4vh !important;
    padding-bottom: 4vh !important;
  }
}
.swiper-content,
.swiper-content.section-lg {
  padding-top: 0 !important;
  padding-bottom: 10vh !important;
}
/* mocniejsze przyciemnienie u dołu — czytelność tekstu, twarz u góry czysta */
.swiper-slide::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(24,16,14,0.78) 0%, rgba(24,16,14,0.30) 34%, rgba(24,16,14,0) 62%);
}

/* ==========================================================================
   ŁADNIEJSZY PRZYCISK
   ========================================================================== */
.button-primary,
.button-gradient {
  background: linear-gradient(135deg, #8f574f 0%, #7c4a44 52%, #5f3833 100%) !important;
  color: #fff !important;
  border: none !important;
  padding: 16px 40px !important;
  font-size: 14px;
  letter-spacing: 0.12em;
  border-radius: 999px !important;
  box-shadow: 0 18px 34px -14px rgba(124,74,68,0.65), inset 0 1px 0 rgba(255,255,255,0.16);
}
.button-primary:hover,
.button-gradient:hover {
  transform: translateY(-3px);
  box-shadow: 0 26px 46px -14px rgba(124,74,68,0.75), inset 0 1px 0 rgba(255,255,255,0.16);
}
.swiper-content .button-gradient { padding: 18px 46px !important; font-size: 15px; }

/* ==========================================================================
   NOWE SEKCJE STRONY GŁÓWNEJ (intro / misja / zakres)
   ========================================================================== */
.ak-eyebrow {
  font: 700 12px/1 "Lato", sans-serif;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold);
  margin: 0 0 16px; display: inline-flex; align-items: center; gap: 12px;
}
.ak-eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--gold); }
.ak-portrait {
  width: 100%; border-radius: 26px; object-fit: cover;
  box-shadow: 0 46px 80px -44px rgba(60,38,34,0.55);
}
.ak-lead { font-size: 20px; line-height: 1.65; color: var(--ink); }
.ak-center { max-width: 720px; margin: 0 auto; text-align: center; }
.ak-center .ak-eyebrow { display: inline-flex; }
.ak-sub { color: var(--muted); margin-top: 6px; }
.offset-top-40 { margin-top: 40px; }

/* Akordeon „rozwijane zakładki" */
#ak-acc { max-width: 880px; margin: 0 auto; }
#ak-acc .panel {
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  overflow: hidden;
  margin-bottom: 14px;
  background: var(--cream);
  box-shadow: 0 22px 44px -36px rgba(60,38,34,0.4);
  transition: box-shadow .3s ease, border-color .3s ease;
}
#ak-acc .panel:hover { border-color: rgba(124,74,68,0.35) !important; }
#ak-acc .panel-heading { background: transparent; padding: 0; border: 0; }
#ak-acc .panel-title a {
  display: block; padding: 20px 26px;
  font-family: 'Fraunces', Georgia, serif; font-size: 21px; color: var(--ink);
}
#ak-acc .panel-title a[aria-expanded="true"] { color: var(--bordo); }
#ak-acc .panel-body { padding: 0 26px 22px; color: var(--muted); font-size: 16px; }

/* ==========================================================================
   Nowe sekcje strony głównej (one-page)
   ========================================================================== */
.ak-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.ak-btns-center { justify-content: center; }

.ak-steps { display: flex; flex-direction: column; gap: 16px; }
.ak-step {
  display: flex; align-items: center; gap: 20px;
  background: var(--cream); border: 1px solid var(--line); border-radius: 18px;
  padding: 20px 24px; box-shadow: 0 22px 44px -36px rgba(60,38,34,0.35);
}
.ak-step span { font-family: 'Fraunces', Georgia, serif; font-size: 30px; font-weight: 600; color: var(--gold); line-height: 1; }
.ak-step p { margin: 0; color: var(--ink); font-size: 17px; }

.ak-mini {
  height: 100%; background: var(--cream); border: 1px solid var(--line);
  border-radius: 22px; padding: 30px; box-shadow: 0 26px 50px -38px rgba(60,38,34,0.4);
  transition: transform .35s ease, box-shadow .35s ease;
}
.ak-mini:hover { transform: translateY(-6px); }
.ak-mini h5 { margin: 0 0 10px; }
.ak-mini p { margin: 0; color: var(--muted); }

.ak-quote {
  background: var(--cream); border: 1px solid var(--line); border-left: 4px solid var(--gold);
  border-radius: 20px; padding: 36px 38px; box-shadow: 0 30px 60px -42px rgba(60,38,34,0.45);
}
.ak-quote p { font-family: 'Fraunces', Georgia, serif; font-size: 26px; line-height: 1.35; color: var(--ink); margin: 0 0 14px; }
.ak-quote span { color: var(--gold); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; font-size: 12px; }

.ak-checklist { font-size: 17px; }
.ak-checklist li { padding: 8px 0; color: var(--ink); }
.ak-note { color: var(--muted); margin-top: 34px; font-size: 16px; }

.ak-cta-final { background: linear-gradient(135deg, #5f3833, #7c4a44); }
.ak-cta-final h2, .ak-cta-final p { color: #fff; }
.ak-cta-final .ak-eyebrow { color: var(--gold); }
.ak-cta-final p { max-width: 720px; margin-left: auto; margin-right: auto; }

/* Akordeon zasad pracy — jak #ak-acc */
#ak-values { max-width: 900px; margin: 0 auto; }
#ak-values .panel {
  border: 1px solid var(--line) !important; border-radius: 16px !important; overflow: hidden;
  margin-bottom: 14px; background: var(--cream); box-shadow: 0 22px 44px -36px rgba(60,38,34,0.4);
}
#ak-values .panel-heading { background: transparent; padding: 0; border: 0; }
#ak-values .panel-title a { display: block; padding: 20px 26px; font-family: 'Fraunces', Georgia, serif; font-size: 21px; color: var(--ink); }
#ak-values .panel-title a[aria-expanded="true"] { color: var(--bordo); }
#ak-values .panel-body { padding: 0 26px 22px; color: var(--muted); font-size: 16px; }

/* Karuzela — łagodniejszy fade */
.swiper-slide { transition-timing-function: ease-in-out !important; }

/* ==========================================================================
   GLOBALNY POLISH — spójność i premium na wszystkich stronach
   ========================================================================== */

/* --- Rytm typografii / czytelność --- */
body { font-size: 16.5px; line-height: 1.7; color: var(--ink); }
.section p { color: var(--muted); }
.section p + p { margin-top: 14px; }
h2 { font-size: clamp(2rem, 3vw, 2.9rem); line-height: 1.12; }
h3 { font-size: clamp(1.5rem, 2vw, 2rem); }
/* nagłówki ładnie łamane, bez sztywnego limitu */
h1, h2, h3 { text-wrap: balance; }
.ak-center h2 { max-width: 26ch; margin-left: auto; margin-right: auto; }
.ak-center .ak-sub, .ak-center .ak-note { max-width: 62ch; margin-left: auto; margin-right: auto; }

/* --- Górny pasek: cieńszy, elegancki --- */
.rd-navbar-top-panel { font-size: 12.5px; }
.rd-navbar-top-panel .rd-navbar-collapse { padding-top: 4px; padding-bottom: 4px; }
.list-spreader li { letter-spacing: 0.02em; }

/* --- Breadcrumb hero (podstrony) — premium band --- */
.section-breadcrumb .breadcrumb-wrapper {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
}
.section-breadcrumb .breadcrumb-wrapper::after {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(180deg, rgba(43,33,30,0.45) 0%, rgba(43,33,30,0.72) 100%);
}
.section-breadcrumb .parallax-content { position: relative; z-index: 1; width: 100%; }
.section-breadcrumb .shell.context-dark { text-align: center; }
.section-breadcrumb h1 { font-size: clamp(2.4rem, 4vw, 3.8rem); color: #fff; text-shadow: 0 2px 24px rgba(20,14,12,0.4); }
.section-breadcrumb .divider { margin: 20px auto 0; width: 60px; height: 3px; background: var(--gold) !important; }
.breadcrumb-custom { justify-content: center; padding-top: 18px; padding-bottom: 18px; }
.breadcrumb-custom li, .breadcrumb-custom li a { color: var(--muted); font-size: 14px; }
.breadcrumb-custom li a:hover { color: var(--bordo); }

/* --- Listy / checklisty --- */
.list-marked-primary > li::before,
.list-marked > li::before { color: var(--bordo) !important; }
.ak-checklist li { border-bottom: 1px solid var(--line); padding: 12px 0; }
.ak-checklist li:last-child { border-bottom: 0; }

/* --- Sekcje: spójny oddech --- */
.section-sm { padding-top: 60px !important; padding-bottom: 60px !important; }

/* --- Stopka: dopracowanie --- */
.page-footer, .footer-classic { padding-top: 26px !important; padding-bottom: 26px !important; }
.footer-classic .copyright, .page-footer .copyright { color: var(--warmgray, #a79b95); }
.list-md > li + li { margin-top: 12px; }

/* --- Delikatne, spójne podkreślenie linków tekstowych --- */
.section a.link-default:hover, .section p a:hover { color: var(--bordo); }

/* --- Obrazy w treści: miękkie zaokrąglenie --- */
.section img:not(.ak-portrait):not([class*="icon"]) { border-radius: 16px; }

/* ==========================================================================
   PREMIUM / EKSKLUZYWNIE — większa typografia, więcej powietrza, elegancja
   ========================================================================== */

/* Typografia — pewniejsza, większa */
h2 { font-size: clamp(2.3rem, 3.6vw, 3.6rem) !important; letter-spacing: -0.006em; line-height: 1.08; }
h3 { font-size: clamp(1.6rem, 2.2vw, 2.2rem); }
.ak-lead { font-size: clamp(1.15rem, 1.6vw, 1.45rem) !important; line-height: 1.6; color: var(--ink); }
.section p { font-size: 17px; }

/* Eyebrow — subtelniejszy, mocniej rozstrzelony */
.ak-eyebrow { font-size: 11px; letter-spacing: 0.32em; margin-bottom: 22px; }
.ak-eyebrow::before { width: 42px; }

/* Więcej powietrza między sekcjami */
@media (min-width: 992px) {
  .section-lg { padding-top: 132px !important; padding-bottom: 132px !important; }
}
.offset-top-40 { margin-top: 56px !important; }

/* Naprzemienne tła — cieplej i drożej */
.bg-white-lighter { background-color: #f6efe4 !important; }

/* Karty — więcej wnętrza, lżejszy „drogi" cień, cieńsze obramowanie */
.block-accent, .block-disclosure, .block-disclosure-xl, .thumb-default,
.ak-mini, .ak-step, .ak-quote, .form-block {
  border-color: rgba(43,33,30,0.08) !important;
  box-shadow: 0 44px 90px -54px rgba(43,33,30,0.55);
}
.ak-mini { padding: 42px 36px; }
.block-accent { padding: 44px 32px; }

/* Hero — mocniejszy akcent */
.swiper-slide-caption h1, .swiper-slide-caption h2 { letter-spacing: -0.012em; }
.swiper-content .heading-4 { letter-spacing: 0.34em; }

/* Przyciski — większe, stanowcze */
.button { font-size: 13px; letter-spacing: 0.14em; }
.button-primary, .button-gradient { padding: 17px 44px !important; }
.button-albus { padding: 16px 40px !important; }
.ak-nav-cta { padding: 12px 26px !important; font-size: 11.5px !important; }

/* Breadcrumb hero — bardziej dramatyczny */
.section-breadcrumb .breadcrumb-wrapper { min-height: 440px; }
.section-breadcrumb h1 { font-size: clamp(2.8rem, 4.6vw, 4.6rem); letter-spacing: -0.01em; }

/* Cytat — większy, elegancki */
.ak-quote { padding: 46px 48px; }
.ak-quote p { font-size: clamp(1.4rem, 2vw, 2rem); line-height: 1.4; }

/* Kroki (Najpierw słucham…) — dostojniej */
.ak-step { padding: 24px 28px; }
.ak-step span { font-size: 34px; }

/* Wcięcie treści — kontener nie klei się do krawędzi (szczególnie na szerokich ekranach) */
.shell { max-width: 1200px; margin-left: auto; margin-right: auto; }

/* Cienka złota linia jako subtelny akcent nad stopką kontaktową */
.page-footer::before {
  content: ""; display: block; height: 1px; margin: 0 0 26px;
  background: linear-gradient(90deg, transparent, rgba(178,138,82,0.5), transparent);
}

/* ==========================================================================
   NAGŁÓWEK: cieńszy, bez Search, równa linia + ładny dropdown
   ========================================================================== */

/* Usuń wyszukiwarkę */
.rd-navbar-search, .rd-navbar-search-toggle { display: none !important; }

@media (min-width: 992px) {
  /* Cieńszy górny (ciemny) pasek — kompaktowy poziomy rząd */
  .rd-navbar-top-panel { padding: 5px 0 !important; }
  .rd-navbar-top-panel .rd-navbar-top-panel-inner { min-height: 0 !important; align-items: center !important; }
  .rd-navbar-top-panel .rd-navbar-collapse {
    padding: 0 !important; min-height: 0 !important; height: auto !important;
    display: flex !important; align-items: center !important;
  }
  .rd-navbar-top-panel .rd-navbar-call { display: none !important; }
  .rd-navbar-top-panel .list-spreader {
    display: flex !important; align-items: center !important; gap: 18px;
    margin: 0 !important;
  }

  /* Główny wiersz nagłówka: stała, niska wysokość, wszystko wyśrodkowane */
  .rd-navbar-static .rd-navbar-nav-wrap {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end;
    min-height: 66px !important;
  }
  .rd-navbar-static .rd-navbar-nav {
    height: auto !important; min-height: 0 !important;
    display: flex !important; align-items: center !important;
  }
  .rd-navbar-static .rd-navbar-nav > li { height: auto !important; min-height: 0 !important; }
  .rd-navbar-static .rd-navbar-nav > li > a { line-height: 1.15 !important; height: auto !important; }
  .rd-navbar-static .rd-navbar-call {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    height: auto !important; min-height: 0 !important;
    align-self: center !important;
  }
  .rd-navbar-static .rd-navbar-call > * { margin: 0 !important; }
  .rd-navbar-static .rd-navbar-panel {
    min-height: 66px !important; padding: 0 !important;
    display: flex !important; align-items: center !important;
  }
  .ak-nav-cta { padding: 9px 20px !important; font-size: 11px !important; }
  .rd-navbar-call .unit-link-with-icon { margin: 0 !important; }
}

/* Ładny dropdown „Metody terapii" */
.rd-navbar-dropdown {
  width: 340px !important;
  min-width: 340px !important;
  padding: 12px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  box-shadow: 0 34px 70px -34px rgba(60,38,34,0.45) !important;
  margin-top: 10px !important;
}
.rd-navbar-dropdown::before {  /* mały „dziubek" nad ramką */
  content: ""; position: absolute; top: -7px; left: 30px;
  width: 14px; height: 14px; background: #fff;
  border-left: 1px solid var(--line); border-top: 1px solid var(--line);
  transform: rotate(45deg);
}
.rd-navbar-dropdown > li { margin: 0 !important; }
.rd-navbar-dropdown > li > a {
  display: block !important;
  white-space: normal !important;
  padding: 11px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: var(--ink) !important;
  transition: background .2s ease, color .2s ease;
}
.rd-navbar-dropdown > li > a:hover {
  background: var(--rose) !important;
  color: var(--bordo) !important;
}

/* ==========================================================================
   Nagłówek w JEDNEJ równej linii (bez zawijania)
   ========================================================================== */
@media (min-width: 992px) {
  .rd-navbar-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
  }
  .rd-navbar-nav > li { white-space: nowrap; }
  .rd-navbar-nav > li > a { padding: 0 13px !important; font-size: 14px !important; }
  /* prawa strona: telefon + guzik ciasno */
  .rd-navbar-call { gap: 14px; }
  .rd-navbar-call .unit-body a { font-size: 15px; white-space: nowrap; }
  .ak-nav-cta { padding: 10px 20px !important; font-size: 11px !important; letter-spacing: 0.08em; }
  .brand-text { font-size: 21px; }
}
@media (min-width: 992px) and (max-width: 1300px) {
  .rd-navbar-nav > li > a { padding: 0 10px !important; font-size: 13px !important; }
  .ak-nav-cta { padding: 9px 16px !important; }
}

/* ==========================================================================
   Karty usług (metody-terapii) — bez zdjęć, eleganckie karty tekstowe
   ========================================================================== */
.section-thumb-custom .thumb-default {
  height: 100%;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 26px 24px 24px;
  box-shadow: 0 22px 44px -36px rgba(60,38,34,0.4);
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
.section-thumb-custom .thumb-default::before {
  content: "";
  display: block;
  width: 34px; height: 3px;
  background: var(--gold);
  border-radius: 3px;
  margin-bottom: 18px;
}
.section-thumb-custom .thumb-default:hover {
  border-color: rgba(124,74,68,0.35);
  box-shadow: 0 28px 52px -34px rgba(60,38,34,0.5);
  transform: translateY(-3px);
}
.section-thumb-custom .thumb-default-title {
  margin: 0 0 10px;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 20px;
  line-height: 1.25;
  color: var(--ink);
}
.section-thumb-custom .thumb-default p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

/* Portret na profil.html (po podmianie ze stockowego lekarza) */
.ak-profil-photo {
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 40px 72px -44px rgba(60,38,34,0.55);
}

/* ==========================================================================
   Metody terapii — karty metod
   ========================================================================== */
.ak-mt0 { margin-top: 0 !important; }
.offset-bottom-16 { margin-bottom: 16px; }
.offset-bottom-30 { margin-bottom: 30px; }

.ak-methods {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media (min-width: 600px) { .ak-methods { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .ak-methods { grid-template-columns: 1fr 1fr 1fr; } }
.ak-method {
  display: flex;
  flex-direction: column;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px 28px 26px;
  box-shadow: 0 22px 44px -36px rgba(60,38,34,0.4);
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
a.ak-method { text-decoration: none; }
.ak-method p { flex: 1 0 auto; }
.ak-method-link {
  display: inline-block;
  margin-top: 16px;
  color: var(--bordo);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: color .25s ease, transform .25s ease;
}
.ak-method:hover .ak-method-link { color: var(--gold); transform: translateX(3px); }

/* Artykuł metody (rozwinięcie) */
.ak-article { max-width: 780px; margin: 0 auto; }
.ak-article .ak-lead {
  font-size: 21px; line-height: 1.6; color: var(--ink);
  margin: 0 0 6px; font-family: 'Fraunces', Georgia, serif;
}
.ak-article h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 26px; color: var(--ink);
  margin: 40px 0 14px;
}
.ak-article p { color: var(--muted); font-size: 17px; line-height: 1.75; margin: 0 0 16px; }
.ak-article ul { color: var(--muted); font-size: 17px; line-height: 1.7; padding-left: 20px; margin: 0 0 16px; }
.ak-article li { margin-bottom: 6px; }
.ak-note {
  margin: 32px 0 0;
  padding: 18px 22px;
  background: var(--ivory, #fbf8f2);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
  color: var(--muted);
  font-size: 15px; line-height: 1.6;
}
.ak-back { margin-top: 36px; }
.ak-back a { color: var(--bordo); font-weight: 700; text-decoration: none; }
.ak-back a:hover { color: var(--gold); }
.ak-method:hover {
  border-color: rgba(124,74,68,0.35);
  box-shadow: 0 28px 52px -34px rgba(60,38,34,0.5);
  transform: translateY(-3px);
}
.ak-method-num {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 15px;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 12px;
}
.ak-method h4 {
  margin: 0 0 10px;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 21px;
  line-height: 1.25;
  color: var(--ink);
}
.ak-method p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.62;
}

/* ==========================================================================
   MOBILE — zdjęcia i przyciski wyśrodkowane
   ========================================================================== */
@media (max-width: 991px) {
  /* KARUZELA (strona główna): slajd nie rozpycha się poza ekran,
     tło (twarz) wyśrodkowane zamiast przyklejone do prawej krawędzi */
  .swiper-slide {
    width: 100vw !important;
    white-space: normal !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  /* BANER PODSTRON: parallax zniekształcał zdjęcie (ściskał 1920×600
     do rozmiaru kontenera). Wymuszamy proporcjonalne, wyśrodkowane cover. */
  .breadcrumb-wrapper .material-parallax,
  .parallax-container .material-parallax {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  .breadcrumb-wrapper .material-parallax img,
  .parallax-container .material-parallax img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    left: 0 !important;
    top: 0 !important;
  }
}

@media (max-width: 767px) {
  /* HERO: tekst i przyciski „Umów konsultację" na środku */
  .swiper-slide-caption { text-align: center !important; }
  .swiper-content,
  .swiper-content.section-lg { text-align: center !important; }
  .swiper-content h1,
  .swiper-content h2,
  .swiper-content > p,
  .swiper-content .heading-4 {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Grupy przycisków w sekcjach — wyśrodkowane */
  .ak-btns { justify-content: center !important; }
  .ak-btns-center { justify-content: center !important; }
}
