/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root{
  /* Paleta — ciepła, kobieca, „glow" */
  --cream:      #FAF5EE;   /* baza strony                     */
  --cream-alt:  #F2EADD;   /* tła sekcji naprzemiennych       */
  --sand:       #E9DCC9;   /* obramowania, delikatne plamy    */
  --ink:        #2E2823;   /* tekst / nagłówki (espresso)     */
  --muted:      #7C7266;   /* tekst pomocniczy                */
  --gold:       #C79A45;   /* akcent marki (💛)               */
  --gold-deep:  #A97F2F;   /* hover / kontrast na kremie      */
  --gold-soft:  #F4E7CD;   /* tinta złota — plakietki         */
  --dark:       #262119;   /* sekcje ciemne, stopka           */
  --white:      #FFFFFF;

  /* Typografia */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Jost', 'Segoe UI', system-ui, sans-serif;

  /* Rytm i kształty */
  --radius:     18px;
  --radius-sm:  12px;
  --shadow:     0 14px 40px rgba(46,40,35,.10);
  --shadow-sm:  0 6px 18px rgba(46,40,35,.08);
  --container:  1160px;
  --header-h:   80px;
}
/* ==========================================================================
   2. RESET / BAZA (mobile-first)
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 14px);}
body{
  margin:0;font-family:var(--font-body);font-size:16.5px;line-height:1.7;
  color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:var(--gold-deep);}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.18;margin:0 0 .5em;font-weight:600;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 22px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}
/* ==========================================================================
   3. KOMPONENTY WSPÓLNE
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body);font-weight:600;font-size:15.5px;letter-spacing:.02em;
  padding:15px 30px;border-radius:999px;border:2px solid transparent;
  text-decoration:none;cursor:pointer;text-align:center;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 8px 22px rgba(199,154,69,.35);}
.btn-gold:hover{background:var(--gold-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(199,154,69,.42);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);border-width:2px;}
.btn-outline:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px);}
.btn-outline-light{background:transparent;color:var(--cream);border-color:rgba(255,255,255,.85);border-width:2px;}
.btn-outline-light:hover{background:var(--cream);color:var(--ink);transform:translateY(-2px);}
.btn .arrow{transition:transform .18s ease;}
.btn:hover .arrow{transform:translateX(4px);}

/* Zabezpieczenie: inne aktywne wtyczki (np. Tutor LMS, wtyczki SEO) czesto rejestruja
   WLASNA, ogolna klase ".btn" bez !important. Jesli ich arkusz zaladuje sie PO naszym,
   moze po cichu wyzerowac obramowanie/tlo. Wymuszamy nasz wyglad na kazdym elemencie
   z klasa marki, niezaleznie od kolejnosci ladowania innych arkuszy. */
a.btn,button.btn,.btn{
  display:inline-flex!important;border-radius:999px!important;text-decoration:none!important;
  box-sizing:border-box!important;
}
a.btn-outline,button.btn-outline,.btn-outline{border:2px solid var(--ink)!important;background:transparent!important;color:var(--ink)!important;}
a.btn-outline-light,button.btn-outline-light,.btn-outline-light{border:2px solid rgba(255,255,255,.85)!important;background:transparent!important;color:var(--cream)!important;}
a.btn-gold,button.btn-gold,.btn-gold{border:2px solid transparent!important;background:var(--gold)!important;color:#fff!important;}

/* Zabezpieczenie: gdy przycisk pochodzi z bloku Gutenberga, klasa marki
   (btn-gold/btn-outline/btn-outline-light) jest na ZEWNETRZNYM <div
   class="wp-block-button ..."> (zgodnie z prawdziwym save.js core/button -
   className NIGDY nie trafia na sam link), wiec stylujemy <a> jako
   potomka tej klasy, nie przez klase bezposrednio na <a>. */
.wp-block-button.btn-gold .wp-block-button__link,
.wp-block-button.btn-outline .wp-block-button__link,
.wp-block-button.btn-outline-light .wp-block-button__link,
a.wp-element-button.btn{
  display:inline-flex!important;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body)!important;font-weight:600!important;font-size:15.5px!important;letter-spacing:.02em;
  padding:15px 30px!important;border-radius:999px!important;border:1.5px solid transparent;
  text-decoration:none!important;line-height:1.2;
}
.wp-block-button.btn-gold .wp-block-button__link{background:var(--gold)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 22px rgba(199,154,69,.35);}
.wp-block-button.btn-gold .wp-block-button__link:hover{background:var(--gold-deep)!important;}
.wp-block-button.btn-outline .wp-block-button__link{background:transparent!important;color:var(--ink)!important;border-color:var(--ink)!important;border-width:2px!important;}
.wp-block-button.btn-outline .wp-block-button__link:hover{background:var(--ink)!important;color:var(--cream)!important;}
.wp-block-button.btn-outline-light .wp-block-button__link{background:transparent!important;color:var(--cream)!important;border-color:rgba(255,255,255,.85)!important;border-width:2px!important;}
.wp-block-button.btn-outline-light .wp-block-button__link:hover{background:var(--cream)!important;color:var(--ink)!important;}

/* Siatka bezpieczenstwa: wymuszamy zaokraglenie na KAZDYM elemencie z klasa
   marki (btn/btn-gold/btn-outline/btn-outline-light), niezaleznie od tego,
   jak dokladnie jest zagniezdzony (Gutenberg, PHP, inna wtyczka konfliktujaca
   z ta sama nazwa klasy). Maksymalna specyficznosc + !important, celowo
   szeroki selektor jako ostatnia linia obrony. */
.btn, .btn-gold, .btn-outline, .btn-outline-light,
a[class*="btn"], button[class*="btn"] {
  border-radius: 999px !important;
}
/* Eyebrow — mała etykieta nad nagłówkiem */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:14px;
}
.eyebrow::before{content:"";width:30px;height:1.5px;background:var(--gold);}
.section{padding:72px 0;}
.section-alt{background:var(--cream-alt);}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head h2{font-size:clamp(28px,4.4vw,42px);}
.section-head p{color:var(--muted);font-size:17.5px;}
/* Animacja wejścia */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease, transform .65s ease;}
.reveal.is-visible{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.09s;}
.reveal[data-delay="2"]{transition-delay:.18s;}
.reveal[data-delay="3"]{transition-delay:.27s;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}
/* ==========================================================================
   4. HEADER
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:90;height:var(--header-h);
  background:rgba(250,245,238,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sand);
}
.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.logo img{height:52px;width:auto;}
.main-nav{display:none;}
.main-nav ul{display:flex;gap:30px;margin:0;padding:0;list-style:none;}
.main-nav a{
  font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;
  padding:6px 0;border-bottom:2px solid transparent;transition:color .15s, border-color .15s;
}
.main-nav a:hover{color:var(--gold-deep);border-color:var(--gold);}
.header-cta{display:none;}
/* Rozmiar przycisku w naglowku - NIEZALEZNY od jakiegokolwiek media query,
   zeby na pewno zawsze byl maly, niezaleznie od szerokosci ekranu, przy
   ktorej akurat staje sie widoczny. */
.header-cta.btn,a.header-cta.btn{padding:6px 13px!important;font-size:11px!important;box-shadow:0 3px 8px rgba(199,154,69,.25)!important;}
/* burger (mobile) */
.nav-toggle{
  display:inline-flex;flex-direction:column;gap:5px;justify-content:center;
  width:44px;height:44px;padding:10px;background:none;border:1.5px solid var(--sand);border-radius:10px;cursor:pointer;
}
.nav-toggle span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s, opacity .25s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* mobile drawer */
.mobile-nav{
  position:fixed;inset:var(--header-h) 0 auto 0;z-index:80;
  background:var(--cream);border-bottom:1px solid var(--sand);box-shadow:var(--shadow);
  padding:18px 22px 26px;display:none;
}
.mobile-nav.open{display:block;}
.mobile-nav ul{margin:0;padding:0;list-style:none;display:grid;gap:4px;}
.mobile-nav a{display:block;padding:12px 6px;font-size:17px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sand);}
.mobile-nav .btn{margin-top:16px;width:100%;}
/* ==========================================================================
   SEKCJA 2 — HERO (banner full width: szary panel z tekstem + zdjęcie)
   Zdjęcie w osobnej kolumnie (object-fit: cover, kadrowanie od góry),
   dzięki czemu tekst nigdy nie nachodzi na twarz — na żadnej szerokości.
   ========================================================================== */
:root{--hero-gray:#ECEAE6;}
/* szare tło panelu tekstowego */
.hero{position:relative;background:var(--hero-gray);padding:0;}
.hero-grid{display:grid;min-height:auto;}
/* panel tekstowy — wyrównany do siatki treści strony */
.hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:54px 22px 60px;
  padding-left:max(22px, calc((100vw - var(--container)) / 2));
}
.hero-kicker{
  display:inline-block;font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:18px;
}
.hero h1{color:var(--ink);font-size:clamp(32px,4.6vw,54px);font-weight:600;letter-spacing:-.01em;}
.hero h1 em{font-style:italic;color:var(--gold-deep);}
.hero-sub{font-size:17.5px;color:var(--muted);max-width:520px;margin:20px 0 30px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px;}
.hero-social{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.hero-social a{
  color:var(--muted);text-decoration:none;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  transition:color .15s;
}
.hero-social a:hover{color:var(--gold-deep);}
/* kolumna ze zdjęciem */
.hero-media{order:-1;position:relative;min-height:300px;}
.hero-media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:80% 22%; /* dostrojone pod nowe zdjęcie — twarz bliżej środka niż przy poprzednim kadrze */
}
@media (min-width:920px){
  .hero-grid{grid-template-columns:minmax(0,55%) 1fr;min-height:clamp(540px,72vh,760px);}
  .hero-media{order:0;min-height:0;}
  .hero-media img{object-position:82% 18%;}
  .hero-copy{padding-top:70px;padding-bottom:70px;padding-right:56px;}
}
/* ==========================================================================
   SEKCJA 3 — REALNE EFEKTY (przed/po + lista)
   ========================================================================== */
.results-grid{display:grid;gap:44px;align-items:start;}
/* interaktywny suwak przed/po — osadzony w sliderze/galerii */
/* Strony porównania: LEWA = „Przed" (warstwa .ba-before), PRAWA = „Po" (warstwa bazowa) */
.ba-slider{position:relative;max-width:520px;}
.ba-viewport{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-sm);width:100%;}
.ba-viewport{transition:height .35s ease;}
.ba-track{display:flex;align-items:flex-start;transition:transform .45s ease;width:100%;}
/* Kadr slajdu bierze kształt zdjęć, ale nie wyżej niż ekran: pionowa para zdjęć
   potrafiłaby rozciągnąć suwak na 1700 px. Po ograniczeniu zdjęcie po prostu maleje
   i dostaje marginesy po bokach — nadal nic nie jest przycięte. */
.ba-item{position:relative;flex:0 0 100%;width:100%;max-width:100%;max-height:min(68vh,620px);background:var(--cream);}
/* „contain", nie „cover": zdjęcia podopiecznych mają różne formaty i cover ucinał im twarze.
   Kadr slajdu bierze kształt wyższego zdjęcia z pary, więc zwykle nie widać żadnych marginesów.
   Wyrównanie do góry: gdy para ma lekko różne proporcje, oczy i brwi trafiają na tę samą
   wysokość po obu stronach zasłony — przy wyśrodkowaniu twarze się rozjeżdżały. */
.ba-item img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block;}
/* Slajd z gotową grafiką „przed/po" — podopieczne przysyłają sklejone kolaże, których
   nie da się nałożyć zasłoną. Taki slajd pokazuje grafikę w całości, bez rozcinania. */
.ba-item.is-single img{object-position:center;}
/* Plakietki na gotowej grafice: „tb" = przed u góry / po na dole (najczęstszy układ),
   „lr" = przed po lewej / po po prawej. „none" wyłącza je zupełnie. */
.ba-item.is-single.lay-tb .ba-tag.przed{top:12px;bottom:auto;left:12px;}
.ba-item.is-single.lay-tb .ba-tag.po{bottom:12px;left:12px;right:auto;}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0);}
.ba-item input[type="range"]{
  position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3;
  -webkit-appearance:none;appearance:none;
}
.ba-handle{
  position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;z-index:2;pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.ba-handle::after{
  content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:#fff;color:var(--ink);font-size:11px;letter-spacing:2px;
  padding:8px 10px;border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap;
}
.ba-tag{
  position:absolute;bottom:12px;z-index:2;pointer-events:none;
  font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(38,33,25,.72);color:var(--cream);padding:5px 12px;border-radius:999px;
}
.ba-tag.przed{left:12px;}
.ba-tag.po{right:12px;}
/* nawigacja slidera */
.ba-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--ink);box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:center;font-size:18px;
  transition:background-color .15s, transform .15s;
}
.ba-nav:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.ba-nav.prev{left:-10px;}
.ba-nav.next{right:-10px;}
.ba-dots{display:flex;gap:9px;justify-content:center;margin-top:16px;}
.ba-dot{
  width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:var(--sand);transition:background-color .15s, transform .15s;
}
.ba-dot.is-active{background:var(--gold);transform:scale(1.25);}
.ba-hint{margin:10px 0 0;text-align:center;font-size:13px;color:var(--muted);}
.results-list{margin:0 0 30px;padding:0;list-style:none;display:grid;gap:13px;}
.results-list li{display:flex;gap:13px;align-items:flex-start;font-size:16.5px;}
.results-list svg{width:20px;height:20px;color:var(--gold-deep);flex:none;margin-top:4px;}
.results-note{color:var(--muted);font-size:15px;font-style:italic;margin-bottom:28px;}
@media (min-width:900px){
  .results-grid{grid-template-columns:1fr 1fr;gap:60px;}
}
/* ==========================================================================
   SEKCJA 4 — CZYM JEST FACE FITNESS (3 filary)
   ========================================================================== */
.pillars{display:grid;gap:22px;}
.pillar{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:30px 26px;transition:transform .22s ease, box-shadow .22s ease;
}
.pillar:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.pillar-ico{
  width:54px;height:54px;border-radius:50%;background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.pillar-ico svg{width:26px;height:26px;}
.pillar h3{font-size:20px;margin-bottom:10px;}
.pillar p{color:var(--muted);font-size:15.5px;margin:0;}
.pillar .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.pillar .tags span{font-size:13px;font-weight:500;background:var(--cream-alt);border-radius:999px;padding:5px 13px;}
@media (min-width:860px){.pillars{grid-template-columns:repeat(3,1fr);}}
/* ==========================================================================
   SEKCJA 5 — SPOŁECZNOŚĆ (czat + treść)
   ========================================================================== */
.community{background:var(--dark);color:#E7DECF;position:relative;overflow:hidden;}
.community::before{
  content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle, rgba(199,154,69,.16), transparent 70%);
}
.community .eyebrow{color:var(--gold);}
.community .eyebrow::before{background:var(--gold);}
.community h2{color:var(--cream);}
.community-grid{position:relative;display:grid;gap:46px;align-items:center;}
.community-copy>p{color:#CFC4B0;font-size:17px;}
.community-copy .lead{font-size:19px;color:#E7DECF;}
.perks{margin:26px 0 32px;padding:0;list-style:none;display:grid;gap:16px;}
.perks li{display:flex;gap:14px;align-items:flex-start;}
.perks svg{width:22px;height:22px;color:var(--gold);flex:none;margin-top:3px;}
.perks strong{display:block;font-size:16.5px;color:var(--cream);font-weight:600;}
.perks span{font-size:14.5px;color:#B7AC97;}
.community-ctas{display:flex;flex-wrap:wrap;gap:14px;}
/* mock czatu */
.chat{
  background:#332C22;border:1px solid rgba(231,222,207,.14);border-radius:22px;
  padding:22px 20px;box-shadow:var(--shadow);max-width:440px;margin:0 auto;
}
.chat-head{
  display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:16px;
  border-bottom:1px solid rgba(231,222,207,.12);
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#B7AC97;
}
.chat-head .dot{width:9px;height:9px;border-radius:50%;background:#7FB069;box-shadow:0 0 0 4px rgba(127,176,105,.18);}
.bubble{
  max-width:86%;padding:11px 16px;border-radius:16px;font-size:14.5px;line-height:1.55;margin-bottom:11px;
}
.bubble.them{background:rgba(231,222,207,.10);color:#E7DECF;border-bottom-left-radius:4px;}
.bubble.me{background:var(--gold);color:#2B2415;margin-left:auto;border-bottom-right-radius:4px;}
@media (min-width:940px){.community-grid{grid-template-columns:1.05fr .95fr;gap:64px;}}
/* ==========================================================================
   SEKCJA 6 — ZOBACZ CO ZYSKUJESZ (3 karty)
   ========================================================================== */
.gain-grid{display:grid;gap:22px;}
.gain{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:32px 28px;display:flex;flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
}
.gain:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.gain-num{
  font-family:var(--font-display);font-style:italic;font-size:44px;color:var(--gold);
  line-height:1;margin-bottom:14px;
}
.gain h3{font-size:21px;}
.gain p{color:var(--muted);font-size:15.5px;}
.gain em{color:var(--ink);font-style:italic;}
.gain .tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;}
.gain .tags span{font-size:13px;font-weight:500;background:var(--gold-soft);color:var(--gold-deep);border-radius:999px;padding:5px 13px;}
@media (min-width:880px){.gain-grid{grid-template-columns:repeat(3,1fr);}}
/* ==========================================================================
   SEKCJA 7 — QUIZ „Sprawdź, czego potrzebuje Twoja twarz"
   (kod bazowy przestylowany do palety strony: krem / espresso / złoto)
   ========================================================================== */
.quiz{background:var(--cream-alt);}
.quiz-card{
  position:relative;overflow:hidden;
  background:var(--white);border:1px solid var(--sand);border-radius:28px;
  box-shadow:var(--shadow);
}
.quiz-card::after{ /* dekoracyjny złoty poblask */
  content:"";position:absolute;width:260px;height:260px;top:-170px;right:-100px;
  border-radius:50%;background:var(--gold-soft);opacity:.55;pointer-events:none;
}
.quiz-noscript{margin:18px;padding:16px;border-radius:var(--radius-sm);background:var(--gold-soft);color:var(--gold-deep);text-align:center;}
.qview{display:none;position:relative;z-index:1;padding:clamp(28px,5vw,56px);animation:qfade .42s ease both;}
.qview.is-active{display:block;}
@keyframes qfade{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}
.q-title{font-size:clamp(26px,4vw,40px);margin-bottom:16px;}
.q-lead{max-width:680px;color:var(--muted);font-size:17px;margin-bottom:0;}
.q-intro-grid{display:grid;gap:30px;align-items:end;margin-top:36px;}
.q-benefits{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.q-benefits li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:15px;}
.q-benefits svg{flex:none;width:20px;height:20px;margin-top:3px;color:var(--gold-deep);}
.q-intro-cta{display:grid;gap:12px;}
.q-microcopy{margin:0;color:var(--muted);font-size:13px;text-align:center;}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-cream{background:var(--cream);color:var(--ink);}
.btn-cream:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm);}
/* pasek postępu */
.q-topbar{margin-bottom:32px;}
.q-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:11px;color:var(--muted);font-size:14px;}
.q-progress{width:100%;height:7px;overflow:hidden;border-radius:999px;background:var(--cream-alt);}
.q-progress__bar{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-soft),var(--gold));transition:width .32s ease;}
/* pytanie i odpowiedzi */
.q-category{margin-bottom:12px;color:var(--gold-deep);font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;}
.q-question{max-width:760px;margin-bottom:28px;font-size:clamp(23px,3.6vw,34px);}
.q-answers{display:grid;gap:12px;}
.answer{
  position:relative;width:100%;padding:16px 20px;
  border:1.5px solid var(--sand);border-radius:var(--radius-sm);
  color:var(--ink);background:var(--cream);cursor:pointer;text-align:left;font:inherit;font-size:15.5px;
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.answer:hover{transform:translateX(3px);border-color:var(--gold);background:#fff;}
.answer.is-selected{border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 0 0 0 1px rgba(199,154,69,.25);}
.answer__inner{display:flex;align-items:center;gap:13px;}
.answer__dot{
  display:grid;flex:none;place-items:center;width:22px;height:22px;
  border:1.5px solid var(--sand);border-radius:50%;background:#fff;
}
.answer.is-selected .answer__dot{border-color:var(--gold-deep);background:var(--gold-deep);box-shadow:inset 0 0 0 5px #fff;}
.q-actions{display:flex;justify-content:space-between;gap:14px;margin-top:32px;}
.q-actions .btn{min-width:132px;}
/* wynik */
.q-badge{
  display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 15px;
  border:1px solid var(--sand);border-radius:999px;color:var(--gold-deep);background:var(--cream);
  font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
}
.q-badge svg{width:22px;height:22px;}
.q-result-grid{display:grid;gap:20px;margin-top:30px;}
.q-panel{padding:24px;border:1px solid var(--sand);border-radius:var(--radius);background:var(--cream);}
.q-panel-title{margin-bottom:16px;color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;}
.q-factors,.q-rituals{display:grid;gap:14px;margin:0;padding:0;list-style:none;}
.factor{display:grid;gap:7px;}
.factor__line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:14.5px;}
.factor__track{height:7px;overflow:hidden;border-radius:999px;background:var(--cream-alt);}
.factor__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sand),var(--gold));}
.q-rituals li{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start;color:var(--muted);font-size:14.5px;}
.q-rituals span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  color:var(--gold-deep);background:var(--gold-soft);font-size:13px;font-weight:600;
}
.q-consult{
  display:none;gap:12px;align-items:flex-start;margin-top:22px;padding:17px 18px;
  border:1px solid rgba(199,154,69,.4);border-radius:var(--radius-sm);
  color:#7A5E22;background:var(--gold-soft);font-size:14.5px;
}
.q-consult.is-visible{display:flex;}
.q-consult svg{flex:none;width:21px;height:21px;margin-top:2px;}
.q-cta{
  display:grid;gap:17px;align-items:center;margin-top:28px;padding:clamp(22px,4vw,32px);
  border-radius:var(--radius);color:var(--cream);
  background:radial-gradient(circle at 84% 22%, rgba(199,154,69,.28), transparent 14rem), var(--dark);
  box-shadow:var(--shadow);
}
.q-cta h3{color:var(--cream);margin-bottom:7px;font-size:24px;}
.q-cta p{max-width:680px;margin:0;color:#CFC4B0;font-size:15.5px;}
.q-cta .btn{justify-self:start;}
.q-result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.q-disclaimer{margin:20px 4px 0;color:var(--muted);font-size:12.5px;text-align:center;}
@media (min-width:760px){
  .q-intro-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);}
  .q-result-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);}
}
@media (max-width:759px){
  .q-actions{
    position:sticky;bottom:10px;z-index:3;padding:10px;
    border:1px solid var(--sand);border-radius:999px;
    background:rgba(250,245,238,.9);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px);
  }
  .q-actions .btn{min-width:0;flex:1;}
  .q-cta .btn{width:100%;justify-self:stretch;}
}
/* ==========================================================================
   SEKCJA 8 — O MNIE
   ========================================================================== */
