/*!
Theme Name: ewardega.pl
Theme URI: https://ewardega.pl/
Author: Robert Palka
Author URI: http://robertpalka.pl/
Description: Ultra-premium, ciemny, minimalistyczny motyw Art Massage Academy (Ewa Wardęga). Bez Elementora. Woo + FunnelKit + zaliczki + Rank Math. Bazuje na Underscores (_s).
Version: 1.9.4
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ewardega
Tags: custom-logo, custom-menu, featured-images, e-commerce, dark

ewardega.pl is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
*/

/* ==========================================================================
   0 · RESET / NORMALIZE (lite)
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd{margin:0;}
ul[role="list"],ol[role="list"]{list-style:none;}
img,picture,svg,video{max-width:100%;display:block;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
a{color:inherit;text-decoration:none;}
table{border-collapse:collapse;}

/* ==========================================================================
   1 · TOKENY (design system — north star)
   ========================================================================== */
:root{
  /* PB: ciepłe brązowo-czarne bazy zamiast zimnej czerni (tło = atmosfera). */
  --ink:#0b0806; --bg-1:#120d09; --bg-2:#17110b;
  --surface:#1b140d; --surface-2:#221910; --surface-3:#2a1e13;
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.14); --border-3:rgba(255,255,255,.20);
  --text:#fafafa; --muted:rgba(250,250,250,.62); --dim:rgba(250,250,250,.42);
  --accent:#ef850b; --accent-2:#fba43a; --accent-deep:#f97316; --glow:rgba(239,133,11,.35);
  --accent-soft:rgba(239,133,11,.12);
  --ok:#34d399; --ok-soft:rgba(52,211,153,.12);
  --low:#fbbf24; --low-soft:rgba(251,191,36,.12);
  --sold:#8b8b93; --sold-soft:rgba(139,139,147,.12);
  --grad:linear-gradient(135deg,#fba43a 0%,#ef850b 100%);
  --r-sm:10px; --r:14px; --r-lg:20px; --r-pill:999px;
  --ease:cubic-bezier(.22,1,.36,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --shadow:0 24px 60px -28px rgba(0,0,0,.7);
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'Courier New',monospace;
  --wrap:1180px;
  --header-h:72px;
}

/* ==========================================================================
   2 · BASE
   ========================================================================== */
body{
  background:var(--ink); color:var(--text);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  letter-spacing:-.01em; overflow-x:hidden;
}
/* Ambient glow tła */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(720px 460px at 82% -8%, rgba(239,133,11,.10), transparent 60%),
    radial-gradient(560px 380px at -5% 100%, rgba(239,133,11,.05), transparent 60%);
}
#page{position:relative;z-index:1;}
::selection{background:var(--accent);color:#0a0a0b;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

h1,h2,h3,h4{letter-spacing:-.03em;line-height:1.08;font-weight:700;}
h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;}
h2{font-size:clamp(1.9rem,3.8vw,2.9rem);}
h3{font-size:1.32rem;letter-spacing:-.02em;}
p{color:var(--muted);}
strong,b{color:var(--text);font-weight:600;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,40px);}
.section{padding:clamp(56px,9vw,104px) 0;position:relative;}
.section--tight{padding:clamp(40px,6vw,72px) 0;}
.section--alt{background:var(--bg-1);}

.eyebrow{
  font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent); margin:0 0 16px;
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:rgba(250,250,250,.78);max-width:62ch;}
.grad-text{background:linear-gradient(120deg,#fff 28%,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.muted{color:var(--muted);} .dim{color:var(--dim);}
.mono{font-family:var(--mono);}
.center{text-align:center;}
.section__head{max-width:760px;margin:0 0 clamp(28px,4vw,48px);}
.section__head.center{margin-left:auto;margin-right:auto;}

/* ==========================================================================
   3 · PRZYCISKI
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);
  font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:var(--r-pill);
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .2s var(--spring),box-shadow .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.btn svg{width:16px;height:16px;}
.btn--primary{background:var(--grad);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 24px -8px var(--glow);}
.btn--primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 14px 34px -8px var(--glow);}
.btn--glass{background:rgba(255,255,255,.05);border-color:var(--border-2);color:var(--text);backdrop-filter:blur(8px);}
.btn--glass:hover{background:rgba(255,255,255,.09);transform:translateY(-1px);}
.btn--ghost{background:transparent;color:var(--muted);border-color:var(--border);}
.btn--ghost:hover{color:var(--text);border-color:var(--border-2);}
.btn--sm{padding:9px 16px;font-size:13.5px;}
.btn--lg{padding:15px 30px;font-size:15.5px;}
@media(max-width:760px){.btn--sm{min-height:44px;padding-top:11px;padding-bottom:11px;}}
.btn--block{width:100%;justify-content:center;}

/* ==========================================================================
   4 · CHIPY / PILLE / BADGE
   ========================================================================== */
.chip{font-size:13px;font-weight:500;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);padding:8px 16px;transition:all .15s var(--ease);}
.chip:hover{color:var(--text);border-color:var(--border-2);}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:var(--r-pill);}
.pill .d{width:7px;height:7px;border-radius:50%;background:currentColor;}
.pill--ok,.pill--available{color:var(--ok);background:var(--ok-soft);}
.pill--low,.pill--last{color:var(--low);background:var(--low-soft);}
.pill--sold,.pill--soldout{color:var(--sold);background:var(--sold-soft);}
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:var(--r-pill);}
.badge--hot{background:var(--grad);color:#fff;}
.badge--new{background:var(--accent-soft);color:var(--accent-2);border:1px solid rgba(239,133,11,.3);}

/* ==========================================================================
   5 · KARTY OGÓLNE
   ========================================================================== */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:24px;}
.card--glass{background:rgba(255,255,255,.03);backdrop-filter:blur(12px);}
.card__k{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;}

.grid{display:grid;gap:18px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
@media(max-width:980px){.g4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:860px){.g2,.g3{grid-template-columns:1fr;}}
@media(max-width:560px){.g4{grid-template-columns:1fr;}}

/* ==========================================================================
   6 · HEADER (tymczasowy glass placeholder — pod podmianę na v5)
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:100;height:var(--header-h);
  display:flex;align-items:center;
  background:rgba(10,10,11,.72);backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--border);
}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;}
.site-brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.02em;}
.site-brand img{height:30px;width:auto;}
.site-brand__mark{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;color:#0a0a0b;font-weight:800;font-size:18px;box-shadow:0 6px 18px -6px var(--glow);}
.site-brand__name{font-size:15px;line-height:1.05;}
.site-brand__sub{display:block;font-size:10.5px;color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav a{padding:8px 13px;border-radius:9px;font-size:14px;font-weight:500;color:var(--muted);transition:all .15s var(--ease);}
.main-nav a:hover{color:var(--text);background:rgba(255,255,255,.05);}
.header__actions{display:flex;align-items:center;gap:12px;}
.header__placeholder-note{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:200;font-family:var(--mono);font-size:11px;color:var(--accent-2);background:rgba(10,10,11,.85);border:1px dashed rgba(239,133,11,.4);border-radius:var(--r-pill);padding:6px 14px;backdrop-filter:blur(8px);pointer-events:none;}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);align-items:center;justify-content:center;}
.nav-toggle svg{width:20px;height:20px;}
@media(max-width:900px){
  .main-nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:2px;padding:14px clamp(20px,5vw,40px) 22px;background:rgba(10,10,11,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transform:translateY(-120%);transition:transform .28s var(--ease);}
  .main-nav.is-open{transform:none;}
  .main-nav a{padding:13px 12px;font-size:15px;}
  .nav-toggle{display:inline-flex;}
  .header__actions .btn--header-cta{display:none;}
}

/* ==========================================================================
   7 · HERO
   ========================================================================== */
/* HERO — pełnoekranowe wideo + editorial (zero ramki / ringu) */
.hero{position:relative;min-height:94vh;display:flex;align-items:center;overflow:hidden;padding:clamp(120px,17vh,200px) 0 clamp(96px,13vh,150px);}
.hero__bgvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.7;filter:saturate(106%) contrast(106%) brightness(.92);}
.hero__scrim{position:absolute;inset:0;z-index:1;background:
  radial-gradient(1100px 680px at 14% 26%,rgba(239,133,11,.13),transparent 58%),
  linear-gradient(180deg,rgba(8,6,5,.5) 0%,rgba(8,6,5,.12) 34%,rgba(8,6,5,.95) 100%),
  linear-gradient(95deg,rgba(8,6,5,.86) 0%,rgba(8,6,5,.42) 46%,rgba(8,6,5,0) 80%);}
/* ukryj ewentualne wbudowane napisy wideo (zabezpieczenie obok JS textTracks) */
.hero__bgvideo::cue{opacity:0;color:transparent;background:transparent;}
.hero__bgvideo::-webkit-media-text-track-display{display:none!important;}
.hero__vign{position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 220px 50px rgba(0,0,0,.75);}
.hero__inner{position:relative;z-index:3;max-width:920px;}
.hero__title{margin:0 0 26px;font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:800;letter-spacing:-.04em;line-height:1.1;text-wrap:balance;}
.hero__title .grad-text{display:block;padding-bottom:.08em;}
.hero__title .l2{display:block;color:var(--text);}
/* eyebrow hero — bezpieczne zawijanie (kreska przy 1. linii) */
.hero .eyebrow{align-items:flex-start;}
.hero .eyebrow::before{margin-top:.5em;}
@media(max-width:560px){.hero__title{font-size:clamp(2.1rem,8.4vw,3rem);letter-spacing:-.03em;}}
.hero__lead{font-size:clamp(1.05rem,1.8vw,1.32rem);color:rgba(246,243,238,.82);max-width:580px;margin-bottom:34px;line-height:1.55;}
.hero__lead b{color:var(--text);font-weight:700;}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:38px;}
.hero__trust{display:flex;flex-wrap:wrap;gap:10px;}
.metachip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:8px 15px;}
.metachip b{color:var(--text);font-weight:600;}
.metachip .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--glow);}
.metachip .stars{color:var(--accent);letter-spacing:1px;}
.hero__cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);}
.hero__cue .line{width:1px;height:42px;background:linear-gradient(180deg,rgba(217,177,90,.3),transparent);position:relative;overflow:hidden;}
.hero__cue .line::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:linear-gradient(180deg,#d9b15a,transparent);animation:ewa-cue 2.1s var(--ease) infinite;}
@keyframes ewa-cue{0%{top:-50%;}60%,100%{top:100%;}}
/* HERO — kinowy, zorkiestrowany reveal (większe odstępy) + warstwa parallax wideo */
.hero__bgvideo{will-change:transform;transform-origin:50% 50%;}
.hero__cue{transition:opacity .4s var(--ease);will-change:opacity;}
.hero .reveal{transition-duration:.9s;}
.hero .reveal[data-d="1"]{transition-delay:.10s;}
.hero .reveal[data-d="2"]{transition-delay:.22s;}
.hero .reveal[data-d="3"]{transition-delay:.36s;}
.hero .reveal[data-d="4"]{transition-delay:.52s;}
.hero .reveal[data-d="5"]{transition-delay:.64s;}
.hero .reveal[data-d="6"]{transition-delay:.76s;}

/* ==========================================================================
   8 · USP STRIP
   ========================================================================== */
.usp{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-1);}
.usp__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
@media(max-width:860px){.usp__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.usp__grid{grid-template-columns:1fr;}}
.usp__item{display:flex;gap:14px;align-items:flex-start;padding:28px clamp(16px,2.5vw,28px);border-right:1px solid var(--border);}
.usp__item:last-child{border-right:0;}
@media(max-width:860px){.usp__item:nth-child(2n){border-right:0;}.usp__item{border-bottom:1px solid var(--border);}}
.usp__ico{flex:none;width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;}
.usp__ico svg{width:21px;height:21px;}
.usp__t{font-weight:600;font-size:15px;margin-bottom:3px;}
.usp__d{font-size:13px;color:var(--muted);line-height:1.5;}
/* PF — subtelne życie paska USP (spójne z hover kart) */
.usp__item{transition:background-color .25s var(--ease);}
.usp__item:hover{background:rgba(239,133,11,.05);}
.usp__ico{transition:transform .3s var(--spring),background-color .25s var(--ease),color .25s var(--ease);}
.usp__item:hover .usp__ico{transform:translateY(-2px) scale(1.05);}

/* ==========================================================================
   9 · KARTA KURSU / TERMINU (ccard)
   ========================================================================== */
.ccard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);}
.ccard:hover{transform:translateY(-4px);border-color:var(--border-2);box-shadow:var(--shadow);}
.ccard__media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#1a1a20,#121216);overflow:hidden;}
.ccard__media img{width:100%;height:100%;object-fit:cover;object-position:center 32%;opacity:.94;transition:transform .4s var(--ease);}
.ccard:hover .ccard__media img{transform:scale(1.04);}
.ccard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(10,10,11,.72));}
.ccard__tag{position:absolute;left:12px;bottom:12px;z-index:2;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#fff;background:rgba(10,10,11,.55);backdrop-filter:blur(6px);padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--border);}
.ccard__top{position:absolute;right:12px;top:12px;z-index:2;}
/* Badge „▶ Wideo" (Paczka 8, opt-in na „Inne terminy") — sygnał, że kurs ma film. */
.ccard__vbadge{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#fff;background:linear-gradient(155deg,var(--accent) 0%,var(--accent-2) 100%);padding:6px 11px 6px 9px;border-radius:var(--r-pill);box-shadow:0 8px 22px -8px rgba(214,106,32,.7);}
.ccard__vbadge svg{width:14px;height:14px;}
.ccard__vbadge svg circle{display:none;}
.ccard__vbadge svg path{fill:#fff;}
.ccard__body{padding:18px;display:flex;flex-direction:column;flex:1;}
.ccard__name{font-size:1.24rem;font-weight:700;letter-spacing:-.02em;margin:11px 0 12px;}
.ccard__facts{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:var(--muted);}
.ccard__facts li{display:flex;align-items:center;gap:9px;}
.ccard__facts svg{width:16px;height:16px;color:var(--accent);flex:none;}
.ccard__facts b{color:var(--text);font-weight:600;}
.ccard__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:14px;margin-top:auto;border-top:1px solid var(--border);}
.ccard__price{font-size:1.34rem;font-weight:700;letter-spacing:-.02em;color:var(--text);}
.ccard__price small{display:block;font-size:.72rem;color:var(--dim);font-weight:500;text-decoration:line-through;}
.ccard__price .amount{color:var(--text);}
.ccard__price del{color:var(--dim);font-weight:500;font-size:.78rem;}
.ccard__price ins{text-decoration:none;}

/* (legacy .tcard course-type — usunięty w v1.10.1; pełna definicja w sekcji premium SZKOLENIA niżej) */

/* ==========================================================================
   10 · ZAUFALI MI (gwiazdy + media)
   ========================================================================== */
.trust-strip{display:flex;flex-wrap:wrap;gap:10px;}
.star-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
@media(max-width:860px){.star-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.star-grid{grid-template-columns:repeat(2,1fr);}}
.star{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg,#1a1a20,#121216);}
.star img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform .4s var(--ease);}
.star:hover img{transform:scale(1.05);}
.star::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,10,11,.85));}
.star__name{position:absolute;left:12px;right:12px;bottom:11px;z-index:2;}
.star__name b{display:block;font-size:13.5px;font-weight:600;color:#fff;}
.star__name span{font-size:11px;color:var(--dim);}
.media-logos{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px;padding-top:26px;border-top:1px solid var(--border);}
.media-logos span{font-family:var(--mono);font-size:13px;color:var(--dim);letter-spacing:.04em;}

/* ==========================================================================
   11 · OPINIE
   ========================================================================== */
.review{display:flex;flex-direction:column;gap:14px;height:100%;}
.review__stars{color:var(--accent);letter-spacing:2px;font-size:15px;}
.review__text{color:rgba(250,250,250,.82);font-size:14.5px;line-height:1.62;flex:1;}
.review__who{display:flex;align-items:center;gap:11px;padding-top:14px;border-top:1px solid var(--border);}
.review__av{width:38px;height:38px;border-radius:50%;background:var(--grad);color:#0a0a0b;font-weight:700;display:grid;place-items:center;font-size:15px;flex:none;}
.review__name{font-size:13.5px;font-weight:600;}
.review__src{font-size:11.5px;color:var(--dim);font-family:var(--mono);}

/* ==========================================================================
   12 · CAMPY (feature)
   ========================================================================== */
.camp{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-2);background:linear-gradient(135deg,#16161b,#101014);}
.camp__grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;}
@media(max-width:860px){.camp__grid{grid-template-columns:1fr;}}
.camp__body{padding:clamp(28px,4vw,52px);}
.camp__media{position:relative;min-height:280px;align-self:stretch;}
.camp__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 80%;}
.camp__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,11,.6),transparent 40%);}
@media(max-width:860px){.camp__media{min-height:220px;}.camp__media::after{background:linear-gradient(0deg,rgba(10,10,11,.6),transparent 50%);}}

/* ==========================================================================
   13 · NEWSLETTER
   ========================================================================== */
.newsletter{position:relative;max-width:720px;margin:0 auto;border-radius:var(--r-lg);border:1px solid var(--hair-2);background:radial-gradient(600px 240px at 50% -20%,rgba(239,133,11,.14),transparent 62%),var(--glass-2);backdrop-filter:blur(16px);box-shadow:var(--shadow-pop);padding:clamp(32px,4vw,52px) clamp(24px,4vw,56px);text-align:center;overflow:hidden;}
.newsletter__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r-pill);padding:7px 15px;margin-bottom:20px;}
.newsletter__badge svg{width:15px;height:15px;}
.newsletter__title{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;margin:0 0 12px;text-wrap:balance;}
.newsletter__sub{color:var(--muted);font-size:15px;line-height:1.55;max-width:460px;margin:0 auto;}
.newsletter__form{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:26px auto 4px;}
.newsletter__fields{display:flex;gap:12px;}
.newsletter__fields .input{flex:1;min-width:0;}
.newsletter__form>.btn{width:100%;padding-top:15px;padding-bottom:15px;font-weight:700;}
@media(max-width:560px){.newsletter__fields{flex-direction:column;}}
.input{width:100%;font-family:var(--sans);font-size:14.5px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);padding:13px 20px;transition:border-color .15s,box-shadow .15s;}
.input::placeholder{color:var(--dim);}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}
.newsletter__consent{display:flex;align-items:flex-start;gap:10px;max-width:560px;margin:16px auto 0;text-align:left;font-size:12px;line-height:1.5;color:var(--dim);}
.newsletter__consent input{flex:0 0 auto;width:16px;height:16px;margin-top:2px;accent-color:var(--accent);cursor:pointer;}
.newsletter__consent a{color:var(--gold-2);text-decoration:underline;text-underline-offset:2px;}
.newsletter__note{font-size:12px;color:var(--dim);margin-top:14px;}

/* ==========================================================================
   14 · FOOTER
   ========================================================================== */
.site-footer{border-top:1px solid var(--border);background:var(--bg-1);padding:clamp(48px,7vw,80px) 0 36px;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
@media(max-width:860px){.footer__grid{grid-template-columns:1fr 1fr;gap:28px;}}
@media(max-width:480px){.footer__grid{grid-template-columns:1fr;}}
.footer__brand p{font-size:13.5px;color:var(--muted);margin-top:14px;max-width:32ch;line-height:1.6;}
.footer__col h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;font-weight:600;}
.footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.footer__col a{font-size:14px;color:var(--muted);transition:color .15s;}
.footer__col a:hover{color:var(--accent-2);}
.footer__contact{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:11px;}
.footer__contact a{color:var(--text);display:inline-flex;align-items:center;gap:9px;}
.footer__contact svg{width:17px;height:17px;color:var(--accent);flex:none;}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;margin-top:46px;padding-top:24px;border-top:1px solid var(--border);font-size:12.5px;color:var(--dim);}

/* ==========================================================================
   15 · REVEAL ON SCROLL
   ========================================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
.reveal[data-d="4"]{transition-delay:.32s;}
.reveal[data-d="5"]{transition-delay:.40s;}
.reveal[data-d="6"]{transition-delay:.48s;}

/* ==========================================================================
   16 · UTIL / A11Y
   ========================================================================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--accent);color:#0a0a0b;padding:10px 16px;border-radius:0 0 10px 0;font-weight:600;}
.skip-link:focus{left:0;}
.scroll-cue{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
}

/* ==========================================================================
   17 · LANDING KURSU (taxonomy-product_cat) — wspólne
   ========================================================================== */
.wrap--narrow{max-width:820px;}
.btn--disabled{opacity:.5;pointer-events:none;filter:saturate(.6);}
.inline-ico{width:15px;height:15px;display:inline-block;vertical-align:-2px;}

/* Hero kursu — wartości + blok ceny */
.course-hero__values{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px;}
.course-hero__values li{display:flex;align-items:flex-start;gap:11px;font-size:15px;color:rgba(250,250,250,.86);}
.course-hero__values svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:2px;}
.course-hero__buy{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-bottom:18px;}
.course-hero__price{display:flex;flex-direction:column;gap:2px;}
.course-hero__from{font-size:12px;color:var(--dim);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.course-hero__amount{font-size:2.1rem;font-weight:800;letter-spacing:-.03em;line-height:1;}
.course-hero__dep{font-size:12.5px;color:var(--muted);}
.course-hero__dep b{color:var(--accent-2);}
.course-hero__nextline{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--muted);margin:0;}
.course-hero__nextline svg{width:17px;height:17px;color:var(--accent);}
.course-hero__nextline b{color:var(--text);}

/* Pasek zaufania kursu */
.course-trust__inner{display:flex;flex-direction:column;gap:16px;padding:26px 0;}
.course-trust__chips{display:flex;flex-wrap:wrap;gap:10px;}
.course-trust__quote{font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:500;color:rgba(250,250,250,.9);max-width:60ch;margin:0;letter-spacing:-.01em;}

/* Dla kogo / nie dla kogo */
.forwho__col{display:flex;flex-direction:column;gap:16px;}
.forwho__col--yes{border-color:rgba(52,211,153,.25);}
.forwho__col--no{background:var(--bg-1);}
.forwho__title{display:flex;align-items:center;gap:10px;font-size:1.08rem;}
.forwho__title svg{width:20px;height:20px;color:var(--ok);flex:none;}
.forwho__title--no{color:var(--muted);}
.forwho__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.forwho__list li{position:relative;padding-left:26px;font-size:14.5px;color:rgba(250,250,250,.82);line-height:1.5;}
.forwho__list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px rgba(52,211,153,.4);}
.forwho__list--no li::before{background:var(--sold);box-shadow:none;}

/* Accordion (program + FAQ) */
.accordion{display:flex;flex-direction:column;gap:12px;}
.accordion--faq{gap:10px;}
.acc__item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:border-color .2s var(--ease);}
.acc__item.is-open{border-color:var(--border-2);}
.acc__head{display:flex;align-items:center;gap:16px;width:100%;padding:18px 22px;text-align:left;color:var(--text);}
.acc__title{font-weight:600;font-size:1.05rem;letter-spacing:-.01em;flex:1;}
.acc__meta{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;color:var(--accent-2);white-space:nowrap;}
.acc__meta svg{width:15px;height:15px;}
.acc__chevron{flex:none;color:var(--muted);transition:transform .25s var(--ease);}
.acc__chevron svg{width:20px;height:20px;display:block;}
.acc__item.is-open .acc__chevron{transform:rotate(180deg);color:var(--accent);}
.acc__panel{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}
.acc__item.is-open .acc__panel{max-height:600px;}
.acc__panel>*{padding:0 22px;}
.acc__panel p{padding-top:0;padding-bottom:20px;color:var(--muted);font-size:14.5px;line-height:1.62;margin:0;}
.acc__list{list-style:none;margin:0;padding:0 22px 20px;display:flex;flex-direction:column;gap:11px;}
.acc__list li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:rgba(250,250,250,.82);}
.acc__list svg{width:17px;height:17px;color:var(--accent);flex:none;margin-top:2px;}

/* W cenie */
.included{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(max-width:760px){.included{grid-template-columns:1fr;}}
.included__item{display:flex;align-items:center;gap:13px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);}
.included__ico{flex:none;width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;}
.included__ico svg{width:17px;height:17px;}
.included__label{flex:1;font-size:14.5px;color:rgba(250,250,250,.86);}
.included__value{font-family:var(--mono);font-size:13px;color:var(--accent-2);}

