/* Szpalta: style motywu (układ, nagłówek, stopka, artykuł, tryb ciemny). Bloki rdzenia mają własne style. */

/* ---------- Tryb ciemny: podmiana tokenów ---------- */
:root[data-theme="dark"] {
	--wp--preset--color--base: var(--wp--custom--dark--base);
	--wp--preset--color--surface: var(--wp--custom--dark--surface);
	--wp--preset--color--contrast: var(--wp--custom--dark--contrast);
	--wp--preset--color--muted: var(--wp--custom--dark--muted);
	--wp--preset--color--line: var(--wp--custom--dark--line);
	--wp--preset--color--line-soft: var(--wp--custom--dark--line-soft);
	--wp--preset--color--accent: var(--wp--custom--dark--accent);
	--wp--preset--color--on-accent: var(--wp--custom--dark--on-accent);
	--wp--preset--color--band: var(--wp--custom--dark--band);
	--wp--preset--color--band-ink: var(--wp--custom--dark--band-ink);
	--wp--preset--color--band-muted: var(--wp--custom--dark--band-muted);
	--wp--preset--color--placeholder: var(--wp--custom--dark--placeholder);
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--wp--preset--color--base: var(--wp--custom--dark--base);
		--wp--preset--color--surface: var(--wp--custom--dark--surface);
		--wp--preset--color--contrast: var(--wp--custom--dark--contrast);
		--wp--preset--color--muted: var(--wp--custom--dark--muted);
		--wp--preset--color--line: var(--wp--custom--dark--line);
		--wp--preset--color--line-soft: var(--wp--custom--dark--line-soft);
		--wp--preset--color--accent: var(--wp--custom--dark--accent);
		--wp--preset--color--on-accent: var(--wp--custom--dark--on-accent);
		--wp--preset--color--band: var(--wp--custom--dark--band);
		--wp--preset--color--band-ink: var(--wp--custom--dark--band-ink);
		--wp--preset--color--band-muted: var(--wp--custom--dark--band-muted);
		--wp--preset--color--placeholder: var(--wp--custom--dark--placeholder);
		color-scheme: dark;
	}
}

/* ---------- Podstawy ---------- */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
:where(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
img { height: auto; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Nagłówek ---------- */
.szp-site-header { position: relative; background: var(--wp--preset--color--base); }
.szp-topbar { border-bottom: 1px solid var(--wp--preset--color--line); }
.szp-topbar__inner { padding-block: 8px; gap: 8px 24px; }
.szp-brandbar__inner { padding-block: 28px 20px; gap: 16px; align-items: center; }
.szp-brand { gap: 4px !important; }
.szp-brand .wp-block-site-title a { color: var(--wp--preset--color--contrast); }
.szp-brand .wp-block-site-logo { margin: 0; }
.szp-dot { color: var(--wp--preset--color--accent); }
.szp-navbar { border-top: 1px solid var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--line); }
.szp-site-header .wp-block-site-logo + .wp-block-site-title { display: none; }

@media (max-width: 781px) {
	.szp-topbar, .szp-brand__tagline { display: none; }
	.szp-brandbar__inner { padding-block: 8px; }
	.szp-brand .wp-block-site-title { font-size: calc(var(--wp--custom--logo--size) * 0.6); }
	.szp-navbar { border-top: 0; }
	.szp-brandbar { border-bottom: 1px solid var(--wp--preset--color--line); }
}

/* ---------- Główna kolumna ---------- */
.szp-main { padding-block: 32px 0; }
.szp-main > * + * { margin-block-start: 24px; }
.szp-home > .szp-sec { margin-block-start: var(--wp--custom--section-gap); }
.szp-home > .szp-sec:first-of-type, .szp-home > h1 + .szp-sec { margin-block-start: 32px; }
.szp-home > .szp-band-ticker { margin-block-start: 0; }
.szp-home { padding-top: 0; }
.szp-band-ticker + .szp-sec { margin-block-start: 32px !important; }
.wp-block-group.szp-band-ticker { border-bottom: 1px solid var(--wp--preset--color--line); }

/* Kolumny układu (treść + kolumna boczna) */
.szp-layout { gap: 32px 56px !important; margin-block-start: 32px; }
.szp-cols { gap: 32px !important; }
@media (max-width: 899px) {
	.szp-layout, .szp-cols { flex-wrap: wrap !important; }
	.szp-layout > .wp-block-column, .szp-cols > .wp-block-column { flex-basis: 100% !important; }
}
.szp-aside { display: flex; flex-direction: column; gap: 40px; }
.szp-aside > * + *, .szp-aside__inner > * + * { margin-block-start: 0 !important; }
.szp-aside__inner { display: flex; flex-direction: column; gap: 40px; }

.szp-grid { display: grid; gap: 40px; }
.szp-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.szp-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 32px; }
.szp-grid > * { margin: 0 !important; }