.about-grid{display:grid;gap:40px;align-items:center;}
.about-media{position:relative;max-width:420px;margin:0 auto;}
.about-media::before{ /* organiczna plama pod zdjęciem */
  content:"";position:absolute;inset:8% -4% -4% 8%;
  background:var(--gold-soft);border-radius:58% 42% 50% 50% / 52% 55% 45% 48%;
}
.about-media img{position:relative;border-radius:56% 44% 48% 52% / 50% 52% 48% 50%;object-fit:cover;aspect-ratio:4/5;width:100%;}
.about-copy blockquote{
  margin:0 0 22px;padding-left:20px;border-left:3px solid var(--gold);
  font-family:var(--font-display);font-style:italic;font-size:20px;line-height:1.5;color:var(--ink);
}
.about-copy p{color:var(--muted);font-size:16.5px;}
@media (min-width:920px){.about-grid{grid-template-columns:.9fr 1.1fr;gap:70px;}}
/* ==========================================================================
   SEKCJA 9 — KONSULTACJA 1:1
   ========================================================================== */
.consult{background:var(--dark);color:#E7DECF;position:relative;overflow:hidden;}
.consult::after{
  content:"";position:absolute;left:-140px;bottom:-160px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(199,154,69,.15), transparent 70%);
}
.consult .eyebrow{color:var(--gold);}
.consult .eyebrow::before{background:var(--gold);}
.consult h2{color:var(--cream);}
.consult-grid{position:relative;display:grid;gap:44px;align-items:start;}
.consult-copy .by{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#B7AC97;margin-bottom:26px;}
.consult-copy p{color:#CFC4B0;font-size:17px;}
.consult-list{margin:24px 0 32px;padding:0;list-style:none;display:grid;gap:14px;}
.consult-list li{display:flex;gap:13px;align-items:flex-start;font-size:15.5px;color:#E7DECF;}
.consult-list svg{width:20px;height:20px;color:var(--gold);flex:none;margin-top:4px;}
.consult-list b{color:var(--gold);font-weight:600;}
/* karta „Jak to wygląda" */
.consult-card{
  background:var(--cream);color:var(--ink);border-radius:var(--radius);
  padding:32px 28px;box-shadow:var(--shadow);
}
.consult-card h3{font-size:22px;margin-bottom:20px;}
.consult-card dl,.consult-card .dl{margin:0 0 26px;display:grid;gap:0;}
.consult-card .row{
  display:grid;grid-template-columns:96px 1fr;gap:14px;padding:13px 0;
  border-bottom:1px solid var(--sand);font-size:15px;
}
.consult-card .row:last-child{border-bottom:0;}
.consult-card dt,.consult-card .dt{font-weight:600;color:var(--gold-deep);margin:0;}
.consult-card dd,.consult-card .dd{margin:0;color:var(--muted);}
.consult-card .btn{width:100%;}
.consult-card .wp-block-buttons,
.consult-card .wp-block-button{width:100%;}
@media (min-width:940px){.consult-grid{grid-template-columns:1.05fr .95fr;gap:64px;}}
/* ==========================================================================
   SEKCJA 10 — OFERTA (3 ścieżki)
   ========================================================================== */
.offer-grid{display:grid;gap:22px;}
.offer{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:34px 28px;display:flex;flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.offer:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold);}
.offer .eyebrow{margin-bottom:8px;}
.offer h3{font-size:23px;}
.offer p{color:var(--muted);font-size:15.5px;}
.offer .btn{margin-top:auto;align-self:flex-start;}
.offer.featured{background:var(--ink);border-color:var(--ink);}
.offer.featured h3{color:var(--cream);}
.offer.featured p{color:#C9BFAE;}
.offer.featured .eyebrow{color:var(--gold);}
.offer.featured .eyebrow::before{background:var(--gold);}
@media (min-width:880px){.offer-grid{grid-template-columns:repeat(3,1fr);}}
/* ==========================================================================
   SEKCJA 11 — OPINIE
   ========================================================================== */
.reviews-grid{display:grid;gap:20px;}
.review{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:28px 26px;display:flex;flex-direction:column;gap:16px;
  transition:transform .22s ease, box-shadow .22s ease;
}
.review:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);}
.review .quote-mark{font-family:var(--font-display);font-size:52px;line-height:.6;color:var(--gold);}
.review p{font-size:15.5px;color:var(--ink);margin:0;font-style:italic;}
.review footer{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.04em;}
@media (min-width:680px){.reviews-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1040px){.reviews-grid{grid-template-columns:repeat(4,1fr);}}
/* ==========================================================================
   SEKCJA 12 — KONTAKT
   ========================================================================== */
.contact{background:var(--cream-alt);}
.contact-grid{display:grid;gap:44px;}
.contact-copy p{color:var(--muted);font-size:17px;max-width:440px;}
.contact-hint{
  background:var(--gold-soft);border-radius:var(--radius-sm);padding:16px 20px;
  font-size:15px;color:var(--gold-deep);margin:22px 0 28px;
}
.contact-ctas{display:flex;flex-wrap:wrap;gap:14px;}
.form-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:32px 26px;
}
.form-grid{display:grid;gap:16px;}
.form-field label{display:block;font-size:13.5px;font-weight:600;letter-spacing:.04em;margin-bottom:7px;}
.form-field input,.form-field textarea{
  width:100%;font:inherit;font-size:15.5px;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--sand);border-radius:var(--radius-sm);
  padding:13px 15px;transition:border-color .15s, box-shadow .15s, background-color .15s;
}
.form-field input:focus,.form-field textarea:focus{
  outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(199,154,69,.16);
}
.form-field textarea{resize:vertical;min-height:120px;}
.form-2col{display:grid;gap:16px;}
.form-consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--muted);}
.form-consent input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--gold-deep);}
.form-card .btn{width:100%;}
@media (min-width:560px){.form-2col{grid-template-columns:1fr 1fr;}}
@media (min-width:960px){.contact-grid{grid-template-columns:1fr 1.05fr;gap:64px;align-items:start;}}
/* ==========================================================================
   SEKCJA 13 — STOPKA
   ========================================================================== */
.site-footer{background:var(--dark);color:#B7AC97;padding:44px 0;}
.footer-inner{display:flex;flex-direction:column;gap:22px;align-items:center;text-align:center;}
.site-footer img{height:56px;width:auto;}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin:0;padding:0;list-style:none;}
.footer-nav a{color:#CFC4B0;text-decoration:none;font-size:14.5px;transition:color .15s;}
.footer-nav a:hover{color:var(--gold);}
.footer-legal{font-size:13px;color:#8D8371;}
@media (min-width:900px){.section{padding:96px 0;}}
/* ==========================================================================
   NAV UNIFIED — wspólny pasek promo, menu z dropdownem, koszyk, CTA
   (blok dodany przy scalaniu makiet w jedną stronę)
   ========================================================================== */
.promo-bar{
  background:var(--dark);color:#E7DECF;text-align:center;
  padding:11px 44px;position:relative;font-size:14.5px;line-height:1.5;
}
.promo-bar b{color:var(--gold);}
.promo-bar .code{
  display:inline-block;background:rgba(199,154,69,.18);border:1px dashed var(--gold);
  color:var(--gold);border-radius:6px;padding:1px 9px;font-weight:600;letter-spacing:.06em;
}
.promo-bar .fine{display:block;font-size:12px;color:#B7AC97;}
.promo-close{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border:none;border-radius:50%;cursor:pointer;
  background:rgba(231,222,207,.12);color:#E7DECF;font-size:15px;line-height:1;
  transition:background-color .15s;
}
.promo-close:hover{background:rgba(231,222,207,.24);}
/* header na szerszym kontenerze — menu ma oddech */
.site-header .container{max-width:1400px;}
.promo-bar{padding-left:60px;padding-right:60px;}
.main-nav ul{gap:26px;align-items:center;}
.main-nav a{font-size:15px;white-space:nowrap;}
.main-nav .nav-plain{
  font-size:15px;font-weight:500;color:var(--muted);white-space:nowrap;
  padding:6px 0;cursor:default;border-bottom:2px solid transparent;
}
.main-nav li{position:relative;}
/* dropdown „Moje konto" */
.has-sub > button{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--ink);
  background:none;border:0;padding:6px 0;cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s, border-color .15s;
}
.has-sub > button svg{width:13px;height:13px;transition:transform .2s ease;}
.has-sub:hover > button,.has-sub.open > button{color:var(--gold-deep);border-color:var(--gold);}
.has-sub.open > button svg,.has-sub:hover > button svg{transform:rotate(180deg);}
.main-nav ul.sub-menu{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);
  display:none;min-width:264px;margin:0;padding:12px;list-style:none;
  background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius-sm);
  box-shadow:var(--shadow);z-index:96;
}
.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.main-nav .has-sub:hover ul.sub-menu,.main-nav .has-sub.open ul.sub-menu{display:block;}
.sub-menu li span{
  display:block;padding:9px 12px;font-size:14.5px;line-height:1.4;color:var(--ink);
  border-radius:8px;cursor:default;transition:background-color .15s, color .15s;
}
.sub-menu li span:hover{background:var(--gold-soft);color:var(--gold-deep);}
/* akcje headera: CTA + koszyk + burger */
.header-actions{display:flex;align-items:center;gap:12px;}
.cart-link{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;color:var(--ink);
  border:1.5px solid var(--sand);text-decoration:none;
  transition:border-color .15s, color .15s, background-color .15s;
}
.cart-link:hover{border-color:var(--gold);color:var(--gold-deep);}
.cart-link[aria-current="page"]{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-deep);}
.cart-link svg{width:21px;height:21px;}
.cart-count{
  position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold);color:#fff;font-size:11.5px;font-weight:600;border-radius:999px;
}
/* menu mobilne — pozycja bez linku + rozwijane „Moje konto" */
.mobile-nav .nav-plain{
  display:block;padding:12px 6px;font-size:17px;font-weight:500;color:var(--muted);
  border-bottom:1px solid var(--sand);
}
.mobile-sub-toggle{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:12px 6px;font-family:var(--font-body);font-size:17px;font-weight:500;color:var(--ink);
  background:none;border:0;border-bottom:1px solid var(--sand);cursor:pointer;text-align:left;
}
.mobile-sub-toggle svg{width:16px;height:16px;transition:transform .2s ease;}
.mobile-sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}
.mobile-sub{display:none;margin:0;padding:2px 0 8px 16px;list-style:none;}
.mobile-sub.open{display:grid;gap:2px;}
.mobile-sub li span{display:block;padding:8px 6px;font-size:15px;color:var(--muted);}
/* breakpointy: pełne menu dopiero gdy się mieści */
@media (min-width:1000px){
  .main-nav{display:none;}
  .header-cta{display:none;}
  .nav-toggle{display:inline-flex !important;}
}
@media (min-width:1180px){
  .main-nav{display:block;}
  .header-cta{display:inline-flex;padding:6px 13px;font-size:11px;box-shadow:0 3px 8px rgba(199,154,69,.25);}
  .nav-toggle{display:none !important;}
  .mobile-nav{display:none !important;}
}
/* ==========================================================================
   1. DESIGN TOKENS — wspólne
   ========================================================================== */
:root{
  --cream:      #FAF5EE;
  --cream-alt:  #F2EADD;
  --sand:       #E9DCC9;
  --ink:        #2E2823;
  --muted:      #7C7266;
  --gold:       #C79A45;
  --gold-deep:  #A97F2F;
  --gold-soft:  #F4E7CD;
  --dark:       #262119;
  --white:      #FFFFFF;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Jost', 'Segoe UI', system-ui, sans-serif;

  --radius:     18px;
  --radius-sm:  12px;
  --shadow:     0 14px 40px rgba(46,40,35,.10);
  --shadow-sm:  0 6px 18px rgba(46,40,35,.08);
  --container:  1160px;
  --header-h:   80px;
}
/* ==========================================================================
   2. RESET / BAZA
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}
.btn-outline-light{background:transparent;color:var(--cream);border-color:rgba(255,255,255,.85);border-width:2px;}
.btn-outline-light:hover{background:var(--cream);color:var(--ink);border-color:var(--cream);transform:translateY(-2px);}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:14px;
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease, transform .65s ease;}
/* ==========================================================================
   4. HEADER — wspólny (podmieniany przy scalaniu)
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:90;height:var(--header-h);
  background:rgba(250,245,238,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sand);
}
.main-nav a[aria-current="page"]{color:var(--gold-deep);border-color:var(--gold);}
.nav-toggle{
  display:inline-flex;flex-direction:column;gap:5px;justify-content:center;
  width:44px;height:44px;padding:10px;background:none;border:1.5px solid var(--sand);border-radius:10px;cursor:pointer;
}
.mobile-nav{
  position:fixed;inset:var(--header-h) 0 auto 0;z-index:80;
  background:var(--cream);border-bottom:1px solid var(--sand);box-shadow:var(--shadow);
  padding:18px 22px 26px;display:none;
}
/* ==========================================================================
   SEKCJA 2 — GÓRNA SEKCJA
   ========================================================================== */
.shop-hero{
  background:
    radial-gradient(760px 380px at 88% 0%, rgba(199,154,69,.14), transparent 62%),
    var(--cream-alt);
  padding:56px 0 52px;
}
.shop-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13.5px;color:var(--muted);}
.shop-hero-crumb a{color:var(--muted);text-decoration:none;}
.shop-hero-crumb a:hover{color:var(--gold-deep);}
.shop-hero-crumb .sep{color:var(--gold);}
.shop-hero h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;max-width:720px;}
.shop-hero p{color:var(--muted);font-size:17.5px;max-width:640px;margin:0 0 26px;}
.shop-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.shop-jump a{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;border-radius:999px;text-decoration:none;
  font-size:14px;font-weight:600;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--sand);
  transition:border-color .15s, color .15s, transform .15s, background-color .15s;
}
.shop-jump a:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-2px);}
.shop-jump .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);}
@media (min-width:900px){.shop-hero{padding:72px 0 60px;}}
/* ==========================================================================
   KAFLE OFERT — pełna szerokość, naprzemienne
   ========================================================================== */