/* Selektor terminów */
.selcard{cursor:pointer;outline:none;}
.selcard .ccard__media{aspect-ratio:16/9;}
.selcard__check{position:absolute;top:12px;right:12px;z-index:3;width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .2s var(--spring),transform .2s var(--spring);}
.selcard__check svg{width:18px;height:18px;}
.selcard.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 18px 40px -22px var(--glow);}
.selcard.is-selected .selcard__check{opacity:1;transform:none;}
.selcard__pick{font-size:13px;font-weight:600;color:var(--accent-2);}
.selcard.is-selected .selcard__pick{color:var(--accent);}
.selcard.is-sold{opacity:.62;cursor:not-allowed;}
.selcard.is-sold .selcard__pick{color:var(--sold);}
.selector__bar{position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:24px;padding:16px 22px;background:rgba(21,21,26,.86);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow);}
.selector__info{display:flex;flex-direction:column;gap:3px;}
.selector__label{font-weight:600;font-size:1.02rem;}
.selector__hint{font-size:12.5px;color:var(--muted);font-family:var(--mono);}

/* Empty state */
.empty-state{text-align:center;padding:clamp(32px,5vw,52px);}
.empty-state h3{margin-bottom:12px;}
.empty-state p{max-width:52ch;margin:0 auto 22px;}
.empty-state__cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* ROI */
.roi{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:var(--r-lg);border:1px solid var(--border-2);background:radial-gradient(700px 300px at 100% 0,rgba(239,133,11,.12),transparent 60%),var(--surface);}
@media(max-width:820px){.roi{grid-template-columns:1fr;}}
.roi__calc{display:flex;flex-direction:column;gap:18px;}
.roi__field{display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--muted);}
.roi__slider-row{display:flex;align-items:center;gap:16px;}
.roi__slider-row output{font-size:1.1rem;color:var(--text);min-width:84px;text-align:right;}
.roi input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:var(--surface-3);outline:none;}
.roi input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--grad);cursor:pointer;box-shadow:0 4px 12px -2px var(--glow);}
.roi input[type=range]::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--accent);cursor:pointer;}
.roi__result{padding:20px;border-radius:var(--r);background:var(--bg-1);border:1px solid var(--border);text-align:center;}
.roi__big{display:block;font-size:1.1rem;color:var(--muted);}
.roi__big b{font-size:2.6rem;font-weight:800;color:var(--accent);letter-spacing:-.03em;display:block;line-height:1;margin-bottom:4px;}
.roi__sub{font-size:13px;color:var(--muted);}
.roi__note{font-size:12px;margin:0;}

/* Drabina poziomów */
.nextlevel{display:flex;align-items:center;gap:16px;transition:transform .2s var(--ease),border-color .2s var(--ease);}
.nextlevel:hover{transform:translateY(-3px);border-color:var(--border-2);}
.nextlevel__ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;}
.nextlevel__ico svg{width:22px;height:22px;}
.nextlevel__body{flex:1;display:flex;flex-direction:column;gap:3px;}
.nextlevel__name{font-weight:700;font-size:1.06rem;letter-spacing:-.01em;}
.nextlevel__note{font-size:13px;color:var(--muted);}
.nextlevel__arrow{color:var(--accent-2);}
.nextlevel__arrow svg{width:18px;height:18px;}

/* ==========================================================================
   18 · STICKY BUY BAR (landing + single)
   ========================================================================== */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:90;transform:translateY(110%);transition:transform .3s var(--ease);background:rgba(10,10,11,.82);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-top:1px solid var(--border-2);}
.buybar.is-visible{transform:none;}
.buybar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;}
.buybar__info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.buybar__name{font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.buybar__meta{font-size:12.5px;color:var(--accent-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:520px){.buybar__meta{display:none;}.buybar__inner{padding:10px 0;}}

/* ==========================================================================
   19 · SINGLE TERMIN (single-product)
   ========================================================================== */
.breadcrumb{border-bottom:1px solid var(--border);background:var(--bg-1);font-size:13px;}
.breadcrumb .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;padding-bottom:14px;}
.breadcrumb a{color:var(--muted);transition:color .15s;}
.breadcrumb a:hover{color:var(--accent-2);}
.breadcrumb__sep{color:var(--dim);}
.breadcrumb__current{color:var(--text);}

.termin-hero{padding:clamp(28px,5vw,56px) 0 clamp(20px,3vw,32px);}
.termin-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,48px);align-items:start;}
@media(max-width:920px){.termin-hero__grid{grid-template-columns:1fr;}}

/* Galeria */
.gallery__main{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-2);background:linear-gradient(135deg,#1a1a20,#121216);aspect-ratio:4/3;box-shadow:var(--shadow);}
.gallery__img,.gallery__main img{width:100%;height:100%;object-fit:cover;}
.gallery__placeholder{width:100%;height:100%;}
.gallery__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.gallery__thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--border);opacity:.7;transition:opacity .15s,border-color .15s;}
.gallery__thumb img{width:100%;height:100%;object-fit:cover;}
.gallery__thumb.is-active,.gallery__thumb:hover{opacity:1;border-color:var(--accent);}

/* Buy box */
.buybox{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.5vw,30px);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow);}
.buybox__title{font-size:clamp(1.5rem,2.4vw,2rem);margin:0;}
.buybox__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;}
.buybox__meta span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);}
.buybox__meta svg{width:17px;height:17px;color:var(--accent);}
.buybox__meta b{color:var(--text);}
.buybox__price{font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--text);}
.buybox__price del{color:var(--dim);font-weight:500;font-size:1.1rem;margin-right:8px;}
.buybox__price ins{text-decoration:none;}
.buybox__price .amount{color:var(--text);}
.buybox__deposit{display:flex;gap:11px;padding:14px 16px;border-radius:var(--r);background:var(--accent-soft);border:1px solid rgba(239,133,11,.28);font-size:13px;color:rgba(250,250,250,.82);line-height:1.5;}
.buybox__deposit svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:1px;}
.buybox__deposit b{color:var(--accent-2);}
.buybox__past{margin:0 0 12px;padding:13px 16px;border-radius:var(--r);background:rgba(120,120,120,.10);border:1px solid rgba(120,120,120,.26);font-size:14px;line-height:1.5;color:var(--muted-on-paper,inherit);}
.buybox__trust{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;}
.buybox__trust li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);}
.buybox__trust svg{width:17px;height:17px;color:var(--accent);flex:none;}
.buybox__help{font-size:13px;color:var(--muted);margin:0;}
.buybox__help a{color:var(--accent-2);font-weight:600;}

/* Woo add-to-cart wewnątrz buy box (zaliczki/FunnelKit) — skóra premium */
.buybox__form .stock,.buybox__form .out-of-stock{font-size:13px;color:var(--muted);margin:0 0 10px;}
.buybox__form form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;}
.buybox__form .quantity{display:inline-flex;align-items:center;}
.buybox__form .quantity input.qty{width:64px;text-align:center;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 8px;color:var(--text);}
.buybox__form button.single_add_to_cart_button,.buybox__form .single_add_to_cart_button{flex:1;min-width:200px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:15.5px;padding:15px 28px;border-radius:var(--r-pill);border:1px solid transparent;cursor:pointer;background:var(--grad);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 24px -8px var(--glow);transition:transform .2s var(--spring),box-shadow .2s var(--ease);}
.buybox__form button.single_add_to_cart_button:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 14px 34px -8px var(--glow);}
/* Wtyczka zaliczek — opcje płatności (radio/labelki) */
.buybox__form .wc-deposit-option,.buybox__form .wc_deposits_option,.buybox__form .payment-plans,.buybox__form .wc-deposits-wrapper{display:flex;flex-direction:column;gap:8px;width:100%;margin:0 0 4px;}
.buybox__form label{font-size:14px;color:rgba(250,250,250,.86);display:flex;align-items:center;gap:9px;}
.buybox__form .woocommerce-variation-price,.buybox__form .price{color:var(--text);}

/* Logistyka */
.logistics__item{display:flex;flex-direction:column;gap:8px;}
.logistics__ico{width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;}
.logistics__ico svg{width:21px;height:21px;}
.logistics__item h4{font-size:1rem;margin:2px 0 0;}
.logistics__item p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.5;}

.course-summary .lead{color:rgba(250,250,250,.82);}
@media(max-width:860px){.termin-bottom{grid-template-columns:1fr;}}


/* ==========================================================================
   20 · HEADER v5 (glass — dark) — akcent ujednolicony do var design-systemu
   #f59e0b->#EF850B · #fbbf24->#FBA43A · gradient ->#f97316 · mono: JetBrains Mono
   Markup: header.php (.ew-promo / .ew-header / .ew-header-spacer / .ew-mobile)
   ========================================================================== */
