/* Kosmiczna Propaganda – style całego serwisu (prefiks kp-) */
:root {
	--kp-night: #1B1640;
	--kp-deep: #120E2E;
	--kp-fuchsia: #A3134F;
	--kp-fuchsia-dark: #820E3F;
	--kp-fuchsia-soft: #FCE4EE;
	--kp-lav: #EDE7F6;
	--kp-pearl: #FBF9FC;
	--kp-gold: #C9A227;
	--kp-line: #E4DEEC;
	--kp-text: #1E1A2E;
	--kp-muted: #5E5873;
	/* paleta motywu (gdyby panel nie zapisał kolorów) */
	--color-primary: #1B1640; --color-primary-dark: #120E2E; --color-primary-hover: #2A2360; --color-primary-light: #4A3F8C;
	--color-primary-subtle: #EDE7F6; --color-primary-muted: #6B6390; --color-accent: #A3134F; --color-accent-hover: #820E3F;
	--color-accent-subtle: #FCE4EE; --color-bg: #FFFFFF; --color-bg-alt: #FBF9FC; --color-border: #E4DEEC; --color-text: #1E1A2E; --color-text-muted: #5E5873;
	--font-sans: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-serif: 'Raleway', 'Trebuchet MS', sans-serif;
}
body { font-family: var(--font-sans); color: var(--kp-text); }
h1, h2, h3, h4, .entry-title, .post-card__title, .site-branding__name, .footer-brand__name { font-family: var(--font-serif); font-weight: 800; letter-spacing: -.005em; }

/* Nagłówek: „orbita” – cienka linia fuksja→złoto z gwiazdką */
.site-header { position: relative; border-bottom: 1px solid var(--kp-line); }
.site-header::after {
	content: "✦"; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; line-height: 0;
	background: linear-gradient(90deg, var(--kp-night) 0 20%, var(--kp-fuchsia) 55%, var(--kp-gold) 100%);
	color: var(--kp-gold); font-size: 14px; text-align: right; padding-right: 8%; z-index: 2;
}
.primary-nav .menu { gap: .15rem; flex-wrap: nowrap; }
.primary-nav .menu > li > a { font-family: var(--font-serif); font-weight: 700; font-size: .95rem; letter-spacing: .02em; white-space: nowrap; padding: .5rem .7rem; position: relative; }
.primary-nav .menu > li > a::after {
	content: ""; position: absolute; left: 50%; bottom: .1rem; width: 7px; height: 7px; background: var(--kp-fuchsia);
	transform: translateX(-50%) rotate(45deg) scale(0); transition: transform .2s ease;
}
.primary-nav .menu > li > a:hover::after,
.primary-nav .menu > li.current-menu-item > a::after,
.primary-nav .menu > li.current-category-ancestor > a::after { transform: translateX(-50%) rotate(45deg) scale(1); }
.primary-nav .menu > li.current-menu-item > a { color: var(--kp-fuchsia); }
@media (max-width: 1100px) { .primary-nav .menu > li > a { padding: .5rem .45rem; font-size: .9rem; } }