.tiles{padding:64px 0 8px;display:grid;gap:64px;}
.tile{scroll-margin-top:calc(var(--header-h) + 24px);}
.tile-inner{
  display:grid;gap:0;overflow:hidden;
  border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);
}
.tile-media{position:relative;min-height:300px;}
.tile-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tile-media .tile-no{
  position:absolute;top:20px;left:20px;z-index:2;
  font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.08em;
  background:rgba(250,245,238,.92);color:var(--ink);
  padding:7px 15px;border-radius:999px;box-shadow:var(--shadow-sm);
}
.tile-media .tile-no b{color:var(--gold-deep);}
.tile-body{padding:38px 26px;display:flex;flex-direction:column;justify-content:center;}
.tile-body h2{font-size:clamp(26px,3.4vw,36px);}
.tile-body h2 a{color:inherit;text-decoration:none;transition:color .15s;}
.tile-body h2 a:hover{color:var(--gold-deep);}
.tile-body .lead{font-size:16.5px;color:var(--muted);max-width:560px;}
.tile-points{margin:8px 0 22px;padding:0;list-style:none;display:grid;gap:11px;}
.tile-points li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--muted);}
.tile-points svg{flex:none;width:21px;height:21px;color:var(--gold-deep);margin-top:3px;}
.tile-points strong{color:var(--ink);font-weight:600;}
.tile-buy{
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;
  padding-top:22px;border-top:1px solid var(--sand);
}
.price{display:flex;align-items:baseline;gap:6px;font-family:var(--font-display);}
.price .amount{font-size:34px;font-weight:700;color:var(--ink);}
.price .unit{font-size:15px;color:var(--muted);font-family:var(--font-body);}
.price .old{font-size:17px;color:var(--muted);text-decoration:line-through;font-weight:500;}
.tile-ctas{display:flex;flex-wrap:wrap;gap:12px;}
/* wariant ciemny (Platforma) */
.tile-dark .tile-inner{background:var(--dark);}
.tile-dark .tile-body h2,.tile-dark .price .amount{color:var(--cream);}
.tile-dark .tile-body h2 a:hover{color:var(--gold);}
.tile-dark .tile-body .lead,.tile-dark .tile-points li{color:#CFC4B0;}
.tile-dark .tile-points strong{color:var(--cream);}
.tile-dark .tile-points svg{color:var(--gold);}
.tile-dark .tile-buy{border-top-color:rgba(231,222,207,.16);}
.tile-dark .price .unit{color:#B7AC97;}
.tile-dark .eyebrow{color:var(--gold);}
.tile-dark .eyebrow::before{background:var(--gold);}
.tile-badge{
  display:inline-block;margin-left:2px;
  font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  background:var(--gold);color:#fff;border-radius:999px;padding:4px 12px;vertical-align:middle;
}
/* wariant jasny */
.tile-light .tile-inner{background:var(--white);border:1px solid var(--sand);}
.tile-soft .tile-inner{background:var(--cream-alt);border:1px solid var(--sand);}
/* pakiet / warianty wewnątrz kafla */
.tile-sub{
  margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;
  background:var(--gold-soft);border:1px dashed var(--gold);border-radius:var(--radius-sm);
  padding:16px 20px;
}
.tile-dark .tile-sub{background:rgba(199,154,69,.12);}
.tile-sub .sub-info{flex:1 1 260px;}
.tile-sub .sub-info strong{display:block;font-family:var(--font-display);font-size:16.5px;color:var(--ink);}
.tile-dark .tile-sub .sub-info strong{color:var(--cream);}
.tile-sub .sub-info span{font-size:13.5px;color:var(--muted);}
.tile-dark .tile-sub .sub-info span{color:#B7AC97;}
.tile-sub .price .amount{font-size:24px;}
.tile-sub .btn{padding:11px 22px;font-size:14px;}
/* dwa warianty (konsultacje) */
.variant-grid{display:grid;gap:14px;margin:6px 0 0;}
.variant{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius-sm);
  padding:20px 22px;display:flex;flex-direction:column;gap:10px;
}
.variant h3{font-size:18.5px;margin:0;}
.variant h3 a{color:inherit;text-decoration:none;}
.variant h3 a:hover{color:var(--gold-deep);}
.variant p{margin:0;font-size:14.5px;color:var(--muted);}
.variant .variant-buy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px;}
.variant .price .amount{font-size:24px;}
.variant .btn{padding:11px 22px;font-size:14px;}
.variant-note{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);
}
.variant-note svg{width:14px;height:14px;}
@media (min-width:640px){.variant-grid{grid-template-columns:1fr 1fr;}}
/* webinary — dwie karty w kaflu */
.webinar-grid{display:grid;gap:22px;}
.webinar-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease;
}
.webinar-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
/* [Feedback klienta 07/2026] źródłowe grafiki są kwadratowe (1:1) z napisem
   u samej góry ("WEBINAR" / "TWOJA TWARZ") — przy dawnym kadrze 16:10 i
   domyślnym wyśrodkowaniu ten napis był ucinany. Mniej agresywny kadr
   (4:3) + kotwiczenie u góry = cały nagłówek zawsze widoczny. */
.webinar-card .wb-thumb{position:relative;aspect-ratio:4/3;}
.webinar-card .wb-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;}
/* [Feedback klienta 07/2026] wariant miniatury bez płaskiej grafiki z Canvy —
   prawdziwe zdjęcie + tekst renderowany w HTML, w kolorach marki (nie różowe).
   "WEBINAR" jako najważniejszy element: złota plakietka nad tytułem. */
.wb-thumb-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;}
.wb-thumb-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%;transition:transform .35s ease;}
.webinar-card:hover .wb-thumb-photo img{transform:scale(1.04);}
.wb-thumb-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg, rgba(28,24,18,.88) 0%, rgba(28,24,18,.38) 46%, rgba(28,24,18,.06) 72%);
}
.wb-thumb-overlay{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px 20px 20px;}
.wb-thumb-badges{display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.wb-thumb-badges .wb-thumb-kicker{margin-bottom:0;}
.wb-thumb-kicker{
  display:inline-block;font-family:var(--font-body);font-weight:700;font-size:12.5px;
  letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--gold);
  padding:5px 15px;border-radius:999px;margin-bottom:11px;box-shadow:0 6px 16px rgba(199,154,69,.45);
}
.wb-thumb-title{
  margin:0;font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.28;
  color:var(--cream);text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.webinar-card .wb-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
/* [Feedback klienta 07/2026] karta „Limfomózg" — LIVE + dwie prowadzące +
   ich imiona i nazwiska (wycięte z oryginalnej grafiki, bez różowego
   dymka/tła, które nie pasowały do reszty strony) */
.wb-thumb-duo{position:relative;aspect-ratio:4/3;display:flex;flex-direction:column;background:var(--cream-alt);overflow:hidden;}
.wb-duo-top{display:flex;align-items:center;gap:11px;padding:16px 18px 10px;}
.wb-live-badge{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cream);background:var(--dark);padding:5px 12px 5px 9px;border-radius:999px;
}
.wb-live-badge .dot{
  width:7px;height:7px;border-radius:50%;background:#E2554A;
  box-shadow:0 0 0 3px rgba(226,85,74,.25);
}
.wb-duo-kicker{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);}
.wb-duo-photos{flex:1;position:relative;min-height:0;}
.wb-duo-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;}
.wb-duo-title{
  padding:12px 18px 14px;text-align:center;background:var(--gold);
  font-family:var(--font-display);font-weight:600;font-size:16.5px;color:#fff;
}
.webinar-card h3{font-size:20px;margin:0;}
.webinar-card h3 a{color:inherit;text-decoration:none;}
.webinar-card h3 a:hover{color:var(--gold-deep);}
.webinar-card .wb-meta{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);}
.webinar-card .wb-meta svg{width:15px;height:15px;}
.webinar-card p{margin:0;font-size:14.5px;color:var(--muted);}
.webinar-card .variant-buy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;}
.webinar-card .price .amount{font-size:24px;}
.webinar-card .btn{padding:11px 22px;font-size:14px;}
@media (min-width:760px){.webinar-grid{grid-template-columns:1fr 1fr;}}
/* układ dwukolumnowy kafli od 900px, naprzemienny */
@media (min-width:900px){
  .tile-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);}
  .tile-media{min-height:100%;}
  .tile-body{padding:52px 54px;}
  .tile-flip .tile-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}
  .tile-flip .tile-media{order:2;}
  .tile-flip .tile-body{order:1;}
  .tile-full .tile-inner{grid-template-columns:1fr;}
}
/* ==========================================================================
   UWAGA + STOPKA (wspólne)
   ========================================================================== */
.notice{padding:72px 0 72px;}
.notice-card{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--gold-soft);border:1px solid rgba(199,154,69,.4);border-radius:var(--radius);
  padding:26px 28px;
}
.notice-card svg{flex:none;width:26px;height:26px;color:#7A5E22;margin-top:3px;}
.notice-card h3{font-size:19px;margin-bottom:8px;color:#5C4517;}
.notice-card p{margin:0;color:#7A5E22;font-size:15px;}
.notice-card p + p{margin-top:8px;}
.site-footer{background:var(--dark);color:#B7AC97;padding:44px 0;}
/* ==========================================================================
   4. HEADER — wspólny
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:90;height:var(--header-h);
  background:rgba(250,245,238,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sand);
}
/* ==========================================================================
   SEKCJA 2 — PRODUKT: GÓRNA SEKCJA
   ========================================================================== */
.product-top{padding:44px 0 64px;}
.product-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:26px;font-size:13.5px;color:var(--muted);}
.product-crumb a{color:var(--muted);text-decoration:none;}
.product-crumb a:hover{color:var(--gold-deep);}
.product-crumb .sep{color:var(--gold);}
.product-grid{display:grid;gap:40px;align-items:start;}
/* galeria */
.product-gallery{position:relative;}
.product-gallery .frame{
  position:relative;overflow:hidden;border-radius:var(--radius);
  border:1px solid var(--sand);background:var(--white);box-shadow:var(--shadow-sm);
}
.product-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.product-badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:8px;z-index:1;}
.product-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(38,33,25,.78);color:var(--cream);backdrop-filter:blur(4px);
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 13px;border-radius:999px;
}
.product-badge.gold{background:var(--gold);color:#fff;}
/* podsumowanie / summary [WOO: woocommerce_single_product_summary] */
.product-summary .eyebrow{margin-bottom:10px;}
.product-title{font-size:clamp(28px,3.8vw,40px);letter-spacing:-.01em;}
/* cena — klasy zgodne z Woo, style zadziałają też na natywnym outpucie */
.price,.woocommerce-Price-amount{
  display:inline-flex;align-items:baseline;gap:6px;
  font-family:var(--font-display);font-size:clamp(26px,3.2vw,34px);color:var(--gold-deep);
}
.price .cents{font-size:.55em;}
.price-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:6px 0 22px;}
.product-excerpt p{color:var(--muted);font-size:16.5px;}
.product-excerpt strong{color:var(--ink);}
/* atuty kursu (Tutor LMS: kurs online, dostęp 12 mies.) */
.product-perks{display:grid;gap:10px;margin:24px 0 28px;padding:0;list-style:none;}
.product-perks li{display:flex;gap:11px;align-items:center;font-size:15px;color:var(--ink);}
.product-perks svg{flex:none;width:20px;height:20px;color:var(--gold-deep);}
/* formularz zakupu [WOO: form.cart — natywne pola i nazwy]. WAZNE: selektor
   musi byc "form.cart" (nie samo ".cart") - strona koszyka rowniez uzywa
   klasy "cart" (na <table class="... cart ...">), a samo ".cart" przypadkiem
   nadawaloby TEJ tabeli identyczna karte (ramka+cien+tlo) jak formularzowi
   zakupu na stronie produktu, tworzac wizualnie "podwojna ramke" wewnatrz
   karty koszyka (sprawdzone empirycznie - byl to realny blad). */
form.cart{
  display:flex;flex-wrap:wrap;gap:18px;align-items:stretch;
  padding:20px;border:1px solid var(--sand);border-radius:var(--radius);
  background:var(--white);box-shadow:var(--shadow-sm);margin:0;
}
form.cart>*{margin:0!important;}
.qty-box{display:flex;align-items:center;border:1.5px solid var(--sand);border-radius:999px;overflow:hidden;background:var(--cream);}
.qty-btn{
  width:46px;height:52px;border:none;background:none;cursor:pointer;
  font-size:20px;color:var(--gold-deep);transition:background-color .15s;
}
.qty-btn:hover{background:var(--gold-soft);}
.qty-box input{
  width:52px;height:52px;border:none;background:none;text-align:center;
  font:inherit;font-weight:600;font-size:16px;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.qty-box input::-webkit-outer-spin-button,
.qty-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
form.cart .btn{flex:1;min-width:210px;}
/* WooCommerce domyslnie owija pole ilosci w .quantity (nie .qty-box) i uzywa
   klasy .qty na inpucie (nie generycznego selektora) — mapujemy jego wlasne
   klasy na identyczny wyglad, zeby przyciski -/+ dodane przez hooki (patrz
   inc/woocommerce.php) wygladaly dokladnie jak w makiecie bez kruchego
   nadpisywania calego szablonu WooCommerce. */
form.cart .quantity{display:flex;align-items:center;border:1.5px solid var(--sand);border-radius:999px;overflow:hidden;background:var(--cream);}
form.cart .quantity .qty{
  width:52px;height:52px;border:none;background:none;text-align:center;
  font:inherit;font-weight:600;font-size:16px;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
form.cart .quantity .qty::-webkit-outer-spin-button,
form.cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
/* Natywny przycisk WooCommerce "Dodaj do koszyka" na STRONIE PRODUKTU (form
   class="cart" z WC) — mapujemy na identyczny wyglad marki. Selektor MUSI byc
   "form.cart" (nie samo ".cart"), bo strona koszyka rowniez uzywa klasy "cart"
   (na <table class="... cart ...">) - samo ".cart" przypadkiem lapaloby
   TEZ przyciski kuponu/aktualizacji w koszyku, nadpisujac ich mniejszy
   rozmiar przez !important (sprawdzone empirycznie - byl to realny blad). */
.single_add_to_cart_button,
form.cart button[type="submit"]{
  display:inline-flex!important;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body)!important;font-weight:600!important;font-size:15.5px!important;letter-spacing:.02em;
  padding:15px 30px!important;border-radius:999px!important;border:2px solid transparent!important;
  text-decoration:none!important;cursor:pointer;
  background:var(--gold)!important;color:#fff!important;box-shadow:0 8px 22px rgba(199,154,69,.35);
  flex:1;min-width:210px;
}
.single_add_to_cart_button:hover,
form.cart button[type="submit"]:hover{background:var(--gold-deep)!important;}
@media (min-width:920px){
  .product-top{padding:56px 0 80px;}
  .product-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;}
}
/* ==========================================================================
   SEKCJA 3 — OPIS PRODUKTU
   ========================================================================== */
.product-desc{background:var(--cream-alt);padding:72px 0;}
.desc-head{max-width:640px;margin:0 auto 44px;text-align:center;}
.desc-head .eyebrow{justify-content:center;}
.desc-head h2{font-size:clamp(28px,4.4vw,42px);}
.desc-body{max-width:820px;margin:0 auto;}
.desc-body>p{color:var(--muted);font-size:17px;}
.desc-body>p strong{color:var(--ink);}
.desc-lead{
  font-family:var(--font-display);font-style:italic;font-size:20px;line-height:1.55;color:var(--ink);
  padding-left:20px;border-left:3px solid var(--gold);margin:0 0 26px;
}
/* karty-listy z treści opisu */
.desc-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:28px 26px;margin:26px 0;box-shadow:var(--shadow-sm);
}
.desc-card h3{font-size:21px;margin-bottom:16px;}
.desc-card ul{margin:0;padding:0;list-style:none;display:grid;gap:11px;}
.desc-card ul li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:15.5px;}
.desc-card ul svg{flex:none;width:20px;height:20px;color:var(--gold-deep);margin-top:4px;}
.desc-card ol{margin:0;padding:0;list-style:none;display:grid;gap:14px;counter-reset:item;}
.desc-card ol li{display:grid;grid-template-columns:32px 1fr;gap:13px;align-items:start;color:var(--muted);font-size:15.5px;}
.desc-card ol li::before{
  counter-increment:item;content:counter(item);
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);font-weight:600;font-size:14px;
}
.desc-card ol strong{color:var(--ink);}
/* nota prawna produktu */
.desc-legal{
  border-top:1px solid var(--sand);margin-top:34px;padding-top:24px;
  font-size:13.5px;color:var(--muted);
}
.desc-legal strong{color:var(--ink);}
/* ==========================================================================
   SEKCJA 4 — PŁYWAJĄCY WIDGET ZAKUPU
   Desktop: karta przy prawej krawędzi; mobile: pasek przy dolnej krawędzi.
   Pojawia się po przescrollowaniu głównego formularza zakupu.
   Przycisk submituje GŁÓWNY form.cart (atrybut form=) — patrz nota [WOO].
   ========================================================================== */
.buy-widget{
  position:fixed;z-index:70;
  left:0;right:0;bottom:0;
  background:rgba(250,245,238,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--sand);box-shadow:0 -8px 30px rgba(46,40,35,.12);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:12px;
  transform:translateY(110%);transition:transform .35s ease;
}
.buy-widget.is-visible{transform:none;}
.buy-widget img{width:52px;height:52px;border-radius:10px;object-fit:cover;border:1px solid var(--sand);}
.buy-widget-info{min-width:0;flex:1;}
.buy-widget-info strong{
  display:block;font-family:var(--font-display);font-size:14.5px;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.buy-widget-info .price,
.buy-widget-info .woocommerce-Price-amount{font-size:18px!important;}
.buy-widget .qty-box{display:none;}
.buy-widget .btn{padding:13px 22px;font-size:14.5px;white-space:normal;line-height:1.25;text-align:center;}
@media (min-width:920px){
  .buy-widget{
    left:auto;right:26px;bottom:auto;top:50%;
    width:300px;flex-direction:column;align-items:stretch;text-align:center;gap:14px;
    background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:22px;
    transform:translate(calc(100% + 40px), -50%);
  }
  .buy-widget.is-visible{transform:translate(0,-50%);}
  .buy-widget img{width:100%;height:150px;border-radius:var(--radius-sm);object-fit:cover;}
  .buy-widget-info strong{white-space:normal;font-size:16.5px;line-height:1.35;margin-bottom:6px;}
  .buy-widget .qty-box{display:flex;justify-content:center;align-self:center;}
  .buy-widget .btn{width:100%;}
}
/* ==========================================================================
   SEKCJA 5 — UWAGA + STOPKA (wspólne)
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS — wspólne z home
   ========================================================================== */
:root{
  --cream:      #FAF5EE;
  --cream-alt:  #F2EADD;
  --sand:       #E9DCC9;
  --ink:        #2E2823;
  --muted:      #7C7266;
  --gold:       #C79A45;
  --gold-deep:  #A97F2F;
  --gold-soft:  #F4E7CD;
  --dark:       #262119;
  --white:      #FFFFFF;
  --hero-gray:  #ECEAE6;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Jost', 'Segoe UI', system-ui, sans-serif;

  --radius:     18px;
  --radius-sm:  12px;
  --shadow:     0 14px 40px rgba(46,40,35,.10);
  --shadow-sm:  0 6px 18px rgba(46,40,35,.08);
  --container:  1160px;
  --header-h:   80px;
}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}
/* ==========================================================================
   4. HEADER — wspólny z home
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:90;height:var(--header-h);
  background:rgba(250,245,238,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sand);
}
/* ==========================================================================
   SEKCJA 2 — PAGE HERO (zdjęcie full width, tekst i CTA nałożone na kadr)
   Czytelność: gradientowa winieta po lewej/dole zamiast osobnego tła panelu.
   Zdjęcie kotwiczone przy prawej krawędzi — twarz poza strefą tekstu.
   ========================================================================== */
/* [Feedback klienta 07/2026] powrót do wersji full-bleed (jak było przed
   redesignem na kartę 1:1) — zdjęcie na cały baner, tekst na winiecie. */