.szp-band { border-radius: var(--wp--custom--radius); padding: 40px !important; }
.wp-block-group.szp-band-ticker { padding-block: 12px; }
@media (max-width: 781px) {
	.szp-sec > .szp-band { padding: 28px 20px !important; margin-inline: calc(-1 * var(--wp--custom--gutter)); border-radius: 0; }
	.szp-home > .szp-sec { margin-block-start: 44px; }
}

.szp-page-title { margin-block: 8px 0; }
.szp-main > .szp-breadcrumbs + * { margin-block-start: 14px; }

/* ---------- Artykuł ---------- */
.szp-article { min-width: 0; }
.szp-article > * + * { margin-block-start: 0; }
.szp-article .szp-breadcrumbs { margin-bottom: 20px; }
.szp-article .szp-post-kicker { margin-bottom: 12px; }
.szp-article__title { margin: 0 0 20px !important; text-wrap: balance; }
.szp-article .szp-post-lead { margin-bottom: 28px; }
.szp-article__metarow { padding-block: 14px; border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); margin-bottom: 32px; gap: 12px; }
.szp-article__image { margin: 0 0 36px; border-radius: var(--wp--custom--radius); overflow: hidden; }
.szp-article__image img { border-radius: var(--wp--custom--radius); }

.szp-article__content { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--custom--article--font-size); line-height: var(--wp--custom--article--line-height); color: color-mix(in srgb, var(--wp--preset--color--contrast) 92%, var(--wp--preset--color--base)); }
.szp-article__content > * { margin-block: 0 24px; }
@media (max-width: 600px) {
	.szp-article__content { font-size: 18px; line-height: 1.6; }
	.szp-article__content > h2 { font-size: 24px; }
	.szp-article__metarow { gap: 8px; }
}
.szp-article__content > h2 { font-size: 28px; line-height: 1.25; margin-block: 44px 16px; color: var(--wp--preset--color--contrast); }
.szp-article__content > h3 { font-size: 23px; line-height: 1.3; margin-block: 32px 12px; color: var(--wp--preset--color--contrast); }
.szp-article__content a { color: var(--wp--preset--color--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.szp-article__content a:hover { text-decoration-thickness: 2px; }
.szp-article__content :is(ul, ol) { padding-left: 1.3em; }
.szp-article__content li { margin-bottom: 8px; }
.szp-article__content li::marker { color: var(--wp--preset--color--accent); }
.szp-article__content blockquote, .szp-article__content .wp-block-quote { margin-block: 36px; font-style: italic; }
.szp-article__content .wp-block-quote p { font-size: 1.35em; line-height: 1.35; color: var(--wp--preset--color--contrast); }
.szp-article__content .wp-block-quote cite { font: normal 13px var(--wp--preset--font-family--ui); color: var(--wp--preset--color--muted); }
.szp-article__content .wp-block-pullquote { border-color: var(--wp--preset--color--accent); }
.szp-article__content figure { margin-inline: 0; }
.szp-article__content img { border-radius: var(--wp--custom--radius); }
.szp-article__content figcaption { margin-top: 10px; }
.szp-article__content .wp-block-table { font: 15px/1.45 var(--wp--preset--font-family--ui); overflow-x: auto; }
.szp-article__content .wp-block-table table { border-collapse: collapse; width: 100%; }
.szp-article__content .wp-block-table :is(th, td) { border: 1px solid var(--wp--preset--color--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.szp-article__content .wp-block-table th { background: var(--wp--preset--color--surface); font-weight: 600; }
.szp-article__content hr { border: 0; border-top: 1px solid var(--wp--preset--color--line); margin-block: 40px; }
.szp-article__content > .szp-readalso { margin-block: 32px; }
.szp-article__content > .szp-sponsored { margin-top: 36px; }

.szp-article__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 40px !important; font-size: 0; }
.szp-article__tags a { display: inline-flex; padding: 8px 14px; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; font: 500 13px/1 var(--wp--preset--font-family--ui); }
.szp-article__tags .wp-block-post-terms__separator { display: none; }

.szp-article .szp-author-box { margin-bottom: 48px; }
.szp-related { margin-top: 56px; }

/* Komentarze */
.szp-comments { margin-top: 8px; margin-bottom: 8px; }
.szp-comments .wp-block-comments-title { font: 700 14px/1.3 var(--wp--preset--font-family--ui); letter-spacing: .1em; text-transform: uppercase; border-top: var(--wp--custom--rule) solid var(--wp--preset--color--contrast); padding-top: 12px; margin-bottom: 16px; }
.szp-comments .comment-respond { background: var(--wp--preset--color--surface); padding: 24px; border-radius: var(--wp--custom--radius); margin-bottom: 8px; }
.szp-comments .comment-reply-title { font: 600 15px var(--wp--preset--font-family--ui); margin: 0 0 12px; }
.szp-comments .comment-form { display: flex; flex-wrap: wrap; gap: 12px; }
.szp-comments .comment-form > p { margin: 0; flex: 1 1 100%; }
.szp-comments .comment-form-author, .szp-comments .comment-form-email { flex: 1 1 200px !important; }
.szp-comments .comment-form-url { display: none; }
.szp-comments label { display: block; font: 600 13px var(--wp--preset--font-family--ui); margin-bottom: 6px; }
.szp-comments .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.szp-comments :is(input[type=text], input[type=email], textarea) { width: 100%; box-sizing: border-box; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); padding: 10px 12px; font: 15px var(--wp--preset--font-family--ui); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.szp-comments .comment-notes, .szp-comments .logged-in-as { font-size: 12px; color: var(--wp--preset--color--muted); }
.szp-comments .form-submit input[type=submit], .szp-comments .wp-block-button__link { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border: 0; border-radius: 999px; min-height: 44px; padding: 0 22px; font: 600 14px var(--wp--preset--font-family--ui); cursor: pointer; }
.szp-comments .wp-block-comment-template { list-style: none; padding: 0; margin: 0; }
.szp-comments .wp-block-comment-template li { padding: 20px 0; border-bottom: 1px solid var(--wp--preset--color--line-soft); }
.szp-comments .wp-block-comment-template ol { list-style: none; padding-left: 24px; }
.szp-comment__head { gap: 10px; align-items: baseline; }
.szp-comments .wp-block-comment-author-name { font-weight: 600; font-size: 14px; }
.szp-comments .wp-block-comment-date { font-size: 12px; color: var(--wp--preset--color--muted); }
.szp-comments .wp-block-comment-content { font-size: 15px; line-height: 1.55; margin-top: 6px; }
.szp-comments .wp-block-comment-reply-link a { font-size: 13px; font-weight: 600; color: var(--wp--preset--color--accent); }

/* Kolumna boczna artykułu przy długich tekstach */
@media (min-width: 900px) {
	.szp-single .szp-aside__inner { position: sticky; top: 24px; }
}

/* ---------- Archiwa ---------- */
.szp-archive .szp-term-header { margin-top: 0; }
.szp-archive__lead { margin-top: 24px; }
.szp-archive .szp-pagination { margin-top: 32px; }

/* Wyszukiwanie */
.szp-search-band { padding-block: 40px 32px; border-bottom: 1px solid var(--wp--preset--color--line); }

/* Dokument (strony prawne) */
.szp-document .szp-page-title { margin-bottom: 8px; }
.szp-doc-dates { font: 14px var(--wp--preset--font-family--ui) !important; color: var(--wp--preset--color--muted) !important; padding-bottom: 24px; border-bottom: 1px solid var(--wp--preset--color--line); margin-bottom: 32px !important; }
.szp-document__content { font-size: 18px; max-width: 720px; }
.szp-document__content > h2 { font-size: 26px; }
.szp-doc-contact { font: 15px var(--wp--preset--font-family--ui); border-radius: var(--wp--custom--radius); margin-top: 40px !important; }
.szp-doc-contact p { margin: 0; }
@media (min-width: 900px) {
	.szp-document__toc .szp-toc { position: sticky; top: 24px; }
}
@media (max-width: 899px) {
	.szp-document__toc { order: 0; }
	.szp-document__toc .szp-toc { padding: 16px 18px; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius); }
}

/* 404 */
.szp-404__code { font: 600 12px var(--wp--preset--font-family--ui); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.szp-404__text { font: 19px/1.55 var(--wp--preset--font-family--body); color: var(--wp--preset--color--muted); }
.szp-404 .szp-posts { margin-top: 56px; }
.wp-block-search__inside-wrapper { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); padding: 0; overflow: hidden; max-width: 560px; }
.wp-block-search__input { border: 0; padding: 0 14px; min-height: 48px; font: 16px var(--wp--preset--font-family--ui); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.wp-block-search__button { margin: 0; border-radius: 0; min-height: 48px; padding: 0 20px; }

/* ---------- Stopka ---------- */
.szp-footer { margin-top: 80px; padding-block: 56px 0; }
.szp-footer a { color: color-mix(in srgb, var(--wp--preset--color--band-ink) 86%, transparent); }
.szp-footer a:hover { color: var(--wp--preset--color--band-ink); text-decoration: underline; }
.szp-footer .szp-block { color: inherit; }
.szp-footer__cols { gap: 40px !important; padding-bottom: 32px; align-items: flex-start; }
.szp-footer__about { flex: 2 1 280px; gap: 12px !important; }
.szp-footer__about .wp-block-site-title { font-size: 40px; }
.szp-footer__about .wp-block-site-title a { color: var(--wp--preset--color--band-ink); }
.szp-footer .szp-publisher--about { font-size: 14px; line-height: 1.6; max-width: 360px; color: color-mix(in srgb, var(--wp--preset--color--band-ink) 82%, transparent); }
.szp-footer .szp-menu { flex: 1 1 160px; }
.szp-footer .szp-menu__label { color: var(--wp--preset--color--band-ink); }
.szp-footer__bottom { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--band-ink) 14%, transparent); padding-block: 20px 32px; gap: 12px; }
.szp-footer__bottom .szp-publisher { color: var(--wp--preset--color--band-muted); }

/* Edytor: lepszy podgląd szablonów */
.editor-styles-wrapper .szp-site-header { position: relative; }

/* Podpis zdjęcia (Fot.) */
.szp-article__image { overflow: visible; }
.szp-photo-credit { margin-top: 10px; font: 13px/1.4 var(--wp--preset--font-family--ui); color: var(--wp--preset--color--muted); text-align: left; }

/* Pasek postępu czytania w artykule: sam CSS, bez skryptów (przeglądarki bez obsługi go pomijają) */
@supports (animation-timeline: scroll()) {
	body.single-post::before { content: ""; position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; height: 3px; background: var(--wp--preset--color--accent); transform-origin: 0 50%; transform: scaleX(0); z-index: 60; pointer-events: none; animation: szp-read linear both; animation-timeline: scroll(root); }
	@keyframes szp-read { to { transform: scaleX(1); } }
}
