/* Nie martw się – style całego serwisu (prefiks nms-) */
:root {
	--nms-night: #15302A;
	--nms-deep: #0E211D;
	--nms-sage: #5E7F6A;
	--nms-sage-d: #46644F;
	--nms-mist: #E7EEE8;
	--nms-parch: #F7F3EA;
	--nms-brass: #A87A2A;
	--nms-brass-d: #7C5A16;
	--nms-ink: #1B2421;
	--nms-muted: #56635C;
	--nms-line: #E2E6DF;
	--font-sans: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-serif: 'Lora', Georgia, 'Times New Roman', serif;
	--font-heading: 'Lora', Georgia, serif;
	--font-body: 'Source Sans 3', system-ui, sans-serif;
}
body { font-family: var(--font-sans); color: var(--nms-ink); font-size: 1.0625rem; }
h1, h2, h3, h4, .entry-title, .archive-title, .post-card__title, .site-branding__name, .footer-brand__name { font-family: var(--font-serif); letter-spacing: -.005em; }

/* Nagłówek: mosiężna linia z „gwiazdkami” */
.site-header { position: relative; }
.site-header::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; z-index: 2;
	background: radial-gradient(circle, var(--nms-brass) 1.4px, transparent 1.6px) 0 50% / 18px 3px repeat-x, linear-gradient(var(--nms-night), var(--nms-night));
}
.site-branding__name { font-weight: 700; color: var(--nms-night); }
.primary-nav .menu { gap: .15rem; flex-wrap: nowrap; }
.primary-nav .menu > li > a { position: relative; font-weight: 600; white-space: nowrap; padding: .55rem .75rem; }
.primary-nav .menu > li > a::after {
	content: "✦"; position: absolute; left: 50%; bottom: -.55rem; transform: translateX(-50%) scale(0);
	color: var(--nms-brass); font-size: .7rem; 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%) scale(1); }
@media (max-width: 1160px) { .primary-nav .menu > li > a { padding: .5rem .45rem; font-size: .95rem; } }