.page-hero{position:relative;overflow:hidden;padding:0;min-height:clamp(520px,78vh,720px);display:flex;}
.page-hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:80% 22%;
}
/* winieta pod tekstem (mobile: od dołu, desktop: od lewej) */
.page-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg, rgba(28,24,18,.82) 0%, rgba(28,24,18,.42) 45%, rgba(28,24,18,.05) 75%);
}
.page-hero .container{position:relative;z-index:1;display:flex;align-items:flex-end;width:100%;}
.page-hero-copy{max-width:600px;padding:56px 0 52px;}
.page-hero h1{color:var(--cream);font-size:clamp(32px,4.6vw,52px);letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.25);}
.page-hero h1 span{display:block;font-size:.42em;font-family:var(--font-body);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;text-shadow:none;}
.page-hero-sub{font-size:17px;color:rgba(250,245,238,.88);max-width:540px;margin:18px 0 30px;text-shadow:0 1px 12px rgba(0,0,0,.3);}
.page-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;}
@media (min-width:920px){
  .page-hero{min-height:clamp(620px,84vh,820px);}
  .page-hero-bg{object-position:82% 4%;}
  .page-hero::after{
    background:linear-gradient(90deg, rgba(28,24,18,.78) 0%, rgba(28,24,18,.48) 42%, rgba(28,24,18,0) 68%);
  }
  .page-hero .container{align-items:center;}
  .page-hero-copy{padding:72px 0;}
}
/* ==========================================================================
   SEKCJA 3 — MISJA I BIO
   ========================================================================== */
.bio-grid{display:grid;gap:44px;align-items:center;}
.bio-media{position:relative;max-width:420px;margin:0 auto;}
.bio-media::before{
  content:"";position:absolute;inset:8% -4% -4% 8%;
  background:var(--gold-soft);border-radius:58% 42% 50% 50% / 52% 55% 45% 48%;
}
.bio-media img{position:relative;border-radius:56% 44% 48% 52% / 50% 52% 48% 50%;object-fit:cover;aspect-ratio:4/5;width:100%;}
.bio-copy blockquote{
  margin:0 0 22px;padding-left:20px;border-left:3px solid var(--gold);
  font-family:var(--font-display);font-style:italic;font-size:20px;line-height:1.55;color:var(--ink);
}
.bio-copy p{color:var(--muted);font-size:16.5px;}
@media (min-width:920px){.bio-grid{grid-template-columns:.9fr 1.1fr;gap:70px;}}
/* ==========================================================================
   SEKCJA 3B — WYKSZTAŁCENIE (pełna szerokość, pod bio-grid)
   [Feedback klienta 07/2026] tekst + dyplomy przeniesione z wąskiej kolumny
   bio-copy do osobnego, pełnoszerokościowego bloku pod spodem.
   ========================================================================== */
.cred-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:32px 26px;
}
.cred-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px;}
.cred-ico{
  flex:none;width:48px;height:48px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
}
.cred-ico svg{width:23px;height:23px;}
.cred-head h3{font-size:23px;margin:6px 0 10px;}
.cred-head p{margin:0;color:var(--muted);font-size:16px;max-width:820px;}
.cred-gallery{display:grid;gap:20px;grid-template-columns:1fr;}
@media (min-width:640px){.cred-gallery{grid-template-columns:1fr 1fr;}}
.cred-thumb{
  position:relative;display:block;width:100%;padding:0;margin:0;text-align:left;
  background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius-sm);
  overflow:hidden;box-shadow:var(--shadow-sm);cursor:zoom-in;
  transition:transform .2s ease, box-shadow .2s ease;font-family:inherit;
}
.cred-thumb:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.cred-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.cred-zoom{
  position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;
  background:rgba(38,33,25,.72);color:#fff;display:flex;align-items:center;justify-content:center;
}
.cred-zoom svg{width:16px;height:16px;}
.cred-thumb figcaption{padding:11px 15px;font-size:13px;color:var(--muted);border-top:1px solid var(--sand);}
@media (min-width:900px){.cred-card{padding:40px 44px;}}
/* ==========================================================================
   LIGHTBOX — podgląd dyplomów (powiększenie + slider prev/next)
   ========================================================================== */
.lightbox-overlay{
  position:fixed;inset:0;z-index:300;background:rgba(38,33,25,.92);
  display:none;align-items:center;justify-content:center;padding:70px 24px;
}
.lightbox-overlay.open{display:flex;}
.lightbox-inner{position:relative;max-width:1000px;width:100%;text-align:center;}
.lightbox-inner img{
  max-width:100%;max-height:74vh;border-radius:12px;
  box-shadow:0 24px 70px rgba(0,0,0,.5);display:block;margin:0 auto;
}
.lightbox-caption{margin:18px 0 0;color:var(--cream);font-size:14.5px;}
.lightbox-count{margin-top:4px;color:#B7AC97;font-size:12.5px;letter-spacing:.06em;}
.lightbox-close,.lightbox-nav{
  position:fixed;display:flex;align-items:center;justify-content:center;
  background:rgba(250,245,238,.12);border:1px solid rgba(250,245,238,.3);color:var(--cream);
  border-radius:50%;cursor:pointer;transition:background-color .15s ease;
}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(250,245,238,.24);}
.lightbox-close{top:20px;right:20px;width:42px;height:42px;font-size:18px;}
.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;}
.lightbox-nav svg{width:20px;height:20px;}
.lightbox-nav.prev{left:16px;}
.lightbox-nav.next{right:16px;}
@media (max-width:640px){
  .lightbox-nav{width:40px;height:40px;}
  .lightbox-nav.prev{left:8px;}
  .lightbox-nav.next{right:8px;}
}
/* ==========================================================================
   SEKCJA 5 — TU MOŻESZ MNIE ODWIEDZIĆ (karty social)
   ========================================================================== */
.socials-grid{display:grid;gap:18px;}
.social-card{
  display:flex;align-items:center;gap:16px;
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:22px 24px;text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.social-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold);}
.social-ico{
  flex:none;width:52px;height:52px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
}
.social-ico svg{width:24px;height:24px;}
.social-card strong{display:block;font-family:var(--font-display);font-size:18px;color:var(--ink);margin-bottom:2px;}
.social-card span{font-size:14px;color:var(--muted);}
.social-card .go{margin-left:auto;color:var(--gold);font-size:20px;transition:transform .18s ease;}
.social-card:hover .go{transform:translateX(5px);}
@media (min-width:680px){.socials-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1040px){.socials-grid{grid-template-columns:repeat(4,1fr);}
  .social-card{flex-direction:column;text-align:center;padding:30px 22px;}
  .social-card .go{margin:6px 0 0;}
}
/* ==========================================================================
   SEKCJA 6 — DYPLOMY
   ========================================================================== */
/* [Feedback klienta 07/2026] dokumenty poziome — całość widoczna (contain,
   nie cover), mniejsze karty, klik otwiera lightbox zamiast nowej karty */
.diplomas-grid{
  display:grid;gap:18px;grid-template-columns:1fr;
  max-width:920px;margin:0 auto;
}
@media (min-width:640px){.diplomas-grid{grid-template-columns:repeat(3,1fr);}}
.diploma{
  display:block;width:100%;padding:0;margin:0;text-align:left;font-family:inherit;
  position:relative;overflow:hidden;border-radius:var(--radius-sm);cursor:zoom-in;
  border:1px solid var(--sand);box-shadow:var(--shadow-sm);background:var(--cream);
  transition:transform .22s ease, box-shadow .22s ease;
}
.diploma:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.diploma img{
  display:block;width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;
  background:var(--cream);padding:10px;box-sizing:border-box;transition:transform .35s ease;
}
.diploma:hover img{transform:scale(1.03);}
.diploma::after{
  content:"Powiększ ↗";position:absolute;right:10px;bottom:10px;
  background:rgba(38,33,25,.72);color:var(--cream);
  font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;opacity:0;transition:opacity .2s ease;
}
.diploma:hover::after{opacity:1;}
/* ==========================================================================
   SEKCJA 7 — SIŁOWNIA FACEFITNESS ONLINE (ciemna)
   ========================================================================== */
.gym{background:var(--dark);color:#E7DECF;position:relative;overflow:hidden;}
.gym::before{
  content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle, rgba(199,154,69,.16), transparent 70%);
}
.gym .eyebrow{color:var(--gold);}
.gym .eyebrow::before{background:var(--gold);}
.gym h2{color:var(--cream);}
.gym-grid{position:relative;display:grid;gap:46px;align-items:center;}
.gym-copy p{color:#CFC4B0;font-size:17px;}
.gym-copy .lead{font-size:19px;color:#E7DECF;}
.gym-copy .lead a{color:var(--gold);font-weight:600;text-decoration:none;}
.gym-copy .lead a:hover{text-decoration:underline;}
.gym-private{
  margin:28px 0 30px;padding:22px 24px;
  background:rgba(231,222,207,.07);border:1px solid rgba(231,222,207,.16);border-radius:var(--radius);
}
.gym-private p{margin:0 0 10px;font-size:15.5px;}
.gym-private p:last-child{margin:0;}
.gym-private em{
  display:block;font-family:var(--font-display);font-style:italic;
  font-size:18px;line-height:1.55;color:var(--cream);
}
.gym-media{position:relative;}
.gym-media img{margin:0 auto;border-radius:var(--radius);filter:drop-shadow(0 18px 34px rgba(0,0,0,.35));}
@media (min-width:940px){.gym-grid{grid-template-columns:1.05fr .95fr;gap:64px;}}
/* ==========================================================================
   SEKCJA 8 — UWAGA (prawa autorskie)
   ========================================================================== */

/* ==========================================================================
   SEKCJA 9 — STOPKA — wspólna z home
   ========================================================================== */
.site-footer{background:var(--dark);color:#B7AC97;padding:44px 0;}
@media (min-width:900px){
  .section{padding:96px 0;}
  .notice{padding-bottom:96px;}
}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}
.section-head{max-width:680px;margin-bottom:44px;}
.check-list{margin:0;padding:0;list-style:none;display:grid;gap:11px;}
.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:16px;}
.check-list svg{flex:none;width:20px;height:20px;color:var(--gold-deep);margin-top:4px;}
/* ==========================================================================
   SEKCJA 0 — PASEK PROMOCYJNY (treść datowana — TODO: edycja/wyłączenie)
   ========================================================================== */
.promo-bar{
  background:var(--dark);color:#E7DECF;text-align:center;
  padding:11px 44px;position:relative;font-size:14.5px;line-height:1.5;
}
/* ==========================================================================
   SEKCJA 2 — HERO
   ========================================================================== */
.lp-hero{
  background:
    radial-gradient(900px 520px at 90% 0%, rgba(199,154,69,.16), transparent 62%),
    var(--cream-alt);
  padding:64px 0 72px;
}
.lp-hero-grid{display:grid;gap:44px;align-items:center;}
.lp-hero h1{font-size:clamp(32px,4.8vw,52px);letter-spacing:-.01em;}
.lp-hero .sub{
  font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--gold-deep);
  margin:0 0 16px;
}
.lp-hero .desc{color:var(--muted);font-size:17px;max-width:560px;}
.lp-hero h3{font-size:19px;margin:26px 0 14px;}
.hero-note{
  font-size:15px;color:var(--muted);font-style:italic;margin:18px 0 26px;
}
.hero-price-cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.hero-price-cta .price-line{font-family:var(--font-display);font-size:21px;color:var(--ink);margin:0;}
.hero-price-cta .price-line b{color:var(--gold-deep);}
.lp-hero-media{position:relative;}
.lp-hero-media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover;}
.lp-hero-media::before{
  content:"";position:absolute;inset:14px -14px -14px 14px;z-index:-1;
  border:1.5px solid var(--gold);border-radius:var(--radius);opacity:.5;
}
@media (min-width:940px){
  .lp-hero{padding:84px 0 92px;}
  .lp-hero-grid{grid-template-columns:1.05fr .95fr;gap:60px;}
}
/* ==========================================================================
   SEKCJA 3 — TWARZ I CIAŁO (split)
   ========================================================================== */
.body-grid{display:grid;gap:40px;align-items:center;}
.body-media img{border-radius:var(--radius);box-shadow:var(--shadow-sm);width:100%;object-fit:cover;}
.body-copy p{color:var(--muted);font-size:17px;}
@media (min-width:920px){
  .body-grid{grid-template-columns:.95fr 1.05fr;gap:64px;}
  .body-media{order:-1;}
}
/* ==========================================================================
   SEKCJA 4 — SPOŁECZNOŚĆ / LIVE (ciemna)
   ========================================================================== */
.live{background:var(--dark);color:#E7DECF;position:relative;overflow:hidden;}
.live::before{
  content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle, rgba(199,154,69,.16), transparent 70%);
}
.live .container{position:relative;}
.live .eyebrow{color:var(--gold);}
.live .eyebrow::before{background:var(--gold);}
.live h2{color:var(--cream);font-size:clamp(26px,4vw,38px);}
.live p{color:#CFC4B0;font-size:17px;max-width:640px;}
.live .highlight{
  font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--cream);
}
.live-points{display:grid;gap:18px;margin:30px 0 34px;padding:0;list-style:none;}
.live-points li{display:flex;gap:14px;align-items:flex-start;}
.live-points svg{flex:none;width:24px;height:24px;color:var(--gold);margin-top:2px;}
.live-points strong{display:block;color:var(--cream);font-size:16.5px;}
.live-points span{font-size:14.5px;color:#B7AC97;}
.live .see-inside{
  font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--gold);margin:0;
}
@media (min-width:860px){.live-points{grid-template-columns:repeat(3,1fr);}}
/* ==========================================================================
   SEKCJA 5 — EFEKTY (slider przed/po — komponent 1:1 z makiety home)
   Strony porównania: LEWA = „Przed" (warstwa .ba-before), PRAWA = „Po"
   ========================================================================== */
/* [Feedback klienta 07/2026] statyczna siatka „przed i po" — bez suwaka,
   inne zdjęcia niż na home (patrz notatka przy znaczniku HTML poniżej) */
/* Zdjęcia podopiecznych przychodzą w różnych formatach (selfie pionowe, kadry
   poziome, zbliżenia). Dlatego NIGDY nie kadrujemy: żadnego aspect-ratio ani
   object-fit:cover — każde zdjęcie idzie w swoich proporcjach, a karty układa
   masonry, żeby mimo różnych wysokości siatka była zwarta. */
.ba-static-grid{
  columns:1;column-gap:26px;
}
@media (min-width:700px){
  .ba-static-grid{columns:2;column-gap:30px;}
}
.ba-static-card{
  break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;
  margin:0 0 26px;
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease;
}
@media (min-width:700px){ .ba-static-card{margin-bottom:30px;} }
.ba-static-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
/* Zdjęcia dzielą szerokość karty proporcjonalnie do swojego kształtu (--r = szer./wys.),
   więc oba wychodzą na tę samą wysokość i dół karty jest równy — bez kadrowania. */
.ba-static-photos{
  display:flex;gap:2px;align-items:flex-start;background:var(--sand);
}
.ba-shot{
  flex:var(--r,1) 1 0;min-width:0;
  position:relative;margin:0;background:var(--cream);line-height:0;
}
.ba-shot img{display:block;width:100%;height:auto;}
/* Para zdjęć poziomych — obok siebie byłyby o połowę mniejsze, więc jedno pod drugim. */
.ba-static-photos.is-stacked{flex-direction:column;}
.ba-static-photos.is-stacked .ba-shot{flex:0 0 auto;width:100%;}
.ba-chip{
  position:absolute;left:9px;bottom:9px;z-index:2;line-height:1;
  font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  padding:6px 11px;border-radius:999px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.ba-chip--before{background:rgba(38,33,25,.72);color:var(--cream);}
.ba-chip--after{background:rgba(199,154,69,.94);color:#2a2115;}
@media (min-width:700px){ .ba-chip{left:12px;bottom:12px;font-size:11.5px;padding:6px 13px;} }
.ba-static-cap{
  margin:0;padding:12px 16px 14px;text-align:center;
  font-size:14.5px;color:var(--ink);border-top:1px solid var(--sand);
}
.ba-static-note{
  margin:6px 0 0;text-align:center;font-size:14px;font-style:italic;color:var(--muted);
}
.ba-slider{position:relative;max-width:520px;margin:0 auto;}
.ba-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--ink);box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:center;font-size:18px;
  transition:background-color .15s, transform .15s;
}
/* ==========================================================================
   SEKCJA 6 — PASEK CTA
   ========================================================================== */
.cta-band{padding:0;}
.cta-band-inner{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 84% 20%, rgba(199,154,69,.30), transparent 16rem),
    var(--dark);
  border-radius:var(--radius);color:var(--cream);
  padding:44px 30px;text-align:center;box-shadow:var(--shadow);
}
.cta-band-inner h2{color:var(--cream);font-size:clamp(24px,3.6vw,34px);margin-bottom:6px;}
.cta-band-inner .price{
  font-family:var(--font-display);font-style:italic;font-size:clamp(20px,3vw,26px);
  color:var(--gold);margin:0 0 24px;
}
@media (min-width:820px){.cta-band-inner{padding:56px 60px;}}
/* Blok Gutenberga "Przyciski" (wp:buttons) domyslnie uzywa flex/justify-content,
   ktore IGNORUJE dziedziczony text-align:center z rodzica. Wymuszamy centrowanie
   wszedzie, gdzie w makiecie pojedynczy przycisk byl centrowany przez text-align. */
.cta-band-inner .wp-block-buttons,
.transform-cta .wp-block-buttons,
.bonus-cta .wp-block-buttons,
.section-head.center .wp-block-buttons,
.desc-head .wp-block-buttons{justify-content:center;}
/* ==========================================================================
   SEKCJA 7 — MATERIAŁY BONUSOWE
   ========================================================================== */
.bonus-grid{display:grid;gap:40px;align-items:start;}
.bonus-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:30px 28px;
}
.bonus-card .check-list{gap:12px;}
.bonus-card .check-list li{font-size:15.5px;color:var(--ink);}
.bonus-media{position:relative;max-width:420px;margin:0 auto;}
.bonus-media::before{
  content:"";position:absolute;inset:8% -4% -4% 8%;
  background:var(--gold-soft);border-radius:58% 42% 50% 50% / 52% 55% 45% 48%;
}
.bonus-media img{position:relative;border-radius:56% 44% 48% 52% / 50% 52% 48% 50%;object-fit:cover;aspect-ratio:4/5;width:100%;}
.bonus-cta{margin-top:28px;text-align:center;}
@media (min-width:940px){
  .bonus-grid{grid-template-columns:1.1fr .9fr;gap:64px;}
  .bonus-card .check-list{grid-template-columns:1fr 1fr;gap:12px 22px;}
}
/* ==========================================================================
   SEKCJA 8 — FAQ (accordion na <details>)
   ========================================================================== */
