/* ============================================================
   podstawowa.pl — style motywu (konwersja z projektu Claude Design)
   Źródło prawdy: repo podstawowa-pl/theme. Nie edytować na serwerze.
   Struktura: 1. fonty  2. tokens  3. baza  4. helpery  5. sekcje (sec-*)
   ============================================================ */

/* --- 1. Fonty: Nunito variable 400–900, self-host --- */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/nunito-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/nunito-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- 2. Design tokens (z eksportu Claude Design, 2026-07-19) --- */
:root {
  --pd-navy: #232D4B;
  --pd-green: #81BD51;
  --pd-green-dark: #6FA043;
  --pd-green-deep: #5D8C3A;
  --pd-ink-2: #374151;
  --pd-ink-3: #4B5563;
  --pd-gray: #6B7280;
  --pd-gray-2: #9CA3AF;
  --pd-kicker: #56635F;
  --pd-bg-mint: #D2E5E1;
  --pd-bg-mint-2: #EAF3F0;
  --pd-bg-soft: #EEF1F0;
  --pd-bg-tint: #F7FAF5;
  --pd-r-sm: 11px;
  --pd-r: 14px;
  --pd-r-md: 16px;
  --pd-r-lg: 20px;
  --pd-r-xl: 24px;
  --pd-r-pill: 999px;
  --pd-w-content: 760px;
  --pd-w-wide: 1180px;
  --pd-shadow-card: 0 10px 26px rgba(35, 45, 75, .10);
}

/* --- 3. Baza --- */
/* Wrappery części szablonu nie mogą tworzyć boksów — inaczej sticky header
   kleiłby się tylko w obrębie własnego wrappera. */
.wp-block-template-part { display: contents; }

body {
  margin: 0;
  font-family: Nunito, system-ui, sans-serif;
  color: var(--pd-navy);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--pd-green); }
/* przyciski nie zielenieją na hover — trzymają własne kolory */
.pd-btn--primary .wp-block-button__link:hover, .pd-nav-cta:hover, .pd-mobile-menu__cta:hover,
.sec-cennik__btn--navy .wp-block-button__link:hover { color: #fff; }
.pd-btn--light .wp-block-button__link:hover, .pd-btn--white .wp-block-button__link:hover { color: var(--pd-navy); }
h1, h2, h3, h4 { letter-spacing: -.02em; }

/* akordeony (FAQ) — jak w projekcie */
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
details[open] .faq-chev { transform: rotate(180deg); }

/* --- 4. Helpery --- */
.pd-kicker {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pd-kicker);
  font-weight: 800;
}
.pd-card {
  transition: box-shadow .2s, border-color .2s;
}
.pd-card:hover {
  border-color: var(--pd-green);
  box-shadow: var(--pd-shadow-card);
}

/* --- 5. Topbar + header + nawigacja --- */
.pd-topbar { background: var(--pd-navy); color: rgba(255,255,255,.85); }
.pd-topbar__inner { max-width: var(--pd-w-wide); margin: 0 auto; padding: 0 28px; height: 38px; display: flex; align-items: center; justify-content: flex-end; gap: 20px; font-size: 13px; font-weight: 600; }
.pd-topbar__inner a { text-decoration: none; }
.pd-topbar__sep { opacity: .3; }

