/* ════════════════════════════════════════════════════════════════════════════
   SzK CMS — domyślny wygląd modułów (_core/views/modules/*)
   Ładowany przez szablony oparte na SzkView (np. szk-0006), PRZED style.css szablonu.
   Wszystkie selektory w :where() → zerowa specyficzność, więc dowolna reguła
   szablonu wygrywa bez !important. Kolory wyłącznie ze zmiennych palety.
   ════════════════════════════════════════════════════════════════════════════ */

:where(.sr-only){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── Okruszki ───────────────────────────────────────────────────────────── */
:where(.breadcrumb){font-size:.875rem;color:var(--color-text-muted,#64748b)}
:where(.breadcrumb__label){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
:where(.breadcrumb__list){display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
:where(.breadcrumb__item a){color:inherit;text-decoration:none}
:where(.breadcrumb__item a:hover){color:var(--color-primary);text-decoration:underline}
:where(.breadcrumb__item--current){color:var(--color-text);font-weight:600}

/* ── Pasek informacyjny ─────────────────────────────────────────────────── */
:where(.ticker){display:flex;align-items:center;min-height:42px;overflow:hidden;position:relative;z-index:2;font-size:.875rem}
:where(.ticker__tag){flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 14px;font-weight:700;font-size:.75rem;letter-spacing:.04em}
:where(.ticker__inner){flex:1;overflow:hidden}
:where(.ticker__track){display:inline-flex;white-space:nowrap;animation:szk-ticker var(--ticker-duration,30s) linear infinite}
:where(.ticker__content){padding-right:48px}
:where(.ticker__content a){color:inherit}
:where(.ticker__paused .ticker__track){animation-play-state:paused}
:where(.ticker__pause){flex-shrink:0;background:none;border:0;color:inherit;cursor:pointer;padding:0 14px;height:42px}
:where(.ticker--bottom){position:fixed;bottom:0;left:0;right:0;z-index:9999}
@keyframes szk-ticker{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--ticker-one-copy,200px)))}}

/* ── Kalendarz ──────────────────────────────────────────────────────────── */
:where(.cal-nav){display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--color-primary);color:var(--color-on-primary,#fff);border-radius:12px}
:where(.cal-nav__btn){width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}
:where(.cal-nav__label){font-weight:700;font-size:.9rem;text-align:center}
:where(.cal-grid){width:100%;border-collapse:collapse;table-layout:fixed;margin-top:8px;font-size:.8125rem}
:where(.cal-grid th){font-weight:600;color:var(--color-text-muted);padding:6px 0}
:where(.cal-grid th abbr){text-decoration:none}
:where(.cal-grid td){text-align:center;padding:2px}
:where(.cal-day){position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:var(--color-text);text-decoration:none}
:where(a.cal-day){font-weight:700;color:var(--color-primary);background:var(--color-primary-pale)}
:where(a.cal-day:hover){background:var(--color-primary);color:var(--color-on-primary,#fff)}
:where(.cal-day--today){background:var(--color-primary);color:var(--color-on-primary,#fff);font-weight:700}
:where(.cal-ev-dot){position:absolute;bottom:2px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--color-accent)}
:where(.cal-ev-badge){position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--color-accent);color:var(--color-on-accent,#fff);font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center}

/* ── Bramka hasła ───────────────────────────────────────────────────────── */
:where(.password-gate){max-width:460px;margin:40px auto;text-align:center;padding:36px 28px;border-radius:20px;background:var(--color-bg);border:1px solid var(--color-border)}
:where(.password-gate__icon){color:var(--color-primary);margin-bottom:12px}
:where(.password-gate__title){font-size:1.5rem;margin:0 0 8px}
:where(.password-gate__desc){color:var(--color-text-muted);margin:0 0 20px}
:where(.password-gate__label){display:block;font-weight:600;margin-bottom:8px;text-align:left}
:where(.password-gate__input-wrap){display:flex;gap:8px}
:where(.password-gate__input){flex:1;min-width:0;padding:10px 14px;border-radius:10px;border:2px solid var(--color-border);font:inherit}
:where(.password-gate__input:focus){outline:2px solid var(--color-primary);outline-offset:1px}
:where(.password-gate__error){color:#b91c1c;font-size:.875rem;margin:10px 0 0}

/* ── Dane kontaktowe i mapa ─────────────────────────────────────────────── */
:where(.page-contact-info){display:grid;gap:4px;margin:0 0 24px;padding:18px 20px;border-radius:16px;background:var(--color-bg-alt)}
:where(.page-contact-item){display:flex;align-items:center;gap:12px;padding:6px 0;color:var(--color-text);text-decoration:none;font-style:normal}
:where(a.page-contact-item:hover){color:var(--color-primary)}
:where(.page-contact-item__icon){flex-shrink:0;width:34px;height:34px;padding:9px;box-sizing:border-box;border-radius:10px;background:var(--color-primary);color:var(--color-on-primary,#fff);display:flex;align-items:center;justify-content:center}
:where(.page-contact-item__icon--bip){background:#fff;border:1px solid var(--color-border)}
:where(.page-contact-item__label){color:var(--color-text-muted)}
:where(.page-contact-map__frame){border-radius:16px;overflow:hidden}
:where(.page-contact-map__frame iframe){display:block;width:100%;height:340px;border:0}

/* ── Sekcje pod treścią ─────────────────────────────────────────────────── */
:where(.page-files,.page-gallery,.page-subpages,.page-survey,.page-signals,.page-contact-map,.page-groups){margin-top:32px}
:where(.page-subpages--bare){margin-top:0}

/* ── Pliki do pobrania ──────────────────────────────────────────────────── */
:where(.file-list){list-style:none;margin:0;padding:0;display:grid;gap:8px}
:where(.file-list__link){display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-decoration:none}
:where(.file-list__link:hover){border-color:var(--color-primary)}
:where(.file-list__icon){color:var(--color-primary);flex-shrink:0}
:where(.file-list__name){flex:1;font-weight:600;min-width:0;overflow-wrap:anywhere}
:where(.file-list__size){font-size:.8125rem;color:var(--color-text-muted)}
:where(.file-list__ext){background:var(--color-primary);color:var(--color-on-primary,#fff);font-size:.625rem;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.04em}

/* ── Galeria ────────────────────────────────────────────────────────────── */
:where(.gallery){display:grid;grid-template-columns:repeat(var(--gallery-cols,3),1fr);gap:10px}
:where(.gallery__item){display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--color-bg-alt)}
:where(.gallery__img){width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
:where(.gallery__item:hover .gallery__img){transform:scale(1.04)}
:where(.gallery__item--portrait .gallery__img){object-fit:contain}
:where(.gallery--cols-1 .gallery__item){aspect-ratio:auto}
:where(.gallery--cols-1 .gallery__img){height:auto;object-fit:fill}
@media(max-width:600px){:where(.gallery:not(.gallery--cols-1)){grid-template-columns:repeat(2,1fr)}}

/* ── Podstrony ──────────────────────────────────────────────────────────── */
:where(.subpage-list){display:grid;gap:8px}
:where(.subpage-strip){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:14px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-decoration:none;font-weight:700}
:where(.subpage-strip:hover){border-color:var(--color-primary)}
:where(.subpage-strip__btn,.subpage-tile__btn,.subpage-wide-item__btn,.subpage-card-item__btn){display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;font-weight:600;color:var(--color-primary)}
:where(.subpage-grid){display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
:where(.subpage-tile){display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:18px;border-radius:16px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-decoration:none;font-weight:700}
:where(.subpage-wide-list){display:grid;gap:12px}
:where(.subpage-wide-item){display:grid;grid-template-columns:200px 1fr;border-radius:16px;overflow:hidden;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-decoration:none}
:where(.subpage-wide-item__img){background:var(--color-bg-alt);min-height:120px}
:where(.subpage-wide-item__img img,.subpage-card-item__img img){width:100%;height:100%;object-fit:cover;display:block}
:where(.subpage-wide-item__body,.subpage-card-item__body){display:flex;flex-direction:column;justify-content:center;gap:8px;padding:16px 20px;font-weight:700}
:where(.subpage-cards){display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
:where(.subpage-card-item){display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-decoration:none}
:where(.subpage-card-item__img){aspect-ratio:16/10;background:var(--color-bg-alt)}
@media(max-width:600px){:where(.subpage-wide-item){grid-template-columns:1fr}}

/* ── Klasy / grupy / plany ──────────────────────────────────────────────── */
:where(.groups-year-block+.groups-year-block){margin-top:24px}
:where(.groups-grid){display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
:where(.group-card){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 10px;border-radius:14px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-decoration:none;text-align:center;font-weight:700}
:where(.group-card:hover){border-color:var(--color-primary);color:var(--color-primary)}
:where(.group-card__icon){font-size:1.75rem;line-height:1}
:where(.group-card__icon--img){width:48px;height:48px;object-fit:contain}
:where(.group-card__icon--initials){width:48px;height:48px;border-radius:50%;background:var(--color-primary-pale);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1rem}

/* ── Ankieta ────────────────────────────────────────────────────────────── */
:where(.page-survey__desc){color:var(--color-text-muted)}
:where(.page-survey__body){display:grid;gap:16px}
:where(.survey-question){padding:18px 20px;border-radius:16px;background:var(--color-bg-alt);border:1px solid var(--color-border)}
:where(.survey-question__text){font-weight:700;margin:0 0 10px}
:where(.survey-options){display:grid;gap:8px}
:where(.survey-option){display:flex;align-items:center;gap:10px;cursor:pointer}
:where(.survey-result-row){display:grid;grid-template-columns:minmax(0,1fr) 2fr 44px;align-items:center;gap:10px;font-size:.875rem}
:where(.survey-result-row__bar-wrap){height:8px;border-radius:4px;background:var(--color-border);overflow:hidden}
:where(.survey-result-row__bar){height:100%;background:var(--color-primary)}
:where(.survey-result-count,.survey-thankyou){font-size:.8125rem;color:var(--color-text-muted);margin:6px 0 0}
:where(.survey-error-msg){color:#b91c1c;font-size:.875rem;margin:0}
:where(.survey-submit-btn){justify-self:start}

/* ── Skrzynka na sygnały ────────────────────────────────────────────────── */
:where(.signals-alert){display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:12px;margin-bottom:14px}
:where(.signals-alert--success){background:#ecfdf5;color:#065f46}
:where(.signals-alert--error){background:#fef2f2;color:#991b1b}
:where(.signals-form__label){display:block;font-weight:600;margin-bottom:6px}
:where(.signals-form__required){color:#b91c1c}
:where(.signals-form__textarea){width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--color-border);font:inherit;resize:vertical;min-height:140px;background:var(--color-bg);color:var(--color-text)}
:where(.signals-form__textarea:focus){outline:2px solid var(--color-primary);outline-offset:1px}
:where(.signals-form__note){display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text-muted)}

/* ── Udostępnianie i informacje o stronie ───────────────────────────────── */
:where(.page-footer-meta){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid var(--color-border)}
:where(.page-share){display:flex;align-items:center;gap:8px;flex-wrap:wrap}
:where(.page-share__label){font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}
:where(.page-share__btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 10px;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;font:inherit;font-size:.8125rem;text-decoration:none}
:where(.page-share__btn:hover){border-color:var(--color-primary);color:var(--color-primary)}
:where(.page-meta-strip){display:flex;flex-wrap:wrap;gap:14px;font-size:.8125rem;color:var(--color-text-muted)}
:where(.page-meta-strip__item){display:inline-flex;align-items:center;gap:5px}

/* ── Nawigacja między artykułami ────────────────────────────────────────── */
:where(.article-nav){margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}
:where(.article-nav__inner){display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
:where(.article-nav__link){display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--color-border);text-decoration:none;color:var(--color-text)}
:where(.article-nav__link--next){text-align:right}
:where(.article-nav__link:hover){border-color:var(--color-primary)}
:where(.article-nav__label){display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:var(--color-primary)}
:where(.article-nav__link--next .article-nav__label){justify-content:flex-end}
:where(.article-nav__title){font-weight:600;font-size:.875rem}
@media(max-width:700px){:where(.article-nav__inner){grid-template-columns:1fr}:where(.article-nav__link--next){text-align:left}:where(.article-nav__link--next .article-nav__label){justify-content:flex-start}}

/* ── Odliczanie ─────────────────────────────────────────────────────────── */
:where(.countdown-bar){background:var(--cb-bg,var(--color-primary));color:#fff;padding:14px 0}
:where(.countdown-bar__inner){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 32px}
:where(.countdown-bar__item){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
:where(.countdown-bar__label){font-weight:700}
:where(.countdown-bar__clock){display:flex;align-items:center;gap:6px}
:where(.countdown-bar__unit){display:flex;flex-direction:column;align-items:center;min-width:42px}
:where(.countdown-bar__num){font-size:1.375rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
:where(.countdown-bar__unit-label){font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
:where(.countdown-bar__sep){width:1px;height:32px;background:rgba(255,255,255,.35)}

/* ── Statystyki ─────────────────────────────────────────────────────────── */
:where(.stats-bar){padding:32px 0}
:where(.stats-bar__inner){display:grid;gap:16px}
:where(.stats-bar__item){display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
:where(.stats-bar__value){font-size:2.25rem;font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums;line-height:1.1}
:where(.stats-bar__label){font-size:.875rem;color:var(--color-text-muted)}
@media(max-width:700px){:where(.stats-bar__inner){grid-template-columns:repeat(2,1fr)!important}}

/* ── Blok tekstowy ──────────────────────────────────────────────────────── */
:where(.section-blok-tekstowy){padding:40px 0}
:where(.blok-tekstowy--split){display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
:where(.blok-tekstowy__img){border-radius:20px;overflow:hidden}
:where(.blok-tekstowy__img img){width:100%;height:100%;object-fit:cover;display:block}
:where(.blok-tekstowy__title){margin:0 0 12px}
:where(.blok-tekstowy__link){margin-top:16px}
@media(max-width:860px){:where(.blok-tekstowy--split){grid-template-columns:1fr}}

/* ── Popup ──────────────────────────────────────────────────────────────── */
:where(#szk-popup-overlay){position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.6);opacity:0;transition:opacity .3s}
:where(#szk-popup-overlay.is-visible){display:flex}
:where(#szk-popup-overlay.is-open){opacity:1}
:where(#szk-popup){position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:20px;background:var(--color-bg);color:var(--color-text);box-shadow:0 24px 60px rgba(0,0,0,.3)}
:where(.popup-close){position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.9);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}
:where(.popup-photo){width:100%;display:block}
:where(.popup-photo-wrap.is-portrait){background:var(--color-bg-alt);text-align:center}
:where(.popup-photo-wrap.is-portrait .popup-photo){width:auto;max-width:100%;max-height:60vh;margin:0 auto}
:where(.popup-photo-caption){font-size:.8125rem;color:var(--color-text-muted);padding:6px 20px 0}
:where(.popup-body){padding:20px 24px}
:where(.popup-title){margin:0 0 8px}
:where(.popup-footer){padding:0 24px 22px;display:flex;justify-content:flex-end}
:where(.popup-btn-close){display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:999px;border:0;background:var(--color-primary);color:var(--color-on-primary,#fff);font:inherit;font-weight:700;cursor:pointer;text-decoration:none}

/* ── Treść: przewijane tabele ───────────────────────────────────────────── */
:where(.prose-table-wrap){overflow-x:auto;margin:1em 0}

@media(prefers-reduced-motion:reduce){:where(.ticker__track){animation:none}:where(.gallery__img){transition:none}}
@media print{:where(.ticker,.page-share,.article-nav,#szk-popup-overlay){display:none!important}}
/* 1.4.10 — długie wartości (ePUAP, e-mail) zawijają się zamiast poszerzać stronę przy 320 px */
:where(.page-contact-info){grid-template-columns:minmax(0,1fr)}
:where(.page-contact-item>span:not(.page-contact-item__icon)){min-width:0;overflow-wrap:anywhere}