.ew-header,
.ew-mobile,
.ew-promo,
.ew-header-spacer {
  --ew-bg: #0a0a0b;
  --ew-bg-elevated: #131316;
  --ew-border: rgba(255, 255, 255, 0.08);
  --ew-border-hover: rgba(255, 255, 255, 0.14);
  --ew-text: #fafafa;
  --ew-text-muted: rgba(250, 250, 250, 0.62);
  --ew-text-dim: rgba(250, 250, 250, 0.45);
  --ew-accent: #EF850B;
  --ew-accent-hover: #FBA43A;
  --ew-accent-glow: rgba(239, 133, 11, 0.35);
  --ew-promo-height: 40px;
  --ew-header-height: 72px;
  --ew-header-height-mobile: 64px;
  --ew-radius: 10px;
  --ew-radius-lg: 14px;
  --ew-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ew-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ew-header a,
.ew-header a:link,
.ew-header a:visited,
.ew-header a:hover,
.ew-header a:active,
.ew-header a:focus,
.ew-mobile a,
.ew-mobile a:link,
.ew-mobile a:visited,
.ew-mobile a:hover,
.ew-mobile a:active,
.ew-mobile a:focus {
  text-decoration: none !important;
  outline: none;
}
.ew-header a.ew-nav__link,
.ew-header a.ew-dropdown__link,
.ew-mobile a.ew-mobile__link,
.ew-mobile a.ew-mobile__course,
.ew-mobile a.ew-mobile__contact-link {
  background-image: none !important;
}
.ew-promo {
  position: relative;
  width: 100%;
  height: var(--ew-promo-height);
  padding: 0 20px;
  background-color: rgba(8, 8, 10, 0.95);
  backdrop-filter: saturate(160%) blur(16px);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: #fafaf7;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: 0.005em;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: 100000;
}
.ew-promo__inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  line-height: 1.4;
}
.ew-promo__dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #EF850B;
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(239, 133, 11, 0.5);
}
.ew-promo__text {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 400;
}
.ew-promo__location {
  color: #fafaf7;
  font-weight: 500;
  letter-spacing: -0.005em;
}
.ew-promo__separator {
  color: rgba(255, 255, 255, 0.2);
  margin: 0 2px;
  font-weight: 300;
}
.ew-promo__highlight {
  color: rgba(255, 255, 255, 0.88);
  font-weight: 500;
  letter-spacing: -0.005em;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .ew-promo {
    height: 36px;
    padding: 0 14px;
    font-size: 11.5px;
  }
  .ew-promo__inner {
    gap: 8px;
  }
}
@media (max-width: 420px) {
  .ew-promo {
    height: 34px;
    padding: 0 12px;
    font-size: 11px;
    letter-spacing: 0;
  }
  .ew-promo__separator {
    margin: 0 1px;
  }
}
.ew-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  height: var(--ew-header-height);
  background-color: rgba(12, 12, 14, 0.72);
  backdrop-filter: saturate(180%) blur(24px);
  -webkit-backdrop-filter: saturate(180%) blur(24px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  transform: translateY(var(--ew-header-offset, 0px));
  will-change: transform;
  transition:
    background-color 0.3s var(--ew-ease),
    border-color 0.3s var(--ew-ease),
    box-shadow 0.3s var(--ew-ease);
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.ew-header.is-pinned {
  background-color: rgba(10, 10, 12, 0.88);
  border-bottom-color: rgba(255, 255, 255, 0.1);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.04) inset,
    0 8px 32px -12px rgba(0, 0, 0, 0.5);
}
.ew-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.12) 50%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}
.ew-header::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(239, 133, 11, 0.3) 35%,
    rgba(239, 133, 11, 0.5) 50%,
    rgba(239, 133, 11, 0.3) 65%,
    transparent 100%
  );
  opacity: 0.5;
  pointer-events: none;
}
.ew-header__inner {
  max-width: 1400px;
  height: 100%;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
  min-width: 0;
  position: relative;
  z-index: 2;
}
.ew-header-spacer {
  height: var(--ew-header-height);
  width: 100%;
}
.ew-header .ew-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 0;
  transition: opacity 0.2s var(--ew-ease);
}
.ew-header .ew-logo:hover {
  opacity: 0.85;
}
.ew-header .ew-logo img {
  height: 36px;
  width: auto;
  display: block;
  max-width: 100%;
  /* PA: monochromatyczny wordmark → czysta biel na ciemnym glass headerze. */
  filter: brightness(0) invert(1);
}
.ew-header .ew-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
}
.ew-header .ew-nav__item {
  position: relative;
}
.ew-header .ew-nav__link,
.ew-header .ew-nav__link:link,
.ew-header .ew-nav__link:visited {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(250, 250, 250, 0.65) !important;
  border-radius: var(--ew-radius);
  transition: color 0.2s var(--ew-ease), background-color 0.2s var(--ew-ease);
  white-space: nowrap;
  letter-spacing: -0.01em;
  background-color: transparent;
}
.ew-header .ew-nav__link:hover,
.ew-header .ew-nav__link:focus,
.ew-header .ew-nav__link.is-active {
  color: #fafafa !important;
  background-color: rgba(255, 255, 255, 0.05);
}
.ew-header .ew-nav__chevron {
  width: 12px;
  height: 12px;
  transition: transform 0.25s var(--ew-ease);
  opacity: 0.6;
  color: currentColor;
}
.ew-header .ew-nav__item:hover .ew-nav__chevron {
  transform: rotate(180deg);
  opacity: 1;
}
.ew-header .ew-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  min-width: 360px;
  padding: 10px;
  background-color: rgba(19, 19, 22, 0.88);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  box-shadow:
    0 24px 48px -12px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.2s var(--ew-ease),
    transform 0.25s var(--ew-ease),
    visibility 0.2s var(--ew-ease);
}
.ew-header .ew-nav__item:hover .ew-dropdown,
.ew-header .ew-nav__item:focus-within .ew-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.ew-header .ew-dropdown::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}
.ew-header .ew-dropdown__link,
.ew-header .ew-dropdown__link:link,
.ew-header .ew-dropdown__link:visited {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(250, 250, 250, 0.72) !important;
  border-radius: 8px;
  transition: color 0.2s var(--ew-ease), background-color 0.2s var(--ew-ease);
  letter-spacing: -0.01em;
  background-color: transparent;
}
.ew-header .ew-dropdown__link:hover,
.ew-header .ew-dropdown__link:focus {
  color: #ffffff !important;
  background-color: rgba(239, 133, 11, 0.1);
}
.ew-header .ew-dropdown__num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #EF850B !important;
  opacity: 0.7;
  min-width: 22px;
  transition: opacity 0.2s var(--ew-ease);
}
.ew-header .ew-dropdown__link:hover .ew-dropdown__num {
  opacity: 1;
}
.ew-header .ew-dropdown__title {
  flex: 1;
  color: inherit;
}
.ew-header .ew-dropdown__arrow {
  width: 14px;
  height: 14px;
  opacity: 0;
  transform: translateX(-4px);
  color: #EF850B;
  transition: opacity 0.2s var(--ew-ease), transform 0.2s var(--ew-ease);
  flex-shrink: 0;
}
.ew-header .ew-dropdown__link:hover .ew-dropdown__arrow {
  opacity: 1;
  transform: translateX(0);
}
.ew-header .ew-dropdown__divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.08);
  margin: 6px 14px;
  border: 0;
}
.ew-header .ew-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.ew-header .ew-cart #fkcart-mini-toggler,
.ew-header .ew-cart .fkcart-shortcode-container,
.ew-header .ew-cart > a,
.ew-header .ew-cart > div:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: #fafafa !important;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s var(--ew-ease), border-color 0.2s var(--ew-ease);
  line-height: 1;
}
.ew-header .ew-cart #fkcart-mini-toggler:hover,
.ew-header .ew-cart .fkcart-shortcode-container:hover {
  background-color: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.16);
}
.ew-header .ew-cart .fkcart-shortcode-icon-wrap,
.ew-header .ew-cart svg.fkcart-icon-checkout {
  color: #EF850B !important;
  display: inline-flex;
  align-items: center;
}
.ew-header .ew-cart svg.fkcart-icon-checkout {
  width: 18px;
  height: 18px;
}
.ew-header .ew-cart .fkcart-shortcode-price,
.ew-header .ew-cart .woocommerce-Price-amount,
.ew-header .ew-cart .woocommerce-Price-currencySymbol {
  color: #fafafa !important;
  font-weight: 600;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.ew-header a.ew-newsletter,
.ew-header a.ew-newsletter:link,
.ew-header a.ew-newsletter:visited,
.ew-header a.ew-newsletter:hover,
.ew-header a.ew-newsletter:active,
.ew-header a.ew-newsletter:focus {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px 7px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #fafafa !important;
  border-radius: 999px;
  background-color: rgba(239, 133, 11, 0.08) !important;
  background-image: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(239, 133, 11, 0.25);
  letter-spacing: -0.01em;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: background-color 0.2s var(--ew-ease), border-color 0.2s var(--ew-ease), transform 0.2s var(--ew-ease);
}
.ew-header a.ew-newsletter::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(239, 133, 11, 0.22) 50%,
    transparent 100%
  );
  animation: ew-newsletter-shimmer 3.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ew-newsletter-shimmer {
  0%, 40% {
    left: -100%;
  }
  70%, 100% {
    left: 100%;
  }
}
.ew-header a.ew-newsletter:hover {
  background-color: rgba(239, 133, 11, 0.14) !important;
  border-color: rgba(239, 133, 11, 0.45);
  transform: translateY(-1px);
}
.ew-header .ew-newsletter__label {
  color: #fafafa !important;
  position: relative;
  z-index: 1;
}
.ew-header .ew-newsletter__badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #0a0a0b !important;
  background: linear-gradient(135deg, #FBA43A 0%, #EF850B 100%) !important;
  background-image: linear-gradient(135deg, #FBA43A 0%, #EF850B 100%) !important;
  border-radius: 999px;
  line-height: 1;
  position: relative;
  z-index: 1;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}
.ew-header a.ew-cta,
.ew-header a.ew-cta:link,
.ew-header a.ew-cta:visited,
.ew-header a.ew-cta:hover,
.ew-header a.ew-cta:active,
.ew-header a.ew-cta:focus {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  background: var(--grad) !important;
  background-image: var(--grad) !important;
  background-color: #f7a13a !important;
  color: #241402 !important;
  font-size: 13px;
  font-weight: 600;
  border-radius: 999px;
  letter-spacing: -0.01em;
  position: relative;
  overflow: hidden;
  border: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(239, 133, 11, 0.4),
    0 4px 14px -2px rgba(239, 133, 11, 0.4);
  transition: transform 0.2s var(--ew-ease-spring), box-shadow 0.2s var(--ew-ease);
}
.ew-header a.ew-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #FBA43A 0%, #f97316 100%);
  opacity: 0;
  transition: opacity 0.2s var(--ew-ease);
  border-radius: inherit;
}
.ew-header a.ew-cta:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(239, 133, 11, 0.55),
    0 8px 24px -4px rgba(239, 133, 11, 0.5);
}
.ew-header a.ew-cta:hover::after {
  opacity: 1;
}
.ew-header a.ew-cta:active {
  transform: translateY(0);
}
.ew-header a.ew-cta > span,
.ew-header a.ew-cta > svg {
  position: relative;
  z-index: 1;
  color: #241402 !important;
}
.ew-header a.ew-cta svg {
  width: 14px;
  height: 14px;
  stroke: #241402;
  transition: transform 0.2s var(--ew-ease);
}
.ew-header a.ew-cta:hover svg {
  transform: translateX(2px);
}
.ew-header .ew-burger {
  display: none;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: #fafafa;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s var(--ew-ease);
  flex-shrink: 0;
}
.ew-header .ew-burger:hover {
  background-color: rgba(255, 255, 255, 0.09);
}
.ew-header .ew-burger__lines {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 12px;
  transform: translate(-50%, -50%);
}
.ew-header .ew-burger__lines span {
  position: absolute;
  left: 0;
  right: 0;
  height: 1.8px;
  background-color: currentColor;
  border-radius: 2px;
  transition: transform 0.3s var(--ew-ease), top 0.3s var(--ew-ease), opacity 0.2s var(--ew-ease);
}
.ew-header .ew-burger__lines span:nth-child(1) {
  top: 0;
}
.ew-header .ew-burger__lines span:nth-child(2) {
  top: 5px;
}
.ew-header .ew-burger__lines span:nth-child(3) {
  top: 10px;
}
.ew-header .ew-burger.is-open .ew-burger__lines span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}
.ew-header .ew-burger.is-open .ew-burger__lines span:nth-child(2) {
  opacity: 0;
}
.ew-header .ew-burger.is-open .ew-burger__lines span:nth-child(3) {
  top: 5px;
  transform: rotate(-45deg);
}
.ew-mobile {
  position: fixed;
  top: var(--ew-header-height-mobile);
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(10, 10, 11, 0.96);
  backdrop-filter: saturate(180%) blur(28px);
  -webkit-backdrop-filter: saturate(180%) blur(28px);
  z-index: 99998;
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition:
    opacity 0.25s var(--ew-ease),
    transform 0.3s var(--ew-ease),
    visibility 0.3s var(--ew-ease);
  display: none;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.ew-mobile.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.ew-mobile__inner {
  padding: 24px 20px 40px;
  max-width: 500px;
  margin: 0 auto;
}
.ew-mobile__section {
  margin-bottom: 28px;
}
.ew-mobile__label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(250, 250, 250, 0.45);
  margin-bottom: 12px;
  padding: 0 4px;
}
.ew-mobile__label::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.08);
}
.ew-mobile a.ew-mobile__link,
.ew-mobile a.ew-mobile__link:link,
.ew-mobile a.ew-mobile__link:visited,
.ew-mobile a.ew-mobile__link:hover,
.ew-mobile a.ew-mobile__link:active,
.ew-mobile a.ew-mobile__link:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 16px;
  font-size: 16px;
  font-weight: 500;
  color: #fafafa !important;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 6px;
  transition: background-color 0.2s var(--ew-ease), border-color 0.2s var(--ew-ease), transform 0.2s var(--ew-ease);
  letter-spacing: -0.01em;
}
.ew-mobile a.ew-mobile__link:hover,
.ew-mobile a.ew-mobile__link:active {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.14);
  transform: translateX(2px);
}
.ew-mobile a.ew-mobile__link > span {
  color: #fafafa !important;
}
.ew-mobile a.ew-mobile__link svg {
  width: 16px;
  height: 16px;
  opacity: 0.4;
  color: #EF850B;
  stroke: #EF850B;
  transition: opacity 0.2s var(--ew-ease), transform 0.2s var(--ew-ease);
  flex-shrink: 0;
}
.ew-mobile a.ew-mobile__link:hover svg {
  opacity: 1;
  transform: translateX(3px);
}
.ew-mobile a.ew-mobile__course,
.ew-mobile a.ew-mobile__course:link,
.ew-mobile a.ew-mobile__course:visited,
.ew-mobile a.ew-mobile__course:hover,
.ew-mobile a.ew-mobile__course:active,
.ew-mobile a.ew-mobile__course:focus {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 10px;
  margin-bottom: 2px;
  transition: background-color 0.2s var(--ew-ease);
  color: #fafafa !important;
  background-color: transparent;
}
.ew-mobile a.ew-mobile__course:hover,
.ew-mobile a.ew-mobile__course:active {
  background-color: rgba(239, 133, 11, 0.06);
}
.ew-mobile .ew-mobile__course-num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #EF850B !important;
  opacity: 0.8;
  min-width: 24px;
  flex-shrink: 0;
}
.ew-mobile .ew-mobile__course-title {
  flex: 1;
  font-size: 15px;
  font-weight: 500;
  color: #fafafa !important;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.ew-mobile a.ew-mobile__course:hover .ew-mobile__course-title {
  color: #ffffff !important;
}
.ew-mobile .ew-mobile__course-arrow {
  width: 14px;
  height: 14px;
  color: rgba(250, 250, 250, 0.45);
  stroke: rgba(250, 250, 250, 0.45);
  opacity: 0.5;
  flex-shrink: 0;
}
.ew-mobile a.ew-mobile__cta,
.ew-mobile a.ew-mobile__cta:link,
.ew-mobile a.ew-mobile__cta:visited,
.ew-mobile a.ew-mobile__cta:hover,
.ew-mobile a.ew-mobile__cta:active,
.ew-mobile a.ew-mobile__cta:focus {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg, #EF850B 0%, #f97316 100%) !important;
  background-image: linear-gradient(135deg, #EF850B 0%, #f97316 100%) !important;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 600;
  border-radius: 12px;
  margin-top: 8px;
  box-shadow: 0 4px 16px -4px rgba(239, 133, 11, 0.35);
  letter-spacing: -0.01em;
}
.ew-mobile a.ew-mobile__cta svg {
  width: 16px;
  height: 16px;
  color: #ffffff;
  stroke: #ffffff;
}
.ew-mobile .ew-mobile__contact {
  margin-top: 32px;
  padding: 24px 20px;
  background: linear-gradient(180deg, rgba(239, 133, 11, 0.04) 0%, rgba(239, 133, 11, 0.01) 100%);
  border: 1px solid rgba(239, 133, 11, 0.12);
  border-radius: 16px;
}
.ew-mobile .ew-mobile__contact-title {
  font-size: 13px;
  font-weight: 600;
  color: #fafafa;
  margin-bottom: 4px;
  letter-spacing: -0.01em;
}
.ew-mobile .ew-mobile__contact-sub {
  font-size: 12px;
  color: rgba(250, 250, 250, 0.45);
  margin-bottom: 16px;
  line-height: 1.5;
}
.ew-mobile a.ew-mobile__contact-link,
.ew-mobile a.ew-mobile__contact-link:link,
.ew-mobile a.ew-mobile__contact-link:visited,
.ew-mobile a.ew-mobile__contact-link:hover,
.ew-mobile a.ew-mobile__contact-link:active,
.ew-mobile a.ew-mobile__contact-link:focus {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 500;
  color: #fafafa !important;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 6px;
  transition: background-color 0.2s var(--ew-ease);
  letter-spacing: -0.01em;
}
.ew-mobile a.ew-mobile__contact-link:hover,
.ew-mobile a.ew-mobile__contact-link:active {
  background-color: rgba(255, 255, 255, 0.06);
}
.ew-mobile .ew-mobile__contact-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background-color: rgba(239, 133, 11, 0.1);
  border-radius: 8px;
  color: #EF850B;
  flex-shrink: 0;
}
.ew-mobile .ew-mobile__contact-icon svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
}
.ew-mobile .ew-mobile__contact-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}
.ew-mobile .ew-mobile__contact-label {
  font-size: 11px;
  color: rgba(250, 250, 250, 0.45);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.ew-mobile .ew-mobile__contact-value {
  font-size: 14px;
  color: #fafafa !important;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.ew-menu-open {
  overflow: hidden;
}
.ew-mobile a.ew-mobile__newsletter,
.ew-mobile a.ew-mobile__newsletter:link,
.ew-mobile a.ew-mobile__newsletter:visited,
.ew-mobile a.ew-mobile__newsletter:hover,
.ew-mobile a.ew-mobile__newsletter:active,
.ew-mobile a.ew-mobile__newsletter:focus {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  margin-bottom: 20px;
  color: #fafafa !important;
  background: linear-gradient(135deg, rgba(239, 133, 11, 0.14) 0%, rgba(234, 88, 12, 0.06) 100%);
  border: 1px solid rgba(239, 133, 11, 0.32);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s var(--ew-ease);
}
.ew-mobile a.ew-mobile__newsletter::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(239, 133, 11, 0.18) 50%,
    transparent 100%
  );
  animation: ew-newsletter-shimmer 3.5s ease-in-out infinite;
  pointer-events: none;
}
.ew-mobile a.ew-mobile__newsletter:active {
  transform: scale(0.99);
}
.ew-mobile .ew-mobile__newsletter-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #FBA43A 0%, #EF850B 100%);
  border-radius: 10px;
  flex-shrink: 0;
  color: #0a0a0b;
  position: relative;
  z-index: 1;
  box-shadow: 0 4px 12px -2px rgba(239, 133, 11, 0.4);
}
.ew-mobile .ew-mobile__newsletter-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
}
.ew-mobile .ew-mobile__newsletter-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.ew-mobile .ew-mobile__newsletter-title {
  font-size: 15px;
  font-weight: 600;
  color: #fafafa !important;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.ew-mobile .ew-mobile__newsletter-sub {
  font-size: 12px;
  font-weight: 500;
  color: rgba(239, 133, 11, 0.95);
  letter-spacing: -0.005em;
  line-height: 1.3;
}
.ew-mobile .ew-mobile__newsletter-arrow {
  width: 16px;
  height: 16px;
  color: #EF850B;
  stroke: #EF850B;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
@media (max-width: 1024px) {
  .ew-header {
    height: var(--ew-header-height-mobile);
  }
  .ew-header-spacer {
    height: var(--ew-header-height-mobile);
  }
  .ew-header .ew-header__inner {
    padding: 0 14px;
    gap: 10px;
  }
  .ew-header .ew-nav {
    display: none !important;
  }
  .ew-header a.ew-cta {
    display: none !important;
  }
  .ew-header a.ew-newsletter {
    display: none !important;
  }
  .ew-header .ew-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
  }
  .ew-mobile {
    display: block;
  }
  .ew-header .ew-logo img {
    height: 28px;
  }
  .ew-header .ew-actions {
    gap: 8px;
  }
  .ew-header .ew-cart #fkcart-mini-toggler,
  .ew-header .ew-cart .fkcart-shortcode-container,
  .ew-header .ew-cart > a,
  .ew-header .ew-cart > div:first-child {
    padding: 8px 12px;
    font-size: 13px;
    gap: 7px;
  }
  .ew-header .ew-cart svg.fkcart-icon-checkout {
    width: 19px;
    height: 19px;
  }
}
@media (max-width: 640px) {
  .ew-header .ew-header__inner {
    padding: 0 12px;
    gap: 8px;
  }
  .ew-header .ew-logo img {
    height: 26px;
  }
  .ew-header .ew-cart .fkcart-shortcode-price,
  .ew-header .ew-cart .woocommerce-Price-amount,
  .ew-header .ew-cart .woocommerce-Price-currencySymbol {
    display: none !important;
  }
  .ew-header .ew-cart #fkcart-mini-toggler,
  .ew-header .ew-cart .fkcart-shortcode-container,
  .ew-header .ew-cart > a,
  .ew-header .ew-cart > div:first-child {
    padding: 10px;
    gap: 0;
    width: 40px;
    height: 40px;
    justify-content: center;
  }
  .ew-header .ew-cart svg.fkcart-icon-checkout {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 380px) {
  .ew-header .ew-header__inner {
    padding: 0 10px;
    gap: 6px;
  }
  .ew-header .ew-logo img {
    height: 22px;
  }
  .ew-header .ew-burger {
    width: 36px;
    height: 36px;
  }
  .ew-header .ew-cart #fkcart-mini-toggler,
  .ew-header .ew-cart .fkcart-shortcode-container,
  .ew-header .ew-cart > a,
  .ew-header .ew-cart > div:first-child {
    width: 36px;
    height: 36px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ew-header *,
  .ew-mobile *,
  .ew-promo * {
    transition: none !important;
    animation: none !important;
  }
}
@supports not (backdrop-filter: blur(1px)) {
  .ew-promo {
    background-color: rgba(8, 8, 10, 0.98);
  }
  .ew-header {
    background-color: rgba(12, 12, 14, 0.95);
  }
  .ew-header.is-pinned {
    background-color: rgba(10, 10, 12, 0.98);
  }
  .ew-mobile {
    background-color: rgba(10, 10, 11, 0.99);
  }
}

/* ==========================================================================
   21 · DAY MODE (koszyk / checkout / moje konto) — ciepły krem, nie biały
   Aktywne przez body.ewa-day (functions.php → body_class).
   Strategia: przemapowanie tokenów = wszystkie komponenty motywu dostrajają
   się automatycznie; potem warstwa pod komponenty WooCommerce + FunnelKit.
   Header v5 jest odporny (własne --ew-*); stopka i mini-cart chronione niżej.
   ========================================================================== */
body.ewa-day {
  /* powierzchnie */
  --ink: #fbf7f1; --bg-1: #f4ece1; --bg-2: #efe5d7;
  --surface: #ffffff; --surface-2: #fbf7f1; --surface-3: #f4ece1;
  /* bordery — ciepłe, na bazie atramentu */
  --border: rgba(36, 31, 25, 0.10);
  --border-2: rgba(36, 31, 25, 0.16);
  --border-3: rgba(36, 31, 25, 0.24);
  /* tekst */
  --text: #241f1b; --muted: rgba(36, 31, 25, 0.66); --dim: rgba(36, 31, 25, 0.45);
  /* akcent: gradient zostaje; accent-2 jako TEKST musi być czytelny na kremie */
  --accent: #ef850b; --accent-2: #c2410c; --accent-deep: #f97316;
  --glow: rgba(239, 133, 11, 0.22);
  --accent-soft: #fbeed8;
  /* statusy — wersje na jasnym tle (wystarczający kontrast) */
  --ok: #16794f; --ok-soft: #dcf3e8;
  --low: #9a6a12; --low-soft: #fbeed8;
  --sold: #6f6256; --sold-soft: #ece4d9;
  --shadow: 0 24px 60px -30px rgba(36, 31, 25, 0.22);
  background: var(--ink);
  color: var(--text);
}
/* ambient glow — subtelny, ciepły, żeby krem nie był płaski */
body.ewa-day::before {
  background:
    radial-gradient(720px 460px at 82% -8%, rgba(239, 133, 11, 0.06), transparent 60%),
    radial-gradient(560px 380px at -5% 100%, rgba(234, 88, 12, 0.04), transparent 60%);
}
::selection { background: var(--accent); color: #fff; }

/* --- Stopka zostaje NIGHT (design system §4) — przywróć ciemne tokeny --- */
body.ewa-day .site-footer {
  --ink: #0a0a0b; --bg-1: #0e0e11; --bg-2: #111114;
  --surface: #15151a; --surface-2: #1b1b21; --surface-3: #212129;
  --border: rgba(255, 255, 255, 0.08);
  --border-2: rgba(255, 255, 255, 0.14);
  --border-3: rgba(255, 255, 255, 0.20);
  --text: #fafafa; --muted: rgba(250, 250, 250, 0.62); --dim: rgba(250, 250, 250, 0.42);
  --accent: #ef850b; --accent-2: #fba43a;
}

/* --- Tytuł strony / breadcrumb --- */
body.ewa-day .woocommerce-breadcrumb { color: var(--dim); font-size: 13px; }
body.ewa-day .woocommerce-breadcrumb a { color: var(--muted); }
body.ewa-day .woocommerce-breadcrumb a:hover { color: var(--accent-2); }
body.ewa-day .entry-title,
body.ewa-day .woocommerce-products-header__title { color: var(--text); }
body.ewa-day .woocommerce a:not(.button):not(.wc-forward) { color: var(--accent-2); }
body.ewa-day .woocommerce a:not(.button):not(.wc-forward):hover { color: var(--accent); }

/* --- Przyciski WooCommerce → primary (gradient) --- */
body.ewa-day .woocommerce a.button,
body.ewa-day .woocommerce button.button,
body.ewa-day .woocommerce input.button,
body.ewa-day .woocommerce #respond input#submit,
body.ewa-day .woocommerce .button.alt,
body.ewa-day .woocommerce #place_order,
body.ewa-day .woocommerce button.checkout-button,
body.ewa-day .wc-block-components-button {
  background: var(--grad); color: #fff; border: 0;
  border-radius: var(--r-pill); font-family: var(--sans);
  font-weight: 600; font-size: 14.5px; padding: 13px 26px; line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 24px -8px var(--glow);
  transition: transform 0.2s var(--spring), box-shadow 0.2s var(--ease);
}
body.ewa-day .woocommerce a.button:hover,
body.ewa-day .woocommerce button.button:hover,
body.ewa-day .woocommerce input.button:hover,
body.ewa-day .woocommerce .button.alt:hover,
body.ewa-day .woocommerce #place_order:hover,
body.ewa-day .woocommerce button.checkout-button:hover {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 14px 34px -8px var(--glow);
}
/* przyciski drugorzędne (aktualizuj koszyk / zastosuj kupon) → ghost jasny */
body.ewa-day .woocommerce button[name="update_cart"],
body.ewa-day .woocommerce button[name="apply_coupon"],
body.ewa-day .woocommerce .button[name="update_cart"] {
  background: #fff; color: var(--text);
  border: 1px solid var(--border-2); box-shadow: none;
}
body.ewa-day .woocommerce button[name="update_cart"]:hover,
body.ewa-day .woocommerce button[name="apply_coupon"]:hover {
  border-color: var(--accent); color: var(--accent-2); transform: none;
}
body.ewa-day .woocommerce button[name="update_cart"][disabled] { opacity: 0.45; }

/* Koszyk/kasa/konto renderują się bez pagehero (content-page.php) — sekcja
   treści musi sama zadbać o oddech pod paskiem nawigacji. */
.page-default--flow > .section--light { padding-top: clamp(36px,5vw,60px); }

/* --- Tabele koszyka / podsumowania --- */
body.ewa-day .woocommerce table.shop_table {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r); border-collapse: separate; overflow: hidden;
}
body.ewa-day .woocommerce table.shop_table thead th {
  background: rgba(24,16,8,.035);
}
body.ewa-day .woocommerce table.shop_table th {
  font-family: var(--sans); font-weight: 600; color: var(--dim);
  text-transform: uppercase; letter-spacing: .11em; font-size: 10.5px;
  border-bottom: 1px solid var(--border); padding: 14px 18px;
}
body.ewa-day .woocommerce table.shop_table td {
  border-top: 1px solid var(--border); color: var(--muted); padding: 17px 18px;
  vertical-align: middle;
}
/* Kwoty do prawej krawędzi — oko czyta kolumnę liczb, nie zygzak. */
body.ewa-day .woocommerce table.shop_table td:last-child,
body.ewa-day .woocommerce table.shop_table th:last-child { text-align: right; }
body.ewa-day .woocommerce table.shop_table tr.order-total td,
body.ewa-day .woocommerce table.shop_table tr.order-total th {
  background: rgba(217,106,6,.055); border-top-color: var(--border-2);
}
body.ewa-day .woocommerce table.shop_table .product-name a { color: var(--text); font-weight: 600; }
body.ewa-day .woocommerce table.shop_table .product-name a:hover { color: var(--accent-2); }
body.ewa-day .woocommerce table.shop_table td.product-name dl.variation,
body.ewa-day .woocommerce table.shop_table .wc-item-meta { font-size: 12.5px; color: var(--dim); }
/* Kwoty: Manrope z cyframi o stałej szerokości. Monospace (JetBrains Mono)
   ustawiał kolumnę idealnie, ale w kasie wyglądał jak wydruk z terminala —
   `tabular-nums` daje to samo wyrównanie w foncie marki. */
body.ewa-day .woocommerce .cart .amount,
body.ewa-day .woocommerce .shop_table .amount,
body.ewa-day .woocommerce .order-total .amount {
  font-family: var(--sans); font-weight: 600; letter-spacing: -.005em;
  font-variant-numeric: tabular-nums; font-feature-settings: 'tnum' 1;
  color: var(--text); white-space: nowrap;
}
body.ewa-day .woocommerce .order-total .amount {
  color: var(--accent-2); font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em;
}
body.ewa-day .woocommerce a.remove {
  color: var(--dim) !important; border: 1px solid var(--border);
  background: transparent; font-weight: 400;
}
body.ewa-day .woocommerce a.remove:hover {
  color: #fff !important; background: #dc2626; border-color: #dc2626;
}

/* --- Pola formularzy (checkout, ilość, login) --- */
body.ewa-day .woocommerce .quantity input.qty,
body.ewa-day .woocommerce form .form-row input.input-text,
body.ewa-day .woocommerce form .form-row textarea,
body.ewa-day .woocommerce-page form .form-row input.input-text,
body.ewa-day .woocommerce #order_comments,
body.ewa-day .woocommerce form .form-row select,
body.ewa-day .woocommerce .select2-container--default .select2-selection--single,
body.ewa-day .woocommerce input[type="text"],
body.ewa-day .woocommerce input[type="email"],
body.ewa-day .woocommerce input[type="tel"],
body.ewa-day .woocommerce input[type="password"] {
  background: #fff; border: 1px solid var(--border-2);
  border-radius: var(--r-sm); color: var(--text);
  padding: 12px 14px; font-family: var(--sans); font-size: 15px; line-height: 1.4;
  transition: border-color 0.15s var(--ease), box-shadow 0.15s var(--ease);
}
body.ewa-day .woocommerce .select2-container--default .select2-selection--single {
  height: auto; padding: 11px 14px;
}
body.ewa-day .woocommerce form .form-row input.input-text:focus,
body.ewa-day .woocommerce form .form-row textarea:focus,
body.ewa-day .woocommerce #order_comments:focus,
body.ewa-day .woocommerce form .form-row select:focus,
body.ewa-day .woocommerce input[type="text"]:focus,
body.ewa-day .woocommerce input[type="email"]:focus,
body.ewa-day .woocommerce input[type="tel"]:focus,
body.ewa-day .woocommerce input[type="password"]:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft); outline: none;
}
body.ewa-day .woocommerce form .form-row label { color: var(--text); font-weight: 500; font-size: 14px; }
body.ewa-day .woocommerce form .form-row .required { color: var(--accent-deep); border: 0; }
body.ewa-day .woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #dc2626; }

/* --- Koszyk: kupon + totals --- */
body.ewa-day .woocommerce .cart_totals h2,
body.ewa-day .woocommerce-checkout #order_review_heading { color: var(--text); font-size: 1.32rem; }
body.ewa-day .woocommerce .cart-collaterals .cart_totals,
body.ewa-day .woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 24px;
}

/* --- Checkout: review + płatność (sticky podsumowanie na desktop) --- */
body.ewa-day .woocommerce-checkout #order_review,
body.ewa-day .woocommerce-checkout .woocommerce-checkout-review-order {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 24px;
}
@media (min-width: 992px) {
  body.ewa-day .woocommerce-checkout #order_review { position: sticky; top: calc(var(--header-h) + 20px); }
}
body.ewa-day #payment, body.ewa-day .woocommerce #payment { background: transparent; }
body.ewa-day #payment ul.payment_methods {
  border: 1px solid var(--border); background: var(--surface-2);
  border-radius: var(--r); padding: 8px; list-style: none; margin: 0;
}
body.ewa-day #payment ul.payment_methods li {
  border-bottom: 1px solid var(--border); padding: 4px 0;
}
body.ewa-day #payment ul.payment_methods li:last-child { border-bottom: 0; }
body.ewa-day #payment ul.payment_methods li label { color: var(--text); font-weight: 500; }
body.ewa-day #payment div.payment_box {
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--r-sm); color: var(--muted); font-size: 13.5px;
}
body.ewa-day #payment div.payment_box::before { border-bottom-color: #fff !important; }
body.ewa-day .woocommerce #payment .place-order { border: 0; padding-top: 8px; }

/* --- Powiadomienia Woo --- */
/* Powiadomienie: hairline dookoła + akcent tylko jako pionowy pasek z lewej.
   Gruba ramka w kolorze marki krzyczała mocniej niż sam komunikat. */
body.ewa-day .woocommerce-message,
body.ewa-day .woocommerce-info,
body.ewa-day .woocommerce-error,
body.ewa-day .woocommerce-noreviews {
  background: #fff; color: var(--text); border: 1px solid var(--border);
  border-left: 3px solid var(--accent); border-radius: var(--r-sm);
  box-shadow: 0 12px 34px -26px rgba(36,31,25,.55);
}
body.ewa-day .woocommerce-error { border-left-color: #dc2626; }
/* Przycisk „Kontynuuj zakupy" domyślnie leci float:right i odkleja się od
   tekstu — flex trzyma go w jednej linii z komunikatem. */
body.ewa-day .woocommerce-message,
body.ewa-day .woocommerce-info {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px;
}
body.ewa-day .woocommerce-message .button,
body.ewa-day .woocommerce-info .button { float: none; margin: 0 0 0 auto; }
body.ewa-day .woocommerce-message::before,
body.ewa-day .woocommerce-info::before { color: var(--accent); }
body.ewa-day .woocommerce-error::before { color: #dc2626; }

/* --- Moje konto --- */
body.ewa-day .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.ewa-day .woocommerce-MyAccount-navigation li { margin: 0 0 4px; border: 0; }
body.ewa-day .woocommerce-MyAccount-navigation li a {
  display: block; padding: 11px 16px; border-radius: var(--r-sm);
  color: var(--muted); border: 1px solid transparent; font-weight: 500;
  transition: background-color 0.15s var(--ease), color 0.15s var(--ease);
}
body.ewa-day .woocommerce-MyAccount-navigation li a:hover {
  background: var(--surface); color: var(--text); border-color: var(--border-2);
}
body.ewa-day .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--surface); color: var(--text);
  border-color: var(--border-2); box-shadow: inset 3px 0 0 var(--accent);
}
body.ewa-day .woocommerce-MyAccount-content { color: var(--muted); }
body.ewa-day .woocommerce-MyAccount-content strong { color: var(--text); }

/* ==========================================================================
   21b · FunnelKit MINI-CART (FK Cart, #fkcart-modal) — NIGHT glass slide-over
   Slide-over wjeżdża nad KAŻDĄ stroną (też Night: główna, harmonogram), więc
   NIE dziedziczy tokenów body.ewa-day — ma własną, twardą paletę Night, spójną
   z headerem v5. Akcent #EF850B. Selektory = stabilny markup FK Cart; !important
   bo wtyczka wstrzykuje własny arkusz o wysokiej specyficzności.
   ========================================================================== */