/* Przyciski */
.nms-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .7rem 1.25rem; border-radius: 999px; font-weight: 700; font-size: .98rem; border: 0; cursor: pointer; text-decoration: none; font-family: var(--font-sans); }
.nms-btn--brass { background: var(--nms-brass-d); color: #fff; }
.nms-btn--brass:hover { background: #654812; color: #fff; }
.nms-btn--forest { background: var(--nms-night); color: #fff; }
.nms-btn--forest:hover { background: #23463D; color: #fff; }
.nms-link { background: none; border: 0; padding: 0; color: var(--nms-sage-d); text-decoration: underline; cursor: pointer; font: inherit; }
.nms-more { color: var(--nms-brass-d); font-weight: 700; text-decoration: none; border-bottom: 1px dotted currentColor; }
.nms-more:hover { color: var(--nms-night); }

/* Karty wpisów motywu */
.post-card { border: 1px solid var(--nms-line); border-radius: 12px; box-shadow: none; transition: box-shadow .2s, border-color .2s; }
.post-card:hover { border-color: var(--nms-sage); box-shadow: 0 8px 22px rgba(21, 48, 42, .1); }

/* Treść wpisów i stron */
.entry-content h2 { position: relative; padding-left: 1.5rem; }
.entry-content h2::before { content: "✦"; position: absolute; left: 0; top: .05em; color: var(--nms-brass); font-size: .85em; }
.entry-content table { border-collapse: collapse; width: 100%; font-size: .97rem; display: block; overflow-x: auto; }
.entry-content table tbody, .entry-content table thead { display: table; width: 100%; }
.entry-content th { background: var(--nms-mist); color: var(--nms-night); text-align: left; font-weight: 700; }
.entry-content th, .entry-content td { padding: .55rem .8rem; border-bottom: 1px solid var(--nms-line); }
.entry-content blockquote { border-left: 3px solid var(--nms-brass); background: var(--nms-parch); padding: 1rem 1.25rem; font-style: italic; }
.entry-content figure.nms-figure { margin: 2rem 0; }
.entry-content figure.nms-figure img { border-radius: 10px; }
.entry-content figcaption, .nms-photo-credit { font-size: .86rem; color: var(--nms-muted); margin-top: .5rem; }
.nms-photo-credit { border-top: 1px dashed var(--nms-line); padding-top: .75rem; margin-top: 2rem; }
.entry-content a { color: var(--nms-sage-d); text-decoration-thickness: 1px; text-underline-offset: 2px; }

/* Breadcrumbs */
.breadcrumb, .breadcrumbs { font-size: .9rem; color: var(--nms-muted); }
.breadcrumb a, .breadcrumbs a { color: var(--nms-sage-d); }

/* Kategorie */
.nms-cat-head { background: var(--nms-parch); border-radius: 14px; padding: 1.5rem 1.75rem; margin-bottom: 2rem; border: 1px solid var(--nms-line); }
.nms-cat-head__eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; color: var(--nms-brass-d); font-weight: 700; }
.nms-cat-head .archive-title { margin: .25rem 0 .75rem; color: var(--nms-night); }
.nms-cat-head__count { font-size: .9rem; color: var(--nms-muted); margin: .75rem 0 0; }
.nms-cat-signs { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; padding: 0; list-style: none; }
.nms-cat-signs a { display: inline-block; padding: .3rem .7rem; border-radius: 999px; background: #fff; border: 1px solid var(--nms-line); text-decoration: none; color: var(--nms-night); font-size: .92rem; }
.nms-cat-signs a:hover { border-color: var(--nms-brass); }
.nms-cat-faq { margin-top: 2.5rem; border-top: 2px solid var(--nms-night); padding-top: 1.5rem; }
.nms-cat-faq details { border-bottom: 1px solid var(--nms-line); padding: .8rem 0; }
.nms-cat-faq summary { font-weight: 700; cursor: pointer; color: var(--nms-night); }

/* Oceny */
.nms-rate { margin: 2.5rem 0 1rem; padding: 1.25rem 1.5rem; border-radius: 14px; background: var(--nms-mist); text-align: center; }
.nms-rate__q { margin: 0 0 .5rem; font-weight: 700; font-family: var(--font-serif); color: var(--nms-night); }
.nms-rate__stars button { background: none; border: 0; font-size: 1.8rem; line-height: 1; color: #B9C4BC; cursor: pointer; padding: 0 .1rem; }
.nms-rate__stars button.is-on { color: var(--nms-brass); }
.nms-rate__sum { margin: .5rem 0 0; font-size: .92rem; color: var(--nms-muted); }

/* Formularz kontaktowy */
.nms-form label { display: block; font-weight: 600; margin-bottom: .3rem; }
.nms-form input[type=text], .nms-form input[type=email], .nms-form textarea { width: 100%; max-width: 560px; padding: .65rem .8rem; border: 1px solid var(--nms-line); border-radius: 10px; font: inherit; background: #fff; }
.nms-form__rodo { font-size: .88rem; color: var(--nms-muted); max-width: 560px; }
.nms-form__hp { position: absolute; left: -9999px; }

/* Stopka: leśna noc z gwiazdami */
.site-footer { background-color: var(--nms-deep); background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,.35) 0 1px, transparent 1.5px), radial-gradient(circle at 70% 60%, rgba(255,255,255,.25) 0 1px, transparent 1.5px), radial-gradient(circle at 45% 80%, rgba(168,122,42,.6) 0 1px, transparent 1.6px); background-size: 140px 120px, 190px 160px, 230px 210px; color: #DCE5DE; border-top: 3px solid var(--nms-brass); }
.site-footer a { color: #E9EFE9; }
.site-footer a:hover { color: #E3C27F; }
.footer-col__title, .footer-brand__name { color: #fff; }
.footer-brand__tagline, .footer-bottom { color: #B8C7BC; }

@media (max-width: 600px) {
	.nms-cat-head { padding: 1.1rem; }
	.entry-content h2 { padding-left: 1.2rem; }
}