.site-header { background: #fff; border-bottom: 1px solid var(--pd-bg-soft); position: sticky; top: 0; z-index: 50; }
.site-header__inner { max-width: var(--pd-w-wide); margin: 0 auto; padding: 0 28px; height: 76px; display: flex; align-items: center; justify-content: space-between; }
.pd-logo { display: flex; align-items: center; gap: 11px; text-decoration: none; color: inherit; }
.pd-logo__badge { width: 38px; height: 38px; border-radius: var(--pd-r-sm); background: var(--pd-green); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 900; font-size: 20px; box-shadow: 0 4px 12px rgba(129,189,81,.32); }
.pd-logo__text { line-height: 1.05; }
.pd-logo__name { display: block; font-weight: 900; font-size: 19px; color: var(--pd-navy); }
.pd-logo__sub { display: block; font-size: 11px; font-weight: 700; color: var(--pd-green); letter-spacing: .04em; }

.desktop-nav { display: flex; align-items: center; gap: 22px; font-size: 14.5px; font-weight: 700; color: #3a4555; }
.desktop-nav a { text-decoration: none; color: inherit; }
.nav-link.is-active, .pd-topbar a.is-active { color: var(--pd-green); }
.pd-nav-cta { background: var(--pd-green); color: #fff !important; padding: 11px 22px; border-radius: var(--pd-r-pill); box-shadow: 0 6px 16px rgba(129,189,81,.32); margin-left: 4px; }
.pd-nav-cta:hover { filter: brightness(1.05); }

.mega-wrap { position: relative; display: inline-block; }
.mega-trigger { display: inline-flex; align-items: center; gap: 5px; }
.mega-panel { opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: all .18s; position: absolute; top: 34px; left: 50%; background: #fff; box-shadow: 0 20px 50px rgba(35,45,75,.18); border: 1px solid var(--pd-bg-soft); z-index: 60; }
.mega-wrap:hover .mega-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.mega-panel--simple { width: 240px; border-radius: var(--pd-r); padding: 10px 0; }
.mega-panel--simple a { display: block; padding: 10px 20px; font-size: 14px; font-weight: 600; color: #3a4555; }
.mega-panel--grid { width: 560px; border-radius: 18px; padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mega-col__label { font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--pd-green); text-transform: uppercase; margin-bottom: 12px; }
.mega-col a { display: block; font-size: 14px; font-weight: 600; color: #3a4555; padding: 7px 0; }
.mega-col--tinted { background: #f5f9f3; border-radius: 12px; padding: 18px; margin: -6px; }
.mega-col--tinted a.mega-strong { font-weight: 700; color: var(--pd-navy); }

.mobile-nav-btn { display: none; width: 46px; height: 46px; border-radius: 12px; background: #f2f5f3; align-items: center; justify-content: center; color: var(--pd-navy); flex-shrink: 0; border: 0; cursor: pointer; }

.pd-mobile-menu { display: none; position: sticky; top: 114px; z-index: 49; background: #fff; border-bottom: 1px solid var(--pd-bg-soft); box-shadow: 0 14px 28px rgba(35,45,75,.10); padding: 10px 18px 18px; }
body.pd-mobile-open .pd-mobile-menu { display: block; }
.pd-mobile-menu a { display: flex; align-items: center; min-height: 48px; font-size: 16px; font-weight: 700; color: #3a4555; border-bottom: 1px solid #f2f5f3; text-decoration: none; }
.pd-mobile-menu__row { display: flex; gap: 16px; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--pd-gray); }
.pd-mobile-menu__row a { min-height: auto; border: 0; }
.pd-mobile-menu__cta { display: flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 14px; background: var(--pd-green); color: #fff !important; font-size: 16px; font-weight: 800; border-radius: 12px; box-shadow: 0 8px 18px rgba(129,189,81,.3); border-bottom: 0 !important; }

@media (max-width: 960px) {
  .desktop-nav { display: none; }
  .mobile-nav-btn { display: inline-flex; }
  .pd-topbar { display: none; }          /* export-2: topbar znika na mobile */
  .pd-mobile-menu { top: 76px; }         /* menu klei się pod samym headerem */
}

/* kotwice pod sticky headerem (scroll z mega-menu) */
[id] { scroll-margin-top: 96px; }

/* --- 6. Footer --- */
.site-footer { background: var(--pd-navy); color: #fff; padding: 56px 28px 32px; }
.site-footer__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12); }
.site-footer__about { font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.6; margin: 0 0 20px; font-weight: 500; max-width: 280px; }
.pd-contact { display: flex; flex-direction: column; gap: 14px; }
.pd-contact__item { display: flex; align-items: center; gap: 12px; font-size: 14px; color: rgba(255,255,255,.8); text-decoration: none; }
.pd-contact__icon { width: 40px; height: 40px; background: rgba(129,189,81,.12); border-radius: var(--pd-r-sm); display: flex; align-items: center; justify-content: center; border: 1px solid rgba(129,189,81,.25); flex-shrink: 0; }
.pd-contact__label { display: block; font-size: 11px; color: rgba(255,255,255,.45); margin-bottom: 2px; font-weight: 600; }
.pd-contact__value { font-weight: 700; }
.site-footer__heading { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 16px; }
.site-footer__links { display: flex; flex-direction: column; gap: 11px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.75); }
.site-footer__links a { text-decoration: none; }
.site-footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; padding-top: 24px; font-size: 13px; color: rgba(255,255,255,.45); font-weight: 500; }
.site-footer__bottom a { text-decoration: none; }
@media (max-width: 960px) { .site-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .site-footer__grid { grid-template-columns: 1fr; } }

/* --- 7. Wspólne klocki sekcji --- */
.pd-green-text { color: var(--pd-green); background: none; }
.pd-icon { width: 40px; height: 40px; border-radius: 12px; background: rgba(129,189,81,.14); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.pd-icon--lg { width: 52px; height: 52px; border-radius: var(--pd-r-md); margin-bottom: 18px; }
.pd-icon--green { background: var(--pd-green); }
.pd-icon--navy { background: var(--pd-navy); }
.pd-icon--mint { background: var(--pd-bg-mint); }
.pd-icon--dark { width: 38px; height: 38px; border-radius: var(--pd-r-sm); background: rgba(129,189,81,.2); margin-bottom: 10px; }

.wp-block-button .wp-block-button__link { text-decoration: none; font-weight: 800; border-radius: var(--pd-r-pill); }
.pd-btn--primary .wp-block-button__link { background: var(--pd-green); color: #fff; padding: 16px 34px; font-size: 16px; box-shadow: 0 10px 24px rgba(129,189,81,.34); }
.pd-btn--light .wp-block-button__link { background: #fff; color: var(--pd-navy); padding: 16px 34px; font-size: 16px; }
.pd-btn--sm .wp-block-button__link { padding: 13px 26px; font-size: 14.5px; box-shadow: none; }

/* --- 8. Strona główna: hero --- */
.sec-hero { position: relative; background: linear-gradient(180deg, #D2E5E1, #eaf3f0 65%, #fff); padding: 64px 28px 72px; overflow: hidden; }
.sec-hero__blob { position: absolute; border-radius: 50%; }
.sec-hero__blob--1 { top: 50px; left: 7%; width: 130px; height: 130px; background: rgba(129,189,81,.16); }
.sec-hero__blob--2 { bottom: 70px; right: 10%; width: 90px; height: 90px; background: rgba(35,45,75,.07); }
.sec-hero__blob--3 { top: 150px; right: 22%; width: 42px; height: 42px; background: rgba(129,189,81,.22); }
.sec-hero__inner { position: relative; max-width: 820px; margin: 0 auto; text-align: center; }
.sec-hero__badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; background: #fff; border-radius: var(--pd-r-pill); margin: 0 0 24px; font-size: 13px; font-weight: 800; box-shadow: 0 4px 14px rgba(35,45,75,.07); }
.sec-hero__badge::before { content: ""; width: 9px; height: 9px; background: var(--pd-green); border-radius: 50%; animation: pulseDot 1.6s infinite; }
@keyframes pulseDot { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.sec-hero__title { font-size: 52px; line-height: 1.08; font-weight: 900; margin: 0 0 20px; }
.sec-hero__lead { font-size: 19px; line-height: 1.6; color: #46514a; margin: 0 auto 16px; max-width: 660px; font-weight: 500; }
.sec-hero__meta-wrap { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0 0 30px; }
.sec-hero__meta { font-size: 14px; font-weight: 800; color: var(--pd-kicker); letter-spacing: .02em; margin: 0; }
.sec-hero__perm { display: inline-flex; align-items: center; gap: 12px; background: #fff; border: 1px solid rgba(35,45,75,.14); border-radius: var(--pd-r); padding: 10px 20px; box-shadow: 0 6px 18px rgba(35,45,75,.07); }
.sec-hero__perm .wp-block-image { margin: 0; flex-shrink: 0; }
.sec-hero__perm .wp-block-image img { width: 26px; height: 30px; object-fit: contain; }
.sec-hero__perm p { font-size: 13.5px; font-weight: 800; color: var(--pd-navy); margin: 0; }
.sec-hero__cta.wp-block-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.sec-hero__usp { position: relative; max-width: 1100px; margin: 48px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sec-hero__usp-card { background: #fff; border-radius: 18px; padding: 22px; box-shadow: 0 8px 24px rgba(35,45,75,.06); }
.sec-hero__usp-card p { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.4; }

/* --- 9. Strona główna: dlaczego ED z Ramus --- */
.sec-why { padding: 72px 28px; max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-why__head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.sec-why__head h2 { font-size: 38px; font-weight: 900; margin: 0 0 12px; }
.sec-why__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sec-why__card { padding: 34px; border-radius: var(--pd-r-xl); background: #fff; border: 2px solid var(--pd-bg-soft); box-shadow: 0 8px 24px rgba(35,45,75,.05); }
.sec-why__card--accent { background: linear-gradient(165deg, rgba(129,189,81,.10), rgba(129,189,81,.03)); border-color: rgba(129,189,81,.20); box-shadow: none; }
.sec-why__card h3 { font-size: 20px; font-weight: 800; margin: 0 0 10px; }
.sec-why__card p { font-size: 15px; color: var(--pd-ink-3); line-height: 1.6; margin: 0; font-weight: 500; }

/* --- 10. Strona główna: serce modelu (mentoring) --- */
.sec-serce { background: var(--pd-navy); color: #fff; padding: 76px 28px; }
.sec-serce__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-serce__head { text-align: center; max-width: 680px; margin: 0 auto 12px; }
.sec-serce__head .pd-kicker { color: var(--pd-green); margin: 0 0 16px; }
.sec-serce__head h2 { font-size: 40px; font-weight: 900; margin: 0 0 14px; }
.sec-serce__head .sec-serce__lead { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,.78); margin: 0 auto 44px; max-width: 600px; font-weight: 500; }
.sec-serce__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.sec-serce__card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: var(--pd-r-lg); padding: 26px; }
.sec-serce__card .sec-serce__num { font-size: 30px; font-weight: 900; color: var(--pd-green); margin: 0 0 10px; }
.sec-serce__card h3 { font-size: 16px; font-weight: 800; margin: 0 0 8px; }
.sec-serce__card p { font-size: 13.5px; color: rgba(255,255,255,.66); line-height: 1.55; margin: 0; font-weight: 500; }
.sec-serce__banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 32px; padding: 20px 26px; background: rgba(129,189,81,.12); border: 1px solid rgba(129,189,81,.3); border-radius: var(--pd-r-md); }
.sec-serce__banner p { margin: 0; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.85); }
.sec-serce__banner b { color: var(--pd-green); }

/* --- 11. Responsywność sekcji strony głównej --- */
@media (max-width: 960px) {
  .sec-hero__usp, .sec-serce__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .sec-hero { padding: 44px 18px; }
  .sec-hero__title { font-size: 31px; line-height: 1.15; }
  .sec-hero__usp, .sec-serce__grid, .sec-why__grid { grid-template-columns: 1fr; }
  .sec-why { padding: 44px 18px; }
  .sec-why__head h2, .sec-serce__head h2 { font-size: 26px; line-height: 1.2; }
  .sec-serce { padding: 44px 18px; }
  .sec-why__card { padding: 24px; }
}

/* --- 12. Klocki list z checkmarkiem (tekst zostaje edytowalny) --- */
.pd-check { display: flex; gap: 11px; align-items: flex-start; font-size: 15px; font-weight: 600; color: var(--pd-ink-2); margin: 0; }
.pd-check::before { content: ""; flex-shrink: 0; width: 19px; height: 19px; margin-top: 2px; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2381BD51" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') no-repeat center / contain; }
.pd-check-list { display: flex; flex-direction: column; gap: 13px; }

/* --- 13. Strona główna: dwa filary --- */
.sec-filary { padding: 72px 28px; max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-filary__head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.sec-filary__head h2 { font-size: 38px; font-weight: 900; margin: 0 0 12px; }
.sec-filary__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.sec-filary__card { padding: 38px; border-radius: 28px; background: var(--pd-bg-tint); border: 2px solid var(--pd-bg-soft); }
.sec-filary__card--accent { background: linear-gradient(165deg, rgba(129,189,81,.10), rgba(129,189,81,.03)); border-color: rgba(129,189,81,.22); }
.sec-filary__title { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; }
.sec-filary__title .pd-icon { width: 44px; height: 44px; border-radius: 13px; margin: 0; }
.sec-filary__title h3 { font-size: 22px; font-weight: 900; margin: 0; }

/* --- 14. Strona główna: etapy 1–8 --- */
.sec-etapy { background: var(--pd-bg-mint); padding: 72px 28px; }
.sec-etapy__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-etapy__head { text-align: center; max-width: 680px; margin: 0 auto 44px; }
.sec-etapy__head h2 { font-size: 38px; font-weight: 900; margin: 0 0 12px; }
.sec-etapy__head p { font-size: 17px; color: var(--pd-kicker); margin: 0; font-weight: 500; }
.sec-etapy__grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 22px; align-items: start; }
.sec-etapy__card { background: #fff; border-radius: var(--pd-r-xl); padding: 32px; border: 2px solid transparent; position: relative; }
.sec-etapy__card--featured { border-color: var(--pd-green); box-shadow: 0 14px 34px rgba(129,189,81,.16); }
.sec-etapy__flag { position: absolute; top: -13px; left: 32px; background: var(--pd-green); color: #fff; font-size: 12px; font-weight: 800; padding: 5px 14px; border-radius: var(--pd-r-pill); margin: 0; }
.sec-etapy__num { width: 60px; height: 60px; border-radius: 18px; background: var(--pd-green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 900; margin: 8px 0 16px; }
.sec-etapy__num--navy { background: var(--pd-navy); }
.sec-etapy__num--gray { background: var(--pd-gray-muted, #9aa6a3); }
.sec-etapy__card h3 { font-size: 21px; font-weight: 900; margin: 0 0 8px; }
.sec-etapy__card p { font-size: 14.5px; color: var(--pd-ink-3); line-height: 1.6; margin: 0 0 16px; font-weight: 500; }
.sec-etapy__card em { color: #9aa6a3; }
.sec-etapy__more { font-size: 14px; font-weight: 800; }
.sec-etapy__more a { color: var(--pd-green); text-decoration: none; }

/* --- 15. Strona główna: pełnoprawna szkoła + ekosystem --- */
.sec-ciaglosc { padding: 72px 28px; max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-ciaglosc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.sec-ciaglosc__left .pd-kicker { letter-spacing: .14em; color: var(--pd-green); margin: 0 0 14px; }
.sec-ciaglosc__left h2 { font-size: 34px; font-weight: 900; margin: 0 0 18px; line-height: 1.15; }
.sec-ciaglosc__left .pd-check-list { margin-bottom: 24px; }
.sec-ciaglosc__note { font-size: 15px; color: var(--pd-kicker); font-weight: 600; margin: 0; line-height: 1.6; }
.sec-ciaglosc__right { display: flex; flex-direction: column; gap: 14px; }
.pd-eco-here { background: var(--pd-green); color: #fff; border-radius: 18px; padding: 22px 24px; display: flex; align-items: center; gap: 16px; box-shadow: 0 10px 26px rgba(129,189,81,.22); }
.pd-eco-here__badge { width: 46px; height: 46px; border-radius: 13px; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 13px; flex-shrink: 0; }
.pd-eco-here p { margin: 0; }
.pd-eco-here__name { font-weight: 900; font-size: 16px; }
.pd-eco-here__sub { font-size: 13px; opacity: .85; font-weight: 600; }
details.pd-eco-card { background: #fff; border: 2px solid var(--pd-bg-soft); border-radius: 18px; padding: 22px 24px; transition: box-shadow .2s, border-color .2s; }
details.pd-eco-card:hover { border-color: var(--pd-green); box-shadow: var(--pd-shadow-card); }
details.pd-eco-card summary { display: grid; grid-template-columns: 46px 1fr 18px; column-gap: 16px; align-items: center; font-weight: 900; font-size: 16px; color: var(--pd-navy); }
details.pd-eco-card summary::before { content: ""; grid-column: 1; grid-row: 1 / 3; width: 46px; height: 46px; border-radius: 13px; background-color: var(--pd-bg-mint); background-repeat: no-repeat; background-position: center; background-size: 22px 22px; }
details.pd-eco-card--liceum summary::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23232D4B" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10v6M2 10l10-5 10 5-10 5z"/><path d="M6 12v5c3 3 9 3 12 0v-5"/></svg>'); }
details.pd-eco-card--branzowa summary::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23232D4B" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4l4 4M3 21l4-1 11-11-3-3L4 17z"/></svg>'); }
details.pd-eco-card summary::after { content: ""; grid-column: 3; grid-row: 1 / 3; width: 18px; height: 18px; transition: transform .2s; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%239ca3af" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>') no-repeat center / contain; }
details.pd-eco-card[open] summary::after { transform: rotate(180deg); }
details.pd-eco-card summary small { grid-column: 2; font-size: 13px; color: var(--pd-gray); font-weight: 600; }
details.pd-eco-card .pd-eco-card__body { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pd-bg-soft); }
details.pd-eco-card .pd-eco-card__body p { font-size: 14px; color: var(--pd-ink-2); line-height: 1.6; margin: 0 0 10px; font-weight: 500; }
details.pd-eco-card .pd-eco-card__body a { font-size: 13px; font-weight: 700; color: var(--pd-green); }

/* --- 16. Strona główna: dla kogo --- */
.sec-dlakogo { background: var(--pd-bg-tint); padding: 72px 28px; }
.sec-dlakogo__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-dlakogo__head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.sec-dlakogo__head h2 { font-size: 38px; font-weight: 900; margin: 0 0 12px; }
.sec-dlakogo__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sec-dlakogo__card { background: #fff; border-radius: 22px; padding: 30px; box-shadow: 0 8px 24px rgba(35,45,75,.05); }
.sec-dlakogo__card .pd-icon { width: 50px; height: 50px; border-radius: 15px; margin-bottom: 16px; }
.sec-dlakogo__card h3 { font-size: 18px; font-weight: 800; margin: 0 0 8px; }
.sec-dlakogo__card p { font-size: 14px; color: var(--pd-gray); line-height: 1.6; margin: 0; font-weight: 500; }

/* --- 17. Strona główna: proces zapisu --- */
.sec-zapis { padding: 72px 28px; max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-zapis__head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.sec-zapis__head h2 { font-size: 38px; font-weight: 900; margin: 0 0 12px; }
.sec-zapis__head p { font-size: 17px; color: var(--pd-gray); margin: 0; font-weight: 500; }
.sec-zapis__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 36px; }
.sec-zapis__step { text-align: center; padding: 30px; }
.sec-zapis__num { width: 56px; height: 56px; border-radius: 50%; background: var(--pd-bg-mint); color: var(--pd-navy); display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 900; margin: 0 auto 18px; }
.sec-zapis__step h3 { font-size: 17px; font-weight: 800; margin: 0 0 8px; }
.sec-zapis__step p { font-size: 14px; color: var(--pd-gray); line-height: 1.6; margin: 0; font-weight: 500; }
.sec-zapis__cta.wp-block-buttons { justify-content: center; }
.sec-zapis__cta .wp-block-button__link { padding: 15px 34px; box-shadow: 0 10px 24px rgba(129,189,81,.3); }

/* --- 18. Strona główna: cennik --- */
.sec-cennik { background: var(--pd-bg-tint); padding: 72px 28px; }
.sec-cennik__inner { max-width: 920px; margin: 0 auto; }
.sec-cennik__head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.sec-cennik__head h2 { font-size: 38px; font-weight: 900; margin: 0 0 12px; }
.sec-cennik__head p { font-size: 17px; color: var(--pd-gray); margin: 0; font-weight: 500; }
.sec-cennik__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.sec-cennik__card { background: #fff; border-radius: 28px; padding: 34px; border: 2px solid var(--pd-bg-soft); position: relative; }
.sec-cennik__card--featured { border-color: var(--pd-green); box-shadow: 0 18px 44px rgba(129,189,81,.18); }
.sec-cennik__flag { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--pd-green); color: #fff; font-size: 12px; font-weight: 800; padding: 6px 18px; border-radius: var(--pd-r-pill); white-space: nowrap; box-shadow: 0 8px 18px rgba(129,189,81,.34); margin: 0; }
.sec-cennik__card h3 { font-size: 23px; font-weight: 900; margin: 0 0 4px; }
.sec-cennik__tagline { font-size: 14px; color: var(--pd-gray); margin: 0 0 18px; font-weight: 600; }
.sec-cennik__price { font-size: 40px; font-weight: 900; margin: 0 0 22px; }
.sec-cennik__price small { font-size: 15px; font-weight: 600; color: var(--pd-gray); }
.sec-cennik__card .pd-check-list { gap: 12px; margin-bottom: 26px; }
.sec-cennik__card .pd-check { font-size: 14px; }
.sec-cennik__card .pd-check strong { color: var(--pd-navy); font-weight: 700; }
.sec-cennik__btn .wp-block-button__link { display: block; text-align: center; padding: 13px; font-size: 14.5px; width: 100%; box-sizing: border-box; }
.sec-cennik__btn--navy .wp-block-button__link { background: var(--pd-navy); color: #fff; box-shadow: none; }
.sec-cennik__more { text-align: center; margin: 26px 0 0; }
.sec-cennik__more a, .sec-faqmini__more a, .pd-link-underline { font-size: 14.5px; font-weight: 800; color: var(--pd-navy); border-bottom: 2px solid var(--pd-green); padding-bottom: 3px; text-decoration: none; }

/* --- 19. Strona główna: za co płacisz --- */
.sec-zaco { padding: 72px 28px; max-width: 980px; margin: 0 auto; }
.sec-zaco__box { background: var(--pd-navy); border-radius: 32px; padding: 52px 48px; color: #fff; }
.sec-zaco__head { max-width: 620px; margin: 0 auto 36px; text-align: center; }
.sec-zaco__head h2 { font-size: 32px; font-weight: 900; margin: 0 0 12px; }
.sec-zaco__head p { font-size: 16px; color: rgba(255,255,255,.72); margin: 0; line-height: 1.6; font-weight: 500; }
.sec-zaco__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sec-zaco__grid .pd-check { background: rgba(255,255,255,.06); border-radius: var(--pd-r); padding: 18px; font-size: 14.5px; color: rgba(255,255,255,.9); gap: 12px; }
.sec-zaco__grid .pd-check::before { width: 20px; height: 20px; margin-top: 1px; }

/* --- 20. Strona główna: FAQ skrót --- */
.sec-faqmini { padding: 0 28px 72px; max-width: 820px; margin: 0 auto; }
.sec-faqmini__head { text-align: center; margin: 0 auto 36px; }
.sec-faqmini__head h2 { font-size: 34px; font-weight: 900; margin: 0 0 12px; }
.sec-faqmini__list { display: flex; flex-direction: column; gap: 12px; }
.sec-faqmini__item { background: #fff; border: 2px solid var(--pd-bg-soft); border-radius: var(--pd-r-md); padding: 22px 26px; }
.sec-faqmini__item h3 { font-size: 16px; font-weight: 800; margin: 0 0 6px; }
.sec-faqmini__item p { font-size: 14.5px; color: var(--pd-gray); margin: 0; line-height: 1.6; font-weight: 500; }
.sec-faqmini__more { text-align: center; margin: 28px 0 0; }

/* --- 21. Strona główna: końcowe CTA --- */
.sec-cta { padding: 0 28px 80px; max-width: var(--pd-w-wide); margin: 0 auto; }
.sec-cta__box { background: linear-gradient(135deg, var(--pd-green), var(--pd-green-dark)); border-radius: 32px; padding: 64px 40px; text-align: center; color: #fff; position: relative; overflow: hidden; }
.sec-cta__box::before { content: ""; position: absolute; top: -30px; right: 60px; width: 140px; height: 140px; border-radius: 50%; background: rgba(255,255,255,.1); }
.sec-cta__box::after { content: ""; position: absolute; bottom: -40px; left: 80px; width: 120px; height: 120px; border-radius: 50%; background: rgba(255,255,255,.08); }
.sec-cta__content { position: relative; z-index: 1; }
.sec-cta__content h2 { font-size: 36px; font-weight: 900; margin: 0 auto 14px; max-width: 680px; line-height: 1.18; }
.sec-cta__content > p { font-size: 17px; color: rgba(255,255,255,.9); margin: 0 0 30px; font-weight: 600; }
.sec-cta__content .wp-block-buttons { justify-content: center; }
.pd-btn--white .wp-block-button__link { background: #fff; color: var(--pd-navy); padding: 16px 38px; font-size: 16px; box-shadow: 0 12px 28px rgba(0,0,0,.16); }

/* --- 22. Responsywność sekcji 4–12 --- */
@media (max-width: 960px) {
  .sec-zaco__grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .sec-filary, .sec-etapy, .sec-ciaglosc, .sec-dlakogo, .sec-zapis, .sec-cennik { padding: 44px 18px; }
  .sec-faqmini, .sec-cta { padding-left: 18px; padding-right: 18px; }
  .sec-filary__grid, .sec-etapy__grid, .sec-ciaglosc__grid, .sec-dlakogo__grid, .sec-zapis__grid, .sec-cennik__grid { grid-template-columns: 1fr; }
  .sec-filary__head h2, .sec-etapy__head h2, .sec-dlakogo__head h2, .sec-zapis__head h2, .sec-cennik__head h2 { font-size: 26px; line-height: 1.2; }
  .sec-ciaglosc__left h2, .sec-faqmini__head h2, .sec-zaco__head h2, .sec-cta__content h2 { font-size: 23px; line-height: 1.2; }
  .sec-filary__card { padding: 24px; }
  .sec-zaco__box { padding: 34px 24px; }
  .sec-cta__box { padding: 44px 24px; }
}

/* --- 23. Słownik podstron (pg-*) — wspólne motywy 14 ekranów --- */
.pd-kicker--green { color: var(--pd-green); letter-spacing: .14em; }
.pd-btn--md .wp-block-button__link { padding: 15px 32px; font-size: 15px; }
.pd-btn--navy .wp-block-button__link { background: var(--pd-navy); color: #fff; }
.pd-btn--navy-outline .wp-block-button__link { background: #fff; color: var(--pd-navy); border: 2px solid var(--pd-navy); padding: 13px 30px; font-size: 15px; }

.pg-hero { background: linear-gradient(180deg, #D2E5E1, #eaf3f0 70%, #fff); padding: 62px 28px 56px; text-align: center; }
.pg-hero__inner { max-width: 760px; margin: 0 auto; }
.pg-hero .pd-kicker { margin: 0 0 16px; }
.pg-hero h1 { font-size: 46px; line-height: 1.1; font-weight: 900; margin: 0 0 18px; }
.pg-hero__lead { font-size: 18px; line-height: 1.6; color: #46514a; margin: 0 auto 28px; max-width: 600px; font-weight: 500; }
.pg-hero .wp-block-buttons { justify-content: center; gap: 14px; }

.pg-section { padding: 72px 28px; max-width: var(--pd-w-wide); margin: 0 auto; }
.pg-band { padding: 72px 28px; }
.pg-band--tint { background: var(--pd-bg-tint); }
.pg-band--mint { background: var(--pd-bg-mint); }
.pg-band--mintgrad { background: linear-gradient(135deg, rgba(210,229,225,.35), #fff); }
.pg-band__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.pg-head { text-align: center; margin: 0 auto 44px; }
.pg-head h2 { font-size: 34px; font-weight: 900; margin: 0 0 10px; }
.pg-head p { font-size: 16px; color: var(--pd-gray); margin: 0; font-weight: 500; }

.pg-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.pg-grid-2--top { align-items: start; }
.pg-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pg-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.pg-card { background: #fff; border-radius: var(--pd-r-lg); padding: 28px; box-shadow: 0 8px 24px rgba(35,45,75,.05); }
.pg-card .pd-icon { width: 46px; height: 46px; border-radius: 13px; margin-bottom: 14px; }
.pg-card h3 { font-size: 16px; font-weight: 800; margin: 0 0 8px; }
.pg-card p { font-size: 13.5px; color: var(--pd-gray); line-height: 1.55; margin: 0; font-weight: 500; }

.pg-navybox { background: var(--pd-navy); border-radius: var(--pd-r-xl); padding: 38px; color: #fff; }
.pg-navybox p { color: #fff; }

.pg-numlist { display: flex; flex-direction: column; gap: 12px; counter-reset: pgnum; }
.pg-numrow { display: flex; gap: 16px; align-items: center; background: var(--pd-bg-tint); border-radius: var(--pd-r-md); padding: 18px 22px; font-size: 15px; font-weight: 700; margin: 0; }
.pg-numrow::before { counter-increment: pgnum; content: counter(pgnum); width: 36px; height: 36px; border-radius: 10px; background: var(--pd-green); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 900; flex-shrink: 0; }

.pg-cta { padding: 76px 28px; text-align: center; max-width: 760px; margin: 0 auto; }
.pg-cta h2 { font-size: 34px; font-weight: 900; margin: 0 0 24px; line-height: 1.2; }
.pg-cta .wp-block-buttons { justify-content: center; gap: 14px; }
.pg-cta__sub { font-size: 17px; line-height: 1.65; color: var(--pd-gray); margin: -6px auto 28px; max-width: 640px; }

@media (max-width: 960px) {
  .pg-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .pg-hero { padding: 44px 18px; }
  .pg-hero h1 { font-size: 31px; line-height: 1.15; }
  .pg-section, .pg-band, .pg-cta { padding: 44px 18px; }
  .pg-grid-2, .pg-grid-3, .pg-grid-4 { grid-template-columns: 1fr; }
  .pg-head h2, .pg-cta h2 { font-size: 26px; line-height: 1.2; }
}

/* --- 24. O szkole (os-*) --- */
.os-dyrektor__photo { border-radius: var(--pd-r-xl); overflow: hidden; box-shadow: 0 20px 50px rgba(35,45,75,.14); aspect-ratio: 4 / 5; background: linear-gradient(180deg, #D2E5E1, #eaf3f0); }
.os-dyrektor__photo .wp-block-image, .os-dyrektor__photo img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.os-dyrektor__card { margin-top: 20px; background: #fff; padding: 20px 24px; border-radius: var(--pd-r-md); box-shadow: 0 8px 24px rgba(35,45,75,.08); border-left: 4px solid var(--pd-green); }
.os-dyrektor__name { font-size: 17px; font-weight: 800; margin: 0 0 2px; }
.os-dyrektor__role { font-size: 13px; color: var(--pd-green); font-weight: 700; margin: 0; }
.os-dyrektor__title h2 { font-size: 34px; font-weight: 900; margin: 0 0 12px; }
.os-dyrektor__line { width: 80px; height: 4px; background: var(--pd-green); border-radius: var(--pd-r-pill); margin-bottom: 24px; }
.os-dyrektor__text { display: flex; flex-direction: column; gap: 16px; }
.os-dyrektor__text p { font-size: 15px; color: var(--pd-ink-2); line-height: 1.7; font-weight: 500; margin: 0; }
.os-dyrektor__text strong { color: var(--pd-navy); }
.os-dyrektor__text strong.green { color: var(--pd-green); }
.os-dyrektor__quote { margin-top: 28px; display: flex; align-items: center; gap: 16px; padding: 22px; background: #fff; border-radius: var(--pd-r-md); border: 1px solid var(--pd-bg-soft); box-shadow: 0 4px 14px rgba(35,45,75,.05); }
.os-dyrektor__quote p { font-size: 14px; color: var(--pd-gray); font-style: italic; margin: 0; font-weight: 500; }
.os-kim__quote { font-size: 19px; font-weight: 700; line-height: 1.5; margin: 0; }
.os-kim h2, .os-filozofia h2 { font-size: 32px; font-weight: 900; margin: 0 0 20px; line-height: 1.2; }
.os-filozofia { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; }
.os-filozofia__lead p { font-size: 15px; color: var(--pd-ink-3); line-height: 1.65; margin: 0 0 18px; font-weight: 500; }
.os-zespol__avatar, .pg-card p.os-zespol__avatar { width: 88px; height: 88px; border-radius: 50%; background: var(--pd-bg-mint); margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; color: var(--pd-navy); font-weight: 900; font-size: 28px; }
.os-zespol__card { text-align: center; border-radius: 22px; }
.os-zespol__foto, .pg-card figure.os-zespol__foto { width: 112px; height: 112px; margin: 0 auto 16px; border-radius: 50%; overflow: hidden; border: 4px solid var(--pd-bg-mint); }
.os-zespol__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.os-zespol__card h3 { font-size: 17px; }
.os-zespol__role { font-size: 13px; color: var(--pd-green) !important; font-weight: 700 !important; margin: 0 0 10px !important; }
.os-zespol__note { text-align: center; font-size: 13px; color: #9aa6a3; margin: 24px 0 0; font-weight: 600; }
.os-zespol__banner { margin-top: 32px; background: var(--pd-navy); border-radius: var(--pd-r-xl); padding: 40px; color: #fff; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.os-zespol__banner h3 { font-size: 24px; font-weight: 900; margin: 0 0 10px; }
.os-zespol__banner p { font-size: 15px; color: rgba(255,255,255,.78); margin: 0; line-height: 1.65; font-weight: 500; max-width: 560px; }
@media (max-width: 720px) {
  .os-filozofia { grid-template-columns: 1fr; }
  .os-zespol__banner { grid-template-columns: 1fr; }
}

/* --- 25. Jak to działa (jak-*) --- */
.pg-card--tint { background: var(--pd-bg-tint); box-shadow: none; }
.pg-card--tint h3 { font-size: 18px; margin-bottom: 12px; }
.pd-check--sm { font-size: 14.5px; }
.jak-filar-head { display: flex; align-items: center; gap: 14px; margin-bottom: 36px; }
.jak-filar-head__num { width: 48px; height: 48px; border-radius: var(--pd-r); background: var(--pd-bg-mint); display: flex; align-items: center; justify-content: center; font-weight: 900; color: var(--pd-navy); font-size: 18px; flex-shrink: 0; margin: 0; }
.jak-filar-head__num--green { background: var(--pd-green); color: #fff; }
.jak-filar-head .pd-kicker { letter-spacing: .12em; margin: 0; }
.jak-filar-head h2 { font-size: 28px; font-weight: 900; margin: 2px 0 0; }
.jak-hero-note { font-size: 14.5px; color: #7d8a85; margin: 0; font-weight: 700; }
.jak-shot { aspect-ratio: 16 / 11; border-radius: var(--pd-r-xl); background: repeating-linear-gradient(135deg, #fff, #fff 16px, #f0f5f3 16px, #f0f5f3 32px); display: flex; align-items: center; justify-content: center; box-shadow: 0 20px 50px rgba(35,45,75,.12); }
.jak-shot p { font: 600 12px ui-monospace, monospace; color: #7c8a86; background: #fff; padding: 8px 14px; border-radius: 8px; margin: 0; }
.jak-banner { margin-top: 24px; background: rgba(129,189,81,.1); border: 1px solid rgba(129,189,81,.3); border-radius: var(--pd-r-md); padding: 18px 26px; text-align: center; }
.jak-banner p { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--pd-navy); }
.jak-banner a { color: var(--pd-green); text-decoration: underline; }
.pg-card .pg-circle-num { width: 52px; height: 52px; border-radius: 50%; background: var(--pd-bg-mint); color: var(--pd-navy); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 900; margin: 0 auto 16px; }
.pg-card--center { text-align: center; }
.pg-card--center h3 { font-size: 16.5px; }
.pg-card--center p { font-size: 14px; color: var(--pd-gray); line-height: 1.6; }
.jak-navy { background: var(--pd-navy); color: #fff; padding: 72px 28px; }
.jak-navy__card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: var(--pd-r-lg); padding: 28px; }
.jak-navy__card h3 { font-size: 17px; font-weight: 800; margin: 0 0 12px; color: #fff; }
.jak-navy__card .pd-check { font-size: 13.5px; font-weight: 500; color: rgba(255,255,255,.78); gap: 9px; }
.jak-navy__card .pd-check::before { width: 16px; height: 16px; }
.jak-navy__card .pd-check-list { gap: 9px; }
.jak-system { padding: 72px 28px; max-width: 920px; margin: 0 auto; text-align: center; }
.jak-system h2 { font-size: 32px; font-weight: 900; margin: 0 0 16px; }
.jak-system__chips { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 32px 0; }
.jak-system__chips p { background: var(--pd-bg-mint); border-radius: var(--pd-r-md); padding: 18px 26px; font-weight: 800; font-size: 15px; color: var(--pd-navy); margin: 0; }
.jak-system__punch { font-size: 18px; font-weight: 700; color: var(--pd-navy); max-width: 560px; margin: 0 auto; }
.pg-ctabox { padding: 0 28px 80px; max-width: var(--pd-w-wide); margin: 0 auto; }
.pg-ctabox__inner { background: var(--pd-bg-tint); border-radius: 28px; padding: 52px 40px; text-align: center; }
.pg-ctabox__inner h2 { font-size: 30px; font-weight: 900; margin: 0 0 20px; }
.pg-ctabox__inner .wp-block-buttons { justify-content: center; gap: 14px; }
@media (max-width: 720px) {
  .jak-navy, .jak-system { padding: 44px 18px; }
  .jak-system h2 { font-size: 26px; }
  .pg-ctabox__inner { padding: 36px 22px; }
  .pg-ctabox__inner h2 { font-size: 24px; }
}

/* --- 26. Etapy nauki (et-*) --- */
.et-box { background: #fff; border-radius: 28px; padding: 44px; position: relative; }
.et-box--featured { border: 2px solid var(--pd-green); box-shadow: 0 18px 44px rgba(129,189,81,.14); }
.et-box--tint { background: var(--pd-bg-tint); }
.et-box--dashed { border: 2px dashed #cbd5d1; }
.et-box__flag { position: absolute; top: -14px; left: 44px; background: var(--pd-green); color: #fff; font-size: 13px; font-weight: 800; padding: 6px 18px; border-radius: var(--pd-r-pill); margin: 0; }
.et-head { display: flex; gap: 20px; align-items: center; margin-bottom: 24px; }
.et-head__num { width: 72px; height: 72px; border-radius: var(--pd-r-lg); background: var(--pd-green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 900; flex-shrink: 0; margin: 0; }
.et-head__num--navy { background: var(--pd-navy); }
.et-head__num--gray { background: #9aa6a3; }
.et-head h2 { font-size: 28px; font-weight: 900; margin: 0; }
.et-head__sub { font-size: 15px; color: var(--pd-gray); margin: 4px 0 0; font-weight: 600; }
.et-head__note { font-size: 13px; color: #9aa6a3; margin: 6px 0 0; font-weight: 700; font-style: italic; }
.et-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.et-card { background: var(--pd-bg-tint); border-radius: var(--pd-r-md); padding: 24px; }
.et-box--tint .et-card { background: #fff; }
.et-card h3 { font-size: 16px; font-weight: 800; margin: 0 0 8px; }
.et-card p { font-size: 14px; color: var(--pd-gray); line-height: 1.55; margin: 0; font-weight: 500; }
.et-checkgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.et-checkgrid .pd-check { background: #fff; border-radius: var(--pd-r); padding: 18px; }
.et-muted .pd-check { color: var(--pd-gray); }
.et-muted .pd-check::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%239aa6a3" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>'); }
.et-sec { padding: 0 28px 36px; max-width: var(--pd-w-wide); margin: 0 auto; }
.et-sec--first { padding-top: 72px; }
.et-sec--last { padding-bottom: 72px; }
.pg-cta--sm h2 { font-size: 30px; margin-bottom: 20px; }
@media (max-width: 720px) {
  .et-box { padding: 26px 20px; }
  .et-grid, .et-checkgrid { grid-template-columns: 1fr; }
  .et-head { flex-direction: row; }
  .et-head h2 { font-size: 22px; }
  .et-sec--first { padding-top: 44px; }
}

/* --- 27. Mentoring (men-*) --- */
.pg-hero--navy { background: var(--pd-navy); color: #fff; padding: 72px 28px 64px; position: relative; overflow: hidden; }
.pg-hero--navy .pd-kicker { color: var(--pd-green); }
.pg-hero--navy .pg-hero__lead { color: rgba(255,255,255,.8); margin-bottom: 14px; max-width: 640px; }
.pg-hero--navy::before { content: ""; position: absolute; top: 40px; left: 10%; width: 120px; height: 120px; border-radius: 50%; background: rgba(129,189,81,.12); }
.pg-hero--navy::after { content: ""; position: absolute; bottom: 30px; right: 12%; width: 90px; height: 90px; border-radius: 50%; background: rgba(129,189,81,.08); }
.pg-hero--navy .pg-hero__inner { position: relative; max-width: 780px; }
.men-hero-note { font-size: 14.5px; color: var(--pd-green); font-weight: 800; margin: 0; }
.men-photo { position: relative; aspect-ratio: 4 / 3; border-radius: 28px; overflow: hidden; box-shadow: 0 20px 50px rgba(35,45,75,.14); background: linear-gradient(180deg, #D2E5E1, #eaf3f0); }
.men-photo .wp-block-image, .men-photo img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.men-warm { padding: 64px 28px 0; max-width: var(--pd-w-wide); margin: 0 auto; }
.men-warm__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: center; }
.men-warm h2 { font-size: 30px; font-weight: 900; margin: 0 0 16px; line-height: 1.2; }
.men-warm p { font-size: 15px; color: var(--pd-ink-3); line-height: 1.7; margin: 0; font-weight: 500; }
.men-why__card { padding: 34px; border-radius: var(--pd-r-xl); background: #fff; border: 2px solid var(--pd-bg-soft); box-shadow: 0 8px 24px rgba(35,45,75,.05); }
.men-why__card--accent { background: linear-gradient(165deg, rgba(129,189,81,.10), rgba(129,189,81,.03)); border-color: rgba(129,189,81,.2); box-shadow: none; }
.men-why__card .men-why__num { font-size: 30px; font-weight: 900; color: var(--pd-green); margin: 0 0 14px; }
.men-why__card h3 { font-size: 19px; font-weight: 800; margin: 0 0 10px; }
.men-why__card p { font-size: 14.5px; color: var(--pd-ink-3); line-height: 1.6; margin: 0; font-weight: 500; }
.men-form__card { background: #fff; border-radius: var(--pd-r-xl); padding: 36px; }
.men-form__card--green { border-top: 5px solid var(--pd-green); }
.men-form__card--navy { border-top: 5px solid var(--pd-navy); }
.men-form__title { font-size: 20px; font-weight: 800; margin: 0 0 16px; display: flex; align-items: center; gap: 10px; }
.men-form__badge { width: 34px; height: 34px; border-radius: 10px; background: var(--pd-green); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 900; flex-shrink: 0; }
.men-form__badge--navy { background: var(--pd-navy); }
.men-box { border-radius: var(--pd-r-xl); padding: 36px; }
.men-box--mint { background: var(--pd-bg-mint); }
.men-box--tint { background: var(--pd-bg-tint); }
.men-box h3 { font-size: 21px; font-weight: 900; margin: 0 0 8px; }
.men-box__sub { font-size: 14px; color: var(--pd-kicker); margin: 0 0 18px !important; font-weight: 600; }
.men-box--mint .pd-check::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23232D4B" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>'); }
@media (max-width: 720px) {
  .men-warm__grid { grid-template-columns: 1fr; }
  .men-warm { padding: 44px 18px 0; }
}

/* --- 28. Rekrutacja (rek-*) --- */
.rek-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; background: #fff; border-radius: var(--pd-r-pill); margin: 0 0 18px; font-size: 13px; font-weight: 800; box-shadow: 0 4px 14px rgba(35,45,75,.07); }
.rek-badge::before { content: ""; width: 8px; height: 8px; background: var(--pd-green); border-radius: 50%; animation: pulseDot 1.6s infinite; }
.rek-wybor { padding: 64px 28px 0; max-width: var(--pd-w-wide); margin: 0 auto; }
.rek-choice { background: #fff; padding: 38px; border-radius: var(--pd-r-xl); display: flex; flex-direction: column; }
.rek-choice--green { border: 2px solid rgba(129,189,81,.35); box-shadow: 0 14px 34px rgba(129,189,81,.10); }
.rek-choice--navy { border: 2px solid rgba(35,45,75,.25); }
.rek-choice__icon { width: 56px; height: 56px; border-radius: var(--pd-r-md); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.rek-choice__icon--green { background: var(--pd-green); }
.rek-choice__icon--navy { background: var(--pd-navy); }
.rek-choice h3 { font-size: 23px; font-weight: 900; margin: 0 0 12px; }
.rek-choice__desc { font-size: 14.5px; color: var(--pd-ink-3); line-height: 1.65; margin: 0 0 20px; font-weight: 500; }
.rek-choice .pd-check-list { margin-bottom: 26px; flex-grow: 1; }
.rek-choice .pd-check { font-size: 14px; }
.rek-choice--navy .pd-check::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23232D4B" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>'); }
.rek-choice .wp-block-buttons { margin-top: auto; }
.rek-choice .wp-block-button, .rek-choice .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
.rek-promo { max-width: 880px; margin: 32px auto 0; background: linear-gradient(90deg, var(--pd-green), var(--pd-green-dark)); border-radius: var(--pd-r-xl); padding: 40px 32px; text-align: center; color: #fff; box-shadow: 0 18px 44px rgba(129,189,81,.28); }
.rek-promo__chip { display: inline-block; padding: 6px 16px; background: rgba(255,255,255,.2); border-radius: var(--pd-r-pill); font-size: 13px; font-weight: 800; margin: 0 0 14px; }
.rek-promo h3 { font-size: 27px; font-weight: 900; margin: 0 0 10px; }
.rek-promo__sub { font-size: 16px; color: rgba(255,255,255,.92); margin: 0 0 6px; font-weight: 600; }
.rek-promo__note { font-size: 13px; color: rgba(255,255,255,.8); margin: 0; font-weight: 700; }
.rek-steps { display: flex; flex-direction: column; gap: 16px; max-width: 980px; margin: 0 auto; }
.rek-step { background: #fff; border-radius: var(--pd-r-lg); padding: 30px; display: flex; gap: 24px; align-items: flex-start; }
.rek-step .rek-step__num { width: 52px; height: 52px; border-radius: 15px; background: var(--pd-green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 900; flex-shrink: 0; margin: 0; }
.rek-step h3 { font-size: 19px; font-weight: 800; margin: 0 0 8px; }
.rek-step p { font-size: 14.5px; color: var(--pd-gray); line-height: 1.6; margin: 0; font-weight: 500; }
.rek-step .green-note { font-size: 13.5px; color: var(--pd-green); font-weight: 800; margin-top: 8px; }
.rek-info { border-radius: var(--pd-r-xl); padding: 36px; }
.rek-info--navy { background: var(--pd-navy); color: #fff; }
.rek-info h2 { font-size: 24px; font-weight: 900; margin: 0 0 20px; }
.rek-info__rows { display: flex; flex-direction: column; gap: 14px; }
.rek-info__row { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.12); margin: 0; font-size: 14.5px; font-weight: 600; color: rgba(255,255,255,.8); }
.rek-info__row:last-child { border-bottom: 0; padding-bottom: 0; }
.rek-info__row strong { font-size: 14px; font-weight: 800; color: #fff; }
.rek-info__row strong.green { color: var(--pd-green); }
.rek-info__note { font-size: 13.5px; margin: 20px 0 0; font-weight: 600; color: rgba(255,255,255,.6); }
.rek-info--tint { background: var(--pd-bg-tint); }
.rek-info--tint .rek-info__note { color: var(--pd-green); font-weight: 800; }
.pg-ctabox__inner--mint { background: var(--pd-bg-mint); padding: 48px 40px; }
.pg-ctabox__inner--mint h2 { font-size: 28px; margin-bottom: 14px; }
.pg-ctabox__inner--mint > p { font-size: 16px; color: var(--pd-kicker); margin: 0 0 24px; font-weight: 600; }
@media (max-width: 720px) {
  .rek-wybor { padding: 44px 18px 0; }
  .rek-choice { padding: 26px 20px; }
  .rek-step { flex-direction: row; padding: 20px; }
}

/* --- 29. Cennik (cen-*) --- */
.cen-pakiety { padding: 64px 28px; max-width: 920px; margin: 0 auto; }
.cen-zawiera__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
.cen-zawiera__grid .pd-check { background: #fff; border-radius: var(--pd-r-md); padding: 22px; font-size: 14.5px; }
.cen-zawiera__punch { text-align: center; font-size: 15px; font-weight: 800; color: var(--pd-navy); margin: 0; }
.cen-platnosci { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
.cen-modele { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cen-model { background: #fff; border-radius: var(--pd-r-md); padding: 22px; text-align: center; }
.cen-model h3 { font-size: 16px; font-weight: 900; margin: 0 0 4px; }
.cen-model p { font-size: 13px; color: var(--pd-gray); font-weight: 600; margin: 0; }
.cen-note { font-size: 13.5px; color: var(--pd-gray); margin: 18px 0 0; font-weight: 600; }
.cen-wpisowe { background: var(--pd-bg-mint); border-radius: var(--pd-r-xl); padding: 36px; display: flex; flex-direction: column; justify-content: center; }
.cen-wpisowe h2 { font-size: 24px; font-weight: 900; margin: 0 0 10px; }
.cen-wpisowe__sub { font-size: 14.5px; color: var(--pd-kicker); margin: 0 0 8px; font-weight: 600; }
.cen-wpisowe__punch { font-size: 14px; color: var(--pd-navy); font-weight: 800; margin: 0; }
.rek-promo .wp-block-buttons { justify-content: center; margin-top: 20px; }
@media (max-width: 960px) { .cen-platnosci { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .cen-pakiety { padding: 44px 18px; } .cen-zawiera__grid, .cen-modele { grid-template-columns: 1fr; } }

/* --- 30. FAQ (faq-*) --- */
.faq-wrap { padding: 64px 28px 72px; max-width: 840px; margin: 0 auto; }
.faq-cat { margin-bottom: 36px; }
.faq-cat h2 { font-size: 20px; font-weight: 900; margin: 0 0 16px; color: var(--pd-green); }
.faq-list { display: flex; flex-direction: column; gap: 10px; }
details.faq-item { background: #fff; border: 2px solid var(--pd-bg-soft); border-radius: var(--pd-r-md); padding: 20px 24px; }
details.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; font-size: 16px; font-weight: 800; }
details.faq-item summary::after { content: ""; width: 20px; height: 20px; flex-shrink: 0; transition: transform .2s; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2381BD51" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>') no-repeat center / contain; }
details.faq-item[open] summary::after { transform: rotate(180deg); }
details.faq-item p { font-size: 14.5px; color: var(--pd-gray); line-height: 1.6; margin: 14px 0 0; font-weight: 500; }
.faq-contact { margin-top: 44px; background: var(--pd-bg-mint); border-radius: var(--pd-r-xl); padding: 40px; text-align: center; }
.faq-contact h2 { font-size: 24px; font-weight: 900; margin: 0 0 10px; }
.faq-contact > p { font-size: 15px; color: var(--pd-kicker); margin: 0 0 22px; font-weight: 600; }
.faq-contact .wp-block-buttons { justify-content: center; gap: 14px; }
@media (max-width: 720px) { .faq-wrap { padding: 44px 18px; } }

/* --- 31. Portal ucznia/rodzica (po-*) --- */
.po-page { background: var(--pd-bg-tint); }
.po-header { background: linear-gradient(to right, var(--pd-navy), rgba(35,45,75,.92)); color: #fff; padding: 48px 28px; }
.po-header__inner { max-width: var(--pd-w-wide); margin: 0 auto; display: flex; align-items: center; gap: 16px; }
.po-header__icon { width: 64px; height: 64px; background: var(--pd-green); border-radius: var(--pd-r-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.po-header h1 { font-size: 36px; font-weight: 900; margin: 0; }
.po-header p { color: rgba(255,255,255,.8); margin: 6px 0 0; font-size: 16px; font-weight: 500; }
.po-body { background: var(--pd-bg-tint); padding: 48px 28px; }
.po-body > .po-grid { max-width: var(--pd-w-wide); margin: 0 auto; }
.po-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; align-items: start; }
.po-main { display: flex; flex-direction: column; gap: 28px; }
.po-card { background: #fff; border-radius: var(--pd-r-lg); border: 1px solid var(--pd-bg-soft); padding: 28px; }
.po-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.po-card__head h2 { font-size: 24px; font-weight: 900; color: var(--pd-navy); margin: 0; }
.po-card__head .pd-icon { width: 40px; height: 40px; border-radius: var(--pd-r-sm); margin: 0; }
.po-featured { background: linear-gradient(135deg, rgba(129,189,81,.1), #fff); border-radius: var(--pd-r-lg); border: 2px solid var(--pd-green); padding: 28px; }
.po-featured .po-card__head .pd-icon { width: 48px; height: 48px; border-radius: var(--pd-r); }
.po-featured .po-card__head p { font-size: 13px; color: var(--pd-gray); margin: 2px 0 0; font-weight: 600; }
.po-inner-card { background: #fff; padding: 20px; border-radius: var(--pd-r); border: 1px solid var(--pd-bg-soft); }
.po-inner-card h3 { font-weight: 800; color: var(--pd-navy); margin: 0 0 10px; font-size: 16px; }
.po-inner-card > p { font-size: 14px; color: var(--pd-ink-2); margin: 0 0 16px; line-height: 1.6; font-weight: 500; }
.po-steps { display: flex; flex-direction: column; gap: 12px; }
.po-step { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--pd-ink-2); margin: 0; font-weight: 500; line-height: 1.5; counter-increment: postep; }
.po-steps { counter-reset: postep; }
.po-step::before { content: counter(postep); width: 24px; height: 24px; background: var(--pd-green); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 13px; font-weight: 800; }
.po-infobox { background: #eff6ff; padding: 16px; border-radius: var(--pd-r); border: 1px solid #bfdbfe; margin-top: 16px; }
.po-infobox h4 { font-size: 14px; font-weight: 800; color: #1e3a8a; margin: 0 0 6px; }
.po-infobox p { font-size: 14px; color: #1e40af; line-height: 1.6; font-weight: 500; margin: 0; }
.po-helpbox { background: var(--pd-bg-tint); padding: 16px; border-radius: var(--pd-r); margin-top: 16px; }
.po-helpbox h4 { font-size: 14px; font-weight: 800; color: var(--pd-navy); margin: 0 0 4px; }
.po-helpbox p { font-size: 14px; color: var(--pd-gray); margin: 0; font-weight: 500; }
.po-helpbox a { color: var(--pd-green); text-decoration: underline; }
.po-empty { padding: 28px; border-radius: var(--pd-r); background: var(--pd-bg-tint); text-align: center; }
.po-empty h4 { color: var(--pd-ink-3); font-weight: 800; margin: 0 0 4px; font-size: 16px; }
.po-empty p { font-size: 14px; color: var(--pd-gray); margin: 0; font-weight: 500; }
.po-note { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pd-bg-soft); font-size: 14px; color: var(--pd-ink-3); font-weight: 500; }
.po-info-item { padding: 18px; background: var(--pd-bg-tint); border-radius: var(--pd-r); }
.po-info-item h3 { font-weight: 800; color: var(--pd-navy); margin: 0 0 8px; font-size: 16px; }
.po-info-item p { font-size: 14px; color: var(--pd-ink-2); margin: 0; font-weight: 500; line-height: 1.6; }
.po-info-list { display: flex; flex-direction: column; gap: 12px; }
.po-docgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.po-doc { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 12px; border: 1px solid var(--pd-bg-soft); margin: 0; font-size: 14px; font-weight: 700; color: var(--pd-navy); }
.po-doc::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2381BD51" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>') no-repeat center / contain; }
.po-doc small { display: block; font-size: 12px; color: var(--pd-gray-2); font-weight: 600; }
.po-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 96px; }
.po-side-card { background: #fff; border-radius: var(--pd-r-lg); border: 1px solid var(--pd-bg-soft); padding: 26px; }
.po-side-card h2 { font-size: 20px; font-weight: 900; color: var(--pd-navy); margin: 0; }
.po-contact-label { font-weight: 700; color: var(--pd-ink-3); margin: 0 0 6px; font-size: 14px; }
.po-contact-value { color: var(--pd-green); font-weight: 700; font-size: 14px; margin: 0; }
.po-contact-note { font-size: 12px; color: var(--pd-gray-2); margin: 4px 0 0; font-weight: 600; }
.po-contact-sep { padding-top: 16px; border-top: 1px solid var(--pd-bg-soft); margin-top: 16px; }
.po-links { background: linear-gradient(135deg, var(--pd-navy), rgba(35,45,75,.92)); border-radius: var(--pd-r-lg); padding: 26px; color: #fff; }
.po-links h3 { font-weight: 900; margin: 0 0 14px; font-size: 17px; }
.po-links a { display: block; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 600; margin-bottom: 10px; }
@media (max-width: 960px) { .po-grid { grid-template-columns: 1fr; } .po-sidebar { position: static; } }
@media (max-width: 720px) { .po-body { padding: 32px 18px; } .po-docgrid { grid-template-columns: 1fr; } .po-header h1 { font-size: 28px; } }

/* --- 32. Strony dokumentowe (doc-*): Regulamin, Polityka, RODO --- */
.doc-header { background: linear-gradient(to right, var(--pd-navy), rgba(35,45,75,.92)); color: #fff; padding: 48px 28px; }
.doc-header__inner { max-width: 820px; margin: 0 auto; }
.doc-header .pd-kicker { color: var(--pd-green); margin: 0 0 12px; }
.doc-header h1 { font-size: 36px; font-weight: 900; margin: 0; }
.doc-header p { color: rgba(255,255,255,.75); margin: 10px 0 0; font-size: 15px; font-weight: 500; }
.doc-body { background: var(--pd-bg-tint); padding: 48px 28px 72px; }
.doc-card { max-width: 820px; margin: 0 auto; background: #fff; border-radius: var(--pd-r-lg); border: 1px solid var(--pd-bg-soft); padding: 40px; }
.doc-card h2 { font-size: 20px; font-weight: 900; color: var(--pd-navy); margin: 28px 0 10px; }
.doc-card h2:first-child { margin-top: 0; }
.doc-card p { font-size: 15px; line-height: 1.7; color: var(--pd-ink-2); font-weight: 500; margin: 0; }
.doc-warning { max-width: 820px; margin: 24px auto 0; background: #fefce8; border: 1px solid #fef08a; border-radius: var(--pd-r-md); padding: 18px 22px; }
.doc-warning p { font-size: 13.5px; color: #854d0e; margin: 0; font-weight: 600; }
.doc-card h3 { font-size: 16.5px; font-weight: 800; color: var(--pd-navy); margin: 22px 0 8px; }
.doc-card ul, .doc-card ol { font-size: 15px; line-height: 1.7; color: var(--pd-ink-2); font-weight: 500; margin: 10px 0 18px; padding-left: 24px; }
.doc-card li { margin: 0 0 10px; }
.doc-card li::marker { color: var(--pd-green-dark); font-weight: 700; }
/* Boks danych organu i szkół pod dokumentem (wzór: legal-text__contact z liceum.pl) */
.doc-dane { max-width: 820px; margin: 24px auto 0; background: var(--pd-navy); border-radius: var(--pd-r-lg); padding: 32px 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.doc-dane h3 { font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pd-green); margin: 0 0 10px; }
.doc-dane p { font-size: 14px; line-height: 1.75; color: rgba(255,255,255,.85); margin: 0; font-weight: 500; }
.doc-dane p strong { color: #fff; }
.doc-dane__full { grid-column: 1 / -1; }
.doc-dane__note { font-size: 12.5px !important; color: rgba(255,255,255,.55) !important; }
@media (max-width: 720px) { .doc-card { padding: 24px 20px; } .doc-header h1 { font-size: 28px; } .doc-dane { grid-template-columns: 1fr; padding: 26px 22px; } }

/* --- 33. Kontakt (kt-*) --- */
.kt-page { background: linear-gradient(135deg, rgba(210,229,225,.3), #fff); padding: 56px 28px 64px; }
.kt-inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.kt-head { text-align: center; margin-bottom: 48px; }
.kt-head h1 { font-size: 48px; font-weight: 900; color: var(--pd-navy); margin: 0 0 16px; }
.kt-head p { font-size: 18px; color: var(--pd-gray); max-width: 620px; margin: 0 auto; font-weight: 500; line-height: 1.6; }
.kt-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; max-width: 1080px; margin: 0 auto; align-items: start; }
.kt-col { display: flex; flex-direction: column; gap: 20px; }
.kt-card { background: #fff; padding: 26px; border-radius: var(--pd-r-lg); border: 1px solid var(--pd-bg-soft); box-shadow: 0 4px 14px rgba(35,45,75,.04); }
.kt-card--wide { padding: 32px; }
.kt-row { display: flex; align-items: flex-start; gap: 16px; }
.kt-row .pd-icon { width: 48px; height: 48px; border-radius: var(--pd-r); margin: 0; flex-shrink: 0; }
.kt-row h3 { font-weight: 800; color: var(--pd-navy); margin: 0 0 4px; font-size: 16px; }
.kt-row h2 { font-size: 22px; font-weight: 900; color: var(--pd-navy); margin: 0 0 4px; line-height: 1.25; }
.kt-muted { font-size: 13px; color: var(--pd-gray-2); margin: 0 0 12px; font-weight: 600; }
.kt-muted--tight { margin: 0; }
.kt-value { font-size: 18px; font-weight: 800; color: var(--pd-green); margin: 0; }
.kt-value--sm { font-size: 16px; white-space: nowrap; }
.kt-green { background: linear-gradient(135deg, var(--pd-green), var(--pd-green-dark)); padding: 26px; border-radius: var(--pd-r-lg); color: #fff; box-shadow: 0 10px 26px rgba(129,189,81,.22); }
.kt-green h3 { font-weight: 800; margin: 0 0 12px; font-size: 17px; }
.kt-green > p { font-size: 14px; color: rgba(255,255,255,.92); margin: 0 0 18px; font-weight: 500; line-height: 1.6; }
.kt-green .wp-block-button, .kt-green .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
.kt-green .wp-block-button__link { background: #fff; color: var(--pd-green); font-weight: 800; border-radius: 10px; font-size: 14.5px; padding: 13px; box-shadow: none; }
.kt-datagrid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.kt-field h4 { font-size: 13px; font-weight: 700; color: var(--pd-gray-2); margin: 0 0 4px; }
.kt-field p { color: var(--pd-navy); margin: 0 0 14px; font-size: 14px; font-weight: 600; line-height: 1.6; }
.kt-quick { margin-top: 48px; text-align: center; }
.kt-quick > p { font-size: 14px; color: var(--pd-gray-2); margin: 0 0 16px; font-weight: 600; }
.kt-quick .wp-block-buttons { justify-content: center; gap: 12px; }
.kt-quick .wp-block-button__link { padding: 10px 20px; background: #fff; color: var(--pd-navy); font-size: 14px; font-weight: 700; border-radius: 10px; border: 1px solid var(--pd-bg-soft); box-shadow: none; }
@media (max-width: 960px) { .kt-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .kt-page { padding: 44px 18px; } .kt-head h1 { font-size: 32px; } .kt-datagrid { grid-template-columns: 1fr; } }

/* --- 34. Zapis wstępny (zw-*) — ekran bez nawigacji --- */
.zw-topbar { background: var(--pd-navy); }
.zw-topbar__inner { max-width: var(--pd-w-wide); margin: 0 auto; padding: 0 28px; height: 76px; display: flex; align-items: center; justify-content: space-between; }
.zw-topbar .pd-logo__name { color: #fff; }
.zw-phone { display: flex; align-items: center; gap: 11px; text-align: right; text-decoration: none; }
.zw-phone__label { display: block; font-size: 12px; color: rgba(255,255,255,.6); font-weight: 600; }
.zw-phone__num { display: block; font-size: 15px; color: #fff; font-weight: 800; }
.zw-main { background: var(--pd-bg-tint); }
.zw-grid { max-width: var(--pd-w-wide); margin: 0 auto; padding: 56px 28px 72px; display: grid; grid-template-columns: 1fr 1.05fr; gap: 52px; align-items: start; }
.zw-crumb { font-size: 13.5px; font-weight: 700; color: var(--pd-gray); margin: 0 0 16px; }
.zw-crumb a { color: #3a4555; text-decoration: underline; }
.zw-chip { display: inline-block; padding: 7px 16px; background: var(--pd-bg-mint); border-radius: var(--pd-r-pill); font-size: 13px; font-weight: 800; color: #3a5a52; margin: 0 0 18px; }
.zw-left h1 { font-size: 44px; line-height: 1.1; font-weight: 900; margin: 0 0 18px; color: var(--pd-navy); }
.zw-left__lead { font-size: 16.5px; line-height: 1.65; color: #46514a; margin: 0 0 26px; font-weight: 500; max-width: 480px; }
.zw-left .pd-check-list { margin-bottom: 30px; }
.zw-left .pd-check { font-weight: 500; line-height: 1.55; }
.zw-left .pd-check strong { color: var(--pd-navy); }
.zw-shield { display: flex; gap: 14px; align-items: flex-start; background: var(--pd-bg-mint-2); border-radius: var(--pd-r-md); padding: 18px 22px; max-width: 480px; }
.zw-shield p { font-size: 14px; color: var(--pd-ink-2); margin: 0; font-weight: 600; line-height: 1.55; }
.zw-card { background: #fff; border-radius: 22px; border: 1px solid var(--pd-bg-soft); box-shadow: 0 14px 40px rgba(35,45,75,.08); padding: 36px; }
.zw-card h2 { font-size: 23px; font-weight: 900; margin: 0 0 4px; color: var(--pd-navy); }
.zw-card__sub { font-size: 14px; color: var(--pd-gray); margin: 0 0 24px; font-weight: 600; }
.zw-form { display: flex; flex-direction: column; gap: 18px; }
.zw-form label.zw-label { display: block; font-size: 13.5px; font-weight: 800; color: var(--pd-navy); margin-bottom: 7px; }
.zw-form input[type="text"], .zw-form input[type="tel"], .zw-form input[type="email"], .zw-form select { width: 100%; box-sizing: border-box; padding: 13px 15px; border: 2px solid var(--pd-bg-soft); border-radius: 12px; font-size: 15px; font-family: Nunito, system-ui, sans-serif; font-weight: 600; color: var(--pd-navy); outline: none; background: #fff; }
.zw-form input:focus, .zw-form select:focus { border-color: var(--pd-green); }
.zw-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.zw-klasy { display: flex; gap: 10px; flex-wrap: wrap; }
.zw-klasa { padding: 11px 22px; border-radius: var(--pd-r-pill); border: 2px solid var(--pd-bg-soft); background: #fff; font-size: 14px; font-weight: 800; color: var(--pd-navy); cursor: pointer; font-family: inherit; }
.zw-klasa.is-active { border-color: var(--pd-green); background: rgba(129,189,81,.1); }
.zw-consent { display: flex; gap: 11px; align-items: flex-start; font-size: 13px; color: var(--pd-ink-3); font-weight: 500; line-height: 1.55; cursor: pointer; }
.zw-consent input { margin-top: 3px; accent-color: var(--pd-green); width: 16px; height: 16px; flex-shrink: 0; }
.zw-consent a { color: var(--pd-green); text-decoration: underline; }
.zw-consent-note { font-size: 12px; color: var(--pd-gray-2); margin: 0; line-height: 1.5; }
.zw-consent--all span { font-weight: 700; }
.zw-submit { text-align: center; padding: 16px; border-radius: 12px; font-weight: 800; font-size: 15.5px; background: var(--pd-green); color: #fff; box-shadow: 0 10px 24px rgba(129,189,81,.3); border: 0; cursor: pointer; font-family: inherit; width: 100%; }
.zw-submit:disabled { background: #cbd5d1; box-shadow: none; cursor: not-allowed; }
.zw-form__note { font-size: 13px; color: var(--pd-gray-2); margin: 0; text-align: center; font-weight: 600; }
.zw-thanks { text-align: center; padding: 20px 0; display: none; }
.zw-thanks.is-visible { display: block; }
.zw-thanks__badge { width: 64px; height: 64px; border-radius: 50%; background: var(--pd-green); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.zw-thanks h2 { font-size: 25px; margin-bottom: 10px; }
.zw-thanks p { font-size: 15px; color: var(--pd-ink-3); margin: 0 0 22px; font-weight: 500; line-height: 1.6; }
.zw-thanks h1 { font-size: 26px; font-weight: 900; color: var(--pd-navy); margin: 0 0 10px; }
.zw-thanks-page .zw-card { max-width: 620px; margin: 56px auto 72px; }
.zw-thanks-page { padding: 0 28px; }
.zw-footer { background: var(--pd-navy); }
.zw-footer__inner { max-width: var(--pd-w-wide); margin: 0 auto; padding: 26px 28px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 13px; color: rgba(255,255,255,.55); font-weight: 600; }
.zw-footer a { color: rgba(255,255,255,.55); }
@media (max-width: 960px) { .zw-grid { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 720px) { .zw-grid { padding: 36px 18px 52px; } .zw-left h1 { font-size: 31px; } .zw-two { grid-template-columns: 1fr; } }

/* --- 35. Blog (blog-*) --- */
.blog-header { background: linear-gradient(to right, var(--pd-navy), rgba(35,45,75,.92)); color: #fff; padding: 48px 28px; }
.blog-header__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.blog-header h1 { font-size: 36px; font-weight: 900; margin: 0; }
.blog-header__sub { color: rgba(255,255,255,.8); margin: 6px 0 0; font-size: 16px; font-weight: 500; }
.blog-body { background: var(--pd-bg-tint); padding: 36px 28px 64px; }
.blog-body__inner { max-width: var(--pd-w-wide); margin: 0 auto; }
.blog-cats { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.blog-cats a, .blog-cats span.is-all { padding: 9px 18px; border-radius: var(--pd-r-pill); background: #fff; border: 1px solid #e3e9e5; color: #3a4555; font-size: 13.5px; font-weight: 700; }
.blog-cats span.is-all { background: var(--pd-navy); color: #fff; border-color: var(--pd-navy); font-weight: 800; }
.blog-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-grid .wp-block-post { background: #fff; border: 2px solid var(--pd-bg-soft); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; padding: 22px 24px 24px; transition: box-shadow .2s, border-color .2s; }
.blog-grid .wp-block-post:hover { border-color: var(--pd-green); box-shadow: var(--pd-shadow-card); }
.blog-card__meta { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.blog-card__meta .wp-block-post-terms { padding: 4px 12px; border-radius: var(--pd-r-pill); background: rgba(129,189,81,.13); font-size: 12px; font-weight: 800; }
.blog-card__meta .wp-block-post-terms a { color: var(--pd-green-deep); }
.blog-grid .wp-block-post-title { font-size: 18px; font-weight: 900; margin: 0 0 8px; line-height: 1.3; }
.blog-grid .wp-block-post-title a { color: var(--pd-navy); }
.blog-grid .wp-block-post-excerpt { flex-grow: 1; }
.blog-grid .wp-block-post-excerpt__excerpt { font-size: 14px; color: var(--pd-gray); line-height: 1.55; margin: 0 0 16px; font-weight: 500; }
.blog-grid .wp-block-post-excerpt__more-text { display: none; }
.blog-card__byline { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--pd-gray); font-weight: 700; margin-top: auto; }
.blog-card__byline .wp-block-post-date { font-weight: 600; }
.blog-pager .wp-block-query-pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 44px; flex-wrap: wrap; }
.blog-pager a, .blog-pager .wp-block-query-pagination-numbers .current { padding: 11px 20px; border-radius: var(--pd-r-pill); background: #fff; border: 2px solid var(--pd-bg-soft); font-size: 14px; font-weight: 800; color: #3a4555; }
.blog-pager .wp-block-query-pagination-numbers .current { background: var(--pd-navy); color: #fff; }

.single-hero { background: linear-gradient(to right, var(--pd-navy), rgba(35,45,75,.92)); color: #fff; padding: 48px 28px 56px; }
.single-hero__inner { max-width: 820px; margin: 0 auto; }
.single-hero__back { display: inline-flex; font-size: 13.5px; font-weight: 700; color: rgba(255,255,255,.75) !important; margin-bottom: 20px; }
.single-hero__meta { display: flex; align-items: center; gap: 10px; margin: 14px 0 16px; }
.single-hero__meta .wp-block-post-terms { padding: 5px 14px; border-radius: var(--pd-r-pill); background: var(--pd-green); font-size: 12.5px; font-weight: 800; }
.single-hero__meta .wp-block-post-terms a { color: #fff; }
.single-hero .wp-block-post-title { font-size: 38px; font-weight: 900; margin: 0 0 18px; line-height: 1.15; }
.single-hero__byline { display: flex; align-items: center; gap: 11px; font-size: 14px; font-weight: 800; }
.single-hero__byline .wp-block-post-date { font-size: 12.5px; color: rgba(255,255,255,.6); font-weight: 600; }
.single-body { max-width: 820px; margin: 0 auto; padding: 40px 28px 64px; }
.single-body .wp-block-post-content > p { font-size: 16.5px; color: var(--pd-ink-2); line-height: 1.75; margin: 0 0 20px; font-weight: 500; }
.single-body .wp-block-post-content > h2 { font-size: 25px; font-weight: 900; color: var(--pd-navy); margin: 38px 0 20px; }
.blog-check-list { display: flex; flex-direction: column; gap: 11px; margin: 0 0 20px; }
.blog-check-list .pd-check { font-size: 15.5px; line-height: 1.6; font-weight: 500; }
.blog-ol { display: flex; flex-direction: column; gap: 13px; margin: 0 0 20px; counter-reset: blogol; }
.blog-ol p { display: flex; gap: 13px; align-items: flex-start; font-size: 15.5px; color: var(--pd-ink-2); line-height: 1.6; margin: 0; font-weight: 500; counter-increment: blogol; }
.blog-ol p::before { content: counter(blogol); width: 28px; height: 28px; border-radius: 50%; background: var(--pd-green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13.5px; font-weight: 900; flex-shrink: 0; margin-top: 1px; }
.single-body blockquote.blog-quote { margin: 10px 0 20px; padding: 26px 30px; border-left: 5px solid var(--pd-green); background: #fff; border-radius: 0 20px 20px 0; box-shadow: 0 8px 24px rgba(35,45,75,.05); }
.single-body blockquote.blog-quote p { font-size: 19px; color: var(--pd-navy); line-height: 1.55; margin: 0 0 12px; font-weight: 800; font-style: italic; }
.single-body blockquote.blog-quote cite { font-size: 13.5px; color: var(--pd-green); font-weight: 800; font-style: normal; }
.blog-tip { margin: 10px 0 20px; background: rgba(129,189,81,.1); border: 1px solid rgba(129,189,81,.3); border-radius: var(--pd-r-md); padding: 20px 24px; }
.blog-tip__title { font-size: 14px; font-weight: 900; color: var(--pd-green-deep); margin: 0 0 6px !important; }
.blog-tip p { font-size: 14.5px !important; color: var(--pd-ink-2); line-height: 1.6 !important; margin: 0 !important; font-weight: 500; }
.single-body .wp-block-table { margin: 10px 0 20px; background: #fff; border: 2px solid var(--pd-bg-soft); border-radius: 18px; overflow: hidden; }
.single-body .wp-block-table table { border-collapse: collapse; width: 100%; }
.single-body .wp-block-table th { background: var(--pd-navy); color: #fff; padding: 14px 18px; font-size: 13px; font-weight: 800; text-align: left; }
.single-body .wp-block-table td { padding: 13px 18px; font-size: 14px; color: var(--pd-ink-2); font-weight: 500; line-height: 1.5; border-top: 1px solid var(--pd-bg-soft); }
.single-author { margin-top: 48px; background: #fff; border: 2px solid var(--pd-bg-soft); border-radius: 22px; padding: 28px; }
.single-author .pd-kicker { color: var(--pd-green); letter-spacing: .08em; margin: 0 0 6px; font-size: 11px; }
.single-author .wp-block-post-author-name { font-size: 19px; font-weight: 900; color: var(--pd-navy); }
.single-author .wp-block-post-author-biography { font-size: 14px; color: var(--pd-ink-3); line-height: 1.6; font-weight: 500; margin-top: 10px; }
.arch-desc { color: rgba(255,255,255,.75); font-size: 15px; font-weight: 500; margin: 6px 0 0; max-width: 640px; }
.arch-kicker { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--pd-green); font-weight: 800; margin: 0 0 8px; }
@media (max-width: 960px) { .blog-grid .wp-block-post-template { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .blog-grid .wp-block-post-template { grid-template-columns: 1fr; } .single-hero .wp-block-post-title { font-size: 28px; } .blog-body, .single-body { padding-left: 18px; padding-right: 18px; } }

/* --- 36. Strona 404 (b404-*) --- */
.b404 { background: linear-gradient(180deg, #D2E5E1, #eaf3f0 60%, #fff); min-height: 60vh; display: flex; align-items: center; justify-content: center; padding: 80px 28px; text-align: center; position: relative; overflow: hidden; }
.b404::before { content: ""; position: absolute; top: 60px; left: 8%; width: 110px; height: 110px; border-radius: 50%; background: rgba(129,189,81,.14); }
.b404::after { content: ""; position: absolute; bottom: 70px; right: 10%; width: 70px; height: 70px; border-radius: 50%; background: rgba(35,45,75,.08); }
.b404__inner { position: relative; max-width: 560px; z-index: 1; }
.b404__code { font-size: 120px; font-weight: 900; line-height: 1; letter-spacing: -.04em; color: var(--pd-navy); margin: 0 0 6px; }
.b404__code mark { color: var(--pd-green); background: none; }
.b404__chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: var(--pd-r-pill); padding: 8px 18px; font-size: 13px; font-weight: 800; color: var(--pd-kicker); box-shadow: 0 4px 14px rgba(35,45,75,.08); margin: 0 0 20px; }
.b404__inner h1 { font-size: 30px; font-weight: 900; margin: 0 0 12px; color: var(--pd-navy); }
.b404__inner > p { font-size: 16px; color: #46514a; margin: 0 0 28px; font-weight: 500; line-height: 1.6; }
.b404 .wp-block-buttons { justify-content: center; gap: 14px; }