#fkcart-modal {
  /* zmienne natywne FK Cart */
  --fkcart-primary-color: #ef850b;
  --fkcart-secondary-color: #f97316;
  --fkcart-primary-hover: #fba43a;
  --fkcart-primary-text-color: #ffffff;
  /* własna paleta Night (twarda — niezależna od body.ewa-day) */
  --fk-ink: #0d0d10;
  --fk-surface: #15151a;
  --fk-surface-2: #1b1b21;
  --fk-border: rgba(255, 255, 255, 0.08);
  --fk-border-2: rgba(255, 255, 255, 0.14);
  --fk-text: #fafafa;
  --fk-muted: rgba(250, 250, 250, 0.62);
  --fk-dim: rgba(250, 250, 250, 0.42);
}
/* scrim / tło (fallback — w aktualnej wersji FK Cart brak osobnego .fkcart-overlay) */
#fkcart-modal .fkcart-overlay {
  background: rgba(5, 5, 7, 0.66) !important; backdrop-filter: blur(2px);
}
/* panel / kontener slide-over (realne: .fkcart-modal-container + .fkcart-preview-ui) */
#fkcart-modal .fkcart-modal-container,
#fkcart-modal .fkcart-preview-ui,
#fkcart-modal .fkcart-quick-view-drawer {
  background: var(--fk-ink) !important; color: var(--fk-text) !important;
  font-family: var(--sans);
}
#fkcart-modal .fkcart-modal-container {
  border-left: 1px solid var(--fk-border) !important;
  box-shadow: -24px 0 60px -20px rgba(0, 0, 0, 0.6) !important;
}
/* .fkcart-panel = generyczna „karta" FK (nagłówek, item, order-summary) — nie nadpisujemy tła globalnie */
#fkcart-modal .fkcart-panel { background: transparent !important; }
/* header (realne: .fkcart-slider-header → .fkcart-slider-heading.fkcart-panel) */
#fkcart-modal .fkcart-slider-header,
#fkcart-modal .fkcart-drawer-header {
  background: var(--fk-ink) !important;
  border-bottom: 1px solid var(--fk-border) !important;
}
#fkcart-modal .fkcart-title,
#fkcart-modal .fkcart-drawer-header-heading {
  color: var(--fk-text) !important; font-weight: 600; letter-spacing: -0.01em;
}
#fkcart-modal .fkcart-modal-close,
#fkcart-modal .fkcart-quick-view-close {
  color: var(--fk-muted) !important; background: transparent !important;
  border: 1px solid var(--fk-border) !important; border-radius: var(--r-pill) !important;
  transition: color 0.15s var(--ease), border-color 0.15s var(--ease);
}
#fkcart-modal .fkcart-modal-close:hover,
#fkcart-modal .fkcart-quick-view-close:hover {
  color: var(--fk-text) !important; border-color: var(--fk-border-2) !important;
}
#fkcart-modal .fkcart-icon-close { color: currentColor !important; }
/* reward / pasek darmowej dostawy */
#fkcart-modal .fkcart-reward-product-wrap,
#fkcart-modal .fkcart-rewards,
#fkcart-modal .fkcart-reward-bar {
  background: var(--fk-surface) !important; color: var(--fk-muted) !important;
}
#fkcart-modal .fkcart-progress,
#fkcart-modal .fkcart-progress-wrap {
  background: rgba(255, 255, 255, 0.08) !important; border-radius: var(--r-pill) !important;
}
#fkcart-modal .fkcart-progress-bar,
#fkcart-modal .fkcart-progress > span {
  background: var(--grad) !important; border-radius: var(--r-pill) !important;
}
/* body + lista pozycji (realne: .fkcart-slider-body, .fkcart-item-wrap, .fkcart--item) */
#fkcart-modal .fkcart-slider-body { background: var(--fk-ink) !important; }
#fkcart-modal .fkcart-item-wrap,
#fkcart-modal .fkcart--item-parent { background: transparent !important; }
#fkcart-modal .fkcart--item {
  background: var(--fk-surface) !important;
  border: 1px solid var(--fk-border) !important;
  border-radius: 14px !important;
}
/* tytuł pozycji (realne: a.fkcart-item-title) */
#fkcart-modal .fkcart-item-title,
#fkcart-modal a.fkcart-item-title {
  color: var(--fk-text) !important; font-weight: 600; font-size: 14px;
}
#fkcart-modal a.fkcart-item-title:hover { color: #fba43a !important; }
#fkcart-modal .fkcart-item-meta-content,
#fkcart-modal .fkcart-item-variations,
#fkcart-modal .variation { color: var(--fk-dim) !important; font-size: 12px; }
/* cena pozycji */
#fkcart-modal .fkcart-item-price,
#fkcart-modal .fkcart-item-price .woocommerce-Price-amount,
#fkcart-modal .fkcart-item-price .amount {
  font-family: var(--mono) !important; color: var(--fk-text) !important;
}
/* miniatura (realne: a.fkcart-image-wrapper w .fkcart-thumb-wrap) */
#fkcart-modal .fkcart-image-wrapper,
#fkcart-modal .fkcart-thumb-wrap img {
  border: 1px solid var(--fk-border) !important; border-radius: var(--r-sm) !important; overflow: hidden;
}
/* stepper ilości (realne: .fkcart-quantity-selector + .fkcart-quantity-button + .fkcart-quantity__input) */
#fkcart-modal .fkcart-quantity-selector,
#fkcart-modal .fkcart-qty-wrap {
  background: var(--fk-surface-2) !important;
  border: 1px solid var(--fk-border) !important;
  border-radius: var(--r-pill) !important;
}
#fkcart-modal .fkcart-quantity__input {
  background: transparent !important; color: var(--fk-text) !important;
  font-family: var(--mono) !important; border: 0 !important;
}
#fkcart-modal .fkcart-quantity-button {
  color: var(--fk-muted) !important; background: transparent !important; border: 0 !important;
  transition: color 0.15s var(--ease);
}
#fkcart-modal .fkcart-quantity-button:hover { color: #fba43a !important; }
#fkcart-modal .fkcart-quantity-button .fkcart-icon { color: currentColor !important; }
/* usuń pozycję (realne: .fkcart-remove-item) */
#fkcart-modal .fkcart-remove-item,
#fkcart-modal a.fkcart-remove-item {
  color: var(--fk-dim) !important; background: transparent !important;
  transition: color 0.15s var(--ease);
}
#fkcart-modal .fkcart-remove-item:hover { color: #f87171 !important; }
/* pusty koszyk (realne: .fkcart-zero-state*) */
#fkcart-modal .fkcart-zero-state-title { color: var(--fk-text) !important; }
#fkcart-modal .fkcart-zero-state-text { color: var(--fk-muted) !important; }
#fkcart-modal .fkcart-icon-cart,
#fkcart-modal .fkcart-icon-cart svg { color: var(--fk-dim) !important; }
/* footer + totals (realne: .fkcart-slider-footer → .fkcart_summary_cta → .fkcart-order-summary) */
#fkcart-modal .fkcart-slider-footer {
  background: var(--fk-surface) !important;
  border-top: 1px solid var(--fk-border) !important;
}
#fkcart-modal .fkcart-order-summary { background: transparent !important; }
#fkcart-modal .fkcart-summary-text,
#fkcart-modal .fkcart-summary-text strong { color: var(--fk-text) !important; }
#fkcart-modal .fkcart-summary-amount,
#fkcart-modal .fkcart-summary-amount strong,
#fkcart-modal .fkcart-summary-amount .woocommerce-Price-amount {
  font-family: var(--mono) !important; color: #fba43a !important; font-size: 1.05rem;
}
/* przycisk checkout (realne: anchor bez klasy w .fkcart_summary_cta) */
#fkcart-modal .fkcart_summary_cta > a,
#fkcart-modal .fkcart_summary_cta a[href]:not(.fkcart-shopping-link),
#fkcart-modal a.fkcart-primary-button {
  background: var(--grad) !important; color: #fff !important; border: 0 !important;
  border-radius: var(--r-pill) !important; font-family: var(--sans) !important; font-weight: 600 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 28px -10px var(--glow) !important;
  transition: transform 0.2s var(--spring), box-shadow 0.2s var(--ease);
}
#fkcart-modal .fkcart_summary_cta > a:hover,
#fkcart-modal a.fkcart-primary-button:hover { transform: translateY(-1px); }
/* link drugorzędny „Wróć do…" (realne: a.fkcart-shopping-link, ma też .fkcart-modal-close) */
#fkcart-modal a.fkcart-shopping-link,
#fkcart-modal .fkcart-shopping-link.fkcart-modal-close {
  background: transparent !important; color: var(--fk-muted) !important;
  border: 0 !important; border-radius: 0 !important; font-weight: 500 !important;
  transition: color 0.15s var(--ease);
}
#fkcart-modal a.fkcart-shopping-link:hover { color: #fba43a !important; }
#fkcart-modal .fkcart-shop-button { border-radius: var(--r-pill) !important; }
/* kupon w mini-cart (jeśli włączony) */
#fkcart-modal .fkcart-coupon input,
#fkcart-modal .fkcart-coupon-field input {
  background: var(--fk-surface-2) !important; color: var(--fk-text) !important;
  border: 1px solid var(--fk-border) !important; border-radius: var(--r-sm) !important;
}
#fkcart-modal .fkcart-coupon input::placeholder { color: var(--fk-dim) !important; }

/* ==========================================================================
   21c · FunnelKit CHECKOUT (WooFunnels Advanced Checkout) — DAY krem
   Scope: body.ewa-day (functions.php: is_checkout() → klasa dodana).
   Selektory ZWALIDOWANE na realnym DOM produkcji (WFACP + Elementor, layout 9,
   2026-06). Konwencja realnych klas: wfacp_snake_case. #place_order to
   standardowy przycisk Woo (domknięty też regułami sekcji 21). Brak floating
   labels w tym szablonie — etykiety standardowe nad polem.
   ========================================================================== */
/* powierzchnie / kontenery */
body.ewa-day .wfacp_global_checkout_wrap,
body.ewa-day .wfacp_internal_form_wrap,
body.ewa-day .wfacp-left-panel,
body.ewa-day .wfacp-inside,
body.ewa-day .wfacp_main_form,
body.ewa-day .wfacp-form { background: transparent !important; color: var(--text); }

/* sekcje formularza → karty na kremie (realne: .wfacp-section, .wfacp-comm-form-detail) */
body.ewa-day .wfacp-section,
body.ewa-day .wfacp-comm-form-detail {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  padding: 24px !important;
  box-shadow: var(--shadow);
}
body.ewa-day .wfacp-section + .wfacp-section { margin-top: 18px; }

/* nagłówki sekcji (realne: .wfacp-section-title, .wfacp_section_title/_heading, .wfacp-comm-title, .wfacp-order2StepTitle) */
body.ewa-day .wfacp-section-title,
body.ewa-day .wfacp_section_title,
body.ewa-day .wfacp_section_heading,
body.ewa-day .wfacp-comm-title,
body.ewa-day .wfacp-order2StepTitle,
body.ewa-day .wfacp-form h2,
body.ewa-day .wfacp-form h3 {
  color: var(--text) !important; font-family: var(--sans);
  font-weight: 600; letter-spacing: -0.01em;
}
body.ewa-day .wfacp-order2StepSubTitle { color: var(--muted) !important; }

/* kroki (nav: payment-tab; w tym szablonie single-step) */
body.ewa-day .wfacp_form_steps,
body.ewa-day .wfacp-payment-tab-wrapper { background: transparent !important; }
body.ewa-day .wfacp-payment-tab-list { color: var(--dim) !important; }
body.ewa-day .wfacp-payment-tab-list.wfacp-active { color: var(--accent-2) !important; font-weight: 600; }
body.ewa-day .wfacp-order2StepNumber {
  background: var(--surface-3) !important; color: var(--muted) !important;
  border: 1px solid var(--border-2) !important;
}
body.ewa-day .wfacp-payment-tab-list.wfacp-active .wfacp-order2StepNumber {
  background: var(--grad) !important; color: #fff !important; border: 0 !important;
}

/* pola / inputy WFACP (realne: .wfacp-form-control, input.input-text) */
body.ewa-day .wfacp-form .wfacp-form-control,
body.ewa-day .wfacp-form input.input-text,
body.ewa-day .wfacp-form input[type="text"],
body.ewa-day .wfacp-form input[type="email"],
body.ewa-day .wfacp-form input[type="tel"],
body.ewa-day .wfacp-form input[type="password"],
body.ewa-day .wfacp-form textarea,
body.ewa-day .wfacp-form select,
body.ewa-day .wfacp-form .select2-container--default .select2-selection--single {
  background: #fff !important; color: var(--text) !important;
  border: 1px solid var(--border-2) !important; border-radius: var(--r-sm) !important;
  padding: 12px 14px !important; font-family: var(--sans) !important;
  font-size: 15px !important; line-height: 1.4 !important; box-shadow: none !important;
  transition: border-color 0.15s var(--ease), box-shadow 0.15s var(--ease);
}
body.ewa-day .wfacp-form .wfacp-form-control:focus,
body.ewa-day .wfacp-form input.input-text:focus,
body.ewa-day .wfacp-form textarea:focus,
body.ewa-day .wfacp-form select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important; outline: none !important;
}
body.ewa-day .wfacp-form .wfacp-form-control::placeholder { color: var(--dim) !important; }
body.ewa-day .wfacp-form select {
  appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%),
                    linear-gradient(135deg, var(--muted) 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50% !important;
  background-size: 5px 5px, 5px 5px !important; background-repeat: no-repeat !important;
  padding-right: 36px !important;
}

/* etykiety (realne: .wfacp-form-control-label, nad polem — brak floating labels) */
body.ewa-day .wfacp-form label,
body.ewa-day .wfacp-form-control-label { color: var(--text) !important; font-weight: 500; }
body.ewa-day .wfacp-form .required,
body.ewa-day .wfacp-form abbr.required { color: var(--accent-deep) !important; border: 0; }
body.ewa-day .wfacp_inline_error { color: #dc2626 !important; }
body.ewa-day .wfacp-form .woocommerce-invalid input.input-text { border-color: #dc2626 !important; }

/* podsumowanie zamówienia (realne: .wfacp_order_sec, .wfacp-oder-detail, .wfacp_min_cart_widget, .wfacp_collapsible_order_summary_wrap) */
body.ewa-day .wfacp_order_sec,
body.ewa-day .wfacp-oder-detail,
body.ewa-day .wfacp_min_cart_widget,
body.ewa-day .wfacp_collapsible_order_summary_wrap {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important; border-radius: var(--r-lg) !important;
}
body.ewa-day .wfacp-order-summary-label,
body.ewa-day .wfacp_cart_title_sec { color: var(--text) !important; font-weight: 600; }
@media (min-width: 992px) {
  body.ewa-day .wfacp_order_sec { position: sticky; top: calc(var(--header-h) + 20px); }
}
/* tabela pozycji (realne: table.wfacp_order_sum / .wfacp_mini_cart_items, ma też .shop_table) */
body.ewa-day table.wfacp_order_sum,
body.ewa-day .wfacp_mini_cart_items {
  background: transparent !important; border: 0 !important;
}
body.ewa-day .wfacp_mini_cart_items tr,
body.ewa-day .wfacp_mini_cart_items .wfacp_product_row {
  border-bottom: 1px solid var(--border) !important;
}
body.ewa-day .wfacp_mini_cart_item_title,
body.ewa-day .wfacp_order_summary_item_name { color: var(--text) !important; font-weight: 600; }
body.ewa-day table.wfacp_order_sum .woocommerce-Price-amount,
body.ewa-day table.wfacp_order_sum .amount,
body.ewa-day .wfacp_template_9_cart_total_details .amount {
  font-family: var(--mono) !important; color: var(--text) !important;
}
body.ewa-day table.wfacp_order_sum tr.order-total .amount,
body.ewa-day .wfacp_template_9_cart_total_details .order-total .amount {
  color: var(--accent-2) !important; font-size: 1.12rem;
}

/* kupon (realne: .wfacp_order_coupon_box, .wfacp_active_coupon; pole std #coupon_code) */
body.ewa-day .wfacp_order_coupon_box,
body.ewa-day .wfacp_active_coupon {
  background: var(--surface-2) !important; border: 1px solid var(--border) !important;
  border-radius: var(--r-sm) !important;
}
body.ewa-day .wfacp_order_coupon_box input,
body.ewa-day #coupon_code {
  background: #fff !important; border: 1px solid var(--border-2) !important;
  color: var(--text) !important; border-radius: var(--r-sm) !important;
}
body.ewa-day .wfacp_order_coupon_box button,
body.ewa-day button[name="apply_coupon"] {
  background: #fff !important; color: var(--text) !important;
  border: 1px solid var(--border-2) !important; border-radius: var(--r-pill) !important;
  box-shadow: none !important;
}
body.ewa-day .wfacp_order_coupon_box button:hover,
body.ewa-day button[name="apply_coupon"]:hover {
  border-color: var(--accent) !important; color: var(--accent-2) !important;
}

/* order bump / product switcher (realne: .wfacp-product-switch-panel, .wfacp_pro_switch; klasyczny bump: .wfacp-order-bump) */
body.ewa-day .wfacp-product-switch-panel,
body.ewa-day .wfacp_pro_switch,
body.ewa-day .wfacp-order-bump {
  background: var(--accent-soft) !important;
  border: 1.5px dashed var(--accent) !important; border-radius: var(--r) !important;
}
body.ewa-day .wfacp_product_switcher_title,
body.ewa-day .wfacp-product-switch-title { color: var(--text) !important; font-weight: 600; }
body.ewa-day .wfacp_product_switcher_description { color: var(--muted) !important; }
body.ewa-day .wfacp_product_price_container .amount,
body.ewa-day .wfacp_product_price_sec .amount { font-family: var(--mono) !important; color: var(--accent-2) !important; }

/* płatność (realne: .wfacp_payment; domyka się o #payment z sekcji 21) */
body.ewa-day .wfacp_payment { background: transparent !important; }
body.ewa-day .wfacp_payment ul.payment_methods {
  border: 1px solid var(--border) !important; background: var(--surface-2) !important;
  border-radius: var(--r) !important;
}
body.ewa-day .wfacp_payment label { color: var(--text) !important; }

/* notyfikacje / błędy WFACP */
body.ewa-day .wfacp-form .woocommerce-error,
body.ewa-day .wfacp-form .woocommerce-message,
body.ewa-day .wfacp-form .woocommerce-info {
  background: #fff !important; color: var(--text) !important;
  border: 1px solid var(--border) !important; border-top: 3px solid var(--accent) !important;
  border-radius: var(--r-sm) !important;
}
body.ewa-day .wfacp-form .woocommerce-error { border-top-color: #dc2626 !important; }

/* przycisk „Złóż zamówienie" (realne: button#place_order w .wfacp-order-place-btn-wrap) */
body.ewa-day .wfacp-order-place-btn-wrap button,
body.ewa-day #place_order {
  background: var(--grad) !important; color: #fff !important; border: 0 !important;
  border-radius: var(--r-pill) !important; font-family: var(--sans) !important;
  font-weight: 600 !important; font-size: 15px !important; padding: 15px 28px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 28px -10px var(--glow) !important;
  transition: transform 0.2s var(--spring), box-shadow 0.2s var(--ease);
}
body.ewa-day .wfacp-order-place-btn-wrap button:hover,
body.ewa-day #place_order:hover { transform: translateY(-1px); }

/* ==========================================================================
   22 · PREMIUM v2.0 — "SaaS dark tech + oriental"
   Warstwa nadpisująca (kaskada) komponenty strony głównej (Night):
   złoto = ornament / pomarańcz = akcja, aurora mesh, grain, mandala,
   dividery lotosowe, duotone, glossy buttony + sheen, animowana obwódka.
   Reveal pozostaje na .reveal/.is-in (sekcja 15). Day mode (21) nietknięty.
   ========================================================================== */
:root{
  /* ciepły, turbo-ciemny brąz zamiast czystej czerni */
  --ink:#0a0806; --bg-1:#0f0b08; --bg-2:#140e0a;
  --surface:#17120e; --surface-2:#1f1812;
  --text:#f6f3ee; --muted:rgba(246,243,238,.62); --dim:rgba(246,243,238,.40);
  --glow:rgba(239,133,11,.38); --accent-soft:rgba(239,133,11,.12);
  --gold:#d9b15a; --gold-2:#f1d79a; --gold-soft:rgba(217,177,90,.13); --gold-line:rgba(217,177,90,.30);
  --grad:linear-gradient(135deg,#fba43a 0%,#ef850b 45%,#f97316 100%);
  --hair:rgba(255,255,255,.08); --hair-2:rgba(255,255,255,.14);
  --glass:rgba(20,16,12,.5); --glass-2:rgba(26,20,15,.62);
  --r-xl:28px;
  --serif:var(--sans); /* zero serif — alias bezpieczeństwa na Manrope */
  --shadow-card:0 24px 60px -28px rgba(0,0,0,.9);
  --shadow-pop:0 40px 100px -30px rgba(0,0,0,.95);
}
/* GŁĘBIA: warstwowe ciepło-brązowe tło zamiast płaskiej czerni */
body{background:
  radial-gradient(130% 82% at 50% -12%, #26190d 0%, rgba(38,25,13,0) 56%),
  radial-gradient(96% 64% at 100% 104%, #1d1209 0%, rgba(29,18,9,0) 60%),
  radial-gradient(88% 58% at 0% 34%, #18100a 0%, rgba(24,16,10,0) 56%),
  radial-gradient(60% 44% at 88% 90%, rgba(239,133,11,.07) 0%, transparent 60%),
  var(--ink);
  background-attachment:fixed;font-feature-settings:"ss01","cv11";}
/* aurora zastępuje pojedynczy ambient glow — bez podwajania poświaty */
body::before{display:none;}
/* GŁĘBIA: globalna vignetta przyciemnia krawędzie viewportu (pod #page z-3) */
body::after{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 0 260px 50px rgba(0,0,0,.5),inset 0 0 90px rgba(0,0,0,.3);}

/* ── AURORA mesh + grain + mandala watermark (depth) ─────── */
.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.aurora::before{content:"";position:absolute;inset:-30%;background:
  radial-gradient(40% 34% at 80% 6%, rgba(217,177,90,.22), transparent 62%),
  radial-gradient(32% 30% at 10% 16%, rgba(239,133,11,.15), transparent 60%),
  radial-gradient(54% 42% at 50% 114%, rgba(234,88,12,.13), transparent 62%),
  radial-gradient(28% 24% at 92% 76%, rgba(217,177,90,.10), transparent 60%);
  animation:ewa-drift 30s ease-in-out infinite alternate;}
@keyframes ewa-drift{0%{transform:translate3d(0,0,0) scale(1);}100%{transform:translate3d(-2%,2%,0) scale(1.06);}}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.mandala-bg{position:fixed;z-index:0;pointer-events:none;opacity:.045;filter:invert(78%) sepia(40%) saturate(560%) hue-rotate(2deg);}
.mandala-bg--tr{top:-160px;right:-200px;width:620px;transform:rotate(8deg);}
.mandala-bg--bl{bottom:-220px;left:-240px;width:680px;transform:rotate(-12deg);}
#page{position:relative;z-index:3;}

/* ── GŁĘBIA: naprzemienne poświaty per sekcja + rytm ──────── */
.site-main .section{position:relative;}
.site-main .section::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(58% 46% at 18% 0%,rgba(217,177,90,.06),transparent 68%);}
.site-main .section:nth-of-type(even)::before{background:radial-gradient(58% 46% at 82% 0%,rgba(239,133,11,.06),transparent 68%);}
.site-main .section>.wrap{position:relative;z-index:1;}
.section--alt{background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.15) 60%,transparent);}

/* ── Typografia / utilsy ──────────────────────────────────── */
.eyebrow{color:var(--gold);}
.eyebrow::before{background:linear-gradient(90deg,transparent,var(--gold));width:26px;}
.grad-text{background:linear-gradient(108deg,#fff 20%,var(--accent-2) 70%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.section__head h2{font-weight:800;letter-spacing:-.025em;line-height:1.04;}
.section__head h2 em{font-style:normal;font-weight:800;letter-spacing:-.02em;color:var(--gold-2);}

/* ── Oriental divider (lotos) ─────────────────────────────── */
.divider{display:flex;align-items:center;justify-content:center;gap:18px;padding:6px 0;opacity:.9;margin:0 0 38px;}
.divider::before,.divider::after{content:"";height:1px;width:min(160px,22vw);background:linear-gradient(90deg,transparent,var(--gold-line));}
.divider::after{background:linear-gradient(90deg,var(--gold-line),transparent);}
.divider svg{width:26px;height:26px;color:var(--gold);opacity:.9;}

/* ── Buttony (glossy + glow + sheen) ──────────────────────── */
.btn{position:relative;overflow:hidden;border:1px solid transparent;border-radius:var(--r-pill);}
.btn svg{width:14px;height:14px;}
.btn--lg svg{width:15px;height:15px;}
.btn--primary{background:var(--grad);color:#241402;box-shadow:0 12px 34px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.45);}
.btn--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 45%);pointer-events:none;}
.btn--primary::before{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;z-index:2;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .6s var(--ease);pointer-events:none;}
.btn--primary:hover::before{left:140%;}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 46px -12px var(--glow),inset 0 1px 0 rgba(255,255,255,.5);}
.btn--glass{background:var(--glass);border-color:var(--hair-2);color:var(--text);backdrop-filter:blur(14px);}
.btn--glass:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft);}
.btn--ghost{background:transparent;border-color:var(--hair-2);color:var(--muted);}

/* ── USP — ikony złote (ornament) ─────────────────────────── */
.usp__ico{background:var(--gold-soft);color:var(--gold);border:1px solid var(--gold-line);}

/* ── HERO — pełnoekranowe wideo (premium akcenty) ─────────── */
.hero__bgvideo{filter:saturate(106%) contrast(108%) brightness(.8);}
.metachip{background:var(--glass);border-color:var(--hair);backdrop-filter:blur(10px);}
.metachip .stars{color:var(--gold);}

/* ── SZKOLENIA v1.10 — zdjęcie flush u góry + zwarty body ──── */
.tcard{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;border-radius:var(--r-lg);overflow:hidden;
  background:var(--glass);border:1px solid var(--hair);box-shadow:var(--shadow-card);backdrop-filter:blur(14px);
  padding:0;isolation:isolate;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);}
