/* Nowe Pokolenie Katowice: style motywu potomnego.
   Tokeny: design system z Claude Design (_ds/tokens). Wymiary sekcji: pliki .dc.html z eksportu (2026-10-22).
   Treść stron to bloki edytora z klasami npk-* (pole "Dodatkowe klasy CSS" w ustawieniach bloku). */

/* ---------- 1. Tokeny ---------- */
:root{
  --npk-primary:#f67d4c;--npk-primary-light:#f69a4c;--npk-orange-deep:#f7630c;--npk-amber:#f5a524;
  --npk-navy:#071b38;--npk-navy-2:#0e2341;--npk-navy-3:#1c2f4d;--npk-slate:#374352;
  --npk-gray:#697380;--npk-gray-light:#dadde4;--npk-gray-lighter:#edeff3;--npk-white:#fff;
  --npk-success:#13612e;--npk-info:#1159af;--npk-danger:#b82105;
  --npk-bg:var(--npk-gray-light);--npk-bg-soft:var(--npk-gray-lighter);--npk-surface:var(--npk-white);
  --npk-text:var(--npk-navy-2);--npk-text-muted:var(--npk-gray);--npk-heading:var(--npk-navy);--npk-heading-accent:var(--npk-primary-light);
  --npk-header-bg:var(--npk-navy-2);--npk-footer-bg:var(--npk-navy-2);
  --npk-on-dark:var(--npk-white);--npk-on-dark-muted:rgba(255,255,255,.72);
  --npk-link:var(--npk-primary);--npk-link-hover:var(--npk-orange-deep);
  --npk-btn-bg:var(--npk-primary);--npk-btn-bg-hover:var(--npk-orange-deep);--npk-btn-text:var(--npk-white);
  --npk-border:var(--npk-gray-light);--npk-border-dark:rgba(255,255,255,.12);
  --npk-icon-chip:rgba(255,255,255,.22);--npk-hero-overlay:rgba(14,35,65,.82);--npk-focus:#1159af;
  --npk-font:"Jost",sans-serif;
  --npk-h1:50px;--npk-h2:34px;
  --npk-space-xs:1em;--npk-space-sm:1.5rem;--npk-space-md:2rem;--npk-space-lg:2.5em;--npk-space-xl:3.5em;--npk-space-xxl:5rem;
  --npk-edge:1.5rem;--npk-content-max:1290px;--npk-content-narrow:842px;
  --npk-radius:3px;--npk-radius-card:10px;--npk-radius-tile:8px;--npk-radius-pill:50px;
  --npk-shadow-card:0 4px 18px rgba(7,27,56,.08);--npk-shadow-card-hover:0 10px 28px rgba(7,27,56,.14);--npk-shadow-pop:0 8px 30px rgba(7,27,56,.18);
  --npk-transition:all .2s ease;
  /* Kadence: ta sama czcionka w motywie i edytorze */
  --global-body-font-family:var(--npk-font);--global-heading-font-family:var(--npk-font);--global-primary-nav-font-family:var(--npk-font);
}

/* ---------- 2. Strona ---------- */
html{font-size:16px}
body.npk-site{margin:0;background:var(--npk-surface);font-family:var(--npk-font);font-size:18px;line-height:1.6;color:var(--npk-text);-webkit-font-smoothing:antialiased}
.npk-site #wrapper{background:var(--npk-surface);overflow:visible}
.npk-site #inner-wrap{padding:0;margin:0}
.npk-site a{color:var(--npk-navy);text-decoration:none}
.npk-site a:hover{color:var(--npk-primary)}
/* jak w base.css design systemu: wyrównane łamanie nagłówków, bez sierotek w akapitach */
:root :is(h1,h2,h3,h4){text-wrap:balance}
:root p{text-wrap:pretty}
.npk-main{font-family:var(--npk-font);font-size:18px;line-height:1.6;color:var(--npk-text)}
.npk-main > *{margin:0}