.faq-list{max-width:780px;margin:0 auto;display:grid;gap:12px;}
.faq-item{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius-sm);
  overflow:hidden;transition:box-shadow .2s ease;
}
.faq-item[open]{box-shadow:var(--shadow-sm);border-color:var(--gold);}
.faq-item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 22px;
  font-family:var(--font-display);font-weight:600;font-size:16.5px;color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{
  flex:none;width:28px;height:28px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:600;line-height:1;
  transition:transform .25s ease, background-color .2s ease, color .2s ease;
}
.faq-item[open] summary .plus{transform:rotate(45deg);background:var(--gold);color:#fff;}
.faq-body{padding:0 22px 20px;color:var(--muted);font-size:15px;}
.faq-body p{margin:0;}
.faq-body a{font-weight:600;}
/* ==========================================================================
   SEKCJA 9 — PRZECIWWSKAZANIA + ZALETY
   ========================================================================== */
.two-lists{display:grid;gap:24px;align-items:start;}
.warn-card,.perks-card{border-radius:var(--radius);padding:30px 28px;}
.warn-card{
  background:var(--gold-soft);border:1px solid rgba(199,154,69,.4);
}
.warn-card h3{color:#5C4517;font-size:21px;margin-bottom:16px;}
.warn-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.warn-card li{display:flex;gap:11px;align-items:flex-start;color:#7A5E22;font-size:15px;}
.warn-card li svg{flex:none;width:19px;height:19px;color:#B0821F;margin-top:4px;}
.perks-card{
  background:var(--white);border:1px solid var(--sand);box-shadow:var(--shadow-sm);
}
.perks-card h3{font-size:21px;margin-bottom:16px;}
.perks-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.perks-card li{display:flex;gap:11px;align-items:flex-start;color:var(--ink);font-size:15px;}
.perks-card li svg{flex:none;width:19px;height:19px;color:var(--gold-deep);margin-top:4px;}
@media (min-width:920px){.two-lists{grid-template-columns:1fr 1.05fr;}}
/* ==========================================================================
   SEKCJA 10 — MOJA PRZEMIANA
   ========================================================================== */
.transform-media{max-width:760px;margin:0 auto 34px;}
.transform-media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;}
.transform-cta{text-align:center;}
/* ==========================================================================
   SEKCJA 11 — UWAGA + STOPKA (wspólne)
   ========================================================================== */

@media (min-width:900px){.section{padding:96px 0;}.notice{padding-bottom:96px;}}
/* ==========================================================================
   SEKCJA 2 — GÓRNA SEKCJA
   ========================================================================== */
.platform-hero{
  background:
    radial-gradient(760px 380px at 88% 0%, rgba(199,154,69,.14), transparent 62%),
    var(--cream-alt);
  padding:50px 0 46px;
}
.platform-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13.5px;color:var(--muted);}
.platform-hero-crumb a{color:var(--muted);text-decoration:none;}
.platform-hero-crumb a:hover{color:var(--gold-deep);}
.platform-hero-crumb .sep{color:var(--gold);}
.platform-hero h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;margin:0;}
@media (min-width:900px){.platform-hero{padding:64px 0 56px;}}
/* ==========================================================================
   SEKCJA 3 — PLACEHOLDER [Tutor LMS]
   ========================================================================== */
.platform-body{padding:64px 0 88px;}
.lms-placeholder{
  max-width:820px;margin:0 auto;text-align:center;
  background:var(--white);border:2px dashed var(--gold);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:72px 26px;
}
.lms-placeholder .lms-ico{
  width:84px;height:84px;margin:0 auto 24px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
}
.lms-placeholder .lms-ico svg{width:38px;height:38px;}
.lms-placeholder h2{font-size:clamp(26px,3.6vw,36px);margin-bottom:12px;}
.lms-placeholder p{color:var(--muted);font-size:16px;max-width:520px;margin:0 auto;}
@media (min-width:900px){.lms-placeholder{padding:96px 60px;}}
/* ==========================================================================
   STOPKA (wspólna)
   ========================================================================== */
.site-footer{background:var(--dark);color:#B7AC97;padding:44px 0;}
/* ==========================================================================
   3. KOMPONENTY WSPÓLNE
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body);font-weight:600;font-size:15.5px;letter-spacing:.02em;
  padding:15px 30px;border-radius:999px;border:2px solid transparent;
  text-decoration:none;cursor:pointer;text-align:center;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease;
}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none;}
/* ==========================================================================
   4. HEADER — wspólny (+ ikona koszyka z licznikiem)
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:90;height:var(--header-h);
  background:rgba(250,245,238,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sand);
}
.header-actions{display:flex;align-items:center;gap:14px;}
@media (min-width:1000px){
  .main-nav{display:block;}
  .nav-toggle,.mobile-nav{display:none !important;}
}
/* ==========================================================================
   SEKCJA 2 — GÓRNA SEKCJA
   ========================================================================== */
.cart-hero{
  background:
    radial-gradient(760px 380px at 88% 0%, rgba(199,154,69,.14), transparent 62%),
    var(--cream-alt);
  padding:50px 0 46px;
}
.cart-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13.5px;color:var(--muted);}
.cart-hero-crumb a{color:var(--muted);text-decoration:none;}
.cart-hero-crumb a:hover{color:var(--gold-deep);}
.cart-hero-crumb .sep{color:var(--gold);}
.cart-hero h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;margin:0;}
@media (min-width:900px){.cart-hero{padding:64px 0 56px;}}
/* ==========================================================================
   SEKCJA 3 — KOSZYK [WooCommerce]
   ========================================================================== */
.cart-layout{padding:56px 0 72px;}
.cart-grid{display:grid;gap:36px;align-items:start;}
@media (min-width:1020px){
  .cart-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:48px;}
}
/* karta z tabelą produktów */
.cart-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:8px 22px 24px;overflow:hidden;
}
.cart-table{width:100%;border-collapse:collapse;}
.cart-table th{
  font-family:var(--font-body);font-size:12.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  text-align:left;padding:18px 10px 14px;border-bottom:1.5px solid var(--sand);
}
.cart-table th.num,.cart-table td.num{text-align:right;}
.cart-table th.center,.cart-table td.center{text-align:center;}
.cart-table td{padding:20px 10px;border-bottom:1px solid var(--sand);vertical-align:middle;}
.cart-table tr:last-child td{border-bottom:0;}
.cart-remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:none;border:1.5px solid var(--sand);color:var(--muted);cursor:pointer;
  transition:border-color .15s, color .15s, background-color .15s, transform .15s;
}
.cart-remove:hover{border-color:#C05656;color:#C05656;background:#FBEFEF;transform:rotate(90deg);}
.cart-remove svg{width:15px;height:15px;}
.cart-product{display:flex;align-items:center;gap:16px;min-width:220px;}
.cart-product img{
  flex:none;width:74px;height:74px;object-fit:cover;
  border-radius:var(--radius-sm);border:1px solid var(--sand);
}
.cart-product a{
  font-family:var(--font-display);font-size:16.5px;font-weight:600;line-height:1.35;
  color:var(--ink);text-decoration:none;transition:color .15s;
}
.cart-product a:hover{color:var(--gold-deep);}
.cart-price{white-space:nowrap;font-size:15.5px;color:var(--muted);}
.cart-total-cell{white-space:nowrap;font-weight:600;font-size:16px;}
/* stepper ilości → .quantity w Woo */
.cart-qty{
  display:inline-flex;align-items:center;gap:2px;
  background:var(--cream);border:1.5px solid var(--sand);border-radius:999px;padding:4px;
}
.cart-qty button{
  width:32px;height:32px;border:0;border-radius:50%;cursor:pointer;
  background:none;color:var(--ink);font-size:17px;line-height:1;font-family:var(--font-body);
  transition:background-color .15s, color .15s;
}
.cart-qty button:hover{background:var(--gold-soft);color:var(--gold-deep);}
.cart-qty input{
  width:38px;border:0;background:none;text-align:center;
  font:inherit;font-weight:600;font-size:15.5px;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.cart-qty input::-webkit-outer-spin-button,.cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
/* pasek pod tabelą: kupon + akcje */
.cart-actions{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  padding:22px 10px 4px;
}
.coupon-row{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 320px;}
.coupon-row input{
  flex:1 1 170px;min-width:0;font:inherit;font-size:15px;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--sand);border-radius:999px;
  padding:12px 20px;transition:border-color .15s, box-shadow .15s, background-color .15s;
}
.coupon-row input:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(199,154,69,.16);}
.coupon-row .btn{padding:12px 24px;font-size:14px;}
.cart-actions .btn-outline{padding:12px 24px;font-size:14px;}
.cart-continue{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  font-size:14.5px;font-weight:600;color:var(--gold-deep);text-decoration:none;
}
.cart-continue svg{width:17px;height:17px;transition:transform .18s ease;}
.cart-continue:hover svg{transform:translateX(-4px);}
/* stan pustego koszyka [WooCommerce: cart-empty.php] */
.cart-empty{display:none;text-align:center;padding:46px 20px 40px;}
.cart-empty .empty-ico{
  width:76px;height:76px;margin:0 auto 18px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
}
.cart-empty .empty-ico svg{width:34px;height:34px;}
.cart-empty h2{font-size:24px;}
.cart-empty p{color:var(--muted);margin-bottom:22px;}
.cart-card.is-empty .cart-table,.cart-card.is-empty .cart-actions,.cart-card.is-empty .cart-continue{display:none;}
.cart-card.is-empty .cart-empty{display:block;}
/* podsumowanie koszyka → .cart_totals */
.cart-summary{
  position:sticky;top:calc(var(--header-h) + 22px);
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:30px 26px;
}
.cart-summary h2{font-size:24px;margin-bottom:18px;}
.summary-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--sand);font-size:15.5px;color:var(--muted);
}
.summary-row strong{color:var(--ink);font-weight:600;}
.summary-row.total{border-bottom:0;padding-top:18px;font-size:16px;color:var(--ink);}
.summary-row.total .sum{font-family:var(--font-display);font-size:25px;font-weight:700;color:var(--ink);}
.cart-summary .btn{width:100%;margin-top:16px;}
.summary-secure{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:16px 0 0;font-size:12.5px;color:var(--muted);
}
.summary-secure svg{width:15px;height:15px;color:var(--gold-deep);}
@media (min-width:960px){.cart-summary{padding:34px 32px;}}
/* ==========================================================================
   SEKCJA 4 — UWAGA + STOPKA (wspólne)
   ========================================================================== */

/* tabela → karty na wąskich ekranach */
@media (max-width:719px){
  .cart-card{padding:8px 16px 20px;}
  .cart-table thead{display:none;}
  .cart-table,.cart-table tbody,.cart-table tr,.cart-table td{display:block;width:100%;}
  .cart-table tr{position:relative;padding:18px 0 16px 0;border-bottom:1px solid var(--sand);}
  .cart-table tr:last-child{border-bottom:0;}
  .cart-table td{padding:6px 0;border:0;}
  .cart-table td.num,.cart-table td.center{text-align:left;}
  .cart-table td[data-label]::before{
    content:attr(data-label);display:inline-block;min-width:74px;
    font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  }
  .td-remove{position:absolute;top:16px;right:0;}
  .cart-product{padding-right:44px;}
}
/* ==========================================================================
   SEKCJA 2 — GÓRNA SEKCJA
   ========================================================================== */
.contact-hero{
  background:
    radial-gradient(760px 380px at 88% 0%, rgba(199,154,69,.14), transparent 62%),
    var(--cream-alt);
  padding:56px 0 52px;
}
.contact-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13.5px;color:var(--muted);}
.contact-hero-crumb a{color:var(--muted);text-decoration:none;}
.contact-hero-crumb a:hover{color:var(--gold-deep);}
.contact-hero-crumb .sep{color:var(--gold);}
.contact-hero h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;}
.contact-hero p{color:var(--muted);font-size:17.5px;max-width:560px;margin:0;}
.contact-hero p a{font-weight:600;}
@media (min-width:900px){.contact-hero{padding:72px 0 64px;}}
/* ==========================================================================
   SEKCJA 3 — FORMULARZ + INFORMACJE KONTAKTOWE
   ========================================================================== */
.contact-layout{padding:56px 0 72px;}
.contact-grid{display:grid;gap:40px;align-items:start;}
@media (min-width:960px){
  .contact-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;}
}
/* karta formularza [WPForms] */
.contact-form-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:32px 26px;
}
.contact-form-card h2{font-size:24px;margin-bottom:22px;}
.form-field .req{color:var(--gold-deep);}
.form-field textarea{resize:vertical;min-height:140px;}
.form-consent a{font-weight:600;}
.contact-form-card .btn{width:100%;}
@media (min-width:960px){.contact-form-card{padding:38px 36px;}}
/* kolumna informacji kontaktowych */
.contact-info{display:grid;gap:18px;}
.info-card{
  display:flex;align-items:flex-start;gap:16px;
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:22px 24px;text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
a.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--gold);}
.info-ico{
  flex:none;width:50px;height:50px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
}
.info-ico svg{width:23px;height:23px;}
.info-card strong{display:block;font-family:var(--font-display);font-size:17.5px;color:var(--ink);margin-bottom:3px;}
.info-card span{font-size:14.5px;color:var(--muted);word-break:break-word;}
/* social w rzędzie */
.info-socials{
  background:var(--dark);border-radius:var(--radius);padding:26px 24px;color:#E7DECF;
}
.info-socials strong{
  display:block;font-family:var(--font-display);font-size:17.5px;color:var(--cream);margin-bottom:14px;
}
.social-row{display:flex;flex-wrap:wrap;gap:12px;}
.social-row a{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;
  background:rgba(231,222,207,.10);border:1px solid rgba(231,222,207,.18);color:#E7DECF;
  transition:background-color .18s ease, color .18s ease, transform .18s ease;
}
.social-row a:hover{background:var(--gold);color:#fff;transform:translateY(-3px);}
.social-row svg{width:20px;height:20px;}
.info-socials .handle{font-size:13.5px;color:#B7AC97;margin:14px 0 0;}
/* ==========================================================================
   SEKCJA 2 — GÓRNA SEKCJA
   ========================================================================== */
.nl-hero{
  background:
    radial-gradient(760px 380px at 88% 0%, rgba(199,154,69,.14), transparent 62%),
    var(--cream-alt);
  padding:56px 0 52px;
}
.nl-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13.5px;color:var(--muted);}
.nl-hero-crumb a{color:var(--muted);text-decoration:none;}
.nl-hero-crumb a:hover{color:var(--gold-deep);}
.nl-hero-crumb .sep{color:var(--gold);}
.nl-hero h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;max-width:760px;}
.nl-hero p{color:var(--muted);font-size:17.5px;max-width:640px;margin:0 0 26px;}
@media (min-width:900px){.nl-hero{padding:72px 0 64px;}}
/* ==========================================================================
   SEKCJA 3 — ZAPIS DO NEWSLETTERA
   ========================================================================== */
.nl-layout{padding:56px 0 30px;}
.nl-grid{display:grid;gap:40px;align-items:stretch;}
@media (min-width:960px){
  /* dwie kolumny wyrównane do tej samej wysokości */
  .nl-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;}
}
/* karta formularza [Newsletter] */
.nl-form-card{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:32px 26px;
}
.nl-form-card h2{font-size:24px;margin-bottom:10px;}
.nl-form-card .lead{color:var(--muted);font-size:15.5px;margin-bottom:22px;}
.form-field input{
  width:100%;font:inherit;font-size:15.5px;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--sand);border-radius:var(--radius-sm);
  padding:13px 15px;transition:border-color .15s, box-shadow .15s, background-color .15s;
}
.form-field input:focus{
  outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(199,154,69,.16);
}
.nl-form-card .btn{width:100%;}
.nl-admin{
  margin:18px 0 0;padding-top:16px;border-top:1px dashed var(--sand);
  font-size:12.5px;line-height:1.6;color:var(--muted);
}
.nl-admin a{font-weight:600;}
@media (min-width:960px){.nl-form-card{padding:38px 36px;}}
/* kolumna ze zdjęciem */
.nl-photo{position:relative;}
.nl-photo img{
  width:100%;border-radius:var(--radius);box-shadow:var(--shadow);
  border:1px solid var(--sand);aspect-ratio:3/4;object-fit:cover;
}
@media (min-width:960px){
  /* zdjęcie rozciąga się dokładnie na wysokość karty formularza */
  .nl-photo img{position:absolute;inset:0;height:100%;aspect-ratio:auto;}
}
/* subtelna rama wewnątrz zdjęcia — równo z krawędziami */
.nl-photo::before{
  content:"";position:absolute;inset:10px;z-index:1;pointer-events:none;
  border:1.5px solid rgba(250,245,238,.8);border-radius:var(--radius-sm);
}
/* ==========================================================================
   SEKCJA 4 — „ZOSTAŁ TYLKO JEDEN KROK!"
   Na stronie bazowej: komunikat po wysłaniu formularza (double opt-in).
   ========================================================================== */
.nl-confirm{padding:42px 0 72px;}
.nl-confirm-card{
  position:relative;overflow:hidden;
  background:var(--dark);border-radius:var(--radius);
  padding:36px 26px;color:#E7DECF;
}
.nl-confirm-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(560px 300px at 90% -10%, rgba(199,154,69,.22), transparent 62%);
}
.nl-confirm-inner{position:relative;max-width:760px;}
.nl-confirm-step{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;
}
.nl-confirm-step svg{width:18px;height:18px;}
.nl-confirm-card h2{color:var(--cream);font-size:clamp(24px,3.4vw,32px);}
.nl-confirm-card p{color:#CFC4B0;font-size:15.5px;}
.nl-confirm-card p strong{color:var(--cream);}
.mail-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 26px;}
.mail-row a{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:999px;text-decoration:none;
  font-size:14.5px;font-weight:600;color:#E7DECF;
  background:rgba(231,222,207,.10);border:1px solid rgba(231,222,207,.20);
  transition:background-color .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}
.mail-row a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-3px);}
.mail-row svg{width:17px;height:17px;}
.nl-confirm-admin{
  margin:0;padding-top:18px;border-top:1px solid rgba(231,222,207,.14);
  font-size:12.5px;line-height:1.6;color:#8D8371;
}
.nl-confirm-admin a{color:var(--gold);font-weight:600;}
@media (min-width:900px){.nl-confirm-card{padding:46px 48px;}}
/* ==========================================================================
   SEKCJA 5 — UWAGA + STOPKA (wspólne)
   ========================================================================== */

/* ==========================================================================
   MOST WP ↔ MAKIETA — mapowanie standardowego wyjścia WordPressa / WooCommerce
   / Tutor LMS na style marki. (dodane przez motyw, poza makietą)
   ========================================================================== */

/* Menu WP: element z podmenu zachowuje się jak .has-sub */
.main-nav .menu-item-has-children { position: relative; }
.main-nav > ul > li > a,
.main-nav .menu > li > a { border-bottom: 2px solid transparent; }
.main-nav .sub-menu { }
.main-nav .sub-menu li a{
  display:block;padding:9px 12px;font-size:14.5px;line-height:1.4;color:var(--ink);
  border-radius:8px;text-decoration:none;transition:background-color .15s, color .15s;border:0;
}
.main-nav .sub-menu li a:hover{background:var(--gold-soft);color:var(--gold-deep);}
.main-nav .menu-item-has-children:hover > .sub-menu,
.main-nav .menu-item-has-children.open > .sub-menu{display:block;}
.main-nav .menu-item-has-children > a::after{
  content:"";display:inline-block;margin-left:6px;width:8px;height:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.7;
}
/* logo z custom-logo */
.site-header .custom-logo-link{display:inline-flex;align-items:center;}
.site-header .custom-logo{height:52px;width:auto;}

/* Menu mobilne WP */
.mobile-nav .sub-menu{margin:0 0 0 12px;padding:0;list-style:none;}
.mobile-nav .sub-menu li a{display:block;padding:10px 6px;font-size:15.5px;color:var(--muted);border-bottom:1px dashed var(--sand);text-decoration:none;}

/* Podświetlenie aktywnej pozycji */
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a{color:var(--gold-deep);border-color:var(--gold);}