.tcard::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;padding:1px;background:linear-gradient(155deg,rgba(255,255,255,.14),transparent 32%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.tcard:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:var(--shadow-pop);}
/* zdjęcie kursu — flush u góry, stały kadr, edytorialny duotone */
.tcard__media{position:relative;z-index:1;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#1a1614,#100d0c);}
.tcard__media img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block;filter:grayscale(.14) brightness(.97) contrast(1.04) saturate(1.05);transition:transform .6s var(--ease),filter .55s var(--ease);}
.tcard:hover .tcard__media img{filter:grayscale(0) brightness(1.03) contrast(1.02) saturate(1.08);transform:scale(1.05);}
.tcard__media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(233,196,134,.08),rgba(10,9,12,0) 38%,rgba(7,7,8,.78));}
/* siatka kafli — równe wysokości; treść zbalansowana, CTA wyrównane stopką */
.grid--tcards{align-items:stretch;}
/* poziom — overline na zdjęciu, dół-lewo */
.tcard__overline{position:absolute;z-index:2;left:24px;bottom:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);text-shadow:0 1px 8px rgba(0,0,0,.7);}
/* hairline złoty pod zdjęciem — rośnie na hover (mikro-interakcja) */
.tcard__media::after{content:"";position:absolute;left:0;bottom:0;z-index:3;height:2px;width:0;background:linear-gradient(90deg,var(--gold),transparent);transition:width .6s var(--ease);}
.tcard:hover .tcard__media::after{width:100%;}
/* body — zwarty padding */
.tcard__body{position:relative;z-index:2;display:flex;flex-direction:column;flex:1;padding:28px 30px 28px;}
.tcard__body>*{position:relative;z-index:2;}
/* znak mandali przy tytule — sygnatura + delikatny obrót na hover */
.tcard__mark{display:inline-flex;width:20px;height:20px;vertical-align:-3px;margin-right:10px;color:var(--gold);opacity:.9;transition:transform .6s var(--ease);}
.tcard__mark svg{width:100%;height:100%;}
.tcard:hover .tcard__mark{transform:rotate(45deg);}
/* tytuł — kremowy, uppercase, czytelny (pomarańcz wyłącznie na CTA) */
.tcard__title{position:static;font-size:clamp(19px,2vw,23px);font-weight:800;line-height:1.18;letter-spacing:-.012em;text-transform:uppercase;color:var(--text);text-shadow:none;margin-bottom:13px;}
.tcard__title b{color:var(--gold-2);font-weight:800;}
.tcard__desc{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:22px;}
/* lista */
.tcard__rule{height:1px;background:var(--hair);margin-bottom:22px;}
.tcard__listlabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;}
.tcard__list{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:12px;}
.tcard__list li{display:flex;align-items:flex-start;gap:13px;font-size:14.5px;color:var(--text);line-height:1.45;}
.tcard__list svg{flex:0 0 auto;width:15px;height:15px;color:var(--accent);margin-top:3px;}
/* stopka CTA — minimal */
.tcard__foot{margin-top:auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.tcard .btn--sm svg{width:14px;height:14px;transition:transform .3s var(--ease);}
.tcard .btn--primary:hover svg{transform:translateX(3px);}
.btn--text{position:relative;overflow:hidden;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--muted);padding:6px 0;text-decoration:none;transition:color .3s var(--ease);}
.btn--text::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease);}
.btn--text:hover{color:var(--gold-2);}
.btn--text:hover::after{width:100%;}
/* badge / overline narożny */
.tcard__tag{position:absolute;top:0;left:0;z-index:6;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:6px 16px 6px 44px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);}
.tcard__tag--new{color:var(--gold-2);background:rgba(7,7,10,.5);border-bottom:1px solid var(--gold-line);border-right:1px solid var(--gold-line);backdrop-filter:blur(8px);}
/* FEATURED — zdyscyplinowana złota ramka (bez tęczy) */
.tcard--feat{border-color:var(--gold-line);background:linear-gradient(180deg,rgba(217,177,90,.05),var(--glass) 40%);}
.tcard--feat::after{content:"";position:absolute;inset:0;z-index:6;border-radius:inherit;padding:1px;background:linear-gradient(150deg,var(--gold-2),var(--gold-line) 30%,transparent 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.85;}
.tcard--feat:hover{border-color:var(--gold);}

/* ── TERMINY (ccard) — featured animowana obwódka złota ───── */
.ccard{background:var(--glass);border:1px solid var(--hair);box-shadow:var(--shadow-card);backdrop-filter:blur(10px);}
.ccard::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;padding:1px;background:linear-gradient(160deg,rgba(255,255,255,.16),transparent 36%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.ccard:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:var(--shadow-pop);}
.ccard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,10,.1),rgba(7,7,10,.74));}
.ccard__tag{background:var(--glass-2);border:1px solid var(--hair-2);backdrop-filter:blur(12px);}
.ccard__facts svg{color:var(--gold);}
.badge--hot{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#241402;background:var(--grad);border-radius:var(--r-pill);padding:6px 12px;box-shadow:0 8px 20px -8px var(--glow);}
/* featured termin — ta sama zdyscyplinowana złota ramka co kafle kursów (bez tęczy) */
.ccard--feat{border-color:var(--gold-line)!important;background:linear-gradient(180deg,rgba(217,177,90,.05),var(--glass) 42%);box-shadow:var(--shadow-card);}
.ccard--feat::after{content:"";position:absolute;inset:0;z-index:6;border-radius:inherit;padding:1px;
  background:linear-gradient(150deg,var(--gold-2),var(--gold-line) 30%,transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.85;}
.ccard--feat:hover{border-color:var(--gold)!important;}

/* ── ZAUFALI MI (gwiazdy) — play affordance + duotone ─────── */
.star{position:relative;border:1px solid var(--hair);box-shadow:var(--shadow-card);background:var(--surface);}
.star::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;padding:1px;background:linear-gradient(160deg,rgba(255,255,255,.16),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.star:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:var(--shadow-pop);}
.star__play{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--glass-2);border:1px solid var(--hair-2);backdrop-filter:blur(12px);}
.star__play svg{width:15px;height:15px;color:var(--text);}
.star__name span{color:var(--gold-2);font-family:var(--mono);letter-spacing:.05em;}
.media-logos span{font-family:var(--mono);color:var(--dim);}

/* ── ZAUFALI MI — wideo gwiazd (mov→mp4) ──────────────────── */
.star__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
/* mocniejszy dolny gradient — zakrywa wpalone podpisy IG, czyta podpis nazwiska */
.star::after{background:linear-gradient(180deg,rgba(10,9,12,0) 32%,rgba(10,9,12,.5) 62%,rgba(8,7,9,.95) 100%)!important;}

/* ── DUOTONE — ujednolicony edytorialny ciepły grade ──────── */
.ccard__media img,.star img,.star__media{
  filter:grayscale(.16) brightness(.95) contrast(1.04) saturate(1.05);
  transition:transform .6s var(--ease),filter .55s var(--ease);}
.ccard__media::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(233,196,134,.10),rgba(10,9,12,0) 38%,rgba(7,7,8,.52));}
.ccard:hover .ccard__media img,.star:hover img,.star:hover .star__media{
  filter:grayscale(0) brightness(1.02) contrast(1.02) saturate(1.07);transform:scale(1.04);}

/* ── OPINIE — glass + złoty cudzysłów ─────────────────────── */
.review{position:relative;overflow:hidden;background:var(--glass);border:1px solid var(--hair);backdrop-filter:blur(10px);box-shadow:var(--shadow-card);padding:32px 30px;}
.review::before{content:"\201C";position:absolute;top:2px;right:22px;font-family:var(--sans);font-weight:800;font-size:80px;line-height:1;color:var(--gold);opacity:.12;pointer-events:none;}
.review>*{position:relative;}
.review__stars{color:var(--gold);}
.review__text{color:var(--text);opacity:.9;}
.review__who{border-top-color:var(--hair);padding-top:18px;}
.review__av{background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold-2);}

/* ── CAMPY ────────────────────────────────────────────────── */
.camp{border:1px solid var(--hair-2);box-shadow:var(--shadow-pop);background:var(--glass);backdrop-filter:blur(10px);}
.camp__body h2 em{font-style:normal;font-weight:800;letter-spacing:-.02em;color:var(--gold-2);}

/* ── NEWSLETTER — glass + glow + mandala ──────────────────── */
.newsletter::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:480px;height:300px;background:radial-gradient(circle,var(--glow),transparent 64%);pointer-events:none;z-index:0;opacity:.6;}
.newsletter>*{position:relative;z-index:1;}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft);}

/* ── OFERTA MASAŻY (autorskie) — karty z tagami ───────────── */
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:900px){.mgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.mgrid{grid-template-columns:1fr;}}
.mcard{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--hair);box-shadow:var(--shadow-card);backdrop-filter:blur(12px);padding:30px 26px;transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);}
.mcard::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;padding:1px;background:linear-gradient(155deg,rgba(255,255,255,.14),transparent 32%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.mcard:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:var(--shadow-pop);}
.mcard__name{font-size:18px;font-weight:800;letter-spacing:-.01em;text-transform:uppercase;color:var(--accent-2);margin-bottom:14px;line-height:1.16;}
.mcard__tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;padding:0;}
.mcard__tags li{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-2);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r-pill);padding:4px 10px;}
.mcard__desc{color:var(--muted);font-size:14px;line-height:1.6;margin-top:auto;}

/* ── KONSULTACJE INDYWIDUALNE ─────────────────────────────── */
.consult{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--glass);border:1px solid var(--hair-2);box-shadow:var(--shadow-pop);backdrop-filter:blur(14px);padding:46px 44px;}
.consult::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;padding:1px;background:linear-gradient(155deg,rgba(255,255,255,.14),transparent 30%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.consult>*{position:relative;z-index:1;}
.consult__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
@media(max-width:820px){.consult{padding:34px 26px;}.consult__grid{grid-template-columns:1fr;gap:28px;}}
.consult__body h2{font-weight:800;letter-spacing:-.025em;line-height:1.06;margin:12px 0 14px;}
.consult__body h2 em{font-style:normal;font-weight:800;letter-spacing:-.02em;color:var(--gold-2);}
.consult__panel{position:relative;border-radius:var(--r-lg);background:rgba(7,7,10,.4);border:1px solid var(--hair);padding:26px 24px;}
.consult__label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;}
.consult__list{list-style:none;display:flex;flex-direction:column;gap:12px;margin:0;padding:0;}
.consult__list li{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--text);line-height:1.45;}
.consult__list svg{flex:0 0 auto;width:16px;height:16px;color:var(--accent);margin-top:2px;}

/* ==========================================================================
   23 · PODSTRONY (page-*.php) — O mnie, Kontakt
   ========================================================================== */
.pagehero{position:relative;overflow:hidden;padding:clamp(120px,16vh,180px) 0 clamp(40px,6vw,72px);}
.pagehero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 60% at 80% -10%,var(--gold-soft),transparent 62%),radial-gradient(50% 50% at 0% 110%,var(--accent-soft),transparent 60%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 100%);}
.pagehero__inner{position:relative;z-index:3;max-width:760px;}
.pagehero h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:.98;margin:0 0 18px;}
.pagehero__lead{font-size:clamp(1.05rem,1.7vw,1.28rem);color:rgba(246,243,238,.82);max-width:620px;}

/* O mnie — intro: bio + wideo */
.about__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:center;}
@media(max-width:900px){.about__grid{grid-template-columns:1fr;}}
.about__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.about__list li{display:flex;align-items:flex-start;gap:14px;font-size:15.5px;line-height:1.5;color:rgba(246,243,238,.88);}
.about__list svg{flex:0 0 auto;width:20px;height:20px;color:var(--gold);margin-top:2px;}
.about__media{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hair-2);box-shadow:var(--shadow-pop);aspect-ratio:4/5;background:var(--surface);}
.about__media video,.about__media img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;}
.about__media::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1px;background:linear-gradient(180deg,var(--gold-line),transparent 32%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}

/* Media o mnie — karty wideo */
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:780px){.media-grid{grid-template-columns:1fr;}}
.mediacard{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hair);background:var(--glass);box-shadow:var(--shadow-card);}
.mediacard__media{position:relative;aspect-ratio:16/10;background:#000;overflow:hidden;}
.mediacard__media video{width:100%;height:100%;object-fit:cover;display:block;}
.mediacard__media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,9,12,.1),rgba(8,7,9,.46));transition:opacity .3s var(--ease);}
.mediacard__media.is-playing::after{opacity:0;}
.mediacard__media .vplay{z-index:3;}
.mediacard__cap{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;color:var(--muted);}
.mediacard__cap b{color:var(--text);font-weight:700;}
.mediacard__cap svg{width:16px;height:16px;color:var(--gold);flex:none;}
/* Film z campu — pojedynczy, wyśrodkowany player (kinowy 16/9) */
.camp-film{max-width:940px;margin-inline:auto;}
.camp-film .mediacard__media{aspect-ratio:16/9;}
.camp-film .mediacard__media video{object-position:center 30%;}

/* ── O mnie — hero split (tekst + wideo) · Paczka 10 ─────────── */
.pagehero--split{padding:clamp(92px,12vh,140px) 0 clamp(36px,5vw,64px);}
.pagehero__grid{position:relative;z-index:3;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(28px,5vw,60px);align-items:center;}
.pagehero--split .pagehero__inner{max-width:none;}
.pagehero__cta{margin-top:clamp(22px,3vw,30px);display:flex;flex-wrap:wrap;gap:14px;}
.pagehero__media{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hair-2);box-shadow:var(--shadow-pop);aspect-ratio:4/5;background:#0b0a0c;}
.pagehero__media video{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.pagehero__media::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1px;background:linear-gradient(180deg,var(--gold-line),transparent 34%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.pagehero__media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,9,12,0) 56%,rgba(8,7,9,.5));}
.pagehero__media .vplay{z-index:4;}
@media(max-width:880px){
  .pagehero__grid{grid-template-columns:1fr;gap:clamp(22px,5vw,34px);}
  .pagehero__media{max-width:480px;aspect-ratio:16/11;}
}
/* O mnie — bio bez wideo: head+lead | lista (editorial) */
.about__grid--text{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(28px,5vw,64px);}
@media(max-width:900px){.about__grid--text{grid-template-columns:1fr;}}
/* O mnie — credentials: 4 kolumny.
   CASCADE-GUARD: `.accentbar.accentbar--4` (0,2,0) wygrywa nad bazową `.accentbar` (0,1,0, ~l.2695)
   niezależnie od kolejności w pliku → wariant ZAWSZE dostaje 4 kolumny (koniec sieroty „Mgr"). */
.accentbar.accentbar--4{grid-template-columns:repeat(4,1fr);align-items:start;}
/* spójność statów: słowa (Patent/Mistrzyni/Mgr) i liczba (8) ten sam, mniejszy rytm —
   „Mistrzyni" nie łamie się brzydko, liczba i słowo wyglądają jak jedna rodzina; pełna biel labeli. */
.accentbar--4 .accentbar__num{font-size:clamp(1.65rem,2.9vw,2.3rem);letter-spacing:-.02em;white-space:nowrap;}
.accentbar--4 .accentbar__lbl{color:#fff;font-weight:500;}
@media(max-width:980px) and (min-width:761px){
  .accentbar.accentbar--4{grid-template-columns:repeat(2,1fr);gap:28px 36px;}
  .accentbar.accentbar--4 .accentbar__stat:nth-child(odd){border-left:0;padding-left:0;}
}
@media(max-width:760px){.accentbar.accentbar--4{grid-template-columns:1fr;}}

/* CTA telefon (Pytania? Zadzwoń) — premium band 2-kolumnowy (Paczka 9) */
.callout{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4.6vw,60px);align-items:center;
  border-radius:var(--r-xl);border:1px solid var(--border-2);box-shadow:var(--shadow-pop);
  padding:clamp(30px,4.4vw,56px) clamp(26px,4vw,58px);
  background:radial-gradient(130% 150% at 0% 0%,rgba(44,28,14,.92),transparent 56%),linear-gradient(135deg,#16100a,#0b0806);}
.callout::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(120deg,var(--gold-line),transparent 44%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.callout__aura{position:absolute;right:-90px;top:-110px;width:380px;height:380px;z-index:0;pointer-events:none;
  background:radial-gradient(circle,var(--glow),transparent 64%);opacity:.55;}
.callout__copy,.callout__action{position:relative;z-index:1;}
.callout .eyebrow{margin:0 0 14px;}
.callout__title{font-size:clamp(1.65rem,3.1vw,2.45rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:0 0 12px;text-wrap:balance;}
.callout__sub{color:var(--muted);font-size:15.5px;line-height:1.6;max-width:46ch;margin:0;}
.callout__action{display:flex;flex-direction:column;align-items:flex-start;gap:15px;}
.callout__btn{font-size:16px;padding:15px 30px;}
.callout__btn svg{width:18px;height:18px;}
.callout__phone{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.01em;color:var(--gold-2);transition:color .2s var(--ease);}
.callout__phone:hover{color:var(--gold);}
.callout__who{margin:0;font-size:13px;line-height:1.5;color:var(--dim);max-width:34ch;}
.callout__btn:focus-visible,.callout__phone:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px;}
@media(max-width:820px){
  .callout{grid-template-columns:1fr;gap:24px;}
  .callout__action{align-items:stretch;}
  .callout__btn{justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .callout__btn,.callout__phone{transition:none;}
}

/* Kontakt — karty */
.contact__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:760px){.contact__grid{grid-template-columns:1fr;}}
.contact__card{display:flex;flex-direction:column;gap:7px;padding:26px 24px;border-radius:var(--r-lg);border:1px solid var(--hair);background:var(--glass);box-shadow:var(--shadow-card);transition:transform .3s var(--ease),border-color .3s;}
.contact__card:hover{transform:translateY(-5px);border-color:var(--gold-line);}
.contact__ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);margin-bottom:6px;}
.contact__ico svg{width:22px;height:22px;}
.contact__label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);}
.contact__val{font-size:17px;font-weight:700;color:var(--text);word-break:break-word;}
/* Paczka 11 — /kontakt/ premium: hero chips, karty z mikro-opisem, orange studio band */
.pagehero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(20px,3vw,28px);}
.pagehero__chips .chip{display:inline-flex;align-items:center;gap:8px;background:var(--glass);border-color:var(--hair);color:rgba(246,243,238,.84);}
.pagehero__chips .chip svg{width:15px;height:15px;color:var(--gold);flex:none;}
.contact__card{padding:30px 28px 26px;gap:9px;position:relative;}
.contact__card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);background:linear-gradient(140deg,var(--gold-line),transparent 46%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.contact__card:hover::after{opacity:1;}
.contact__note{font-size:13.5px;line-height:1.55;color:var(--muted);margin-top:4px;}
.contact__go{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);padding-top:16px;transition:color .25s var(--ease),gap .25s var(--ease);}
.contact__go svg{width:15px;height:15px;transition:transform .25s var(--ease);}
.contact__card:hover .contact__go{color:var(--gold);gap:11px;}
.contact__card:hover .contact__go svg{transform:translateX(3px);}
.studioband{text-align:center;max-width:760px;margin:0 auto;}
.studioband__ico{width:54px;height:54px;border-radius:16px;display:inline-grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.34);margin-bottom:18px;}
.studioband__ico svg{width:26px;height:26px;color:#fff;}
.studioband h2{margin:0 0 14px;}
.studioband .lead{margin:0 auto;max-width:60ch;}
.studioband__cities{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:24px;}
/* citypille na pomarańczu: ciemny tint zamiast białego (biały rozjaśniał pomarańcz → gorszy kontrast białego tekstu). Ciemny tint = biały tekst czytelniejszy (~3.7:1 vs ~2.2:1) i premium „inset". */
.citypill{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:#fff;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.36);border-radius:var(--r-pill);padding:8px 15px;}

/* ==========================================================================
   24 · CAMPY (page-campy.php) — premium, sprzedażowy
   ========================================================================== */
/* hero campu — pełnoekranowe zdjęcie + scrim */
.camphero{position:relative;overflow:hidden;padding:clamp(130px,20vh,220px) 0 clamp(56px,9vw,110px);background:var(--camp-bg) center 82%/cover no-repeat;}
.camphero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 200px 56px rgba(0,0,0,.52);}
.camphero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,6,5,.70) 0%,rgba(8,6,5,.36) 42%,rgba(8,6,5,.78) 100%),linear-gradient(95deg,rgba(8,6,5,.85) 0%,rgba(8,6,5,.35) 55%,transparent 85%);}
.camphero .wrap{position:relative;z-index:2;}
.camphero__inner{max-width:780px;}
.camphero__title{font-size:clamp(2.4rem,5.6vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:1.02;margin:0 0 20px;text-wrap:balance;}
.camphero__lead{font-size:clamp(1.05rem,1.7vw,1.28rem);color:rgba(246,243,238,.86);max-width:600px;line-height:1.55;margin-bottom:30px;}
.camphero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px;}
.camphero__meta{display:flex;flex-wrap:wrap;gap:10px;}
/* CAMP hero — kluczowe fakty (data/miejsce/pilność) na sprzedażowym hero mają być czytelne: jaśniejszy tekst + złote ikony zamiast przygaszonych (scoped .camphero .metachip [0,2,0] > baza [0,1,0]). */
.camphero .metachip{color:var(--text);}
.camphero .metachip svg{color:var(--gold);}

/* intro — editorial, wąska kolumna */
.camp-intro{max-width:760px;}
.camp-intro__p{color:var(--muted);font-size:clamp(15px,1.5vw,16.5px);line-height:1.72;margin:0 0 18px;}
.camp-intro__sign{margin:26px 0 0;padding-left:22px;border-left:2px solid var(--gold-line);font-size:clamp(16px,1.7vw,19px);line-height:1.5;color:var(--text);font-weight:600;}

/* karty programu / przygotowania */
.campcard{position:relative;padding:30px 30px 32px;border-radius:var(--r-lg);border:1px solid var(--hair);background:var(--glass);backdrop-filter:blur(12px);box-shadow:var(--shadow-card);transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);}
.campcard:hover{transform:translateY(-5px);border-color:var(--gold-line);box-shadow:var(--shadow-pop);}
.campcard__head{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.campcard__ico{flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);}
.campcard__ico svg{width:22px;height:22px;}
.campcard__label{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--text);margin:0;}
.campcard__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.campcard__list li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.45;color:rgba(246,243,238,.86);}
.campcard__list svg{flex:0 0 auto;width:16px;height:16px;color:var(--gold);margin-top:2px;}
.campcard__list--no li{opacity:.72;}
.campcard__list--no li::before{content:"—";color:var(--dim);font-weight:700;margin-right:2px;}

/* dla kogo — numerowane */
.campwho{padding:28px 26px;border-radius:var(--r-lg);border:1px solid var(--hair);background:var(--glass);box-shadow:var(--shadow-card);}
.campwho__num{display:block;font-family:var(--mono);font-size:22px;font-weight:600;color:var(--gold-2);margin-bottom:12px;}
.campwho p{margin:0;font-size:14.5px;line-height:1.55;color:rgba(246,243,238,.86);}

/* czego się nauczysz — 2 kolumny */
.camp-learn{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media(max-width:760px){.camp-learn{grid-template-columns:1fr;}}
.campcol{padding:30px 30px 32px;border-radius:var(--r-lg);border:1px solid var(--hair);background:var(--glass);box-shadow:var(--shadow-card);}
.campcol__label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:18px;}
.camp-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.camp-checklist li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.5;color:rgba(246,243,238,.86);}
.camp-checklist svg{flex:0 0 auto;width:16px;height:16px;color:var(--gold);margin-top:3px;}