/* ---------- 3. Przyciski (nagłówek, stopka i blok "Przycisk" z klasą npk-btn) ---------- */
:root :is(.npk-button,.npk-btn > .wp-block-button__link){display:inline-flex;align-items:center;gap:.45em;font:500 18px/1.8 var(--npk-font);text-transform:none;letter-spacing:normal;border:0;border-radius:var(--npk-radius);cursor:pointer;text-decoration:none;transition:var(--npk-transition);box-sizing:content-box;padding:8px 16px;min-height:48px;white-space:nowrap;width:auto;text-align:left;box-shadow:none;transform:none;background:var(--npk-btn-bg);color:var(--npk-navy)}
:root :is(.npk-button--primary,.npk-btn--primary > .wp-block-button__link){background:var(--npk-btn-bg);color:var(--npk-navy)}
:root :is(.npk-button--primary,.npk-btn--primary > .wp-block-button__link):is(:hover,:focus-visible){background:var(--npk-btn-bg-hover);color:var(--npk-navy);box-shadow:none;transform:none}
:root .npk-btn--large > .wp-block-button__link{font-size:19.8px;padding:11.88px 23.76px}
:root .npk-btn--navy > .wp-block-button__link{background:var(--npk-navy);color:#fff}
:root .npk-btn--navy > .wp-block-button__link:is(:hover,:focus-visible){background:var(--npk-navy-2);color:#fff;box-shadow:none;transform:none}
:root :is(.npk-button--outline,.npk-btn--outline > .wp-block-button__link){background:transparent;color:var(--npk-navy);box-shadow:inset 0 0 0 1.5px currentColor;white-space:normal}
:root :is(.npk-button--outline,.npk-btn--outline > .wp-block-button__link):is(:hover,:focus-visible){background:rgba(255,255,255,.1);color:var(--npk-navy);box-shadow:inset 0 0 0 1.5px currentColor;transform:none}
:root .npk-btn--link > .wp-block-button__link{background:none;padding:0;font-weight:600;line-height:1.4;min-height:44px;white-space:normal;color:var(--npk-navy)}
:root .npk-btn--link > .wp-block-button__link:is(:hover,:focus-visible){background:none;color:var(--npk-primary);box-shadow:none;transform:none}
:root .npk-btn--link > .wp-block-button__link::after{content:"\2192";content:"\2192" / ""}
:root .npk-btn--on-dark > .wp-block-button__link,:root .npk-btn--on-dark > .wp-block-button__link:is(:hover,:focus-visible){color:var(--npk-primary-light)}
:root .npk-mobile-nav .npk-button--full{width:100%;box-sizing:border-box;justify-content:center;min-height:52px}
:root .npk-mbar .npk-button--bar,:root .npk-mbar .npk-button--bar:is(:hover,:focus-visible){width:100%;box-sizing:border-box;justify-content:center;min-height:48px;color:#fff}
.npk-button .npk-icon{flex:none}
:root .wp-block-buttons:has(> .npk-btn){gap:0}
:root .wp-block-button.npk-btn{display:flex}

/* ---------- 4. Nagłówek ---------- */
.npk-header{position:sticky;top:0;z-index:50;background:var(--npk-header-bg);box-shadow:none;border-bottom:1px solid var(--npk-border-dark);transition:background-color .3s ease,box-shadow .3s ease;font-family:var(--npk-font);font-size:18px;line-height:1.6;color:#fff}
.admin-bar .npk-header{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){.admin-bar .npk-header{top:0}}
.npk-header.is-scrolled{background:var(--npk-navy);box-shadow:0 4px 16px rgba(7,27,56,.35)}
.npk-header__bar{max-width:1180px;margin:0 auto;padding:10px var(--npk-edge);display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:content-box}
.npk-site .npk-brand,.npk-site .npk-brand:hover{display:flex;align-items:center;gap:12px;color:#fff;min-height:44px}
.npk-brand img{height:48px;width:48px;display:block}
.npk-brand span{font-weight:600;font-size:16px;letter-spacing:.08em;line-height:1.3;color:#fff}
.npk-nav{display:flex;align-items:center;gap:28px}
.npk-site .npk-nav__link{color:#fff;font-weight:500;font-size:16px;padding:10px 0;white-space:nowrap}
.npk-site .npk-nav__link:hover{color:var(--npk-primary)}
.npk-nav__dd{position:relative}
.npk-header .npk-nav__btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;color:#fff;font-weight:500;font-size:16px;padding:10px 0;white-space:nowrap}
.npk-header .npk-nav__btn:hover{color:var(--npk-primary)}
.npk-nav__menu{position:absolute;top:100%;left:-16px;min-width:200px;background:var(--npk-surface);border-radius:var(--npk-radius-card);box-shadow:var(--npk-shadow-pop);padding:8px 0;display:flex;flex-direction:column}
.npk-nav__menu[hidden]{display:none}
.npk-site .npk-nav__menu a{padding:10px 18px;font-size:16px}
.npk-header-cta{opacity:0;transform:translateY(-6px);visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.npk-header-cta.is-visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .2s ease,transform .2s ease,visibility 0s}
.npk-header .npk-burger{all:unset;cursor:pointer;width:48px;height:48px;display:none;place-items:center;color:#fff;border-radius:var(--npk-radius)}
.npk-burger .npk-icon--x,.npk-burger.is-open .npk-icon--menu{display:none}
.npk-burger.is-open .npk-icon--x{display:block}
.npk-mobile-nav{padding:8px var(--npk-edge) var(--npk-space-md);display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--npk-border-dark)}
.npk-mobile-nav[hidden]{display:none}
.npk-mobile-nav__cta{padding:12px 0 16px;display:flex}
.npk-site .npk-mobile-nav__link{color:#fff;font-weight:500;font-size:18px;padding:12px 0}
.npk-mobile-nav__label{color:#fff;font-weight:500;font-size:18px;padding:12px 0 4px}
.npk-site .npk-mobile-nav__sub{color:var(--npk-on-dark-muted);font-size:17px;font-weight:500;padding:10px 0 10px 16px}
@media (max-width:1099px){.npk-nav{display:none}.npk-header .npk-burger{display:grid}}
@media (min-width:1100px){.npk-mobile-nav,.npk-mobile-nav[hidden]{display:none}}
@media (prefers-reduced-motion:reduce){.npk-header-cta,.npk-header-cta.is-visible{transition:none}}

/* ---------- 5. Stopka ---------- */
.npk-footer{background:var(--npk-footer-bg);color:#fff;font-family:var(--npk-font);font-size:18px;line-height:1.6}
.npk-infobar{background:var(--npk-navy-2);color:#fff;padding:28px 40px}
.npk-infobar__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--npk-space-md);max-width:var(--npk-content-max);margin:0 auto;padding:0;list-style:none}
.npk-infobar__item{display:flex;flex-direction:row;align-items:center;gap:18px;justify-content:center;margin:0}
.npk-chip{width:44px;height:44px;flex:none;border-radius:50%;background:var(--npk-icon-chip);display:grid;place-items:center;color:#fff}
.npk-infobar__title{font-weight:600;font-size:16px;line-height:1.45;color:var(--npk-primary-light)}
@media (max-width:1099px){
  .npk-infobar{padding:var(--npk-space-lg) var(--npk-edge);background:transparent}
  .npk-infobar__grid{display:flex;flex-direction:column;gap:18px}
  .npk-infobar__item{gap:16px;justify-content:flex-start}
}
.npk-social{border-top:1px solid var(--npk-border-dark);padding:var(--npk-space-md) var(--npk-edge) var(--npk-space-sm);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.npk-footer .npk-social__title{margin:0;font-weight:600;font-size:18px;color:#fff}
.npk-social__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px}
.npk-social__list li{margin:0}
.npk-site .npk-social__list a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;box-sizing:border-box;color:#c3cbd8;font-size:15px;font-weight:500;transition:color .2s ease}
.npk-site .npk-social__list a.npk-social__labelled{padding:0 10px}
.npk-social__list a span{padding-left:8px}
.npk-site .npk-social__list a:is(:hover,:focus-visible){color:var(--npk-primary)}
.npk-footer__bottom{max-width:1180px;margin:0 auto;padding:var(--npk-space-sm) var(--npk-edge) var(--npk-space-md);border-top:1px solid var(--npk-border-dark);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;box-sizing:content-box}
.npk-footer__bottom img{height:36px;width:auto;display:block}
.npk-footer__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px;font-size:16px;font-weight:500;color:var(--npk-on-dark-muted)}
.npk-site .npk-footer__links a{color:#fff;padding:12px 0}
.npk-site .npk-footer__links a:hover{color:var(--npk-primary-light)}
.npk-footer__copy{font-size:15px;color:var(--npk-on-dark-muted)}
.npk-credit{background:var(--npk-navy);padding:14px var(--npk-edge);text-align:center;font-size:15px;font-weight:500;line-height:1.5;color:#c3cbd8}
.npk-mbar{display:none}
@media (max-width:1099px){.npk-mbar{position:sticky;bottom:0;z-index:10;background:var(--npk-navy);border-top:1px solid var(--npk-border-dark);padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px}}

/* ---------- 6. Sekcje stron (bloki z klasami npk-*) ---------- */
:root .npk-sec,:root .npk-sec *{margin-block:0}
:root .npk-sec .wp-block-group__inner-container{display:contents}
:root .npk-sec{padding:var(--npk-space-xl) var(--npk-edge);background:var(--npk-surface);font-family:var(--npk-font);font-size:18px;line-height:1.6;color:var(--npk-text)}
:root .npk-sec--soft{background:var(--npk-bg-soft)}
:root .npk-wrap{max-width:1080px;margin:0 auto}
:root .npk-h2{margin:0;font-family:var(--npk-font);font-size:clamp(28px,4vw,var(--npk-h2));line-height:1.2;font-weight:600;color:var(--npk-heading);text-transform:none;letter-spacing:normal}
:root .npk-h2--section{margin:0 0 var(--npk-space-md);text-align:center}
:root .npk-sec .wp-block-buttons{display:flex}
:root .npk-icon-tile{width:52px;height:52px;border:2.5px solid var(--npk-navy);border-radius:var(--npk-radius-tile);display:grid;place-items:center;box-sizing:border-box;margin-bottom:6px;color:var(--npk-navy)}
:root .npk-icon-tile svg,:root .npk-icon-solo svg{display:block}
:root .npk-icon-solo{display:block;color:var(--npk-navy)}

/* 01 Okładka z wideo ognia. Parametry: --npk-photo-opacity (zdjęcie w tle), --npk-video-opacity (jasność wideo),
   --npk-fade-start / --npk-fade-end (wygaszenie po lewej), height w .npk-hero-media (rozmiar płomienia), --npk-flame-x (środek płomienia). */
:root .npk-hero{position:relative;padding:0;background:var(--npk-navy-2);color:#fff;overflow:hidden}
.npk-hero-bg{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:var(--npk-navy-2);pointer-events:none;--npk-video-opacity:.85;--npk-photo-opacity:.12;--npk-flame-x:66%;--npk-fade-start:54%;--npk-fade-end:68%}
:root .npk-hero-media{position:absolute;left:var(--npk-flame-x);bottom:0;height:100%;width:auto;max-width:none;transform:translateX(-74%);mix-blend-mode:screen;opacity:var(--npk-video-opacity);pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent var(--npk-fade-start),#000 var(--npk-fade-end)),linear-gradient(to bottom,transparent 0,#000 var(--npk-fade-top,16%));mask-image:linear-gradient(to right,transparent var(--npk-fade-start),#000 var(--npk-fade-end)),linear-gradient(to bottom,transparent 0,#000 var(--npk-fade-top,16%));-webkit-mask-composite:source-in;mask-composite:intersect}
:root .npk-hero-poster{display:none}
:root .npk-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%;opacity:var(--npk-photo-opacity);filter:grayscale(.35);pointer-events:none}
@media (max-width:1279px){.npk-hero-bg{--npk-flame-x:76%}}
@media (max-width:1099px){.npk-hero-bg{--npk-flame-x:95%}:root .npk-hero-media{height:62%}}
@media (max-width:767px){.npk-hero-bg{--npk-flame-x:52%;--npk-fade-top:25%}:root .npk-hero-media{height:330px;bottom:0}:root .npk-hero:not(.npk-hero--page)::after{content:"";display:block;height:230px}}
@media (prefers-reduced-motion:reduce){:root .npk-hero-video{display:none}:root .npk-hero-poster{display:block}}
:root .npk-hero__content{position:relative;isolation:isolate;max-width:var(--npk-content-narrow);margin:0 auto;padding:var(--npk-space-xxl) var(--npk-edge);text-align:center;display:flex;flex-direction:column;align-items:center;box-sizing:content-box}
:root .npk-hero__content::before{content:"";position:absolute;inset:0 -56px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(7,27,56,.42) 0,rgba(7,27,56,.42) 55%,rgba(7,27,56,0) 100%)}
:root .npk-hero__title{margin:0;color:#fff;font-family:var(--npk-font);font-weight:600;font-size:clamp(32px,5vw,var(--npk-h1));line-height:1.3;text-transform:uppercase;letter-spacing:normal;text-wrap:balance}
:root .npk-hero__lead{margin:28px 0 0;font-weight:600;font-size:21px;line-height:1.5;color:#fff}
:root .npk-hero__sub{margin:6px 0 0;font-size:18px;line-height:1.6;font-weight:500;color:#fff}
:root .npk-hero__cta{margin-top:32px}
:root .npk-hero__note{margin:16px 0 0;font-size:17px;font-weight:500;color:#e6eaf0}

/* 02 Kim jesteśmy w dwóch zdaniach */
:root .npk-intro__inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:18px;font-size:20px;line-height:1.65;color:var(--npk-navy-2);text-wrap:pretty}

/* 03 Jak wygląda niedziela */
:root .npk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--npk-space-sm)}
:root .npk-card{background:var(--npk-surface);border-radius:var(--npk-radius-card);box-shadow:var(--npk-shadow-card);padding:var(--npk-space-md);display:flex;flex-direction:column;gap:12px}
:root .npk-card__title{margin:0;font-family:var(--npk-font);font-size:20px;line-height:1.35;font-weight:600;color:var(--npk-heading);text-transform:none}
:root .npk-card p{font-weight:500}
:root .npk-after{max-width:720px;margin:var(--npk-space-md) auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
:root .npk-after p{text-wrap:pretty}

/* 04 Co jeśli nie jestem pewien? */
:root .npk-doubt__box{max-width:880px;margin:0 auto;background:var(--npk-navy);color:#fff;border-radius:var(--npk-radius-card);padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:16px;box-sizing:content-box}
:root .npk-doubt__box .npk-h2{margin:0 0 4px;color:#fff}
:root .npk-doubt__lead{font-size:22px;line-height:1.5;font-weight:500;color:#fff}
:root .npk-doubt__text{color:#fff;font-weight:500;text-wrap:pretty}
:root .npk-doubt__cta{margin-top:6px}

/* 05 Kim jesteśmy (wartości) */
:root .npk-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--npk-space-md) var(--npk-space-lg)}
:root .npk-value{display:flex;flex-direction:column;gap:10px}
:root .npk-value__title{margin:0;font-family:var(--npk-font);font-size:22px;line-height:1.3;font-weight:600;color:#b4461a;text-transform:none}
:root .npk-center-cta{justify-content:center;margin-top:var(--npk-space-md)}

/* 06 Modlitwa */
:root .npk-prayer{border-bottom:1px solid var(--npk-border)}
:root .npk-prayer__inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
:root .npk-prayer__inner .npk-h2{text-wrap:balance}
:root .npk-prayer__lead{font-size:21px;line-height:1.6;color:var(--npk-navy-2);text-wrap:pretty}
:root .npk-sec .npk-prayer__text{font-size:18px;line-height:1.6;color:var(--npk-navy-2);text-wrap:pretty}
:root .npk-prayer__cta{margin-top:8px}

/* 07 Pastorzy */
:root .npk-pastors{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--npk-space-md) var(--npk-space-lg);align-items:center}
:root .npk-pastors__img{margin:0}
:root .npk-pastors__img img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 25%;border-radius:var(--npk-radius-card);box-shadow:var(--npk-shadow-card);filter:brightness(1.03) contrast(1.02)}
:root .npk-pastors__text{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
:root .npk-pastors__text p{text-wrap:pretty}

/* 08 i 09 Pytanie przed przyjściem, Gdzie jesteśmy */
:root .npk-duo{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--npk-space-xl) var(--npk-space-lg)}
:root .npk-duo__item{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
:root .npk-duo__title{margin:0;font-family:var(--npk-font);font-size:clamp(26px,3.4vw,30px);line-height:1.2;font-weight:600;color:var(--npk-heading);text-transform:none}
:root .npk-duo__item p{text-wrap:pretty}
:root .npk-duo__item p a{font-weight:600;white-space:nowrap;color:var(--npk-navy);text-decoration:underline;text-underline-offset:3px}
:root .npk-duo__item strong{font-weight:600}
:root .npk-duo__cta{margin-top:6px}

/* 10 Dół strony */
:root .npk-final{background:var(--npk-navy);text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
:root .npk-final__text{font-size:clamp(24px,3.4vw,32px);line-height:1.3;font-weight:600;color:#fff;text-wrap:balance}

/* ---------- 7. Elementy podstron ---------- */
/* Okładka podstrony: samo zdjęcie w tle, niższa, tytuł bez wersalików (npk-hero npk-hero--page) */
:root .npk-hero--page .npk-hero__content{padding:var(--npk-space-xl) var(--npk-edge)}
:root .npk-hero--page .npk-hero__title{text-transform:none}
:root .npk-hero__intro{margin:24px 0 0;font-size:20px;line-height:1.6;font-weight:500;color:#fff;max-width:640px}
:root .npk-hero--page .npk-hero__lead{margin-top:20px}
:root .npk-hero--page .npk-hero__cta{margin-top:28px}
/* Sekcje, w których akapity mają grubość 500 */
:root .npk-medium :where(p){font-weight:500}
:root .npk-narrow{max-width:760px;margin:0 auto}
:root .npk-center{text-align:center}
:root .npk-lead-center{margin:16px auto var(--npk-space-md);max-width:720px;text-align:center}
:root .npk-eyebrow{margin:0 0 8px;font-size:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--npk-slate)}
:root .npk-accent{margin:0;font-family:var(--npk-font);font-size:22px;line-height:1.3;font-weight:600;color:#b4461a;text-transform:none}

/* Kiedy i gdzie: tekst i trzy wiersze z ikonami */
:root .npk-when{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--npk-space-md) var(--npk-space-xl);align-items:center}
:root .npk-when__text{display:flex;flex-direction:column;gap:16px}
:root .npk-when__list{display:flex;flex-direction:column;gap:var(--npk-space-xs)}
:root .npk-info-row{display:flex;align-items:center;gap:16px;background:var(--npk-surface);border-radius:var(--npk-radius-card);box-shadow:var(--npk-shadow-card);padding:16px 20px}
:root .npk-info-row .npk-icon-tile{margin:0;flex:none}
:root .npk-info-row .npk-info-row__text{font-weight:600;font-size:18px;line-height:1.4;color:var(--npk-navy)}

/* Zdjęcie z podpisem (blok Obraz z klasą npk-photo; npk-photo--sala: duże zdjęcie sali) */
:root .npk-photo{margin:0;display:flex;flex-direction:column;gap:10px}
:root .npk-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 40%;border-radius:var(--npk-radius-card);box-shadow:var(--npk-shadow-card);background:var(--npk-gray-light)}
:root .npk-photo figcaption{margin:0;padding:0;font-size:16px;line-height:1.5;font-weight:500;color:var(--npk-text);text-align:left}
:root .npk-photo--sala{margin:0 auto var(--npk-space-md);max-width:880px}
@media (min-width:700px){:root .npk-photo--sala img{aspect-ratio:16/10}}

/* Kroki z numerami (numery liczą się same) */
:root .npk-steps{position:relative;display:flex;flex-direction:column;gap:20px;counter-reset:npk-step}
:root .npk-steps::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:var(--npk-navy);opacity:.25}
:root .npk-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;counter-increment:npk-step}
:root .npk-step::before{content:counter(npk-step);position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:var(--npk-navy);color:#fff;display:grid;place-items:center;font-weight:600;font-size:18px}
:root .npk-step__card{background:var(--npk-surface);border-radius:var(--npk-radius-card);box-shadow:var(--npk-shadow-card);padding:20px 24px;display:flex;flex-direction:column;gap:8px}

/* Pytania i odpowiedzi (blok Szczegóły z klasą npk-q, w grupie npk-faq) */
:root .npk-faq{border-top:1px solid var(--npk-border);scroll-margin-top:120px}
:root .npk-q{border-bottom:1px solid var(--npk-border)}
:root .npk-q summary{list-style:none;display:flex;align-items:center;min-height:44px;padding:14px 60px 14px 0;box-sizing:content-box;position:relative;cursor:pointer;font-family:var(--npk-font);font-size:21px;line-height:1.35;font-weight:600;color:var(--npk-heading);transition:color .2s ease;text-wrap:balance}
:root .npk-q summary::-webkit-details-marker{display:none}
:root .npk-q summary:hover{color:#b4461a}
:root .npk-q summary::before,:root .npk-q summary::after{content:"";position:absolute;right:13px;top:50%;width:18px;height:2.5px;margin-top:-1px;background:var(--npk-navy);border-radius:2px}
:root .npk-q summary::after{transform:rotate(90deg);transition:transform .2s ease}
:root .npk-q[open] summary::after{transform:rotate(0deg)}
:root .npk-q > :not(summary) + :not(summary){margin-top:14px}
:root .npk-q > :last-child:not(summary){margin-bottom:22px}
:root .npk-q-box{background:rgba(14,35,65,.06);border-radius:var(--npk-radius-card);padding:20px 24px;display:flex;flex-direction:column;gap:14px}
:root .npk-q a{color:var(--npk-navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
:root .npk-q a:has(> strong){display:inline-block;padding:12px 0;margin:-12px 0;white-space:nowrap}
:root .npk-q a strong{font-weight:700}
@media (prefers-reduced-motion:reduce){:root .npk-q summary,:root .npk-q summary::after{transition:none}}

/* Dojazd: trzy sposoby, wejście w zdjęciach */
:root .npk-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--npk-space-md) var(--npk-space-lg)}
:root .npk-way{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
:root .npk-entry{display:flex;flex-direction:column;gap:12px;margin-top:var(--npk-space-md)}
:root .npk-wej{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:599px){:root .npk-wej{grid-template-columns:minmax(0,1fr)}}

/* Pytanie przed przyjściem (podstrony) */
:root .npk-ask{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
:root .npk-ask p a{font-weight:700;white-space:nowrap;color:var(--npk-navy);text-decoration:underline;text-underline-offset:3px}

/* Fokus z klawiatury (na końcu, żeby wygrywał z resetami przycisków) */
.npk-site :focus-visible{outline:2px solid var(--npk-focus);outline-offset:3px}