/* ---- WooCommerce: przyciski i typografia marki ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-body);font-weight:600;font-size:15.5px;letter-spacing:.02em;
  padding:13px 26px;border-radius:999px;border:1.5px solid transparent;
  background:var(--gold);color:#fff;box-shadow:0 8px 22px rgba(199,154,69,.35);
  text-decoration:none;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background-color .18s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--gold-deep);transform:translateY(-2px);color:#fff;}
.woocommerce .price,
.woocommerce ul.products li.product .price{color:var(--gold-deep);font-weight:600;}
/* Cena w malych kartach (np. Podobne produkty) dziedziczyla duzy rozmiar
   czcionki z ceny na stronie pojedynczego produktu (.price{font-size:clamp(26px..34px)}) -
   dopasowujemy do rozmiaru odpowiedniego dla malej karty. */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-Price-amount{
  font-size:19px!important;display:block;
}
.woocommerce ul.products li.product{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:16px 16px 22px;transition:transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:18px;padding:.6em 0 .3em;}
.woocommerce ul.products li.product img{border-radius:var(--radius-sm);aspect-ratio:1/1;object-fit:cover;width:100%;height:auto;}
/* Siatka produktow (np. "Podobne produkty" pod produktem) - WC czasem stosuje
   wewnetrzny float/procentowa szerokosc; wymuszamy prawdziwa siatke z sensownym
   max-width karty, zeby nie rozjezdzaly sie na cala szerokosc kontenera. */
.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important;
  gap:28px;list-style:none;margin:0!important;padding:0!important;
}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info{border-top-color:var(--gold);}
.woocommerce span.onsale{background:var(--gold);color:#fff;}
.woocommerce-breadcrumb{color:var(--muted);}
.single-product div.product .product_title{font-size:clamp(26px,4vw,40px);}
/* obszar treści Woo/Tutor w kontenerze marki */
.ff-shell{max-width:var(--container);margin:0 auto;padding:56px 22px 72px;}
.ff-shell--wide{max-width:1320px;}

/* ---- Tutor LMS ---- */
.tutor-wrap,.tutor-page-wrap{max-width:var(--container);margin:0 auto;padding:40px 22px;}
.tutor-btn,.tutor-button{border-radius:999px !important;}
.tutor-course-card,
.tutor-courses .tutor-course{border-radius:var(--radius);overflow:hidden;border:1px solid var(--sand);}

/* ==========================================================================
   BLOKI MOTYWU — klasy dodane przez motyw (poza makietą)
   ========================================================================== */

/* Układ ogólny stron */
.ff-front{overflow-x:hidden;}
.ff-canvas > *{}
.ff-shell{max-width:var(--container);margin:0 auto;padding:56px 22px 80px;}
.ff-shell .page-title{font-size:clamp(28px,4.4vw,42px);}
.section-head .page-title{margin:0;}
.ff-featured{margin:0 0 28px;border-radius:var(--radius);overflow:hidden;}
.ff-featured img{width:100%;height:auto;display:block;}
.entry-content > *{margin-left:auto;margin-right:auto;}
.entry-content > .alignwide{max-width:1320px;}
.entry-content > .alignfull{max-width:none;}

/* Lista wpisów */
.ff-post-list{display:grid;gap:26px;grid-template-columns:1fr;}
@media(min-width:720px){.ff-post-list{grid-template-columns:1fr 1fr;}}
.ff-post-card{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);overflow:hidden;padding-bottom:18px;transition:transform .2s,box-shadow .2s;}
.ff-post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);}
.ff-post-card img{width:100%;height:auto;display:block;}
.ff-post-card h2{font-size:21px;padding:16px 20px 0;}
.ff-post-card .ff-excerpt{padding:0 20px;color:var(--muted);font-size:15.5px;}

/* Blok Sekcja — pełna szerokość treści + wariant ciemny */
.ff-section__wide{width:100%;padding:0 22px;}
.ff-section .ff-section__inner > *{margin-top:0;}
.ff-tone-dark{background:var(--dark);color:#E7DECF;}
.ff-tone-dark h1,.ff-tone-dark h2,.ff-tone-dark h3,.ff-tone-dark h4{color:var(--cream);}
.ff-tone-dark p{color:#CFC4B0;}
.ff-tone-dark .eyebrow{color:var(--gold);}
.ff-tone-dark .eyebrow::before{background:var(--gold);}

/* Blok Karty/Filary — sterowanie liczbą kolumn */
.ff-feature-cards .pillars,
.ff-feature-cards .gain-grid{grid-template-columns:1fr;}
@media(min-width:760px){
  .ff-feature-cards .pillars,
  .ff-feature-cards .gain-grid{grid-template-columns:repeat(var(--ff-cols,3),1fr);}
}
.gain-link{margin-top:16px;display:inline-flex;align-items:center;gap:.4em;font-weight:600;color:var(--gold-deep);text-decoration:none;}
.gain-link:hover .arrow{transform:translateX(4px);}
.gain-link .arrow{transition:transform .18s ease;}

/* Blok Oferta — opcjonalna cena + lista cech */
.offer-price{font-size:20px;color:var(--ink);margin:0 0 6px;}
.offer-price strong{font-family:var(--font-display);font-size:30px;color:var(--gold-deep);}
.offer.featured .offer-price,.ff-tone-dark .offer-price{color:var(--cream);}
.offer.featured .offer-price strong{color:var(--gold);}
.offer-price span{color:var(--muted);font-size:14px;}
.offer-features{list-style:none;margin:6px 0 22px;padding:0;display:grid;gap:10px;}
.offer-features li{display:flex;gap:10px;align-items:flex-start;font-size:15px;}
.offer-features svg{width:18px;height:18px;color:var(--gold-deep);flex:none;margin-top:3px;}
.offer.featured .offer-features li{color:#E7DECF;}
.offer.featured .offer-features svg{color:var(--gold);}

/* Blok Opinie — gwiazdki */
.review .stars{display:flex;gap:3px;}

/* Blok Karta produktu (sklep) */
.ff-product-card{height:100%;}
.ff-product{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.ff-product:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold);}
.ff-product__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;}
.ff-product__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.ff-product:hover .ff-product__media img{transform:scale(1.04);}
.ff-product__badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--gold);color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;}
.ff-product__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.ff-product__title{font-size:20px;margin:0;}
.ff-product__title a{color:var(--ink);text-decoration:none;}
.ff-product__title a:hover{color:var(--gold-deep);}
.ff-product__excerpt{color:var(--muted);font-size:15px;margin:0;}
.ff-product__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:8px;}
.ff-product__price{font-family:var(--font-display);font-size:20px;color:var(--gold-deep);font-weight:600;}
.ff-product__price del{color:var(--muted);font-size:15px;font-weight:400;margin-right:6px;}
.ff-product__foot .button,.ff-product__cta{padding:11px 20px;font-size:14.5px;}

/* Siatka na produkty (pattern) — gdy używamy ff/product-card w kolumnach core */
.ff-products-grid{display:grid;gap:24px;grid-template-columns:1fr;}
@media(min-width:640px){.ff-products-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:960px){.ff-products-grid{grid-template-columns:repeat(3,1fr);}}

/* Podgląd bloku w edytorze */
.ff-ssr{min-height:20px;}
.editor-styles-wrapper .ff-section,.editor-styles-wrapper .hero{max-width:none;}

/* Notka: miejsce na formularz (kontakt / newsletter) */
.ff-form-note{background:var(--gold-soft);border:1px dashed var(--gold);border-radius:var(--radius-sm);padding:16px 20px;color:var(--gold-deep);}
.wp-block-details{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius-sm);padding:14px 18px;margin:10px 0;}
.wp-block-details summary{font-family:var(--font-display);font-size:17px;cursor:pointer;color:var(--ink);}

/* ==========================================================================
   STRONA ZAMÓWIENIA (WooCommerce Checkout) — brak wzorca w makiecie, styl
   dopasowany do reszty motywu (te same tokeny kolorow/typografii/odstepow).
   ========================================================================== */
.woocommerce-checkout .container,
.woocommerce-checkout .ff-shell{padding-top:56px;padding-bottom:80px;}
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .page-title{
  font-family:var(--font-display);font-size:clamp(28px,3.6vw,38px);color:var(--ink);
  margin:0 0 36px;text-align:center;
}
.woocommerce-checkout form.checkout{
  display:grid;gap:40px;align-items:start;
}
@media (min-width:960px){
  .woocommerce-checkout form.checkout{grid-template-columns:1.15fr .85fr;gap:56px;}
  /* WooCommerce renderuje 3 bezposrednie elementy formularza (.col2-set,
     naglowek zamowienia, tabele zamowienia) - nie prosta pare kolumn.
     Rozmieszczamy je jawnie: lewa kolumna = dane rozliczeniowe+dodatkowe,
     prawa kolumna = podsumowanie zamowienia (naglowek + tabela). */
  .woocommerce-checkout .col2-set{grid-column:1;grid-row:1 / span 2;}
  .woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0;}
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{grid-column:2;grid-row:2;}
}
/* Wewnatrz lewej kolumny: dane rozliczeniowe i dodatkowe informacje (notatki
   do zamowienia) ukladamy pionowo, jedno pod drugim (nie obok siebie -
   sekcja "Informacje dodatkowe" jest zwykle znacznie krotsza). */
.woocommerce-checkout .col2-set{display:block;}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{float:none;width:100%;}
.woocommerce-checkout .col2-set .col-1{margin-bottom:32px;}
.woocommerce-checkout h3{
  font-family:var(--font-display);font-size:21px;color:var(--ink);margin:0 0 18px;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{margin-bottom:30px;}

/* Pola formularza - WooCommerce uzywa .form-row (nie mylic z nasza klasa .form-field) */
.woocommerce-checkout .form-row{margin:0 0 16px;}
.woocommerce-checkout .form-row label{
  display:block;font-size:13.5px;font-weight:600;letter-spacing:.03em;color:var(--ink);margin-bottom:7px;
}
.woocommerce-checkout .form-row label .required{color:var(--gold-deep);text-decoration:none;}
.woocommerce-checkout .form-row .optional{color:var(--muted);font-weight:400;}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-selection{
  width:100%;font:inherit;font-size:15.5px;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--sand)!important;border-radius:var(--radius-sm);
  padding:13px 15px;height:auto!important;transition:border-color .15s, box-shadow .15s, background-color .15s;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus{
  outline:none;border-color:var(--gold)!important;background:#fff;box-shadow:0 0 0 4px rgba(199,154,69,.16);
}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:100%;}
@media (min-width:640px){
  .woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:calc(50% - 10px);}
  .woocommerce-checkout .form-row-first{float:left;}
  .woocommerce-checkout .form-row-last{float:right;}
}
.woocommerce-checkout .woocommerce-input-wrapper{display:block;}
.woocommerce-checkout #order_comments{min-height:110px;resize:vertical;}

/* Checkboxy (faktura VAT, newsletter) */
.woocommerce-checkout .form-row.woocommerce-validated input[type="checkbox"],
.woocommerce-checkout input[type="checkbox"]{
  width:18px;height:18px;accent-color:var(--gold-deep);flex:none;margin-top:2px;
}
.woocommerce-checkout .form-row:has(input[type="checkbox"]):not(.place-order){
  display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);
}

/* Blok "Kupuję i płacę" (informacja RODO + zgoda na regulamin + przycisk) -
   MUSI zostac ulozony pionowo, jedno pod drugim (tekst, potem zgoda z
   checkboxem, potem przycisk na pelnej szerokosci), a nie obok siebie -
   powyzsza regula :has(checkbox) lapala go przypadkiem, bo TEZ zawiera
   checkbox zgody na regulamin. */
.woocommerce-checkout .form-row.place-order{display:block;}
.woocommerce-checkout .form-row.place-order p{margin:0 0 18px;font-size:13.5px;color:var(--muted);line-height:1.6;}
.woocommerce-checkout .form-row.place-order p a{color:var(--gold-deep);text-decoration:underline;}
/* Wrapper zawiera OBA elementy naraz: tekst RODO (osobny akapit) i wiersz z
   checkboxem zgody (osobny <p class="form-row">) - musi byc pionowy (block),
   zeby te dwa elementy stanely jeden pod drugim. Sam wiersz z checkboxem
   dostaje uklad poziomy (checkbox obok tekstu) z osobnej reguly powyzej
   (.form-row:has(checkbox):not(.place-order)). */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  display:block;font-size:14px;color:var(--muted);margin-bottom:18px;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper>p{margin:0 0 16px;line-height:1.6;}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{color:var(--gold-deep);text-decoration:underline;}

/* Podsumowanie zamowienia (prawa kolumna) */
#order_review,.woocommerce-checkout-review-order{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:28px 26px;box-shadow:var(--shadow-sm);
}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;}
.woocommerce-checkout-review-order-table thead th{
  text-align:left;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  padding:0 0 12px;border-bottom:1px solid var(--sand);
}
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th{padding:13px 0;border-bottom:1px solid var(--sand);}
.woocommerce-checkout-review-order-table tr:last-child td,
.woocommerce-checkout-review-order-table tr:last-child th{border-bottom:none;}
.woocommerce-checkout-review-order-table .product-name{font-size:15px;color:var(--ink);}
.woocommerce-checkout-review-order-table .product-name .product-quantity{color:var(--muted);font-weight:400;}
/* Cena w tabeli zamowienia dziedziczyla duzy rozmiar globalnej klasy .price -
   dopasowujemy do skromnej tabelarycznej wielkosci. */
.woocommerce-checkout-review-order-table .amount,
.woocommerce-checkout-review-order-table .woocommerce-Price-amount{
  font-family:var(--font-body)!important;font-size:15.5px!important;font-weight:600;color:var(--ink)!important;
  display:inline;gap:0;
}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total .amount{
  font-size:17px!important;color:var(--gold-deep)!important;
}

/* Metody platnosci */
.woocommerce-checkout ul.wc_payment_methods{list-style:none;margin:0 0 20px;padding:0;}
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method{
  border:1.5px solid var(--sand);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;
}
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method>input[type="radio"]{
  accent-color:var(--gold-deep);width:17px;height:17px;flex:none;margin:0;
}
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method>label{
  display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);cursor:pointer;
  margin:0;padding:0;flex:1;min-width:0;
}
.woocommerce-checkout .payment_box{
  flex-basis:100%;width:100%;
  background:var(--cream-alt);padding:16px 18px;font-size:14.5px;color:var(--muted);
  border-top:1px dashed var(--sand);margin:14px -16px -14px;
}

/* Przycisk zlozenia zamowienia */
.woocommerce-checkout #place_order{
  width:100%;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-weight:600;font-size:16px;letter-spacing:.02em;
  padding:16px 30px;border-radius:999px;border:none;cursor:pointer;
  background:var(--gold);color:#fff;box-shadow:0 8px 22px rgba(199,154,69,.35);
  transition:background-color .15s;margin-top:8px;
}
.woocommerce-checkout #place_order:hover{background:var(--gold-deep);}

/* Komunikaty WooCommerce (bledy walidacji, informacje) */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info{
  list-style:none;margin:0 0 26px;padding:16px 20px;border-radius:var(--radius-sm);
  background:var(--cream-alt);border-left:4px solid var(--gold);font-size:14.5px;color:var(--ink);
}
.woocommerce-checkout .woocommerce-error{border-left-color:#C0392B;background:#FBEAE8;}

/* ==========================================================================
   STRONA KOSZYKA (WooCommerce Cart) — mapowanie prawdziwych klas WooCommerce
   (poznanych ze zrodla wtyczki) na wyglad z makiety (.cart-hero/.cart-card/
   .cart-table itd. z sekcji wyzej), bez zaleznosci od tamtych klas wprost.
   ========================================================================== */
/* Ukrywamy goly, generyczny naglowek z page.php - zastepuje go teraz
   pelne pasmo powitalne facefitness_cart_hero_band() (patrz inc/woocommerce.php),
   wyswietlane PRZED tresc shortcode'u koszyka. */
.woocommerce-cart main.ff-shell>header.section-head{display:none;}
.woocommerce-cart main.ff-shell{padding-top:0;}
.cart-hero-band{
  background:
    radial-gradient(760px 380px at 88% 0%, rgba(199,154,69,.14), transparent 62%),
    var(--cream-alt);
  padding:56px 22px 50px;margin:0 calc(50% - 50vw);
}
.cart-hero-band .container{padding:0;max-width:var(--container);margin:0 auto;}
.cart-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13.5px;color:var(--muted);}
.cart-hero-crumb a{color:var(--muted);text-decoration:none;}
.cart-hero-crumb a:hover{color:var(--gold-deep);}
.cart-hero-band h1{
  font-family:var(--font-display);font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;margin:6px 0 0;
}
.woocommerce-cart .entry-content .woocommerce{
  display:grid;gap:36px;align-items:start;min-width:0;
}
/* Elementy WooCommerce dodaje czasem dodatkowe, puste divy jako sasiadow
   formularza/podsumowania (np. .woocommerce-notices-wrapper) - nie licz ich
   jako kolumny siatki, tylko "wylacz" z ukladu. */
.woocommerce-cart .entry-content .woocommerce>*:not(form.woocommerce-cart-form):not(.cart-collaterals):not(.cart-hero-band){
  display:contents;
}
/* Pasmo powitalne jest trzecim bezposrednim "dzieckiem" siatki (dodane
   hookiem woocommerce_before_cart) - musi rozciagac sie na CALA szerokosc,
   NAD dwiema kolumnami, a nie stac sie trzecia, krzywa kolumna. */
.cart-hero-band{grid-column:1 / -1;}
@media (min-width:1020px){
  .woocommerce-cart .entry-content .woocommerce{grid-template-columns:minmax(0,2.5fr) minmax(340px,1fr);gap:40px;}
}

/* Karta z tabela produktow */
.woocommerce-cart form.woocommerce-cart-form{
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:8px 22px 24px;overflow:auto;min-width:0;
}
.woocommerce-cart table.cart.woocommerce-cart-form__contents{width:100%;border-collapse:collapse;table-layout:fixed;}
/* Kontrola szerokosci kolumn - bez tego kolumna "Produkt" (najwazniejsza
   tresciowo) dostawala za malo miejsca, a caly wiersz produktu zawijal sie
   na 7 linijek. Kolumny pomocnicze (usun/miniatura) dostaja stala, waska
   szerokosc, reszta idzie do nazwy produktu. */
.woocommerce-cart table.cart th.product-remove,
.woocommerce-cart table.cart td.product-remove{width:40px;}
.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail{width:66px;}
.woocommerce-cart table.cart th.product-name,
.woocommerce-cart table.cart td.product-name{width:auto;}
.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart td.product-price{width:78px;}
.woocommerce-cart table.cart th.product-quantity{width:98px;}
.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal{width:78px;}
.woocommerce-cart table.cart th{
  font-family:var(--font-body);font-size:12.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  text-align:left;padding:18px 10px 14px;border-bottom:1.5px solid var(--sand);white-space:nowrap;
}
.woocommerce-cart table.cart td{padding:16px 14px;border-bottom:1px solid var(--sand);vertical-align:middle;}
.woocommerce-cart table.cart tr:last-child td{border-bottom:0;}
.woocommerce-cart table.cart th.product-price,.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-subtotal,.woocommerce-cart table.cart td.product-subtotal{text-align:right;}
.woocommerce-cart table.cart th.product-quantity,.woocommerce-cart table.cart td.product-quantity{text-align:center;}