/* cennik campu */
.campprice{display:grid;grid-template-columns:1.4fr .8fr;gap:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--gold-line);box-shadow:var(--shadow-pop);background:linear-gradient(180deg,rgba(217,177,90,.05),var(--glass) 42%);}
@media(max-width:760px){.campprice{grid-template-columns:1fr;}}
.campprice__main{padding:clamp(28px,4vw,44px);}
.campprice__tag{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:6px 14px;border-radius:var(--r-pill);margin-bottom:16px;}
.campprice__name{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;margin:0 0 20px;}
.campprice__facts{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:12px;}
.campprice__facts li{display:flex;align-items:center;gap:11px;font-size:15px;color:rgba(246,243,238,.88);}
.campprice__facts svg{flex:0 0 auto;width:18px;height:18px;color:var(--gold);}
.campprice__note{font-size:13px;color:var(--muted);margin:0;}
.campprice__buy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:clamp(28px,4vw,44px);border-left:1px solid var(--gold-line);background:rgba(7,7,8,.32);}
@media(max-width:760px){.campprice__buy{border-left:0;border-top:1px solid var(--gold-line);}}
.campprice__from{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.campprice__amount{font-size:clamp(2.1rem,4vw,2.8rem);font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1;}
.campprice__vat{font-size:12px;color:var(--muted);margin-bottom:18px;}
.campprice__buy .btn--block{width:100%;justify-content:center;margin-bottom:8px;}
.camp-creds{max-width:820px;}

/* ── CAMPY: komponenty w sekcjach jasnych (light-first, wzorzec §25) ──────
   Bazowe karty campu są ciemne (glass/near-white). Gdy siedzą w .section--light
   (intro/program/nauka/termin/przygotowanie), przemapowujemy je na krem/atrament
   — jak .review/.mcard. Sekcje film/dla-kogo/creds zostają dark (rytm). */
.section--light .campcard,
.section--light .campwho,
.section--light .campcol{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 24px 50px -34px rgba(22,18,14,.4);backdrop-filter:none;}
.section--light .campcard:hover{border-color:var(--accent-ui);box-shadow:0 32px 64px -30px rgba(22,18,14,.5);}
.section--light .campcard__label{color:var(--ink-on-paper);}
.section--light .campcard__ico{background:rgba(217,106,6,.10);border:1px solid rgba(217,106,6,.28);color:var(--accent-ui);}
.section--light .campcard__list li,
.section--light .campwho p,
.section--light .camp-checklist li{color:var(--muted-on-paper);}
.section--light .campcard__list svg,
.section--light .camp-checklist svg{color:var(--accent-ui);}
.section--light .campcard__list--no li::before{color:var(--dim-on-paper);}
.section--light .campcol__label,
.section--light .campwho__num{color:var(--accent-ui);}
.section--light .camp-intro__p{color:var(--muted-on-paper);}
.section--light .camp-intro__sign{color:var(--ink-on-paper);border-left-color:var(--accent-ui);}
/* PRICE — akcentowa karta na kremie (AA: pomarańcz -on-paper + biały tag) */
.section--light .campprice{border:1px solid rgba(217,106,6,.30);background:linear-gradient(180deg,rgba(217,106,6,.06),var(--paper-2) 42%);box-shadow:0 32px 70px -36px rgba(22,18,14,.5);}
.section--light .campprice__buy{background:rgba(217,106,6,.05);border-left-color:rgba(217,106,6,.24);}
@media(max-width:760px){.section--light .campprice__buy{border-left:0;border-top:1px solid rgba(217,106,6,.24);}}
.section--light .campprice__tag{background:var(--accent-on-paper);color:#fff;}
.section--light .campprice__name,
.section--light .campprice__amount{color:var(--ink-on-paper);}
.section--light .campprice__facts li{color:var(--muted-on-paper);}
.section--light .campprice__facts svg{color:var(--accent-ui);}
.section--light .campprice__from,
.section--light .campprice__vat,
.section--light .campprice__note{color:var(--muted-on-paper);}

/* ==========================================================================
   25 · SYSTEM SEKCJI TONALNYCH (v3) — dark / light / accent + .prose
   Rytm SaaS: ciemna → jasna (off-white) → ciemna → akcent (pomarańcz).
   ========================================================================== */
:root{
  --paper:#f7f4ef; --paper-2:#fffdfa; --ink-on-paper:#16120e;
  --muted-on-paper:rgba(22,18,14,.66); --dim-on-paper:rgba(22,18,14,.46);
  --hair-light:#e7e0d6; --hair-light-2:rgba(22,18,14,.10);
  --accent-on-paper:#a84f02; /* pomarańcz jako TEKST na jasnym — AA: 5.47:1 na paper-2 / 5.06:1 na paper (było #d96a06 = 3.4:1 fail) */
  --accent-ui:#d96a06;       /* ten sam pomarańcz jako GRAFIKA: ikony, kreski, ramki, wielkie
                                liczby. WCAG wymaga tu 3:1, nie 4.5:1 — stąd wolno jaśniej.
                                Ciemny #a84f02 na ikonach czytał się jak brąz. */
}

/* ── SEKCJA JASNA (off-white) ─────────────────────────────────────────── */
.section--light{background:var(--paper);color:var(--ink-on-paper);position:relative;z-index:1;}
.section--light h1,.section--light h2,.section--light h3,.section--light h4{color:var(--ink-on-paper);}
.section--light p,.section--light li{color:var(--muted-on-paper);}
.section--light strong,.section--light b{color:var(--ink-on-paper);}
.section--light .lead{color:var(--muted-on-paper);}
.section--light .muted{color:var(--muted-on-paper);}
.section--light .dim{color:var(--dim-on-paper);}
.section--light .eyebrow{color:var(--accent-on-paper);}
.section--light .eyebrow::before{background:var(--accent-ui);}
.section--light .grad-text{background:linear-gradient(120deg,var(--ink-on-paper) 26%,var(--accent-ui));-webkit-background-clip:text;background-clip:text;color:transparent;}
.section--light a:not(.btn){color:var(--accent-on-paper);}
.section--light a:not(.btn):hover{color:var(--accent-deep);}
.section--light hr{border:0;border-top:1px solid var(--hair-light);}
/* Miękki szew na styku z ciemnym (góra/dół). Krótki i ledwie widoczny: neutralna czerń na
   kremowym papierze robi się szara, więc przy .16/64px czytało się to jak brudna smuga,
   a nie jak cień. Ma tylko zetrzeć twardą krawędź. */
.section--light::before{content:"";position:absolute;left:0;right:0;top:0;height:36px;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,6,.07),transparent);}
.section--light.section--seam-bottom::after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;pointer-events:none;background:linear-gradient(0deg,rgba(10,8,6,.07),transparent);}

/* ── SEKCJA AKCENTOWA (mocny ciepły gradient pomarańcz) ───────────────── */
/* Gradient pogłębiony (wypalony pomarańcz) — biały tekst przechodzi WCAG AA 4.5:1
   na najjaśniejszym stopie (#a44e08 ≈ 5.7:1 dla #fff, ~4.6:1 dla białego .88).
   Sheen ::before ścieniony (.22→.14), żeby nie rozjaśniał tła i nie zbijał kontrastu.
   --grad (przyciski) NIE ruszony — marka zostaje wibrująca poza pasem akcentowym. */
.section--accent{position:relative;z-index:1;color:#fff;overflow:hidden;isolation:isolate;
  background:linear-gradient(152deg,#ad5509 0%,#983f06 46%,#7a3104 100%);}
/* Warstwy ::before robią z płaskiego prostokąta pas z głębią: hairline u góry,
   ciepły blask od góry-prawej, cień w lewym dolnym rogu i — najważniejsze —
   pionowe wygaszenie do czerni na obu krawędziach, żeby pas wtapiał się w ciemne
   sekcje zamiast odcinać się jak naklejony blok. */
/* `.site-main` w selektorze wyrównuje specyficzność do `.site-main .section::before`
   (złota poświata), która inaczej wygrywa i zostawia pas płaskim prostokątem. */
.section--accent::before,.site-main .section--accent::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(255,255,255,.20) 0 1px,transparent 1px),
    radial-gradient(78% 130% at 84% -28%,rgba(255,196,132,.22),transparent 62%),
    radial-gradient(64% 130% at -4% 128%,rgba(0,0,0,.26),transparent 62%),
    linear-gradient(to bottom,rgba(12,9,6,.34) 0%,transparent 20%,transparent 80%,rgba(12,9,6,.42) 100%);}
.section--accent>*{position:relative;z-index:2;}
.section--accent h1,.section--accent h2,.section--accent h3,.section--accent h4{color:#fff;}
.section--accent p,.section--accent li,.section--accent .lead{color:rgba(255,255,255,.92);}
.section--accent strong,.section--accent b{color:#fff;}
.section--accent .eyebrow{color:rgba(255,255,255,.92);}
.section--accent .eyebrow::before{background:rgba(255,255,255,.9);}
.section--accent .grad-text{background:none;color:#fff;-webkit-text-fill-color:#fff;}
.section--accent .btn--primary{background:#fff;color:var(--accent-deep);border-color:#fff;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);}
.section--accent .btn--primary:hover{background:#0a0806;color:#fff;}
.section--accent .btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;}
.section--accent .btn--ghost:hover{background:rgba(255,255,255,.14);}

/* pasek statystyk dla sekcji akcentowej */
.accentbar{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,48px);align-items:center;}
@media(max-width:760px){.accentbar{grid-template-columns:1fr;gap:24px;text-align:center;}}
.accentbar__stat{display:flex;flex-direction:column;gap:6px;}
.accentbar__num{font-size:clamp(2.1rem,4.4vw,3.1rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff;
  font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1;
  text-shadow:0 1px 0 rgba(0,0,0,.12);}
.accentbar__lbl{font-size:14px;line-height:1.5;color:rgba(255,255,255,.92);max-width:26ch;}
.accentbar--cta{grid-template-columns:1.4fr auto;text-align:left;}
@media(max-width:760px){.accentbar--cta{grid-template-columns:1fr;text-align:center;justify-items:center;}}
.accentbar__copy h2{margin:0 0 8px;font-size:clamp(1.6rem,3.2vw,2.4rem);}
.accentbar__copy p{margin:0;max-width:48ch;}

/* ── PAGEHERO compact (fallback stron) ───────────────────────────────── */
.pagehero--compact{padding:clamp(108px,15vh,150px) 0 clamp(28px,4vw,48px);}
.pagehero--compact h1{font-size:clamp(2.3rem,5vw,3.6rem);}

/* ── HARMONOGRAM — JASNY, kompaktowy hero (light-first, bez ciemnego slabu) ──
   Ciepły off-white zamiast prawie-czerni. Nagłówek (ciemne szkło) zostaje czytelny,
   bo na górze strony zawisa nad ciemnym paskiem promo, nie nad hero. Scope: /harmonogram/. */
.pagehero--harm{
  /* margin-top = -wys. paska promo: chowa 40px ciemny pas (przezroczysty spacer nad
     hero pokazywał ciemną głębię tła) → jasny hero styka się z headerem bez szwu. */
  margin-top:-40px;
  padding:clamp(54px,6.5vh,70px) 0 clamp(20px,3vw,30px);
  background:
    radial-gradient(78% 90% at 90% -22%, rgba(239,133,11,.10), transparent 60%),
    radial-gradient(58% 80% at -4% -8%, rgba(217,177,90,.10), transparent 58%),
    var(--paper);
}
.pagehero--harm::after{display:none;} /* zdejmij ciemny mask-glow z bazowego .pagehero */
.pagehero--harm h1{font-size:clamp(2.1rem,4.4vw,3.1rem);color:var(--ink-on-paper);}
.pagehero--harm .eyebrow{color:var(--accent-on-paper);}
.pagehero--harm .eyebrow::before{background:linear-gradient(90deg,transparent,var(--accent-ui));}
.pagehero--harm .grad-text{background:linear-gradient(120deg,var(--ink-on-paper) 28%,var(--accent-ui));-webkit-background-clip:text;background-clip:text;color:transparent;}
.pagehero--harm .pagehero__lead{color:var(--muted-on-paper);max-width:600px;}

/* Sekcja listingu płynie zaraz po jasnym hero — bez szwu, bez overlapu. */
.harm-section{padding-top:0;}
.harm-section.section--light::before{display:none;}
.harm-section .harm-wrap{margin-top:0;}

@media(max-width:720px){
  .pagehero--harm{padding:30px 0 12px;} /* margin-top:-40 zostaje (pas promo = 40px też na mobile) */
  .pagehero--harm h1{font-size:clamp(1.85rem,7vw,2.3rem);margin-bottom:12px;}
  .pagehero--harm .pagehero__lead{font-size:.98rem;}
}

/* ── .PROSE — typografia długiego tekstu (regulamin / polityka / kursy) ─ */
.prose{max-width:760px;margin:0 auto;font-size:1.02rem;line-height:1.75;color:var(--muted-on-paper);}
.prose>*:first-child{margin-top:0;}
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;color:var(--ink-on-paper);margin:2.2em 0 .6em;}
.prose h3{font-size:clamp(1.15rem,2vw,1.4rem);font-weight:700;color:var(--ink-on-paper);margin:1.8em 0 .5em;}
.prose h4{font-size:1.05rem;font-weight:700;color:var(--ink-on-paper);margin:1.5em 0 .4em;}
.prose p{margin:0 0 1.1em;color:var(--muted-on-paper);}
.prose a{color:var(--accent-on-paper);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--accent-deep);}
.prose strong,.prose b{color:var(--ink-on-paper);font-weight:700;}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em;}
.prose li{margin:.35em 0;color:var(--muted-on-paper);}
.prose ul li::marker{color:var(--accent-ui);}
.prose ol li::marker{color:var(--accent-ui);font-weight:700;}
.prose blockquote{margin:1.4em 0;padding:.4em 0 .4em 1.2em;border-left:3px solid var(--accent-ui);color:var(--ink-on-paper);font-style:normal;}
.prose hr{margin:2em 0;border:0;border-top:1px solid var(--hair-light);}
.prose img{max-width:100%;height:auto;border-radius:var(--r);margin:1.2em 0;}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;}
.prose th,.prose td{padding:10px 14px;border:1px solid var(--hair-light);text-align:left;}
.prose th{background:rgba(22,18,14,.04);color:var(--ink-on-paper);font-weight:700;}
.prose code{font-family:var(--mono);font-size:.88em;background:rgba(22,18,14,.06);padding:.15em .4em;border-radius:6px;color:var(--ink-on-paper);}
.prose__editlink{max-width:760px;margin:2em auto 0;font-size:13px;}
.prose__editlink a{color:var(--accent-on-paper);}

/* ── NEWSLETTER landing (page-newsletter.php) — karty benefitów na jasnym ─ */
/* Wężej niż `.wrap`: karta `.newsletter` ma 720px, a siatka rozciągnięta na pełne 1200px
   robiła z sekcji dwa niepowiązane bloki. 1040px trzyma je w jednej osi. */
.nl-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:clamp(32px,4vw,48px) auto 0;max-width:1040px;}
@media(max-width:820px){.nl-benefits{grid-template-columns:1fr;}}
.nl-card{background:var(--paper-2);border:1px solid var(--hair-light);border-radius:var(--r-lg);padding:26px 24px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);}
.nl-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(22,18,14,.45);border-color:var(--accent-ui);}
.nl-card__ico{width:42px;height:42px;border-radius:12px;background:rgba(217,106,6,.10);color:var(--accent-ui);display:grid;place-items:center;margin-bottom:16px;}
.nl-card__ico svg{width:22px;height:22px;}
.nl-card h3{font-size:1.12rem;font-weight:700;color:var(--ink-on-paper);margin:0 0 8px;}
.nl-card p{font-size:14.5px;line-height:1.6;color:var(--muted-on-paper);margin:0;}
/* checkbox zgody */
.nl-consent{display:flex;align-items:flex-start;gap:11px;max-width:540px;margin:16px auto 0;text-align:left;font-size:12.5px;line-height:1.5;color:var(--dim);}
.nl-consent input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--accent);cursor:pointer;}
.nl-consent a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;}

/* ── /newsletter/ — karta .newsletter w JASNEJ sekcji = LIGHT-NATIVE (Paczka 12) ──
   Root-cause dawnego „mułu": bazowa .newsletter (l.318) to ciemny glass-2 + blur;
   na .section--light (kremowe --paper) renderował się jako brudnoszara karta.
   Tu nadpisujemy SCOPE'owo tylko w jasnej sekcji — ciemny .newsletter na /kontakt/
   i CTA .callout (Paczka 9) zostają nietknięte. Wzór: .course-landing--light. */
.section--light .newsletter{
  background:radial-gradient(620px 260px at 50% -18%,rgba(217,106,6,.10),transparent 64%),var(--paper-2);
  border:1px solid var(--hair-light);
  box-shadow:0 28px 64px -46px rgba(22,18,14,.34);
  backdrop-filter:none;
}
.section--light .newsletter::before{display:none;} /* dawny ciemny glow zbędny na jasnym */
/* eyebrow / tytuł / sub / grad-text / linki dziedziczą z .section--light (ink + accent-on-paper);
   jawnie dla pewności kontrastu AA */
.section--light .newsletter .newsletter__title{color:var(--ink-on-paper);}
.section--light .newsletter .newsletter__sub,
.section--light .newsletter .newsletter__note{color:var(--muted-on-paper);}
/* INPUTY light-native (bazowe .input są ciemne → na jasnym byłyby mętne) */
.section--light .newsletter .input{background:#fff;border:1px solid var(--hair-light);color:var(--ink-on-paper);}
.section--light .newsletter .input::placeholder{color:var(--dim-on-paper);}
.section--light .newsletter .input:focus{border-color:var(--accent-ui);box-shadow:0 0 0 4px rgba(217,106,6,.16);}
/* RODO consent + checkbox na jasnym tle */
.section--light .newsletter .nl-consent{color:var(--muted-on-paper);}
.section--light .newsletter .nl-consent a{color:var(--accent-on-paper);text-underline-offset:2px;}
.section--light .newsletter .nl-consent input[type=checkbox]{accent-color:var(--accent-ui);}

/* ── Zapis na newsletter: stany formularza (wtyczka ewa-newsletter) ───────
   Wspólne dla karty na /newsletter/ i paska .nlband na stronie głównej. */
/* Wabik na boty. Nie `display:none` — część botów pomija ukryte pola, a ci, którzy
   czytają CSS, i tak zwykle sprawdzają tylko `display`/`visibility`. Wypychamy poza
   ekran i wycinamy z kolejności tabulacji, żeby człowiek nigdy tego nie trafił. */
.ewanl-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

.ewanl-msg{margin:2px 0 0;font-size:13px;line-height:1.5;min-height:0;}
.ewanl-msg:empty{display:none;}
.ewanl-msg.is-error{color:#c0392b;}
.section--accent .ewanl-msg.is-error{color:#fff2ea;}

/* Panel po udanym zapisie — podmienia formularz, więc musi trzymać jego rytm. */
.ewanl-done{max-width:520px;margin:26px auto 4px;text-align:center;}
.ewanl-done__lead{margin:0;font-size:15.5px;line-height:1.6;font-weight:600;}
.ewanl-done__code{position:relative;display:inline-block;margin-top:16px;padding:15px 26px;
  font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:.14em;
  color:var(--accent-2);background:transparent;border:1.5px dashed var(--accent-2);
  border-radius:var(--r);cursor:pointer;
  transition:background .25s var(--ease),transform .25s var(--ease);}
.ewanl-done__code:hover{background:rgba(217,106,6,.10);transform:translateY(-1px);}
.ewanl-done__code.is-copied::after{content:attr(data-copied);position:absolute;left:50%;bottom:-24px;
  transform:translateX(-50%);font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:inherit;white-space:nowrap;}
/* na jasnym: jaśniejszy --accent-2 znika na kremie, więc schodzimy na wersję UI */
.section--light .ewanl-done__lead{color:var(--ink-on-paper);}
.section--light .ewanl-done__code{color:var(--accent-ui);border-color:var(--accent-ui);}

/* ==========================================================================
   26 · NAPRAWA MEDIÓW (v4) — hero-media kursu, bezpiecznik SVG, mandala
   ========================================================================== */

/* Globalny bezpiecznik: żadna sierota-ikona/obraz nie urośnie poza kontener.
   (root cause „gigantycznej gwiazdy": SVG bez width rozlewa się do natywnego.) */
img,svg,video{max-width:100%;}
svg:not([width]){max-width:100%;height:auto;}

/* HERO-MEDIA strony kursu (taxonomy-product_cat.php) — usunięte przy
   redesignie home, szablon kursu nadal używa. Przywrócone z rygorem. */
.hero__media{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hair-2);box-shadow:var(--shadow-pop);aspect-ratio:16/10;background:var(--surface);}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;}
/* spójny ciepły scrim pod badge + czytelność (jeden język wizualny) */
.hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,6,.04) 40%,rgba(10,8,6,.42));}
.hero__media-badge{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(10,8,6,.6);backdrop-filter:blur(8px);border:1px solid var(--hair-2);border-radius:var(--r-pill);padding:8px 14px;}
.hero__media-badge svg{width:15px;height:15px;color:var(--accent-2);flex:none;}

/* MANDALA newslettera (page-kontakt.php) — okiełznana: delikatne tło, nie billboard. */
.newsletter{position:relative;overflow:hidden;}
.newsletter__mandala{position:absolute;top:-60px;right:-60px;z-index:0;width:min(420px,60%);height:auto;opacity:.06;pointer-events:none;user-select:none;}

/* KOSZYK pusty — ukryj kwotę/subtotal (np. zostawiony test „13 200,00 zł"). Ikona zostaje. */
.ew-cart--empty .fkcart-shortcode-price,
.ew-cart--empty .fkcart-cart-total,
.ew-cart--empty .fkcart-subtotal-amount{display:none!important;}

/* ==========================================================================
   27 · HOME — rytm tonalny (jasne sekcje: Opinie + Oferta, pasek akcentu)
   Rdzeń briefu v4: dark → light → dark → accent. Karty (review/mcard) na
   off-white renderują się jako „światło", nie ciemny glass.
   ========================================================================== */

/* akcent emfazy <em> na jasnym tle (jasne złoto jest nieczytelne na off-white) */
.section--light .section__head h2 em,
.section--light h2 em,
.section--light em{color:var(--accent-on-paper);font-style:normal;font-weight:800;}
.section--light .divider svg{color:var(--accent-ui);opacity:.5;}

/* OPINIE na jasnym — karty review jako światło, nie ciemny glass */
.section--light .review{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 26px 54px -34px rgba(22,18,14,.42);backdrop-filter:none;}
.section--light .review::before{color:var(--accent-ui);opacity:.12;}
.section--light .review__text{color:var(--ink-on-paper);opacity:1;}
.section--light .review__stars{color:#bd7d18;}
.section--light .review__who{border-top:1px solid var(--hair-light);}
.section--light .review__av{background:rgba(217,106,6,.10);border:1px solid rgba(217,106,6,.28);color:var(--accent-on-paper);}
.section--light .review__name{color:var(--ink-on-paper);}
.section--light .review__src{color:var(--dim-on-paper);}

/* OFERTA MASAŻY na jasnym — karty mcard jako światło */
.section--light .mcard{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 24px 50px -34px rgba(22,18,14,.4);backdrop-filter:none;}
.section--light .mcard::before{background:linear-gradient(155deg,rgba(22,18,14,.07),transparent 34%);}
.section--light .mcard:hover{border-color:var(--accent-ui);box-shadow:0 32px 64px -30px rgba(22,18,14,.5);}
.section--light .mcard__name{color:var(--accent-on-paper);}
.section--light .mcard__tags li{color:var(--accent-on-paper);background:rgba(217,106,6,.08);border:1px solid rgba(217,106,6,.22);}
.section--light .mcard__desc{color:var(--muted-on-paper);}

/* OFERTA na jasnym — opis tuż pod tagami (równy rytm, bez dziury) */
.section--light .mcard__desc{margin-top:14px;}

/* odstęp paska akcentu (statystyki) — komfortowy, nie ściśnięty */
.section--accent.section--tight{padding:clamp(40px,6vw,64px) 0;}

/* pasek akcentu — separatory jako hairline wygaszony na końcach, nie kreska
   od krawędzi do krawędzi: linia ciągła robiła z pasa tabelę. */
@media(min-width:761px){
  .accentbar .accentbar__stat+.accentbar__stat{position:relative;padding-left:clamp(20px,4vw,48px);}
  .accentbar .accentbar__stat+.accentbar__stat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:1px;height:66%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.34),transparent);}
}
.accentbar__num{display:flex;align-items:baseline;gap:8px;}

/* ZAUFALI MI — kadr portretów na twarze (góra-środek), nie ucinaj głów */
.star img,.star__media{object-position:center 25%;}

/* STRONA KURSU — hero bez wymuszonego 94vh (mniej „martwego" zapasu, czytelniej na mobile) */
.course-hero{min-height:auto;padding:clamp(108px,14vh,150px) 0 clamp(36px,5vw,64px);}

/* PASEK AKCENTU na telefonie — subtelne poziome separatory między statystykami */
@media(max-width:760px){
  .accentbar .accentbar__stat+.accentbar__stat{position:relative;padding-top:24px;}
  .accentbar .accentbar__stat+.accentbar__stat::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    height:1px;width:56%;background:linear-gradient(to right,transparent,rgba(255,255,255,.34),transparent);}
}

/* ============================================================
   28 · STRONY PRAWNE (page-regulamin / page-polityka) — legal/prose premium, light-first
   ============================================================ */
/* Chipy meta w ciemnym hero */
.legal__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.legal__meta span{font:600 .82rem/1.3 var(--sans);color:rgba(246,243,238,.82);border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);padding:.55em .85em;border-radius:999px;}
.legal__meta b{color:#fff;font-weight:700;}

/* Układ: lepki spis treści + kolumna treści (lub solo) */
.legal__layout{display:grid;grid-template-columns:minmax(0,236px) minmax(0,1fr);gap:clamp(30px,5vw,72px);align-items:start;max-width:1060px;margin:0 auto;}
.legal__layout--solo{grid-template-columns:minmax(0,1fr);max-width:780px;}

/* Spis treści (desktop, sticky) */
.legal__toc{position:sticky;top:96px;align-self:start;}
.legal__toc-label{font:700 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-on-paper);margin:0 0 14px;}
.legal__toc ol{list-style:none;margin:0;padding:0;max-height:calc(100vh - 168px);overflow:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;}
.legal__toc a{display:flex;gap:9px;align-items:baseline;padding:6px 10px;border-radius:10px;font-size:.9rem;line-height:1.35;color:var(--muted-on-paper);text-decoration:none;border:1px solid transparent;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);}
.legal__toc a:hover{background:rgba(217,106,6,.07);color:var(--ink-on-paper);border-color:rgba(217,106,6,.18);}
.legal__toc-num{font:700 .76rem/1.35 var(--mono);color:var(--accent-on-paper);flex:none;min-width:2.6em;}

/* Kolumna treści */
.legal__main{max-width:760px;}
.legal__item{scroll-margin-top:104px;padding:30px 0;border-top:1px solid var(--hair-light);}
.legal__item:first-child{border-top:0;padding-top:0;}
.legal__num{display:inline-flex;align-items:center;font:700 .76rem/1 var(--mono);letter-spacing:.1em;color:var(--accent-on-paper);background:rgba(217,106,6,.08);border:1px solid rgba(217,106,6,.22);padding:.5em .7em;border-radius:999px;margin:0 0 14px;}
.legal__item h2{font-size:clamp(1.2rem,2.2vw,1.55rem);font-weight:800;letter-spacing:-.02em;line-height:1.18;color:var(--ink-on-paper);margin:0 0 .5em;}
.legal__body>*:first-child{margin-top:0;}
.legal__body>*:last-child{margin-bottom:0;}

