/* BIP Core — neutralny, dostępny styl bazowy. Do nadpisania przez motyw. */

:root {
	--bip-fg: #1a1a1a;
	--bip-bg: #ffffff;
	--bip-accent: #b40000;          /* min. AA na białym */
	--bip-border: #767676;          /* AA dla obramowań/tekstu pomocniczego */
	--bip-muted: #595959;
}

/* ---- Metryczka ---- */
.bip-metryczka { border: 1px solid var(--bip-border); padding: 1rem; margin: 1.5rem 0; container-type: inline-size; }
.bip-metryczka__title { font-size: 1.125rem; margin: 0 0 .75rem; }
.bip-metryczka__list { margin: 0; }
.bip-metryczka__row { display: flex; gap: .5rem; padding: .25rem 0; border-bottom: 1px solid #e2e2e2; }
.bip-metryczka__row dt { flex: 0 0 16rem; font-weight: 700; margin: 0; }
.bip-metryczka__row dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) {
	.bip-metryczka__row { flex-direction: column; gap: .125rem; }
	.bip-metryczka__row dt { flex: none; }
}
@container (max-width: 34rem) {
	.bip-metryczka__row { flex-direction: column; gap: .125rem; }
	.bip-metryczka__row dt { flex: none; }
}

/* ---- Rejestr zmian ---- */
.bip-rejestr { margin: 1.5rem 0; }
.bip-rejestr__title { font-size: 1.125rem; }
.bip-rejestr__list { list-style: none; padding: 0; }
.bip-rejestr__list li { padding: .25rem 0; border-bottom: 1px solid #e2e2e2; }
.bip-revision-notice { background: #fff3cd; border: 1px solid #b48a00; padding: .5rem .75rem; margin-bottom: 1rem; }

/* ---- Załączniki ---- */
.bip-zalaczniki__table { width: 100%; border-collapse: collapse; }
.bip-zalaczniki__table th,
.bip-zalaczniki__table td { text-align: left; padding: .5rem; border-bottom: 1px solid #e2e2e2; }
.bip-zalaczniki__warn { color: var(--bip-accent); font-size: .85em; }

/* ---- Breadcrumbs ---- */
.bip-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem; padding: 0; margin: .5rem 0; }
.bip-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .25rem; color: var(--bip-muted); }

/* ---- Wyszukiwarka ---- */
.bip-search { display: flex; gap: .25rem; align-items: center; }
.bip-search__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---- Narzędzia dostępności ---- */
.bip-a11y { display: inline-flex; gap: .25rem; }
.bip-a11y button { cursor: pointer; border: 1px solid var(--bip-border); background: #fff; padding: .25rem .5rem; }
.bip-a11y button:focus-visible,
.bip-search button:focus-visible,
a:focus-visible { outline: 3px solid var(--bip-accent); outline-offset: 2px; }

/* ---- Tryb kontrastowy (czarne tło / żółty tekst — częsty wzorzec BIP) ---- */
body.bip-contrast { background: #000; color: #ff0; }
body.bip-contrast a { color: #ff0; text-decoration: underline; }
body.bip-contrast .bip-metryczka,
body.bip-contrast .bip-zalaczniki__table th,
body.bip-contrast .bip-zalaczniki__table td,
body.bip-contrast .bip-a11y button { border-color: #ff0; }
body.bip-contrast .bip-a11y button { background: #000; color: #ff0; }
body.bip-contrast img { /* zachowaj czytelność grafik */ }

/* ---- Druk: czysta treść + metryczka, bez nawigacji ---- */
@media print {
	header, footer, nav, .bip-a11y, .bip-search { display: none !important; }
	.bip-metryczka, .bip-zalaczniki, .bip-rejestr { page-break-inside: avoid; }
	a[href]::after { content: " (" attr(href) ")"; font-size: .8em; }
}