/* Usun produkt - okragly przycisk zamiast golego "x" */
.woocommerce-cart td.product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1;
  background:none;border:1.5px solid var(--sand);color:var(--muted);
  text-decoration:none!important;transition:border-color .15s, color .15s, background-color .15s, transform .15s;
}
.woocommerce-cart td.product-remove a.remove:hover{border-color:#C05656;color:#C05656!important;background:#FBEFEF;transform:rotate(90deg);}

/* Miniatura + nazwa produktu */
.woocommerce-cart td.product-thumbnail img{
  width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--sand);
}
.woocommerce-cart td.product-name a{
  font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1.35;
  color:var(--ink);text-decoration:none;transition:color .15s;
}
.woocommerce-cart td.product-name a:hover{color:var(--gold-deep);}

/* Ceny w tabeli - dziedziczyly duzy rozmiar globalnej .price */
.woocommerce-cart td.product-price .woocommerce-Price-amount,
.woocommerce-cart td.product-subtotal .woocommerce-Price-amount{
  font-family:var(--font-body)!important;font-size:15.5px!important;color:var(--ink)!important;
}
.woocommerce-cart td.product-subtotal .woocommerce-Price-amount{font-weight:600;}

/* Pole ilosci (przyciski -/+ dodane hookami w inc/woocommerce.php, patrz
   tez ogolna reguła .qty-btn) — rozszerzamy zasieg z formularza produktu
   (.cart .quantity) na formularz koszyka (inna klasa: .woocommerce-cart-form). */
.woocommerce-cart-form .quantity{
  display:inline-flex;align-items:center;border:1.5px solid var(--sand);border-radius:999px;
  overflow:hidden;background:var(--cream);
}
.woocommerce-cart-form .quantity .qty{
  width:34px;height:38px;border:none;background:none;text-align:center;
  font:inherit;font-weight:600;font-size:14px;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.woocommerce-cart-form .quantity .qty-btn{width:28px;height:38px;font-size:14px;}

/* Pasek pod tabela: kupon + aktualizuj koszyk - JEDEN wiersz (flex), zgodnie
   z makieta .cart-actions/.coupon-row (nie stackujemy pionowo). */
.woocommerce-cart td.actions{
  padding:22px 10px 4px;
}
/* WAZNE: NIE zmieniamy display td.actions (zostaje domyslne table-cell) -
   zmiana display komorki tabeli na flex/grid PSUJE mechanizm szerokosci
   opartej na colspan (sprawdzone empirycznie - komorka kurczy sie do
   nieprzewidywalnej, bardzo waskiej szerokosci). Zamiast tego elementy W
   SRODKU dostaja inline-flex, zeby ulozyc sie obok siebie naturalnym
   przeplywem inline, bez ingerencji w typ wyswietlania rodzica-komorki. */
.woocommerce-cart .coupon{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle;margin:0 8px 8px 0;max-width:100%;}
.woocommerce-cart .coupon>label{display:none;}
.woocommerce-cart .coupon input#coupon_code{
  flex:0 1 150px;min-width:0;font:inherit;font-size:13.5px;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--sand);border-radius:999px;
  padding:9px 14px;transition:border-color .15s, box-shadow .15s, background-color .15s;
}
.woocommerce-cart .coupon input#coupon_code:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(199,154,69,.16);}
.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"]{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  font-family:var(--font-body);font-weight:600;font-size:12.5px;letter-spacing:.02em;
  padding:9px 14px;border-radius:999px;border:1.5px solid var(--ink);cursor:pointer;
  background:transparent;color:var(--ink);transition:background-color .15s,color .15s;
  white-space:nowrap;
}
.woocommerce-cart .coupon button:hover,
.woocommerce-cart button[name="update_cart"]:hover{background:var(--ink);color:var(--cream);}
/* "Wykorzystaj kupon" zlote wypelnienie (jak w makiecie btn-gold), "Zaktualizuj
   koszyk" pozostaje w konturze - wizualne rozroznienie akcji glownej/pomocniczej. */
.woocommerce-cart button[name="apply_coupon"]{
  background:var(--gold);border-color:transparent;color:#fff;
  box-shadow:0 6px 16px rgba(199,154,69,.3);
}
.woocommerce-cart button[name="apply_coupon"]:hover{background:var(--gold-deep);color:#fff;}

/* Podsumowanie koszyka (prawa kolumna) */
.woocommerce-cart .cart-collaterals{min-width:0;}
.woocommerce-cart .cart_totals{
  position:sticky;top:calc(var(--header-h) + 22px);
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:30px 26px;
}
.woocommerce-cart .cart_totals h2{font-family:var(--font-display);font-size:23px;margin:0 0 18px;}
.woocommerce-cart .cart_totals table.shop_table{width:100%;border-collapse:collapse;}
/* Wiersze podsumowania jako flex (nie polegamy na natywnym auto-layoucie
   tabeli) - gwarantuje to odstep miedzy etykieta a cena i wyklucza
   nachodzenie/wychodzenie poza karte, nawet przy duzej czcionce sumy. */
.woocommerce-cart .cart_totals table.shop_table tr{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
}
.woocommerce-cart .cart_totals table.shop_table tr th,
.woocommerce-cart .cart_totals table.shop_table tr td{
  display:block;padding:13px 0;border-bottom:1px solid var(--sand);text-align:left;font-size:15px;color:var(--muted);font-weight:400;
  flex:none;
}
.woocommerce-cart .cart_totals table.shop_table tr td{text-align:right;min-width:0;}
/* Wszystkie ceny w podsumowaniu (nie tylko wiersz "Lacznie") dziedziczyly
   ogromny globalny rozmiar .woocommerce-Price-amount - ustawiamy rozsadny
   wspolny rozmiar dla calej tabeli, a wiersz sumy dostaje osobne, wieksze
   wyroznienie NA TO. */
.woocommerce-cart .cart_totals .woocommerce-Price-amount{
  font-family:var(--font-body)!important;font-size:15.5px!important;color:var(--ink)!important;
  white-space:nowrap;
}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{
  border-bottom:0;padding-top:18px;font-size:16px;color:var(--ink);font-weight:600;
}
.woocommerce-cart .cart_totals tr.order-total .woocommerce-Price-amount{
  font-family:var(--font-display)!important;font-size:22px!important;font-weight:700;color:var(--ink)!important;
}
.woocommerce-cart .wc-proceed-to-checkout{margin-top:18px;}
.woocommerce-cart .cart-secure-note{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:14px 0 0;font-size:12.5px;color:var(--muted);
}
.woocommerce-cart .cart-secure-note svg{width:16px;height:16px;flex:none;}
.woocommerce-cart .cart-continue-link{
  display:flex;align-items:center;gap:8px;width:fit-content;
  font-size:14.5px;font-weight:600;color:var(--gold-deep);text-decoration:none;
}
.woocommerce-cart .cart-continue-link:hover{text-decoration:underline;}
.woocommerce-cart .cart-continue-link svg{width:18px;height:18px;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex;align-items:center;justify-content:center;width:100%;
  font-family:var(--font-body);font-weight:600;font-size:16px;letter-spacing:.02em;
  padding:16px 30px;border-radius:999px;text-decoration:none!important;
  background:var(--gold);color:#fff!important;box-shadow:0 8px 22px rgba(199,154,69,.35);
  transition:background-color .15s;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--gold-deep);}

/* Pusty koszyk */
.woocommerce-cart .woocommerce-cart-form + .cart-collaterals,
.woocommerce-cart .cart-empty{ }
.woocommerce-cart .woocommerce-cart-form.is-empty{display:none;}
.woocommerce-cart .woocommerce-info{
  text-align:center;font-size:17px;color:var(--muted);padding:40px 20px;list-style:none;
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);grid-column:1 / -1;
}
.woocommerce-cart p.return-to-shop{text-align:center;grid-column:1 / -1;margin-top:-16px;}
.woocommerce-cart p.return-to-shop a.button{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-weight:600;font-size:15.5px;
  padding:15px 30px;border-radius:999px;text-decoration:none;
  background:var(--gold);color:#fff;box-shadow:0 8px 22px rgba(199,154,69,.35);
}

/* ==========================================================================
   v3.0 — SEKCJE ff/* (poprawki z listy zmian klientki)
   ========================================================================== */

/* Czym jest Face Fitness — kafelki z numerem 01/02/03 */
.pillars--num .pillar{display:flex;flex-direction:column;}
.pillar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.pillar-top .pillar-ico{margin-bottom:0;}
.pillar-num{font-family:var(--font-display);font-style:italic;font-size:40px;line-height:1;color:var(--gold);opacity:.9;}
.pillars--num .pillar h3{text-transform:uppercase;letter-spacing:.06em;font-size:17px;}
@media (min-width:860px){.pillars--num{grid-template-columns:repeat(var(--ff-cols,3),1fr);}}

/* O Siłowni — wyróżniony tekst w hero */
.lp-badge{
  display:inline-flex;align-items:center;gap:12px;margin:4px 0 20px;
  background:var(--white);border:1.5px solid var(--gold);border-radius:999px;
  padding:10px 22px 10px 10px;box-shadow:0 8px 22px rgba(199,154,69,.18);
  font-family:var(--font-display);font-size:clamp(17px,2vw,20px);font-weight:600;line-height:1.3;color:var(--ink);
}
.lp-badge-ico{flex:none;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;}
.lp-badge-ico svg{width:20px;height:20px;fill:currentColor;}
@media (max-width:560px){.lp-badge{border-radius:var(--radius-sm);padding:10px 16px 10px 10px;}}

/* O Siłowni — Społeczność: 4 jasne kafelki „co dostajesz" */
.live-cards{list-style:none;margin:30px 0 34px;padding:0;display:grid;gap:16px;grid-template-columns:1fr;}
@media (min-width:640px){.live-cards{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.live-cards{grid-template-columns:repeat(4,1fr);}}
.live-card{
  display:flex;flex-direction:column;gap:14px;
  background:rgba(255,255,255,.05);border:1px solid rgba(199,154,69,.35);border-radius:var(--radius);
  padding:24px 22px;
}
.live-card-ico{width:48px;height:48px;border-radius:50%;background:rgba(199,154,69,.18);color:var(--gold);display:flex;align-items:center;justify-content:center;}
.live-card-ico svg{width:24px;height:24px;}
.live-card strong{display:block;font-family:var(--font-display);font-size:20px;line-height:1.25;color:var(--cream);margin-bottom:6px;}
.live-card span{font-size:15px;color:#CFC4B0;line-height:1.55;}
.live--v3 h2{max-width:none;}

/* O Siłowni — Moja historia: szerokie zdjęcie + przycinanie pustych pasów */
.transform-media--v3{max-width:760px;margin:0 auto 34px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);}
.transform-media--v3.transform-media--wide{max-width:none;}
.transform-media--v3 img{display:block;width:100%;max-width:none;height:auto;border-radius:0;box-shadow:none;}

/* Sklep — każdy produkt to osobny blok: odstęp jak w dawnej wspólnej siatce */
.ff-tiles{padding-top:64px;padding-bottom:8px;}
.ff-tiles + .ff-tiles{padding-top:56px;}

/* Pasek CTA z odstępem (np. na stronie głównej) */
.cta-band.cta-band--spaced{padding:72px 0;}
.ff-text p{max-width:720px;}
.ff-text.center p{margin-left:auto;margin-right:auto;}

/* ==========================================================================
   v3.1 — O Siłowni: HERO (zbalansowane kolumny + karta ceny) 
   ========================================================================== */
.lp-hero--v3{padding:56px 0 72px;}
.lp-hero--v3 .lp-hero-grid{gap:48px;align-items:center;}
.lp-hero--v3 h1{font-size:clamp(34px,4.6vw,54px);margin-bottom:22px;}
.lp-hero--v3 .desc{max-width:none;}
.lp-hero--v3 .check-list li{font-size:15.5px;}
.lp-hero--v3 .hero-note{margin:18px 0 0;}
@media (min-width:640px){.lp-hero--v3 .check-list{grid-template-columns:1fr 1fr;gap:10px 26px;}}
@media (min-width:980px){
  .lp-hero--v3{padding:80px 0 96px;}
  .lp-hero--v3 .lp-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;}
}