/* Nota końcowa */
.legal__note{margin:38px 0 0;padding:20px 22px;border:1px solid var(--hair-light);border-left:3px solid var(--accent-ui);border-radius:var(--r-lg);background:var(--paper-2);font-size:.96rem;line-height:1.7;color:var(--muted-on-paper);}
.legal__note a{color:var(--accent-on-paper);font-weight:700;}

@media(max-width:900px){
  .legal__layout{grid-template-columns:minmax(0,1fr);}
  .legal__toc{display:none;}
}

/* ==========================================================================
   29 · SEKCJE KONTRASTOWE LIGHT (Metoda / Twoja droga / Manifest)
   Minimal, premium — wstawione w ciemny rytm strony głównej dla „oddechu".
   Bazują na .section--light (tło, typografia i seamy są w sekcji 27).
   ========================================================================== */

/* ── A · METODA: editorial + 3 filary ── */
.mthd__head{max-width:62ch;}
.mthd__pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);margin-top:clamp(44px,6vw,72px);}
.pil{position:relative;padding-top:26px;border-top:1px solid var(--hair-light);}
.pil::after{content:"";position:absolute;top:-1px;left:0;width:38px;height:2px;background:var(--accent-ui);}
.pil__no{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--accent-on-paper);}
.pil__t{margin:14px 0 10px;font-size:1.22rem;font-weight:700;letter-spacing:-.02em;color:var(--ink-on-paper);}
.pil__d{margin:0;font-size:.98rem;line-height:1.65;color:var(--muted-on-paper);}
@media(max-width:760px){.mthd__pillars{grid-template-columns:1fr;gap:30px;}}

/* ── B · TWOJA DROGA: proces 4 kroki ── */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);}
.steps::before{content:"";position:absolute;top:21px;left:7%;right:7%;height:1px;
  background:repeating-linear-gradient(90deg,var(--hair-light) 0 8px,transparent 8px 16px);}
.step{position:relative;}
.step__no{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);
  font-family:var(--mono);font-weight:600;font-size:14px;color:var(--accent-on-paper);
  background:var(--paper-2);border:1.5px solid var(--accent-ui);box-shadow:0 8px 18px -14px rgba(217,106,6,.35);}
.step__t{margin:20px 0 8px;font-size:1.08rem;font-weight:700;letter-spacing:-.02em;color:var(--ink-on-paper);}
.step__d{margin:0;font-size:.95rem;line-height:1.6;color:var(--muted-on-paper);}
@media(max-width:760px){
  .steps{grid-template-columns:1fr;gap:26px;}
  .steps::before{top:0;bottom:0;left:21px;right:auto;width:1px;height:auto;
    background:repeating-linear-gradient(180deg,var(--hair-light) 0 8px,transparent 8px 16px);}
  .step{padding-left:64px;}
  .step__no{position:absolute;left:0;top:0;}
  .step__t{margin-top:4px;}
}

/* ── C · MANIFEST: pojedyncza wypowiedź, max minimal ── */
.stmt .wrap{max-width:980px;text-align:center;}
.stmt .eyebrow{justify-content:center;}
.stmt .eyebrow::before{display:none;}
.stmt__line{width:48px;height:2px;margin:0 auto 30px;background:var(--accent-ui);opacity:.7;}
.stmt__q{max-width:24ch;margin:8px auto 0;font-size:clamp(1.7rem,4.4vw,3.1rem);font-weight:700;line-height:1.22;letter-spacing:-.03em;color:var(--ink-on-paper);text-wrap:balance;}
.stmt__by{margin:34px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim-on-paper);}

/* ==========================================================================
   30 · STRONY SYSTEMOWE (404 / wyszukiwarka / archiwum) — atmosfera + porządek
   (PB: koniec „płaskiej czerni" — wcześniej gołe _s boilerplate)
   ========================================================================== */

/* — 404: brandowany, wyśrodkowany hero — */
.error-404{text-align:center;}
.error-404 .pagehero__inner{max-width:760px;margin:0 auto;align-items:center;}
.error-404__code{display:block;font-family:var(--mono);font-weight:800;
  font-size:clamp(5rem,18vw,11rem);line-height:.9;letter-spacing:-.04em;margin:4px 0 8px;
  background:linear-gradient(160deg,var(--accent-2) 0%,var(--accent) 46%,rgba(250,250,250,.16) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 22px 60px rgba(239,133,11,.16));}
.error-404 .page-title{font-size:clamp(1.8rem,4.6vw,2.9rem);margin:0 0 14px;}
.error-404 .pagehero__lead{max-width:54ch;margin-left:auto;margin-right:auto;}
.error-404__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:30px 0 6px;}
.error-404__links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;
  margin:22px 0 0;font-size:14px;color:var(--muted);}
.error-404__links a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;
  transition:color .2s var(--ease),border-color .2s var(--ease);}
.error-404__links a:hover{color:var(--accent-2);border-bottom-color:var(--accent-2);}
.error-404__links span{opacity:.4;}
.error-404__search{max-width:440px;margin:30px auto 0;}

/* — Wyszukiwarka / archiwum: czytelny nagłówek + kolumna treści — */
.search .site-main,
.archive .site-main:not(.course-landing){max-width:var(--wrap);margin-inline:auto;
  padding:clamp(36px,6vw,64px) clamp(20px,5vw,28px) clamp(64px,9vw,110px);}
.search .page-header,
.archive .page-header{margin:0 0 clamp(28px,4vw,44px);padding:0 0 24px;border-bottom:1px solid var(--border);}
.search .page-title,
.archive .page-title{font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.03em;margin:0;}
.search .page-title span{color:var(--accent-2);}
.archive-description{margin:14px 0 0;color:var(--muted);max-width:62ch;}
.search .site-main article,
.archive .site-main:not(.course-landing) article{padding:22px 0;border-bottom:1px solid var(--border);}
.search .site-main article:last-of-type,
.archive .site-main article:last-of-type{border-bottom:0;}
.search .site-main .entry-title a,
.archive .site-main .entry-title a{color:var(--text);text-decoration:none;}
.search .site-main .entry-title a:hover,
.archive .site-main .entry-title a:hover{color:var(--accent-2);}
.search .no-results,
.archive .no-results,
.error-404 .no-results{color:var(--muted);}

/* — Pole wyszukiwania (get_search_form) — spójne z tokenami — */
.search-form{display:flex;gap:10px;align-items:stretch;}
.search-form label{flex:1;display:block;margin:0;}
.search-form .search-field{width:100%;padding:13px 16px;border-radius:var(--r-sm);
  background:var(--surface);border:1px solid var(--border-2);color:var(--text);font:inherit;}
.search-form .search-field::placeholder{color:var(--dim);}
.search-form .search-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}
.search-form .search-submit{flex:none;padding:13px 22px;border-radius:var(--r-sm);border:0;cursor:pointer;
  font:inherit;font-weight:600;color:#1a1206;background:var(--grad);transition:filter .2s var(--ease);}
.search-form .search-submit:hover{filter:brightness(1.05);}

/* ==========================================================================
   31 · OKŁADKA KURSU (.ccover) + NEWSLETTER BAND (.nlband) — Paczka 2 (PC + PD)
   ========================================================================== */

/* — PC: premium okładka kursu (single-product, reużywalna) — */
.ccover{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;margin:0;
  border:1px solid var(--border-2);box-shadow:var(--shadow-card);background:#0b0806;}
.ccover--noimg{background:radial-gradient(120% 85% at 50% 0,#2a1a0d,#0b0806 72%);}
.ccover__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;z-index:0;
  transition:transform 1.1s var(--ease);}
.ccover:hover .ccover__img{transform:scale(1.04);}
.ccover__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,8,6,.10) 0%,rgba(11,8,6,0) 34%,rgba(11,8,6,.58) 70%,rgba(11,8,6,.94) 100%);}
.ccover__ring{position:absolute;inset:11px;z-index:2;pointer-events:none;border:1px solid rgba(255,255,255,.16);
  border-radius:calc(var(--r-lg) - 6px);}
.ccover__mark{position:absolute;top:clamp(16px,2.4vw,24px);left:clamp(16px,2.4vw,24px);z-index:3;
  width:34px;height:34px;color:#fff;opacity:.92;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5));}
.ccover__mark svg{width:100%;height:100%;display:block;}
.ccover__tag{position:absolute;top:clamp(16px,2.4vw,24px);right:clamp(16px,2.4vw,24px);z-index:3;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:rgba(11,8,6,.5);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-pill);padding:6px 12px;backdrop-filter:blur(6px);}
.ccover__content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;
  gap:8px;padding:clamp(20px,3vw,30px);}
.ccover__eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);}
.ccover__title{margin:0;font-size:clamp(1.5rem,2.7vw,2.15rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;
  color:#fff;text-wrap:balance;}
.ccover__sig{display:inline-flex;align-items:center;gap:8px;margin-top:2px;font-family:var(--mono);font-size:11px;
  letter-spacing:.04em;color:rgba(255,255,255,.72);}
.ccover__sig svg{width:15px;height:15px;color:var(--accent-2);flex:none;}

/* — PD: newsletter na home — pełne pasmo, ciemny band 2-kolumnowy — */
.nlband{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,60px);
  align-items:center;border-radius:var(--r-xl);border:1px solid var(--border-2);box-shadow:var(--shadow-pop);
  padding:clamp(30px,4.4vw,60px) clamp(24px,4vw,58px);
  background:radial-gradient(120% 140% at 0% 0%,rgba(44,28,14,.92),transparent 58%),linear-gradient(135deg,#16100a,#0b0806);}
.nlband::before{content:"";position:absolute;right:-90px;top:-100px;width:360px;height:360px;z-index:0;pointer-events:none;
  background:radial-gradient(circle,var(--glow),transparent 64%);opacity:.5;}
.nlband>*{position:relative;z-index:1;}
.nlband__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-2);background:var(--accent-soft);border:1px solid rgba(239,133,11,.3);
  border-radius:var(--r-pill);padding:7px 15px;}
.nlband__badge svg{width:15px;height:15px;}
.nlband__title{font-size:clamp(1.7rem,3.1vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;
  margin:18px 0 12px;text-wrap:balance;}
.nlband__sub{color:var(--muted);font-size:15px;line-height:1.6;max-width:46ch;margin:0 0 20px;}
.nlband__perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.nlband__perks li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--text);}
.nlband__perks svg{width:17px;height:17px;color:var(--accent);flex:none;}
.nlband__form{display:flex;flex-direction:column;gap:14px;border-radius:var(--r-lg);
  background:rgba(11,8,6,.42);border:1px solid var(--border);padding:clamp(22px,2.6vw,30px);}
.nlband__field{display:flex;flex-direction:column;gap:7px;}
.nlband__field label{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted);}
.nlband__form .input{width:100%;}
.nlband__form .btn{margin-top:2px;}
.nlband__consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:var(--dim);}
.nlband__consent input{flex:0 0 auto;width:16px;height:16px;margin-top:2px;accent-color:var(--accent);cursor:pointer;}
.nlband__consent a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;}
/* panel po zapisie podmienia .nlband__form, więc przejmuje jego pudełko */
.nlband .ewanl-done{margin:0;border-radius:var(--r-lg);background:rgba(11,8,6,.42);
  border:1px solid var(--border);padding:clamp(22px,2.6vw,30px);}
@media(max-width:860px){
  .nlband{grid-template-columns:1fr;gap:26px;}
}

/* ==========================================================================
   32 · STRONA KURSU — LIGHT PREMIUM + HERO WIDEO (Paczka 5)
   Light-first landing kategorii kursu. Jeden scope: .course-landing--light.
   Hero = split (treść | wideo click-to-play z posterem). Tokeny on-paper (sek. 25).
   Home + O mnie pozostają ciemne — to dotyczy WYŁĄCZNIE stron kursów.
   ========================================================================== */

/* — Bazowy kontekst jasny + rytm sekcji (paper / alt) — */
.course-landing--light{background:var(--paper);color:var(--ink-on-paper);}
.course-landing--light .section{background:var(--paper);}
.course-landing--light .section--alt{background:#f0ece4;}
.course-landing--light h1,.course-landing--light h2,.course-landing--light h3,.course-landing--light h4{color:var(--ink-on-paper);}
.course-landing--light p,.course-landing--light li{color:var(--muted-on-paper);}
.course-landing--light .lead{color:var(--muted-on-paper);}
.course-landing--light .dim,.course-landing--light .roi__note{color:var(--dim-on-paper);}
.course-landing--light strong,.course-landing--light b{color:var(--ink-on-paper);}
/* ZERO-serif guard (parytet z .section--light em, l.2808) — prewencyjny: dziś brak <em> w szablonach kursu, ale wymusza styl normalny zamiast kursywy, gdyby treść kursu kiedyś dostała emfazę */
.course-landing--light .section__head h2 em,.course-landing--light h2 em,.course-landing--light em{color:var(--accent-on-paper);font-style:normal;font-weight:800;}
.course-landing--light .eyebrow{color:var(--accent-on-paper);}
.course-landing--light .eyebrow::before{background:var(--accent-ui);}
.course-landing--light a:not(.btn){color:var(--accent-on-paper);}
.course-landing--light a:not(.btn):hover{color:var(--accent-deep);}

/* — HERO split — */
.course-landing--light .course-hero{
  background:
    radial-gradient(820px 460px at 90% 6%,rgba(217,106,6,.12),transparent 60%),
    radial-gradient(720px 520px at 4% 100%,rgba(22,18,14,.05),transparent 60%),
    linear-gradient(180deg,var(--paper-2),var(--paper));
}
.hero__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(28px,4.6vw,60px);align-items:center;}
.hero__copy{min-width:0;}
.course-hero--light .hero__title{font-size:clamp(2rem,3.3vw,3.05rem);color:var(--ink-on-paper);margin:0 0 18px;letter-spacing:-.03em;line-height:1.07;}
.course-hero--light .hero__lead{color:var(--muted-on-paper);font-size:clamp(1.02rem,1.5vw,1.18rem);max-width:54ch;margin-bottom:24px;}
.course-hero--light .course-hero__values li{color:var(--ink-on-paper);}
.course-hero--light .course-hero__values svg{color:var(--accent-ui);}
.course-hero--light .course-hero__from{color:var(--dim-on-paper);}
.course-hero--light .course-hero__amount{color:var(--ink-on-paper);}
.course-hero--light .course-hero__dep{color:var(--muted-on-paper);}
.course-hero--light .course-hero__dep b{color:var(--accent-on-paper);}
.course-hero--light .course-hero__nextline{color:var(--muted-on-paper);}
.course-hero--light .course-hero__nextline svg{color:var(--accent-ui);}
.course-hero--light .course-hero__nextline b{color:var(--ink-on-paper);}