/* Przyciski */
.kp-btn { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem 1.3rem; border-radius: 999px; font-weight: 700; text-decoration: none; border: 2px solid var(--kp-fuchsia); background: var(--kp-fuchsia); color: #fff; cursor: pointer; font: 700 .95rem var(--font-sans); }
.kp-btn:hover { background: var(--kp-fuchsia-dark); border-color: var(--kp-fuchsia-dark); color: #fff; }
.kp-btn--line { background: transparent; color: var(--kp-night); border-color: var(--kp-night); }
.kp-btn--line:hover { background: var(--kp-night); color: #fff; border-color: var(--kp-night); }
.kp-btn--ghost { background: transparent; border-color: transparent; color: var(--kp-fuchsia); text-decoration: underline; }
.btn--primary, .btn--accent { border-radius: 999px; }

/* Karty wpisów motywu: ramka „passe-partout” */
.post-card { border: 1px solid var(--kp-line); border-radius: 2px; box-shadow: none; outline: 1px solid transparent; outline-offset: 4px; transition: outline-color .2s, box-shadow .2s; }
.post-card:hover { outline-color: var(--kp-fuchsia); box-shadow: 0 10px 24px rgba(27,22,64,.10); }
.post-card__category { color: var(--kp-fuchsia); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }

/* Treść wpisów */
.entry-content h2 { position: relative; padding-left: 1.5rem; }
.entry-content h2::before { content: "✦"; position: absolute; left: 0; top: .05em; color: var(--kp-gold); font-size: .9em; }
.entry-content table { border-collapse: collapse; width: 100%; font-size: .95rem; display: block; overflow-x: auto; }
.entry-content th { background: var(--kp-lav); color: var(--kp-night); text-align: left; font-family: var(--font-serif); }
.entry-content th, .entry-content td { padding: .55rem .75rem; border-bottom: 1px solid var(--kp-line); }
.entry-content figcaption, .kp-photo-credit, .kpr-photo-credit { font-size: .85rem; color: var(--kp-muted); font-style: italic; }
.entry-content blockquote { border: 0; border-top: 2px solid var(--kp-fuchsia); border-bottom: 2px solid var(--kp-fuchsia); padding: 1rem 1.2rem; font-family: var(--font-serif); font-size: 1.1rem; }
.kp-zrodlo { font-size: .9rem; color: var(--kp-muted); border-top: 1px dashed var(--kp-line); padding-top: .6rem; }

/* Stopka: nocne niebo */
.site-footer {
	background-color: var(--kp-deep); color: #D9D4EA; margin-top: 3rem;
	background-image: radial-gradient(1px 1px at 12% 30%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 37% 70%, #fff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 64% 22%, var(--kp-gold) 50%, transparent 51%), radial-gradient(1px 1px at 82% 58%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 92% 18%, #fff 50%, transparent 51%);
	border-top: 3px solid var(--kp-fuchsia);
}
.site-footer a { color: #fff; }
.site-footer .footer-col__title, .site-footer .footer-brand__name { color: #fff; }
.site-footer .footer-bottom { border-top-color: rgba(255,255,255,.15); color: #BDB6D6; }

/* Formularz kontaktowy */
.kp-kontakt input, .kp-kontakt textarea { border: 1px solid var(--kp-line); border-radius: 2px; padding: .6rem .7rem; font: inherit; box-sizing: border-box; }
.kp-kontakt input:focus, .kp-kontakt textarea:focus { outline: 2px solid var(--kp-fuchsia); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* Oceny wpisów */
.kp-rate { margin: 2.5rem 0 1rem; padding: 1.25rem 1.5rem; background: var(--kp-lav); border-left: 4px solid var(--kp-fuchsia); }
.kp-rate__q { font: 700 1.05rem var(--font-serif); color: var(--kp-night); margin: 0 0 .4rem; }
.kp-rate__stars button { background: none; border: 0; font-size: 1.7rem; line-height: 1; color: #C9C0DA; cursor: pointer; padding: 0 .1rem; }
.kp-rate__stars button.is-on, .kp-rate__stars button.is-hover { color: var(--kp-gold); }
.kp-rate__sum { margin: .4rem 0 0; font-size: .9rem; color: var(--kp-muted); }

/* Kategorie */
.kp-cat-header__eyebrow { font: 700 .72rem var(--font-sans); text-transform: uppercase; letter-spacing: .2em; color: var(--kp-fuchsia); margin-bottom: .35rem; }
.kp-cat-intro { border-left: 3px solid var(--kp-gold); padding-left: 1rem; color: var(--kp-muted); line-height: 1.65; }
.kp-cat-header__count { font-size: .85rem; color: var(--kp-muted); }
.kp-cat-faq { margin-top: 2.5rem; padding: 1.5rem; border: 1px solid var(--kp-line); outline: 1px solid var(--kp-line); outline-offset: 5px; }
.kp-cat-faq h2 { font-size: 1.35rem; margin-top: 0; color: var(--kp-night); }
.kp-cat-faq details { border-top: 1px solid var(--kp-line); padding: .7rem 0; }
.kp-cat-faq summary { cursor: pointer; font-weight: 700; color: var(--kp-night); }
.kp-cat-faq summary::marker { color: var(--kp-fuchsia); }