/* Wyróżnienie „najlepiej oceniana platforma" */
.lp-badge2{
  display:inline-flex;align-items:center;gap:16px;margin:0 0 24px;
  padding:14px 24px 14px 18px;border-radius:16px;
  background:linear-gradient(135deg,#2E2823 0%,#3B3226 100%);
  border:1px solid rgba(199,154,69,.55);
  box-shadow:0 14px 34px rgba(46,40,35,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.lp-badge2-stars{display:flex;gap:2px;color:var(--gold);flex:none;}
.lp-badge2-stars svg{width:17px;height:17px;}
.lp-badge2-text{font-family:var(--font-display);font-size:clamp(17px,1.9vw,20px);font-weight:600;line-height:1.3;color:var(--cream);}
@media (max-width:520px){.lp-badge2{flex-direction:column;align-items:flex-start;gap:8px;}}

/* Prawa kolumna: zdjęcie + karta ceny nachodząca na zdjęcie */
.lp-side{position:relative;display:flex;flex-direction:column;}
.lp-photo{position:relative;margin:0;}
.lp-photo::before{
  content:"";position:absolute;inset:18px -18px -18px 18px;z-index:0;
  border:1.5px solid var(--gold);border-radius:calc(var(--radius) + 4px);opacity:.45;
}
.lp-photo img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);}
.lp-photo-tag{
  position:absolute;z-index:2;top:16px;left:16px;
  background:rgba(38,33,25,.82);color:var(--cream);backdrop-filter:blur(4px);
  font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 14px;border-radius:999px;
}
.lp-price-card{
  position:relative;z-index:3;margin-top:20px;
  background:
    radial-gradient(circle at 92% 0%, rgba(199,154,69,.28), transparent 14rem),
    var(--dark);
  color:#E7DECF;border-radius:var(--radius);padding:28px 28px 24px;
  box-shadow:0 22px 50px rgba(46,40,35,.28);
}
@media (min-width:980px){.lp-price-card{margin:-36px 0 0 44px;}}
.lp-price-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:8px;}
.lp-price-eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.lp-price{margin:0;font-family:var(--font-display);line-height:1;}
.lp-price strong{font-size:44px;font-weight:600;color:var(--cream);}
.lp-price span{font-size:17px;color:#B7AC97;margin-left:4px;}
.lp-price-text{font-size:15px;color:#CFC4B0;margin:0 0 14px;}
.lp-price-perks{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;}
.lp-price-perks li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--cream);}
.lp-tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;}
.lp-tick svg{width:13px;height:13px;}
.lp-price-btn,a.lp-price-btn.btn{display:flex!important;width:100%;justify-content:center;text-align:center;white-space:normal;line-height:1.3;}
.lp-price-note{margin:12px 0 0;font-size:12.5px;color:#9C917E;text-align:center;}

/* ==========================================================================
   v3.1 — O Siłowni: PRZECIWWSKAZANIA + ZALETY
   ========================================================================== */
.fl-section .section-head{margin-bottom:40px;}
.fl-grid{display:grid;gap:28px;align-items:stretch;}
@media (min-width:1000px){.fl-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}}
.fl-card{border-radius:var(--radius);padding:32px 26px 30px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);}
@media (min-width:640px){.fl-card{padding:38px 36px 34px;}}
.fl-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;}
.fl-card--warn{background:linear-gradient(180deg,#FBF2E8 0%,#F7EADB 100%);border:1px solid #EBD3BD;}
.fl-card--warn::before{background:linear-gradient(90deg,#C2703D,#D9A46E);}
.fl-card--perks{background:var(--white);border:1px solid var(--sand);}
.fl-card--perks::before{background:linear-gradient(90deg,var(--gold-deep),var(--gold));}
.fl-head{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px dashed rgba(169,127,47,.3);}
.fl-head h3{margin:0;font-size:clamp(22px,2.4vw,27px);line-height:1.22;}
.fl-ico{flex:none;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.fl-ico svg{width:28px;height:28px;}
.fl-card--warn .fl-ico{background:#F2D5BF;color:#A9532A;}
.fl-card--warn h3{color:#5C3A22;}
.fl-card--perks .fl-ico{background:var(--gold-soft);color:var(--gold-deep);}
.fl-list{list-style:none;margin:0;padding:0;display:grid;gap:13px;}
.fl-list li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.55;}
.fl-card--warn .fl-list li{color:#6B4A30;}
.fl-card--perks .fl-list li{color:var(--ink);}
@media (min-width:700px){.fl-list--cols{grid-template-columns:1fr 1fr;gap:13px 28px;}}
.fl-mark{flex:none;width:23px;height:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.fl-mark--warn{background:#EFCDB4;color:#A9532A;font-weight:700;font-size:13px;font-family:var(--font-body);}
.fl-mark--ok{background:var(--gold);color:#fff;}
.fl-mark--ok svg{width:13px;height:13px;}
.fl-note{margin:26px 0 0;padding:14px 18px;border-radius:12px;background:rgba(255,255,255,.65);border-left:3px solid #C2703D;font-size:14.5px;color:#6B4A30;}
.fl-note a{color:#A9532A;font-weight:600;}

.fl-card--perks{display:flex;flex-direction:column;}
.fl-cta{margin-top:auto;padding-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;}
.fl-cta p{margin:0;font-family:var(--font-display);font-size:18px;color:var(--ink);}
@media (max-width:979px){.lp-photo::before{inset:10px -8px -10px 10px;}.lp-hero--v3{overflow-x:clip;}}

/* ==========================================================================
   v3.2 — HERO: wycięta postać (PNG) na tle hero + O MNIE: zdjęcie w owalu z ramką
   ========================================================================== */
.ff-hero--cutout .hero-media{
  background:linear-gradient(90deg,#EEEBE6 0%,#EAE6E1 34%,#D6CEC9 72%,#CBC2BD 100%);
  min-height:380px;overflow:hidden;
}
.ff-hero--cutout .hero-media img{
  top:auto;bottom:0;height:94%;
  object-fit:contain;object-position:50% 100%;
}
@media (min-width:920px){
  .ff-hero--cutout .hero-media{min-height:0;}
  .ff-hero--cutout .hero-media img{object-position:38% 100%;height:92%;}
}

.about-media--v3{width:100%;max-width:440px;padding:4% 0 0 4%;}
.about-media--v3::before{inset:12% -3% -3% 12%;z-index:0;}
.about-media--v3::after{ /* złota ramka za zdjęciem */
  content:"";position:absolute;z-index:0;top:0;left:0;width:78%;height:82%;
  border:1.5px solid var(--gold);border-radius:32px;opacity:.75;pointer-events:none;
}
.about-figure{position:relative;z-index:1;margin:0;}
.about-figure img{
  display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:74% 22%;
  border-radius:56% 44% 48% 52% / 50% 52% 48% 50%;
  box-shadow:0 22px 50px rgba(46,40,35,.14);
}
/* v3.3 — O mnie: zamiast prostokątnej ramki złoty obrys w kształcie owalu (echo zdjęcia) */
.about-media--v3{padding:18px 0 0 18px;}
.about-media--v3::after{content:none;display:none;}
.about-media--v3::before{inset:14% -4% -4% 16%;z-index:0;}
.about-figure::before{
  content:"";position:absolute;z-index:-1;inset:-18px 18px 18px -18px;
  border:1.5px solid var(--gold);opacity:.6;pointer-events:none;
  border-radius:56% 44% 48% 52% / 50% 52% 48% 50%;
}
.about-figure::after{ /* mała złota kropka-akcent na obrysie */
  content:"";position:absolute;z-index:2;width:12px;height:12px;border-radius:50%;
  background:var(--gold);left:6%;top:24%;box-shadow:0 0 0 5px rgba(199,154,69,.18);
}
.about-figure::after{left:auto;right:6%;top:auto;bottom:-4px;}
.about-figure::after{content:none;display:none;}

/* ==========================================================================
   v3.4 — JEDEN SYSTEM PRZYCISKÓW
   Wcześniej przyciski z Gutenberga i przyciski z kodu miały różne cienie,
   obramowania (1.5 vs 2 px) i różne efekty najechania. Teraz wszystkie
   warianty wyglądają i reagują identycznie, niezależnie od źródła.
   ========================================================================== */
:root{
  --btn-shadow:  0 10px 22px -10px rgba(169,127,47,.75);
  --btn-shadow-h:0 16px 30px -12px rgba(169,127,47,.8);
  --btn-light:   rgba(250,245,238,.9);
}
a.btn, button.btn, .btn,
.wp-block-button.btn-gold .wp-block-button__link,
.wp-block-button.btn-outline .wp-block-button__link,
.wp-block-button.btn-outline-light .wp-block-button__link{
  border-width:2px!important;border-style:solid!important;
  font-weight:600!important;letter-spacing:.02em!important;line-height:1.2!important;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease!important;
}
/* ZŁOTY */
a.btn-gold, button.btn-gold, .btn.btn-gold,
.wp-block-button.btn-gold .wp-block-button__link{
  background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;
  box-shadow:var(--btn-shadow)!important;filter:none!important;
}
a.btn-gold:hover, button.btn-gold:hover:not(:disabled), .btn.btn-gold:hover,
a.btn-gold:focus-visible, button.btn-gold:focus-visible,
.wp-block-button.btn-gold .wp-block-button__link:hover,
.wp-block-button.btn-gold .wp-block-button__link:focus-visible{
  background:var(--gold-deep)!important;border-color:var(--gold-deep)!important;color:#fff!important;
  box-shadow:var(--btn-shadow-h)!important;transform:translateY(-2px);
}
/* OBRYS CIEMNY (na jasnym tle) */
a.btn-outline, button.btn-outline, .btn.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link{
  background:transparent!important;border-color:var(--ink)!important;color:var(--ink)!important;box-shadow:none!important;
}
a.btn-outline:hover, button.btn-outline:hover:not(:disabled), .btn.btn-outline:hover,
.wp-block-button.btn-outline .wp-block-button__link:hover{
  background:var(--ink)!important;border-color:var(--ink)!important;color:var(--cream)!important;transform:translateY(-2px);
}
/* OBRYS JASNY (na ciemnym tle) */
a.btn-outline-light, button.btn-outline-light, .btn.btn-outline-light,
.wp-block-button.btn-outline-light .wp-block-button__link{
  background:transparent!important;border-color:var(--btn-light)!important;color:var(--cream)!important;box-shadow:none!important;
}
a.btn-outline-light:hover, button.btn-outline-light:hover, .btn.btn-outline-light:hover,
.wp-block-button.btn-outline-light .wp-block-button__link:hover{
  background:var(--cream)!important;border-color:var(--cream)!important;color:var(--ink)!important;transform:translateY(-2px);
}
/* KREMOWY (np. w wyniku quizu) */
a.btn-cream, button.btn-cream, .btn.btn-cream{
  background:var(--cream)!important;border-color:var(--cream)!important;color:var(--ink)!important;box-shadow:none!important;
}
a.btn-cream:hover, .btn.btn-cream:hover{background:#fff!important;border-color:#fff!important;transform:translateY(-2px);}
.btn:disabled,.btn[disabled]{transform:none!important;box-shadow:none!important;}
@media (prefers-reduced-motion:reduce){.btn:hover,.wp-block-button__link:hover{transform:none!important;}}

/* Odstęp przycisków od listy / tekstu nad nimi */
.check-list + .wp-block-buttons,
.check-list + .btn,
.consult-copy .wp-block-buttons,
.about-copy .wp-block-buttons,
.body-copy .wp-block-buttons,
.gym-copy .wp-block-buttons,
.copy-col .wp-block-buttons{margin-top:30px!important;}
.community-ctas,.contact-ctas{margin-top:30px;gap:14px 16px;}
.community-ctas .wp-block-buttons,.contact-ctas .wp-block-buttons{margin:0!important;}
/* Zewnętrzny <div class="wp-block-button btn-…"> to tylko opakowanie — nigdy nie dostaje wyglądu przycisku
   (wcześniej dostawał złote tło i cień, stąd „podwójne" przyciski o innym efekcie). */
div.wp-block-button.btn-gold,
div.wp-block-button.btn-outline,
div.wp-block-button.btn-outline-light,
div.wp-block-button.btn-cream{
  background:none!important;border:0!important;box-shadow:none!important;padding:0!important;
  color:inherit!important;transform:none!important;display:block;border-radius:0!important;
}
.consult-card .wp-block-button .wp-block-button__link,
.form-card .wp-block-button .wp-block-button__link{width:100%;}

/* v3.5 — O mnie / Siłownia: zdjęcie „siedzi" na dolnej krawędzi sekcji (bez pustej ciemnej przestrzeni pod nim) */
.gym{padding-bottom:0!important;}
.gym-grid{align-items:end;}
.gym-copy{padding-bottom:64px;}
.gym-media{align-self:end;display:flex;align-items:flex-end;justify-content:center;line-height:0;}
.gym-media figure,.gym-media .wp-block-image{margin:0!important;width:100%;}
.gym-media img{display:block;width:100%;height:auto;margin:0 auto!important;border-radius:0!important;vertical-align:bottom;}
@media (min-width:940px){
  .gym-grid{align-items:stretch;}
  .gym-copy{align-self:center;padding:24px 0 88px;}
}

/* v3.7 — Suwak przed/po: podpowiedź nad zdjęciami + napis na uchwycie */
.ba-toptip{
  display:flex;align-items:center;justify-content:center;gap:10px;
  max-width:520px;margin:0 auto 16px;padding:0;
  font-size:14.5px;font-weight:500;line-height:1.4;color:var(--ink);text-align:left;
}
.ba-toptip-ico{
  flex:none;width:34px;height:34px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
  animation:ffTipSwing 2.4s ease-in-out infinite;
}
.ba-toptip-ico svg{width:19px;height:19px;}
/* Na slajdzie z gotową grafiką nie ma zasłony — podpowiedź „przesuń suwak" znika,
   żeby nikt jej nie szukał. Miejsce zostaje zarezerwowane, żeby strona nie skakała. */
.slide-static .ba-toptip{visibility:hidden;}
@keyframes ffTipSwing{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}

.ba-handle::before{
  content:attr(data-label);
  position:absolute;left:50%;top:calc(50% - 50px);transform:translateX(-50%);
  background:var(--gold);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  padding:6px 12px;border-radius:999px;box-shadow:0 8px 18px -6px rgba(0,0,0,.35);
  transition:opacity .3s ease, transform .3s ease;
}
.ba-slider.no-label .ba-handle::before{display:none;}
.ba-slider:not(.is-touched) .ba-handle::after{animation:ffKnobRing 1.8s ease-out infinite;}
@keyframes ffKnobRing{0%{box-shadow:0 0 0 0 rgba(199,154,69,.75)}70%{box-shadow:0 0 0 14px rgba(199,154,69,0)}100%{box-shadow:0 0 0 0 rgba(199,154,69,0)}}
.ba-slider.is-touched .ba-handle::before{opacity:0;transform:translate(-50%,6px);}
.check-list + .results-note{margin-top:16px;}
@media (prefers-reduced-motion:reduce){.ba-toptip-ico,.ba-slider .ba-handle::after{animation:none!important;}}
.copy-col .results-note{margin-top:16px;}

/* v3.8 — Pasek „7 dni za darmo" pod hero */
.trial-band{
  position:relative;overflow:hidden;padding:30px 0;
  background:
    radial-gradient(circle at 12% 50%, rgba(199,154,69,.22), transparent 22rem),
    radial-gradient(circle at 92% 20%, rgba(199,154,69,.14), transparent 18rem),
    var(--dark);
  color:var(--cream);
}
.trial-inner{display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;justify-content:center;text-align:center;}
.trial-ico{flex:none;width:58px;height:58px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 7px rgba(199,154,69,.18);}
.trial-ico svg{width:28px;height:28px;}
.trial-copy{display:flex;flex-direction:column;gap:2px;}
.trial-badge{margin:0;font-family:var(--font-display);font-size:clamp(26px,3.2vw,36px);line-height:1.1;font-weight:600;color:var(--gold);}
.trial-text{margin:0;font-size:15.5px;color:#D9CFBD;}
.trial-btn{white-space:nowrap;}
@media (min-width:860px){
  .trial-band{padding:34px 0;}
  .trial-inner{flex-wrap:nowrap;justify-content:flex-start;text-align:left;}
  .trial-btn{margin-left:auto;}
}
@media (max-width:520px){.trial-btn{width:100%;justify-content:center;white-space:normal;}}

/* ==========================================================================
   v3.9 — PAKIETY SIŁOWNI
   ========================================================================== */
.plans-grid{display:grid;gap:26px;grid-template-columns:1fr;max-width:920px;margin:0 auto;align-items:stretch;}
@media (min-width:760px){.plans-grid{grid-template-columns:repeat(var(--plans,2),minmax(0,1fr));}}
.plan-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);
  padding:36px 30px 30px;box-shadow:var(--shadow-sm);
}
.plan-card.is-featured{
  background:radial-gradient(circle at 90% 0%, rgba(199,154,69,.25), transparent 16rem), var(--dark);
  border-color:rgba(199,154,69,.55);color:#E7DECF;box-shadow:0 24px 54px rgba(46,40,35,.28);
}
@media (min-width:760px){.plan-card.is-featured{transform:translateY(-10px);}}
.plan-badge{
  position:absolute;top:0;left:30px;transform:translateY(-50%);
  background:var(--gold);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 14px;border-radius:999px;box-shadow:0 8px 18px -8px rgba(169,127,47,.8);white-space:nowrap;
}
.plan-name{margin:6px 0 16px;font-size:clamp(20px,2.2vw,23px);line-height:1.25;}
.plan-card.is-featured .plan-name{color:var(--cream);}
.plan-price{margin:0;font-family:var(--font-display);line-height:1;}
.plan-price strong{font-size:48px;font-weight:600;color:var(--ink);}
.plan-card.is-featured .plan-price strong{color:var(--gold);}
.plan-price span{font-size:17px;color:var(--muted);margin-left:4px;}
.plan-card.is-featured .plan-price span{color:#B7AC97;}
.plan-note{margin:10px 0 0;font-size:14.5px;font-weight:600;color:var(--gold-deep);}
.plan-card.is-featured .plan-note{color:var(--gold);}
.plan-desc{margin:12px 0 0;font-size:15.5px;color:var(--muted);}
.plan-card.is-featured .plan-desc{color:#CFC4B0;}
.plan-feats{list-style:none;margin:20px 0 26px;padding:18px 0 0;border-top:1px dashed rgba(169,127,47,.3);display:grid;gap:10px;}
.plan-feats li{display:flex;align-items:center;gap:10px;font-size:15px;}
.plan-card.is-featured .plan-feats li{color:var(--cream);}
.plan-tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;}
.plan-tick svg{width:13px;height:13px;}
.plan-btn,a.plan-btn.btn{margin-top:auto;display:flex!important;width:100%;justify-content:center;text-align:center;white-space:normal;}
.plans-foot{text-align:center;margin:28px auto 0;font-size:14px;color:var(--muted);}

/* Wybór pakietu w karcie hero */
.lp-plans{display:grid;gap:10px;margin:12px 0 18px;}
.lp-plan{
  position:relative;display:flex;align-items:center;gap:14px;cursor:pointer;
  padding:14px 16px;border-radius:14px;border:1.5px solid rgba(231,222,207,.2);
  background:rgba(255,255,255,.04);transition:border-color .2s, background-color .2s;
}
.lp-plan:hover{border-color:rgba(199,154,69,.6);}
.lp-plan.is-active{border-color:var(--gold);background:rgba(199,154,69,.12);}
.lp-plan input{position:absolute;opacity:0;pointer-events:none;}
.lp-plan-radio{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid rgba(231,222,207,.55);position:relative;}
.lp-plan.is-active .lp-plan-radio{border-color:var(--gold);}
.lp-plan.is-active .lp-plan-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold);}
.lp-plan input:focus-visible + .lp-plan-radio{outline:2px solid var(--gold);outline-offset:3px;}
.lp-plan-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.lp-plan-name{font-weight:600;font-size:16px;color:var(--cream);}
.lp-plan-badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:#fff;padding:3px 9px;border-radius:999px;}
.lp-plan-note{font-size:12.5px;color:#B7AC97;}
.lp-plan-price{margin-left:auto;text-align:right;font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--cream);line-height:1.05;white-space:nowrap;}
.lp-plan-price small{display:block;font-family:var(--font-body);font-size:12px;font-weight:400;color:#B7AC97;}
.lp-plan-badge{white-space:nowrap;}
@media (max-width:420px){.lp-plan{padding:12px 12px;gap:10px;}.lp-plan-badge{font-size:10px;letter-spacing:.03em;padding:3px 7px;}.lp-plan-price{font-size:22px;}}

/* v3.13 — Suwak opinii */
.reviews-slider{position:relative;}
.reviews-viewport{overflow:hidden;padding:4px 2px;}
.reviews-track{display:flex;gap:20px;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform;}
.reviews-track .review{flex:0 0 calc((100% - 0 * 20px));box-sizing:border-box;margin:0;}
@media (min-width:620px){.reviews-track{gap:20px;}.reviews-track .review{flex-basis:calc((100% - 20px)/2);}}
@media (min-width:900px){.reviews-track .review{flex-basis:calc((100% - 2*20px)/3);}}
@media (min-width:1180px){.reviews-track .review{flex-basis:calc((100% - (var(--rv-per) - 1) * 20px)/var(--rv-per));}}
.reviews-slider .ba-nav{top:50%;}
.reviews-slider .ba-nav.prev{left:-22px;}
.reviews-slider .ba-nav.next{right:-22px;}
.reviews-slider .ba-nav[disabled]{opacity:.35;cursor:default;transform:translateY(-50%);}
.reviews-slider.is-single .ba-nav,.reviews-slider.is-single .ba-dots{display:none;}
.reviews-slider:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:var(--radius);}
.reviews-track .review p{font-size:15px;line-height:1.62;}
.reviews-track .review footer{margin-top:auto;}
@media (max-width:1240px){.reviews-slider .ba-nav.prev{left:-6px;}.reviews-slider .ba-nav.next{right:-6px;}}
@media (max-width:619px){.reviews-track{align-items:flex-start;}.reviews-slider .ba-dots{flex-wrap:wrap;}}

/* v3.16 — Pakiety: przebieg darmowego trialu w karcie */
.plan-steps{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px dashed rgba(169,127,47,.3);display:grid;gap:12px;counter-reset:none;}
.plan-steps li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--muted);}
.plan-card.is-featured .plan-steps li{color:#CFC4B0;}
.plan-steps strong{color:var(--ink);font-weight:600;}
.plan-card.is-featured .plan-steps strong{color:var(--cream);}
.plan-step-no{
  flex:none;width:24px;height:24px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold-deep);
  font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.plan-card.is-featured .plan-step-no{background:rgba(199,154,69,.22);color:var(--gold);}

/* v3.18 — logo bez linku + osobna pozycja „Home" w menu */
.logo--static{display:inline-flex;align-items:center;cursor:default;}
.logo--static strong{text-decoration:none;}
.main-nav .ff-home-item > a{font-weight:600;}

/* ==========================================================================
   v3.19 — Menu mobilne: przewijanie, zwinięte podmenu, mniejszy przycisk CTA
   ========================================================================== */
.header-cta .cta-short{display:none;}
@media (max-width:640px){
  .header-cta .cta-full{display:none;}
  .header-cta .cta-short{display:inline;}
  .site-header .header-cta.btn{padding:8px 16px!important;font-size:12px!important;}
}
.mobile-nav{
  inset:var(--header-h) 0 0 0!important;
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-bottom:44px;
}
body.nav-open{overflow:hidden;}
.mobile-nav ul{gap:0;}
.mobile-nav > ul > li{position:relative;}
.mobile-nav a{padding:14px 44px 14px 6px;}
.mobile-nav .ff-sub-toggle{
  position:absolute;right:0;top:0;width:46px;height:52px;display:flex;align-items:center;justify-content:center;
  background:none;border:0;cursor:pointer;color:var(--muted);
}
.mobile-nav .ff-sub-toggle svg{width:16px;height:16px;transition:transform .2s ease;}
.mobile-nav .ff-sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}
.mobile-nav .sub-menu{display:none;margin:0 0 6px 10px;padding:0;}
.mobile-nav .menu-item-has-children.is-open > .sub-menu{display:grid;}
.mobile-nav .sub-menu li a{padding:11px 6px;}
.mobile-nav .btn,.mobile-nav a.btn{margin-top:20px;font-size:14px!important;padding:13px 18px!important;white-space:normal;line-height:1.35;}
.mobile-nav .btn .cta-short{display:none;}
.mobile-nav .btn .cta-full{display:inline;}
@media (max-width:640px){.logo--static strong{font-size:18px!important;line-height:1.15;}.site-header .custom-logo{height:42px;}}
@media (max-width:420px){
  .site-header .container{gap:8px;}
  .site-header .header-cta.btn{font-size:11.5px!important;padding:7px 12px!important;}
  .site-header .custom-logo{height:36px;max-width:120px;object-fit:contain;}
  .logo--static strong{font-size:16px!important;}
}
/* v3.21 — dłuższa etykieta CTA mieści się też na wąskich telefonach (łamie się na 2 linijki) */
@media (max-width:460px){
  .site-header .header-cta.btn{
    white-space:normal!important;max-width:126px;line-height:1.2;text-align:center;
    font-size:11px!important;padding:7px 12px!important;
  }
}
@media (max-width:360px){
  .site-header .header-cta.btn{max-width:112px;font-size:10.5px!important;padding:6px 10px!important;}
  .logo--static strong{font-size:15px!important;}
  .site-header .custom-logo{height:32px;max-width:96px;}
}
/* v3.23 — nagłówek zostaje niski (stała wysokość); menu mobilne i tak mierzy jego realny spód */
.site-header{height:var(--header-h);}
.site-header .container{overflow:visible;}
.mobile-nav{bottom:0;}

/* Przycisk w menu mobilnym zawsze pełnej szerokości (reguły powyżej dotyczą tylko nagłówka) */
.mobile-nav .header-cta.btn,.mobile-nav a.btn.header-cta{
  max-width:none!important;width:100%;font-size:14px!important;padding:13px 18px!important;
  white-space:normal!important;text-align:center;line-height:1.35;
}
.mobile-nav .header-cta .cta-short{display:none!important;}
.mobile-nav .header-cta .cta-full{display:inline!important;}