/* — HERO media: poster + wideo + przycisk play — */
.course-hero__media{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 36px 80px -44px rgba(22,18,14,.55);}
.course-hero__media .hero__media-badge{left:14px;bottom:14px;}
.course-hero__video,.mentor__video{width:100%;height:100%;object-fit:cover;display:block;background:#0c0a09;}

/* przycisk play wspólny (.vplay) — premium, jasny */
.vplay{position:absolute;inset:0;margin:auto;z-index:3;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--accent-ui);background:rgba(255,253,250,.92);border:1px solid var(--hair-light);box-shadow:0 14px 34px -20px rgba(22,18,14,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .25s var(--ease),background .25s var(--ease),opacity .25s var(--ease);}
.vplay svg{width:30px;height:30px;margin-left:2px;}
.vplay:hover{transform:scale(1.09);background:#fff;}

/* ── Hero: przycisk „Obejrzyj film" + modal wideo (.vmodal) ─── */
.hero__play{gap:11px;}
.hero__play-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);flex:none;transition:transform .25s var(--ease),background .25s var(--ease);}
.hero__play-ico svg{width:13px;height:13px;margin-left:1px;color:#fff;}
.hero__play:hover .hero__play-ico{transform:scale(1.08);background:rgba(255,255,255,.26);}

.vmodal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,4vw,48px);opacity:0;transition:opacity .32s var(--ease);}
.vmodal[hidden]{display:none;}
.vmodal.is-open{opacity:1;}
.vmodal__backdrop{position:absolute;inset:0;background:rgba(8,7,9,.84);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);cursor:pointer;}
.vmodal__dialog{position:relative;z-index:1;width:min(1060px,100%);transform:translateY(14px) scale(.98);transition:transform .38s var(--ease);}
.vmodal.is-open .vmodal__dialog{transform:none;}
.vmodal__frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.12);box-shadow:0 50px 130px -34px rgba(0,0,0,.85);}
.vmodal__video{width:100%;height:100%;display:block;object-fit:contain;background:#000;}
.vmodal__close{position:absolute;top:-16px;right:-16px;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#16130f;background:#fff;border:none;box-shadow:0 14px 36px -10px rgba(0,0,0,.7);transition:transform .2s var(--ease);}
.vmodal__close:hover{transform:scale(1.09);}
.vmodal__close:focus-visible{outline:2px solid var(--gold,#ef850b);outline-offset:3px;}
.vmodal__close svg{width:20px;height:20px;}
html.vmodal-lock{overflow:hidden;}
@media (max-width:640px){
  .vmodal__close{top:8px;right:8px;width:40px;height:40px;}
  .vmodal__close svg{width:18px;height:18px;}
}
@media (prefers-reduced-motion:reduce){
  .vmodal,.vmodal__dialog{transition:none;}
}
.vplay:focus-visible{outline:2px solid var(--accent-ui);outline-offset:3px;}
.vplay.is-hidden{opacity:0;transform:scale(.6);pointer-events:none;}
.course-hero__media.is-playing::after,.mentor__media.is-playing::after{opacity:0;}
.course-hero__media.is-playing .hero__media-badge,.mentor__media.is-playing .mentor__cap{opacity:0;visibility:hidden;}

/* — PE: WIDEO W OKŁADCE (.ccover) — opt-in, strona terminu (Paczka 8).
   Reguły PO .vplay (ta sama specyficzność) → wygrywają source-order. — */
.ccover__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;z-index:0;display:block;background:#0b0806;transition:transform 1.1s var(--ease);}
.ccover--has-video:hover .ccover__video{transform:scale(1.04);}
.ccover__play{z-index:4;width:84px;height:84px;color:#fff;border:0;
  background:linear-gradient(155deg,var(--accent) 0%,var(--accent-2) 100%);
  box-shadow:0 22px 50px -16px rgba(214,106,32,.7),inset 0 0 0 1px rgba(255,255,255,.18);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .28s var(--ease),opacity .25s var(--ease);}
.ccover__play svg{width:30px;height:30px;margin-left:4px;}
.ccover__play svg circle{display:none;}            /* czysty biały trójkąt zamiast podwójnego kółka */
.ccover__play svg path{fill:#fff;}
.ccover__play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,255,255,.5);pointer-events:none;animation:ccoverPulse 2.6s var(--ease) infinite;}
.ccover__play:hover{transform:scale(1.08);background:linear-gradient(155deg,var(--accent) 0%,var(--accent-2) 100%);
  box-shadow:0 26px 62px -16px rgba(214,106,32,.85),inset 0 0 0 1px rgba(255,255,255,.28);}
.ccover__play:focus-visible{outline:2px solid #fff;outline-offset:4px;}
@keyframes ccoverPulse{0%{transform:scale(.82);opacity:.65}70%{transform:scale(1.3);opacity:0}100%{opacity:0}}
/* Czas grania → czysty kadr: chowamy nakładki okładki (tytuł/scrim/ring/mark/tag). */
.ccover.is-playing .ccover__content,
.ccover.is-playing .ccover__scrim,
.ccover.is-playing .ccover__ring,
.ccover.is-playing .ccover__mark,
.ccover.is-playing .ccover__tag{opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s var(--ease);}
@media(prefers-reduced-motion:reduce){
  .ccover__play::before{animation:none;opacity:0;}
  .ccover__video,.ccover__play{transition:none;}
}

/* — PASEK ZAUFANIA — */
.course-landing--light .usp.course-trust{background:var(--paper-2);border-top:1px solid var(--hair-light);border-bottom:1px solid var(--hair-light);}
.course-landing--light .course-trust__quote{color:var(--ink-on-paper);}
.course-landing--light .metachip{background:var(--paper);border:1px solid var(--hair-light);color:var(--muted-on-paper);}
.course-landing--light .metachip b{color:var(--ink-on-paper);}
.course-landing--light .metachip .stars{color:#bd7d18;}
.course-landing--light .metachip .dot{background:var(--accent-ui);box-shadow:none;}
.course-landing--light .metachip .inline-ico{color:var(--accent-ui);}

/* — KARTY ogólne — */
.course-landing--light .card{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 24px 54px -38px rgba(22,18,14,.42);backdrop-filter:none;}

/* — DLA KOGO — */
.course-landing--light .forwho__col--yes{border-color:rgba(29,122,77,.30);}
.course-landing--light .forwho__col--no{background:#f0ece4;}
.course-landing--light .forwho__title{color:var(--ink-on-paper);}
.course-landing--light .forwho__title svg{color:#1d7a4d;}
.course-landing--light .forwho__title--no{color:var(--muted-on-paper);}
.course-landing--light .forwho__list li{color:var(--muted-on-paper);}
.course-landing--light .forwho__list li::before{background:#1d7a4d;box-shadow:none;}
.course-landing--light .forwho__list--no li::before{background:#b42318;}

/* — PROGRAM / FAQ akordeon — */
.course-landing--light .acc__item{background:var(--paper-2);border:1px solid var(--hair-light);}
.course-landing--light .acc__item.is-open{border-color:rgba(217,106,6,.34);}
.course-landing--light .acc__head,.course-landing--light .acc__title{color:var(--ink-on-paper);}
.course-landing--light .acc__meta,.course-landing--light .acc__chevron{color:var(--muted-on-paper);}
.course-landing--light .acc__item.is-open .acc__chevron{color:var(--accent-ui);}
.course-landing--light .acc__panel p,.course-landing--light .acc__list li{color:var(--muted-on-paper);}
.course-landing--light .acc__list svg{color:var(--accent-ui);}

/* FAQ na jasnej sekcji (/newsletter/ — Paczka 12): akordeon light-native, reużyty wzór */
.section--light .acc__item{background:var(--paper-2);border:1px solid var(--hair-light);}
.section--light .acc__item.is-open{border-color:rgba(217,106,6,.34);}
.section--light .acc__head,.section--light .acc__title{color:var(--ink-on-paper);}
.section--light .acc__meta,.section--light .acc__chevron{color:var(--muted-on-paper);}
.section--light .acc__item.is-open .acc__chevron{color:var(--accent-ui);}
.section--light .acc__panel p,.section--light .acc__list li{color:var(--muted-on-paper);}
.section--light .acc__list svg{color:var(--accent-ui);}

/* — CO ZYSKASZ (gains) — */
.gains__col{display:flex;flex-direction:column;gap:14px;}
.gains__ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:rgba(217,106,6,.10);color:var(--accent-ui);border:1px solid rgba(217,106,6,.20);}
.gains__ico svg{width:23px;height:23px;}
.gains__title{font-size:1.12rem;letter-spacing:-.01em;color:var(--ink-on-paper);margin:0;}
.gains__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.gains__list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--muted-on-paper);line-height:1.5;}
.gains__list svg{width:17px;height:17px;color:#1d7a4d;flex:none;margin-top:2px;}

/* — W CENIE — */
.course-landing--light .included__item{background:var(--paper-2);border:1px solid var(--hair-light);}
.course-landing--light .included__ico{background:rgba(217,106,6,.10);color:var(--accent-ui);}
.course-landing--light .included__label{color:var(--ink-on-paper);}
.course-landing--light .included__value{color:var(--accent-on-paper);}

/* — JAK PRZYGOTOWAĆ (prepare) — */
.prepare__col{display:flex;flex-direction:column;gap:14px;}
.prepare__title{display:flex;align-items:center;gap:11px;font-size:1.1rem;color:var(--ink-on-paper);margin:0;}
.prepare__title svg{width:21px;height:21px;color:var(--accent-ui);flex:none;}
.prepare__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.prepare__list li{position:relative;padding-left:24px;font-size:14.5px;color:var(--muted-on-paper);line-height:1.55;}
.prepare__list li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--accent-ui);opacity:.55;}

/* — TERMINY selektor — */
.course-landing--light .ccard{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 22px 50px -38px rgba(22,18,14,.4);backdrop-filter:none;}
.course-landing--light .ccard__facts li{color:var(--muted-on-paper);}
.course-landing--light .ccard__facts b{color:var(--ink-on-paper);}
.course-landing--light .ccard__facts svg{color:var(--accent-ui);}
.course-landing--light .ccard__foot{border-top:1px solid var(--hair-light);}
.course-landing--light .ccard__price,.course-landing--light .ccard__price .amount{color:var(--ink-on-paper);}
.course-landing--light .selcard__pick{color:var(--accent-on-paper);}
.course-landing--light .selcard.is-selected{border-color:var(--accent-ui);box-shadow:0 0 0 1px var(--accent-ui),0 16px 34px -28px rgba(217,106,6,.30);}
.course-landing--light .selcard.is-selected .selcard__pick{color:var(--accent-on-paper);}
.course-landing--light .selcard.is-sold .selcard__pick{color:#b42318;}
.course-landing--light .pill--ok,.course-landing--light .pill--available{color:#1d7a4d;background:rgba(29,122,77,.10);}
.course-landing--light .pill--low,.course-landing--light .pill--last{color:#b45309;background:rgba(180,83,9,.12);}
.course-landing--light .pill--sold,.course-landing--light .pill--soldout{color:#b42318;background:rgba(180,35,24,.10);}
.course-landing--light .selector__bar{background:rgba(255,253,250,.92);border:1px solid var(--hair-light);box-shadow:0 24px 54px -36px rgba(22,18,14,.4);}
.course-landing--light .selector__label{color:var(--ink-on-paper);}
.course-landing--light .selector__hint{color:var(--muted-on-paper);}

/* — ROI — */
.course-landing--light .roi{background:radial-gradient(700px 300px at 100% 0,rgba(217,106,6,.10),transparent 60%),var(--paper-2);border:1px solid var(--hair-light);}
.course-landing--light .roi__field{color:var(--muted-on-paper);}
.course-landing--light .roi__slider-row output{color:var(--ink-on-paper);}
.course-landing--light .roi input[type=range]{background:#e7e0d6;}
.course-landing--light .roi__result{background:#f0ece4;border:1px solid var(--hair-light);}
.course-landing--light .roi__big,.course-landing--light .roi__sub{color:var(--muted-on-paper);}
.course-landing--light .roi__big b{color:var(--accent-ui);}

/* — PROWADZĄCA: mentor (wideo o mnie + 7× credentials) — */
.mentor{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;margin-bottom:clamp(34px,5vw,54px);}
.mentor__media{position:relative;aspect-ratio:16/11;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hair-light);box-shadow:0 32px 70px -42px rgba(22,18,14,.55);background:#0c0a09;}
.mentor__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,6,.05) 50%,rgba(10,8,6,.5));transition:opacity .3s var(--ease);}
.mentor__cap{position:absolute;left:14px;bottom:13px;z-index:2;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(10,8,6,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);padding:7px 13px;transition:opacity .3s var(--ease);}
.mentor__creds{min-width:0;}
.mentor__creds .eyebrow{margin-bottom:16px;}
.creds{list-style:none;margin:0;padding:0;display:grid;gap:13px;}
.creds li{display:flex;align-items:flex-start;gap:14px;font-size:14.5px;line-height:1.5;}
.creds__n{flex:none;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--accent-on-paper);width:24px;padding-top:1px;letter-spacing:.04em;}
.creds__t{color:var(--ink-on-paper);}
.mentor__starlead{display:block;text-align:center;margin:0 0 18px;}

/* — DRABINA poziomów — */
.course-landing--light .nextlevel:hover{border-color:var(--accent-ui);}
.course-landing--light .nextlevel__ico{background:rgba(217,106,6,.10);color:var(--accent-ui);}
.course-landing--light .nextlevel__name{color:var(--ink-on-paper);}
.course-landing--light .nextlevel__note{color:var(--muted-on-paper);}
.course-landing--light .nextlevel__arrow{color:var(--accent-ui);}

/* — CTA finałowe (.newsletter) + empty-state — */
.course-landing--light .newsletter{background:radial-gradient(600px 240px at 50% -20%,rgba(217,106,6,.12),transparent 62%),var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 36px 76px -44px rgba(22,18,14,.45);}
.course-landing--light .newsletter h2{color:var(--ink-on-paper);}
.course-landing--light .newsletter .lead{color:var(--muted-on-paper);}
.course-landing--light .empty-state{color:var(--muted-on-paper);}
.course-landing--light .btn--glass{background:var(--paper);border:1px solid var(--hair-light);color:var(--ink-on-paper);}

/* — BUYBAR light — */
.buybar--light{background:rgba(255,253,250,.9);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-top:1px solid var(--hair-light);box-shadow:0 -16px 40px -28px rgba(22,18,14,.4);}
.buybar--light .buybar__name{color:var(--ink-on-paper);}
.buybar--light .buybar__meta{color:var(--accent-on-paper);}

/* — MOBILE — */
@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:30px;}
  .course-hero__media{aspect-ratio:16/10;}
  .mentor{grid-template-columns:1fr;gap:26px;}
  .mentor__media{aspect-ratio:16/10;}
}
@media(max-width:560px){
  .course-hero--light .hero__title{font-size:clamp(1.75rem,7vw,2.3rem);}
  .vplay{width:62px;height:62px;}
  .vplay svg{width:26px;height:26px;}
}

/* — REDUCED MOTION — */
@media(prefers-reduced-motion:reduce){
  .vplay,.mentor__media::after,.mentor__cap{transition:none;}
}

/* ==========================================================================
   32b · STRONA KURSU — FIX full-bleed + POLISH premium (typografia · mandala · CTA)
   Feedback Roberta: czarne tło dookoła (taksonomia=.archive → kolumna), paddingi,
   CTA na całą szerokość, więcej oddechu, subtelna mandala sygnaturowa.
   ========================================================================== */

/* — ROOT FIX: taksonomia kursu to .archive → NIE ograniczaj main do kolumny — */
.archive .site-main.course-landing{max-width:none;margin-inline:0;padding:0;}

/* — Typografia: editorial, większy oddech — */
.course-landing--light .section{padding:clamp(66px,9vw,120px) 0;}
.course-landing--light .section--tight{padding:clamp(40px,6vw,80px) 0 clamp(66px,9vw,116px);}
.course-landing--light .section__head{margin-bottom:clamp(30px,4vw,52px);}
.course-landing--light .section__head h2{font-size:clamp(1.95rem,3.3vw,2.85rem);letter-spacing:-.032em;line-height:1.09;}
.course-landing--light .section__head .lead{font-size:clamp(1.02rem,1.35vw,1.16rem);line-height:1.62;max-width:62ch;margin-top:14px;}
.course-landing--light .eyebrow{font-size:11.5px;letter-spacing:.24em;}

/* — Hero: rytm + oddech — */
.course-hero--light .eyebrow{margin-bottom:22px;}
.course-hero--light .hero__title{margin:0 0 20px;}
.course-hero--light .course-hero__values{margin:24px 0 30px;gap:12px;}
.course-hero--light .course-hero__buy{gap:20px 28px;margin-bottom:16px;}

/* — Mandala sygnaturowa (hero, peek z rogu) — */
.course-hero__mandala{position:absolute;top:-64px;right:-72px;z-index:0;width:min(440px,42vw);
  color:var(--accent-ui);opacity:.06;pointer-events:none;}
.course-hero__mandala svg{width:100%;height:auto;display:block;}
.course-hero--light .hero__grid{position:relative;z-index:1;}

/* — CTA finałowe: band pełnej szerokości (.wrap), premium dark-warm + mandala — */
.course-cta{position:relative;overflow:hidden;border-radius:24px;text-align:center;
  padding:clamp(42px,6vw,78px) clamp(24px,5vw,72px);
  background:radial-gradient(120% 150% at 50% -12%,rgba(217,106,6,.32),transparent 56%),linear-gradient(160deg,#1c130b,#0b0806);
  border:1px solid rgba(255,255,255,.10);box-shadow:0 50px 100px -52px rgba(22,18,14,.7);}
.course-cta__mandala{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;
  width:min(560px,92%);color:#f6b35a;opacity:.10;pointer-events:none;}
.course-cta__mandala svg{width:100%;height:auto;display:block;}
.course-cta__inner{position:relative;z-index:1;max-width:660px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.course-cta .eyebrow{display:inline-flex;align-items:center;color:var(--accent-2);}
.course-cta .eyebrow::before{background:linear-gradient(90deg,transparent,var(--accent-2));}
.course-landing--light .course-cta__title{color:#fff;font-size:clamp(1.95rem,3.4vw,2.7rem);letter-spacing:-.03em;line-height:1.12;margin:14px 0 0;}
.course-landing--light .course-cta__lead{color:rgba(246,243,238,.82);font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.6;max-width:48ch;margin:16px auto 28px;}
.course-cta__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.course-cta__phone{background:transparent;border:1px solid rgba(255,255,255,.24);color:#fff;}
.course-cta__phone:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42);}
.course-cta__phone svg{width:17px;height:17px;}

/* — Gwiazdy „Zaufali jej”: ciemne kafle media → podpisy MUSZĄ zostać jasne — */
/* (generyczny .course-landing--light b/strong=ink wygrywał remis z .star__name b → czarne imiona) */
.course-landing--light .star__name b{color:#fff;}
.course-landing--light .star__name span{color:var(--gold-2);}

/* — Drabina: pojedyncza karta nie rozjeżdża siatki — */
.course-landing--light .grid.g2>.nextlevel:only-child{max-width:560px;}

/* — Mobile — */
@media(max-width:600px){
  .course-hero__mandala{top:-30px;right:-96px;width:270px;opacity:.05;}
  .course-cta{padding:38px 22px;}
  .course-cta__actions .btn{width:100%;justify-content:center;}
  /* rytm pionowy: ciaśniej, mniej „martwego” zapasu */
  .course-landing--light .section{padding:clamp(46px,11vw,64px) 0;}
  .course-landing--light .section--tight{padding:clamp(34px,9vw,48px) 0 clamp(48px,12vw,68px);}
  .course-landing--light .section__head{margin-bottom:22px;}
  .course-landing--light .section__head h2{font-size:clamp(1.7rem,6.6vw,2.1rem);}
  /* hero: cena/CTA w pionie, mniejszy „Zapytaj o termin”, mniej przerw */
  .course-hero--light .course-hero__buy{flex-direction:column;align-items:flex-start;gap:14px;}
  .course-hero--light .course-hero__buy .btn{width:100%;justify-content:center;}
  .course-hero--light .course-hero__amount{font-size:1.55rem;}
  .course-hero--light .hero__lead{margin-bottom:20px;}
  .course-hero--light .course-hero__values{margin:20px 0 24px;}
  /* gwiazdy: równe odstępy */
  .course-landing--light .star-grid{gap:12px;}
}

/* ==========================================================================
   33 · STRONA TERMINU (single-product) — LIGHT premium, kompakt
   Spójna z landingiem: ten sam scope .course-landing--light + tokeny on-paper.
   Buy box dominuje (strona transakcyjna), okładka węższa. Natywny add-to-cart
   i UI zaliczki (FunnelKit) NIETKNIĘTE — zmienia się tylko skóra na jasną.
   Cascade-guard: ciemne kolory natywnego formularza Woo → jawnie na ink/muted.
   ========================================================================== */

/* — Breadcrumb na jasnym — */
.course-landing--light .breadcrumb{background:var(--paper-2);border-bottom:1px solid var(--hair-light);}
.course-landing--light .breadcrumb a{color:var(--muted-on-paper);}
.course-landing--light .breadcrumb a:hover{color:var(--accent-on-paper);}
.course-landing--light .breadcrumb__sep{color:var(--dim-on-paper);}
.course-landing--light .breadcrumb__current{color:var(--ink-on-paper);}

/* — Hero kompakt: buy box dominuje, okładka LANDSCAPE dopasowana wysokością (equal-height) —
   F4 white polish: hero na czystszej bieli (--paper-2) + delikatny separator. */
.single-termin .termin-hero{padding:clamp(30px,4.8vw,60px) 0 clamp(22px,3.2vw,40px);background:var(--paper-2);border-bottom:1px solid var(--hair-light);}
.single-termin.course-landing--light .termin-hero__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:stretch;gap:clamp(22px,3.4vw,46px);}

/* Okładka wypełnia wysokość kolumny (= buy box). Bez proporcji 4/5 → zero „martwej strefy". */
.single-termin .termin-hero .ccover{height:100%;aspect-ratio:auto;min-height:clamp(340px,40vw,480px);}
.single-termin .termin-hero .ccover__img,
.single-termin .termin-hero .ccover__video{object-position:center 32%;}
/* Łagodniejszy scrim: góra czysta (foto oddycha), gradient skupiony w dolnych ~45% → biały tytuł czytelny, bez płaskiej dziury. */
.single-termin .termin-hero .ccover__scrim{background:linear-gradient(180deg,rgba(11,8,6,0) 0%,rgba(11,8,6,0) 46%,rgba(11,8,6,.34) 66%,rgba(11,8,6,.82) 100%);}

/* 🐛 CASCADE-GUARD (ten bug!): ciemna okładka w light scope — generyczne
   `.course-landing--light p` (spec 0,1,1) nadpisywało `.ccover__title` (0,1,0)
   → tytuł renderował się ciemnym brązem na czarnej okładce (niewidoczny).
   Jawny override (0,2,0) wygrywa. Eyebrow/sig = sanity. */
.course-landing--light .ccover__title{color:#fff;}
.course-landing--light .ccover__eyebrow{color:var(--accent-2);}
.course-landing--light .ccover__sig{color:rgba(255,255,255,.74);}
.course-landing--light .ccover__sig svg{color:var(--accent-2);}

@media(max-width:920px){
  .single-termin.course-landing--light .termin-hero__grid{grid-template-columns:1fr;align-items:start;}
  /* Mobile: okładka krótsza (landscape 16/10) → buy box szybko widoczny. */
  .single-termin .termin-hero .ccover{height:auto;aspect-ratio:16/10;min-height:0;max-width:none;margin-inline:0;}
}

/* — Buy box: jasna karta premium — */
.course-landing--light .buybox{background:var(--paper-2);border:1px solid var(--hair-light);box-shadow:0 34px 70px -42px rgba(22,18,14,.5);}
.course-landing--light .buybox__title{color:var(--ink-on-paper);}
.course-landing--light .buybox__meta span{color:var(--muted-on-paper);}
.course-landing--light .buybox__meta b{color:var(--ink-on-paper);}
.course-landing--light .buybox__meta svg{color:var(--accent-ui);}
.course-landing--light .buybox__price,.course-landing--light .buybox__price .amount,.course-landing--light .buybox__price ins{color:var(--ink-on-paper);}
.course-landing--light .buybox__price del,.course-landing--light .buybox__price del .amount{color:var(--dim-on-paper);}
.course-landing--light .buybox__deposit{background:rgba(217,106,6,.08);border:1px solid rgba(217,106,6,.26);color:var(--muted-on-paper);}
.course-landing--light .buybox__deposit svg{color:var(--accent-ui);}
.course-landing--light .buybox__deposit b{color:var(--accent-on-paper);}
.course-landing--light .buybox__trust li{color:var(--muted-on-paper);}
.course-landing--light .buybox__trust svg{color:#1d7a4d;}
.course-landing--light .buybox__help{color:var(--muted-on-paper);}
.course-landing--light .buybox__help a{color:var(--accent-on-paper);}

/* — Natywny formularz Woo + UI zaliczki (FunnelKit) na jasnym — */
/* Bazowy kolor tekstu formularza = ink (labely, opisy, opcje zaliczki dziedziczą).
   Przycisk add-to-cart ma własny color:#fff (gradient) → nietknięty. */
.course-landing--light .buybox__form{color:var(--ink-on-paper);}
.course-landing--light .buybox__form a:not(.button):not(.single_add_to_cart_button){color:var(--accent-on-paper);}
.course-landing--light .buybox__form label{color:var(--ink-on-paper);}
/* F3 — natywny „X w magazynie" / „Brak w magazynie" = duplikat pilla u góry → ukryj
   (pill niesie FOMO: „Ostatnie N miejsc" / „Wolne miejsca" / „Brak wolnych miejsc"). Nie rusza logiki koszyka. */
.course-landing--light .buybox__form .stock,.course-landing--light .buybox__form .out-of-stock{display:none;}
.course-landing--light .buybox__form .quantity input.qty{background:var(--paper);border:1px solid var(--hair-light);color:var(--ink-on-paper);}
.course-landing--light .buybox__form .woocommerce-variation-price,.course-landing--light .buybox__form .price,.course-landing--light .buybox__form .price .amount{color:var(--ink-on-paper);}

/* 🐛 F2 — Fiolet WooCommerce (#a46497, hover #935988) przebijał na :hover/:focus/:active,
   bo motyw ustawiał gradient TYLKO w stanie bazowym. Wymuś var(--grad)+#fff we WSZYSTKICH
   stanach (spec 0,4,1 > Woo 0,3,1 + !important na tle — gwarancja zero fioletu). */
.course-landing--light .buybox__form button.single_add_to_cart_button,
.course-landing--light .buybox__form button.single_add_to_cart_button:hover,
.course-landing--light .buybox__form button.single_add_to_cart_button:focus,
.course-landing--light .buybox__form button.single_add_to_cart_button:active{
  background:var(--grad) !important;background-color:#a84f02 !important;color:#241402 !important;border-color:transparent;}
.course-landing--light .buybox__form button.single_add_to_cart_button:focus-visible{outline:2px solid var(--accent-on-paper);outline-offset:2px;}
/* Inne przyciski Woo/FunnelKit w buy boxie (np. plan zaliczki) — też pomarańczowe, nigdy fiolet. */
.course-landing--light .buybox__form .button,
.course-landing--light .buybox__form .button:hover,
.course-landing--light .buybox__form .button:focus,
.course-landing--light .buybox__form .button:active{background:var(--grad) !important;color:#241402 !important;border-color:transparent;}
/* Accent inputów/radio/checkbox (wybór zaliczka/całość, ilość) — pomarańcz, nie systemowy niebieski/fiolet. */
.course-landing--light .buybox__form input[type="radio"],
.course-landing--light .buybox__form input[type="checkbox"],
.course-landing--light .buybox__form .quantity input.qty{accent-color:var(--accent-on-paper);}

/* — Logistyka na jasnym — */
.course-landing--light .logistics__ico{background:rgba(217,106,6,.10);color:var(--accent-on-paper);}
.course-landing--light .logistics__item h4{color:var(--ink-on-paper);}
.course-landing--light .logistics__item p{color:var(--muted-on-paper);}

/* — Skrót kursu — */
.course-landing--light .course-summary .lead{color:var(--muted-on-paper);}

/* — Opinie na jasnym (single-product używa .review, brak .section--light) — */
.course-landing--light .review__text{color:var(--ink-on-paper);opacity:1;}
.course-landing--light .review__stars{color:#bd7d18;}
.course-landing--light .review__who{border-top:1px solid var(--hair-light);}
.course-landing--light .review__av{background:rgba(217,106,6,.10);border:1px solid rgba(217,106,6,.28);color:var(--accent-on-paper);}
.course-landing--light .review__name{color:var(--ink-on-paper);}
.course-landing--light .review__src{color:var(--dim-on-paper);}

/* — Sticky buy bar: przycisk czytelny na jasnym pasku (gradient zostaje) — */
.buybar--light .btn--primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 26px -10px var(--glow);}

/* ==========================================================================
   26 · TREŚĆ PO ELEMENTORZE W `.prose` — 2026-07-29 (Robert Palka)

   `.prose` (template-parts/content-page.php) dostaje surową treść stron, które
   zostały po Elementorze. Elementor wnosił własny reset (m.in. `svg{width:1em}`)
   i po jego wyłączeniu markup renderuje się bez żadnych wymiarów. Efekt na
   `/szkolenia-indywidualne/` (strona w menu głównym): dokument miał **28 562 px**
   wysokości przy szerokości 768 px — ~37 ekranów, w większości pustych.
   Dotyczy też `/powodzenie/` i `/thank-you-page/`.
   Wszystko poniżej jest ZAMKNIĘTE W `.prose`, bo własne szablony (`page-o-mnie`,
   `page-kontakt`, `page-campy-masazowe`) też mają SVG bez atrybutów width/height,
   ale te są wymiarowane własnymi klasami i nie wolno ich ruszyć.
   ========================================================================== */

/* Ikony bez `width`/`height` domyślnie zajmują 100% szerokości rodzica i liczą
   wysokość z `viewBox` — 18 sztuk rozdymało się do 676×601…676×902 px, czyli
   ~12 000 px samej pustki. Atrybut jest jedynym pewnym rozróżnieniem, bo te
   ikony nie mają żadnej klasy. */
.prose svg:not([width]){
  width:1.45em;height:1.45em;flex:none;
  display:inline-block;vertical-align:-.22em;
  color:var(--accent-ui);            /* grafika → próg 3:1, nie 4.5:1 */
  fill:currentColor;                 /* bez tego dziedziczą domyślną czerń SVG */
}
/* Ikony konturowe mają `fill="none"` i `stroke-width`, ale NIE MAJĄ atrybutu
   `stroke` — a domyślny `stroke` w SVG to `none`, więc 11 z 18 nie rysowało się
   w ogóle (Elementor podawał kolor swoim CSS-em). Atrybut na `<svg>` przegrywa
   z regułą CSS, dlatego `fill:none` trzeba tu powtórzyć jawnie. */
.prose svg:not([width])[fill="none"]{fill:none;stroke:currentColor;}
/* Część ikon ma kolor wpisany wprost w ścieżkę (`stroke="white"` — Elementor
   stawiał je na ciemnym tle). Dziedziczenie z `<svg>` przegrywa z atrybutem
   dziecka, więc na kremowym `--paper` 5 ikon na `/powodzenie/` było białe na
   białym. Reguła CSS bije atrybut prezentacyjny, `fill="none"` zostaje. */
.prose svg:not([width]) [fill]:not([fill="none"]){fill:currentColor;}
.prose svg:not([width]) [stroke]:not([stroke="none"]){stroke:currentColor;}
/* Biel gasimy TAKŻE w ikonach z własnym `width` — tam rozmiaru nie ruszamy, ale
   kolor i tak jest nie do uratowania: wewnątrz `.prose` nie ma ani jednego
   ciemnego tła (sprawdzone na produkcji — każde białe `<path>` leży na kremie
   o luminancji 0.96), więc `white` zawsze znaczy „niewidoczne". Bez tego 5 ikon
   na `/powodzenie/` zostawało białych na białym mimo reguł wyżej. */
.prose svg [fill="white"]{fill:currentColor;}
.prose svg [stroke="white"]{stroke:currentColor;}
.prose svg[width]{color:var(--accent-ui);}
/* Akapit, w którym została sama ikona, ma być kreską oddzielającą, nie blokiem. */
.prose p>svg:only-child{display:block;margin:1.6em 0 .2em;}

/* Nagłówki, których stary motyw nie stylował: h5/h6 spadały do domyślnych
   rozmiarów przeglądarki (h6 renderowało się jako **10,9 px** — mniej niż tekst
   akapitu, więc hierarchia była odwrócona). */
.prose h5{font-size:1.02rem;font-weight:700;color:var(--ink-on-paper);margin:1.5em 0 .4em;line-height:1.35;}
.prose h6{font-size:.98rem;font-weight:700;color:var(--ink-on-paper);margin:1.4em 0 .35em;line-height:1.35;letter-spacing:0;}

/* Puste akapity (22 szt.) i akapity niosące wyłącznie relikty microdanych
   schema.org (`<meta itemprop="worstRating">` — 21 szt.). `:has()` jest tu
   bezpieczne: Safari 15.4+/Chrome 105+, a starsze przeglądarki po prostu
   zobaczą to, co dziś, czyli 29 px pustej przerwy. */
.prose p:empty{display:none;}
.prose p:has(>meta):not(:has(>:not(meta):not(br))){display:none;}

/* Serie `<br>` po flatteningu widgetów Elementora (156 szt. na jednej stronie)
   — drugi i kolejny z rzędu robił po ~29 px przerwy każdy. */
.prose br+br{display:none;}

/* Bloki `<article>` bez klas to karty korzyści (ikona + h3 + zdanie). Bez stylu
   każda miała 767 px wysokości przez rozdętą ikonę. */
.prose article{
  display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start;
  background:var(--paper-2);border:1px solid var(--hair-light);border-radius:var(--r-lg);
  padding:20px 22px;margin:0 0 12px;
}
.prose article>svg{grid-row:1/span 3;align-self:center;width:26px;height:26px;margin:0;}
.prose article>p:empty{display:none;}
.prose article h3,.prose article h4,.prose article h5,.prose article h6{grid-column:2;margin:0 0 4px;font-size:1.06rem;}
.prose article p{grid-column:2;margin:0;font-size:14.5px;line-height:1.6;}

/* `.prose` ma 760 px, ale karty czytają się lepiej parami na szerokim ekranie.
   Bez wrappera w treści nie da się zrobić gridu na rodzeństwie, więc zostają
   ułożone pionowo — świadoma decyzja, nie przeoczenie. */
