/* ==========================================================================
   ewardega.pl v3 "Meridian": dokumenty i wyszukiwarka (klucz "strony", szablony ui/page.php i ui/search.php).
   Ładowany tylko tam (ewardega_ui_strony_dok_css w inc/ui/legal.php), od 2.2.1 zamiast ui-strony.css. Wydzielony z ui-strony.css
   w rundzie 2 nocy (budżet 14 kB gzip na arkusz strony). Tylko tokeny z ui.css.
   Spis: hero jasne, strony prawne i zwykłe, Moje konto, wyszukiwanie, meridian w jasnym hero.
   ========================================================================== */
/* 2.2.1: ui-dok.css ładuje się bez ui-strony.css (budżet 14 kB gzip CSS strony). Reguły ui-strony.css, których
   używają regulamin, polityka, Moje konto i wyszukiwarka (pomiar selektorów na 390 i 1440), przeniesione tutaj. */
.ui-ph .ui-crumbs [aria-current] { color: inherit; }
.ui-ph .ui-eyebrow .ui-sep::before { margin-inline: 0; }
@media (max-width: 599px) { .ui-ph .ui-eyebrow .ui-sep::before { margin-inline: .5em; } }
.ui-srch :is(.ui-faq summary, .ui-h3) { text-wrap: balance; }
/* Hero jasne: okruszki, eyebrow i rozdział w kolorach jasnej strony */
.ui-ph--light { color: var(--ui-ink); }
.ui-ph--light .ui-eyebrow { color: var(--ui-gold-ink); }
.ui-ph--light .ui-crumbs { color: var(--ui-ink-3); }
.ui-ph--light .ui-crumbs a { color: var(--ui-ink-2); }
.ui-ph--light .ui-crumbs a:hover { color: var(--ui-ink); }
/* 4. Strony prawne i zwykłe ---------------------------------------------- */
.ui-pg__hero { padding-bottom: clamp(36px, 4.5vw, 64px); border-bottom: 1px solid var(--ui-line); }
.ui-pg__hero-in { display: grid; gap: 28px; }
.ui-pg__hero-txt { display: grid; gap: 20px; justify-items: start; }
.ui-pg__h { max-width: 12em; }
.ui-pg--legal .ui-pg__hero-in { align-items: end; }
@media (min-width: 1024px) { .ui-pg--legal .ui-pg__hero-in { grid-template-columns: minmax(0, 7fr) minmax(340px, 4fr); gap: clamp(40px, 5vw, 88px); } }
.ui-pg__doc { display: grid; gap: 16px; padding: 20px; }
.ui-pg__doc-top { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: center; }
.ui-pg__doc-top b { display: block; font-weight: 600; }
.ui-pg__doc-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: var(--ui-gold); background: var(--ui-noir); box-shadow: inset 0 0 0 1px rgba(201, 164, 106, .3); }
.ui-pg__meta { display: grid; border-top: 1px solid var(--ui-line); }
.ui-pg__meta > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--ui-line); font-size: var(--ui-fs-s); }
.ui-pg__meta dt { color: var(--ui-ink-3); }
.ui-pg__meta dd { margin: 0; color: var(--ui-ink); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.ui-pg__meta a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; text-decoration: underline; text-decoration-color: var(--ui-gold-a); text-underline-offset: 3px; }
.ui-pg__body { padding-top: clamp(32px, 4vw, 64px); }
@media (max-width: 599px) {
	.ui-pg__doc { padding: 16px; gap: 10px; }
	.ui-pg__meta > div { padding: 6px 0; font-size: var(--ui-fs-xs); }
	.ui-pg__meta a { margin-block: -14px; }
	.ui-pg__body { padding-top: 24px; }
}

/* Układ dokumentu: spis treści lepki (desktop) / zwijany (telefon) + treść */
.ui-legal { display: grid; gap: 24px; }
@media (min-width: 1100px) { .ui-legal { grid-template-columns: 300px minmax(0, 1fr); gap: clamp(56px, 6vw, 104px); align-items: start; } .ui-legal--solo { grid-template-columns: minmax(0, 1fr); } }
.ui-toc ol { display: grid; }
.ui-toc a {
	display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; min-height: 44px; padding: 4px 10px 4px 14px;
	font-size: var(--ui-fs-s); line-height: 1.3; color: var(--ui-ink-2); border-left: 1px solid var(--ui-line);
	transition: color var(--ui-t1), border-color var(--ui-t2), background-color var(--ui-t2);
}
.ui-toc a > span:first-child { font-size: var(--ui-fs-xs); font-weight: 700; color: var(--ui-gold-ink); letter-spacing: .02em; }
.ui-toc a:hover { color: var(--ui-ink); border-left-color: var(--ui-line-2); }
.ui-toc a[aria-current] { color: var(--ui-ink); font-weight: 600; border-left: 2px solid var(--ui-gold); padding-left: 13px; background: linear-gradient(90deg, rgba(201, 164, 106, .14), transparent 80%); }
.ui-toc a:focus-visible { outline-offset: -2px; }
.ui-toc--d { display: none; }
@media (min-width: 1100px) {
	.ui-toc--m { display: none; }
	.ui-toc--d {
		display: block; position: sticky; top: calc(var(--ui-hd) + 24px);
		max-height: calc(100svh - var(--ui-hd) - 48px); overflow-y: auto; overscroll-behavior: contain;
		scrollbar-width: thin; scrollbar-color: var(--ui-line-2) transparent; padding-right: 6px;
	}
	.ui-toc--d .ui-label { position: sticky; top: 0; z-index: 1; padding-bottom: 12px; background: var(--ui-ivory); }
}
/* Telefon: spis jako lepki pasek przyklejony do headera (bez szczeliny) z nazwą bieżącej części (jak w aplikacji).
   Lista otwiera się jako nakładka pod paskiem i nie spycha treści, więc skok do kotwicy trafia w nagłówek sekcji. */
.ui-toc--m { position: sticky; top: var(--ui-hd); z-index: 6; border-radius: 0 0 var(--ui-r) var(--ui-r); background: var(--ui-card); border: 1px solid var(--ui-line); box-shadow: var(--ui-sh-1); }
.ui-toc--m::before { content: ""; position: absolute; left: -1px; right: -1px; bottom: 100%; height: 12px; background: var(--ui-ivory); pointer-events: none; }
.ui-toc--m[open] { border-radius: 0; }
.ui-toc--m summary { list-style: none; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 12px 0 10px; font-weight: 600; cursor: pointer; }
.ui-toc__t { display: grid; min-width: 0; line-height: 1.25; }
.ui-toc__cur { font-size: var(--ui-fs-xs); font-weight: 500; color: var(--ui-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-toc__cur:empty { display: none; }
.ui-toc--m summary::-webkit-details-marker { display: none; }
.ui-toc--m summary small { margin-left: 4px; font-size: var(--ui-fs-xs); font-weight: 700; color: var(--ui-gold-ink); }
.ui-toc__ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--ui-plate); color: var(--ui-gold-ink); }
.ui-toc__ic .ui-ic { width: 16px; height: 16px; }
.ui-toc__chev { margin-left: auto; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ui-line-2); transition: rotate var(--ui-t2) var(--ui-ease); }
.ui-toc__chev .ui-ic { width: 16px; height: 16px; rotate: 90deg; }
.ui-toc--m[open] .ui-toc__chev { rotate: 180deg; }
.ui-toc--m ol {
	position: absolute; left: -1px; right: -1px; top: 100%; max-height: 62svh; overflow-y: auto; overscroll-behavior: contain;
	padding: 6px 8px 10px; background: var(--ui-card); border: 1px solid var(--ui-line); border-radius: 0 0 var(--ui-r) var(--ui-r); box-shadow: var(--ui-sh-2);
}
@media (prefers-reduced-motion: no-preference) {
	.ui-toc--m[open] ol { animation: ui-toc-in var(--ui-t2) var(--ui-ease) both; }
	@keyframes ui-toc-in { from { opacity: 0; translate: 0 -6px; } }
}
.ui-legal__main { min-width: 0; max-width: 780px; counter-reset: none; }
.ui-legal__item { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 0 16px; padding-block: 28px; border-top: 1px solid var(--ui-line); scroll-margin-top: 50px; }
/* html ma scroll-padding-top = header + 16 px; na telefonie dochodzi lepki pasek spisu (56 px), na desktopie tylko oddech */
@media (min-width: 1100px) { .ui-legal__item { scroll-margin-top: 24px; } }
.ui-legal__item:first-child { border-top: 0; padding-top: 0; }
.ui-legal__item--cont { padding-top: 4px; border-top: 0; }
.ui-legal__num {
	display: grid; place-items: center; align-self: start; width: 48px; height: 32px; border-radius: 999px;
	font-size: var(--ui-fs-xs); font-weight: 700; color: var(--ui-gold-ink); background: rgba(201, 164, 106, .1); border: 1px solid var(--ui-gold-a);
}
.ui-legal__item h2 { margin: 2px 0 12px; font-size: clamp(1.375rem, 1.2rem + .6vw, 1.75rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.2; color: var(--ui-ink); text-wrap: balance; }
.ui-legal__txt .ui-prose { gap: 12px; font-size: 1.0625rem; max-width: none; }
.ui-legal__item:target h2 { color: var(--ui-gold-ink); }
/* Listy w treści dokumentu: wypunktowania jako zwykły tekst z myślnikiem z lewej (tekst i link w jednym wierszu,
   bez odstępu flex między "e-mail:" a adresem), numeracja literowa w kolorze tekstu, żeby nie udawała drugiej
   numeracji dokumentu obok złotych pigułek punktów. */
.ui-legal__txt .ui-prose li { display: block; position: relative; padding-left: 28px; }
.ui-legal__txt .ui-prose ul > li::before { position: absolute; left: 2px; top: 0; margin-top: .8em; }
.ui-legal__txt .ui-prose ol > li::before {
	content: counter(p, lower-alpha) ")"; position: absolute; left: 0; top: 0; padding-top: 0;
	font-size: inherit; font-weight: 400; color: var(--ui-ink-3); line-height: inherit; font-variant-numeric: normal;
}
.ui-legal__txt .ui-prose li > ul { margin-top: 8px; }
@media (max-width: 599px) {
	/* Pigułka w jednym wierszu z h2, tekst pod spodem na całą szerokość */
	.ui-legal__item { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "num h" "p p"; gap: 10px 12px; align-items: center; padding-block: 22px; }
	.ui-legal__txt { display: contents; }
	.ui-legal__num { grid-area: num; width: auto; min-width: 40px; height: 28px; padding-inline: 8px; align-self: center; }
	.ui-legal__item h2 { grid-area: h; margin: 0; font-size: 1.3125rem; }
	.ui-legal__item .ui-prose { grid-area: p; }
	.ui-legal__txt .ui-prose { font-size: 1rem; }
	/* Punkt bez tytułu: pigułka opływana tekstem */
	.ui-legal__item--cont { display: block; padding-block: 2px 14px; }
	.ui-legal__item--cont .ui-legal__num { float: left; height: 24px; margin: 1px 10px 0 0; } /* 24 px < wysokość linii: opływa tylko pierwszy wiersz */
	.ui-legal__item--cont .ui-prose { display: block; }
	.ui-legal__item--cont .ui-prose > * + * { margin-top: 12px; }
}
.ui-legal__note { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: center; margin-top: 40px; padding: clamp(20px, 3vw, 32px); border-radius: var(--ui-r-l); background: var(--ui-plate); color: var(--ui-ink); font-size: 1.0625rem; line-height: 1.55; }
.ui-legal__note-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: var(--ui-gold-ink); border: 1px solid var(--ui-gold-a); background: var(--ui-ivory); }
.ui-legal__note a { color: var(--ui-gold-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--ui-gold-a); text-underline-offset: 3px; white-space: nowrap; }
.ui-legal__note a:hover { text-decoration-color: currentColor; }
.ui-legal__end { margin-top: 20px; }
.ui-legal__up .ui-ic { rotate: -90deg; }
@media (min-width: 1100px) { .ui-legal__end { display: none; } } /* lepki spis jest zawsze widoczny */
/* Strony zwykłe z edytora */
.ui-prose--page { max-width: 760px; }
/* 5. Moje konto (WooCommerce, the_content) ---------------------------------- */
.ui-shop { max-width: 1040px; color: var(--ui-ink-2); }
.ui-shop .woocommerce { display: grid; gap: 32px; }
.ui-shop .woocommerce::before, .ui-shop .woocommerce::after { display: none; }
.ui-shop h2 { margin: 0 0 18px; font-size: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem); font-weight: 300; letter-spacing: -.03em; line-height: 1.15; color: var(--ui-ink); }
.ui-shop .u-columns { display: grid; gap: 24px; }
@media (min-width: 960px) { .ui-shop .u-columns { grid-template-columns: 1fr 1fr; } }
.ui-shop .u-columns > .u-column1, .ui-shop .u-columns > .u-column2 { width: auto; float: none; }
.ui-shop :is(form.login, form.register, .woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields) {
	display: grid; gap: 16px; max-width: 560px; margin: 0; padding: clamp(22px, 3vw, 32px);
	border: 1px solid var(--ui-line); border-radius: var(--ui-r-l); background: var(--ui-card); box-shadow: var(--ui-sh-1);
}
.ui-shop :is(.form-row, p.form-row) { display: grid; gap: 6px; margin: 0; padding: 0; width: 100%; float: none; }
.ui-shop label { font-size: var(--ui-fs-s); font-weight: 600; color: var(--ui-ink); }
.ui-shop label .required { color: var(--ui-orange-ink); text-decoration: none; }
.ui-shop :is(input.input-text, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], select, textarea) {
	width: 100%; min-height: 52px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--ui-line-2); background: var(--ui-card);
	font-size: 1rem; color: var(--ui-ink); transition: border-color var(--ui-t1), box-shadow var(--ui-t1);
}
.ui-shop textarea { min-height: 120px; padding: 14px 16px; }
.ui-shop :is(input, select, textarea):focus { outline: none; border-color: var(--ui-ink); box-shadow: 0 0 0 3px rgba(201, 164, 106, .35); }
.ui-shop .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 500; }
.ui-shop .woocommerce-form-login__rememberme input { width: 20px; height: 20px; margin: 0; accent-color: var(--ui-ink); }
.ui-shop .password-input { position: relative; display: block; }
.ui-shop .show-password-input { position: absolute; right: 4px; top: 50%; translate: 0 -50%; width: 44px; height: 44px; border: 0; background: none; color: var(--ui-ink-3); cursor: pointer; }
.ui-shop :is(.button, button[type="submit"]) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 1px solid var(--ui-ink);
	font-size: .9688rem; font-weight: 600; color: var(--ui-snow); background: var(--ui-ink); cursor: pointer; transition: background-color var(--ui-t1), transform var(--ui-t2) var(--ui-spring);
}
.ui-shop :is(.button, button[type="submit"]):hover { background: #2a231c; }
.ui-shop :is(.button, button[type="submit"]):active { transform: scale(.97); }
.ui-shop .woocommerce-form-login .button { width: 100%; }
.ui-shop :is(.lost_password, .woocommerce-privacy-policy-text) { font-size: var(--ui-fs-s); color: var(--ui-ink-3); }
.ui-shop :is(.lost_password a, .woocommerce-privacy-policy-text a, .woocommerce-MyAccount-content a:not(.button)) { color: var(--ui-ink); text-decoration: underline; text-decoration-color: var(--ui-gold); text-underline-offset: 4px; }
.ui-shop .woocommerce-MyAccount-navigation { width: auto; float: none; }
.ui-shop .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ui-shop .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--ui-line-2); background: var(--ui-card); font-size: var(--ui-fs-s); font-weight: 600; color: var(--ui-ink-2); }
.ui-shop .woocommerce-MyAccount-navigation .is-active a { background: var(--ui-ink); border-color: var(--ui-ink); color: var(--ui-snow); }
.ui-shop .woocommerce-MyAccount-content { width: auto; float: none; display: grid; gap: 16px; }
.ui-shop table { width: 100%; border-collapse: collapse; font-size: var(--ui-fs-s); }
.ui-shop :is(th, td) { padding: 12px 10px; text-align: left; border-bottom: 1px solid var(--ui-line); }
.ui-shop :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { list-style: none; margin: 0; padding: 16px 20px; border-radius: var(--ui-r); border: 1px solid var(--ui-line); background: var(--ui-card); color: var(--ui-ink); }
.ui-shop .woocommerce-error { border-color: rgba(163, 38, 27, .35); }
.ui-shop :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none; }

/* Wyszukiwanie: pole z lupą i przycisk w jednym rzędzie (także na telefonie), lista wyników jak w aplikacji,
   na desktopie lepki panel z najbliższymi terminami i kontaktem obok listy. */
.ui-srch__hero .ui-pg__hero-txt { gap: 18px; }
.ui-srch__form { display: flex; gap: 8px; width: 100%; max-width: 620px; margin-top: 6px; }
.ui-srch__field { position: relative; flex: 1 1 auto; min-width: 0; }
.ui-srch__field .ui-input { width: 100%; min-height: 56px; padding-left: 48px; border-radius: 999px; font-size: 1.0625rem; -webkit-appearance: none; appearance: none; }
.ui-srch__field .ui-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ui-srch__lens { position: absolute; left: 18px; top: 50%; translate: 0 -50%; width: 20px; height: 20px; color: var(--ui-gold-ink); pointer-events: none; }
.ui-srch__form .ui-btn { flex: none; min-height: 56px; padding-inline: 24px; }
.ui-srch__grid { display: grid; gap: 40px; }
@media (min-width: 1024px) { .ui-srch__grid { grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr); gap: clamp(40px, 5vw, 80px); align-items: start; } }
.ui-srch__main { min-width: 0; }
.ui-srch__list { display: grid; gap: 10px; }
.ui-srch__i {
	position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr) 40px; gap: 16px; align-items: center;
	padding: clamp(16px, 2vw, 22px); transition: transform var(--ui-t3) var(--ui-ease), box-shadow var(--ui-t3) var(--ui-ease), border-color var(--ui-t2);
}
.ui-srch__ic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--ui-plate); color: var(--ui-gold-ink); }
.ui-srch__ic .ui-ic, .ui-srch__ic .ui-srch__lens { position: static; translate: none; width: 22px; height: 22px; }
.ui-srch__i .ui-srch__dp { width: 56px; height: 56px; border-radius: 16px; }
.ui-srch__i .ui-srch__dp b { font-size: .9375rem; }
.ui-srch__b { display: grid; gap: 4px; min-width: 0; }
.ui-srch__k { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.ui-srch__t { font-size: clamp(1.125rem, 1rem + .45vw, 1.375rem); font-weight: 400; letter-spacing: -.015em; line-height: 1.3; color: var(--ui-ink); text-wrap: pretty; }
.ui-srch__t a { display: inline; }
.ui-srch__t a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* cały wiersz klikalny */
/* Fokus: obrys całego wiersza (link rozciąga się na wiersz); bez :has() obrys na samym linku */
.ui-srch__t a:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 3px; border-radius: 4px; }
@supports selector(:has(a)) {
	.ui-srch__t a:focus-visible { outline: none; }
	.ui-srch__i:has(.ui-srch__t a:focus-visible) { outline: 2px solid var(--ui-focus); outline-offset: 3px; }
}
.ui-srch__t mark { color: inherit; background: linear-gradient(transparent 62%, rgba(201, 164, 106, .38) 62%); padding: 0 1px; }
.ui-srch__ex { font-size: var(--ui-fs-s); color: var(--ui-ink-2); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui-srch__go { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--ui-line-2); color: var(--ui-ink); transition: background-color var(--ui-t2), color var(--ui-t2), border-color var(--ui-t2); }
.ui-srch__go .ui-ic { width: 18px; height: 18px; transition: transform var(--ui-t2) var(--ui-ease); }
.ui-srch__i.is-past .ui-srch__t, .ui-srch__i.is-past .ui-srch__ex { color: var(--ui-ink-3); }
.ui-srch__i.is-past .ui-label { color: var(--ui-ink-3); }
.ui-srch__i.is-past .ui-srch__ic { background: transparent; box-shadow: inset 0 0 0 1px var(--ui-line-2); color: var(--ui-ink-3); }
@media (hover: hover) {
	.ui-srch__i:hover { transform: translateY(-2px); box-shadow: var(--ui-sh-2); border-color: var(--ui-line-2); }
	.ui-srch__i:hover .ui-srch__go { color: var(--ui-snow); background: var(--ui-ink); border-color: var(--ui-ink); }
	.ui-srch__i:hover .ui-srch__go .ui-ic { transform: translateX(3px); }
}
.ui-srch__i:active { transform: scale(.99); }
@media (max-width: 599px) {
	.ui-srch__form .ui-btn { padding-inline: 18px; }
	.ui-srch__i { grid-template-columns: 48px minmax(0, 1fr); gap: 4px 14px; align-items: start; padding: 16px; }
	.ui-srch__ic, .ui-srch__i .ui-srch__dp { width: 48px; height: 48px; border-radius: 14px; }
	.ui-srch__i .ui-srch__dp b { font-size: .8125rem; letter-spacing: -.03em; }
	.ui-srch__i .ui-srch__dp small { margin-top: 3px; }
	.ui-srch__go { display: none; }
}
.ui-srch__pg { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 28px; }
.ui-srch__pg :is(a, span) { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ui-line-2); font-size: var(--ui-fs-s); }
.ui-srch__pg a:hover { border-color: var(--ui-ink); }
.ui-srch__pg .current { color: var(--ui-snow); background: var(--ui-ink); border-color: var(--ui-ink); }
.ui-srch__pg .dots { border-color: transparent; }
/* Brak wyników */
.ui-srch__empty { display: grid; justify-items: start; gap: 12px; padding: clamp(24px, 3vw, 36px); }
.ui-srch__sug { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.ui-srch__sug .ui-chip { min-height: 44px; padding-inline: 16px; }
.ui-srch__sug .ui-chip:hover { border-color: var(--ui-ink); color: var(--ui-ink); }
/* Panel boczny */
.ui-srch__side { display: grid; gap: 16px; align-content: start; }
@media (min-width: 1024px) { .ui-srch__side { position: sticky; top: calc(var(--ui-hd) + 24px); } }
.ui-srch__panel { display: grid; gap: 14px; padding: clamp(20px, 2.4vw, 26px); }
.ui-srch__nx { display: grid; }
.ui-srch__nx li { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid var(--ui-line); }
.ui-srch__nx li:last-child { border-bottom: 1px solid var(--ui-line); }
.ui-srch__nx .ui-dp { width: 56px; height: 56px; border-radius: 14px; }
.ui-srch__nx .ui-dp b { font-size: .9375rem; }
.ui-srch__nx-b { display: grid; gap: 2px; min-width: 0; }
.ui-srch__nx-b a { display: flex; align-items: center; min-height: 44px; margin-block: -8px; font-weight: 600; font-size: var(--ui-fs-s); line-height: 1.3; color: var(--ui-ink); }
.ui-srch__nx-b a::after { content: ""; position: absolute; inset: 0; }
.ui-srch__nx-b a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ui-gold); }
.ui-srch__nx-b small { font-size: var(--ui-fs-xs); color: var(--ui-ink-3); }
.ui-srch__panel .ui-link { justify-self: start; }
/* Strony prawne od 1100 px: hero i treść w jednej kolumnie (spis 300 px + paragrafy maks. 780 px), więc prawa krawędź
   karty dokumentu i kolumny treści stoją na tej samej osi. Kolumna przy lewej krawędzi .ui-wrap (jak logo i inne
   podstrony), nie wyśrodkowana: margines lewy = margines zwykłego .ui-wrap. */
@media (min-width: 1100px) {
	.ui-pg--legal .ui-pg__hero-in, .ui-pg--legal .ui-legal:not(.ui-legal--solo) {
		max-width: calc(300px + clamp(56px, 6vw, 104px) + 780px);
		margin-inline: calc((100% - min(100% - 2 * var(--ui-g), var(--ui-max))) / 2) auto;
	}
}
/* Meridian w jasnym hero (dokumenty, wyszukiwanie, newsletter), od 1024 px: złota linia z punktami zamiast prostej
   kreski u dołu hero; wychodzi spoza lewej krawędzi i wznosi się w prawo (jak meridian na stronie głównej).
   Poniżej 1024 px zostaje zwykła linia dołu hero. */
.ui-ph .il--pg-mer { display: none; }
@media (min-width: 1024px) {
	.ui-ph .il--pg-mer {
		display: block; position: absolute; z-index: 0; left: 0; bottom: -1px; width: 100%; height: 64px; max-width: none;
		color: var(--ui-gold-ink); opacity: .7; pointer-events: none;
		-webkit-mask: linear-gradient(90deg, transparent, #000 18%); mask: linear-gradient(90deg, transparent, #000 18%);
	}
	.ui-ph .il--pg-mer .il__d { vector-effect: non-scaling-stroke; }
	.ui-ph .il--pg-mer .il__d--echo { opacity: .4; stroke-width: 1; }
	.ui-pg__hero:has(.il--pg-mer) { border-bottom-color: transparent; padding-bottom: clamp(56px, 5.5vw, 80px); }
	.ui-pg__hero-in { position: relative; z-index: 1; }
}
/* Dokumenty: czas czytania na telefonie w drugim wierszu, bez separatora (kropka nie wisi na końcu wiersza) */
@media (max-width: 599px) {
	.ui-pg__rt { display: block; }
	.ui-pg__rt > .ui-sep { display: none; }
}
/* Lepki spis na desktopie: ostatnia widoczna pozycja wygasa zamiast urwanego wiersza */
@media (min-width: 1100px) {
	.ui-toc--d { -webkit-mask: linear-gradient(180deg, #000 calc(100% - 56px), transparent); mask: linear-gradient(180deg, #000 calc(100% - 56px), transparent); padding-bottom: 40px; }
}

/* Wyszukiwanie: zapytanie w cudzysłowie bez kropki-akcentu, miniatura kursu, zakończone terminy zwinięte na końcu */
/* Zapytanie w H1 atramentem (złoto na jasnym tylko na liniach): złota hairline pod spodem */
.ui-srch__q { color: inherit; overflow-wrap: anywhere; background: linear-gradient(var(--ui-gold), var(--ui-gold)) 0 94% / 100% 1px no-repeat; }
/* Wiersz wyniku (desktop): złota kreska 1 px pod wierszem przy najechaniu i fokusie, jak wiersz terminu (ui.css 22.10) */
@media (hover: hover) and (pointer: fine) {
	.ui-srch__i::before { content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; height: 1px; pointer-events: none;
		background: var(--ui-gold); transform: scaleX(0); transform-origin: 0 50%; transition: transform .42s var(--ui-ease-out-expo); }
	.ui-srch__i:hover::before, .ui-srch__i:focus-within::before { transform: scaleX(1); }
}
.ui-srch__ic--img { overflow: hidden; background: var(--ui-noir); }
.ui-srch__ic--img img { width: 100%; height: 100%; object-fit: cover; }
.ui-srch__past { margin-top: 18px; border-top: 1px solid var(--ui-line); }
.ui-srch__past summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 6px 4px; font-weight: 600; color: var(--ui-ink-2); cursor: pointer; }
.ui-srch__past summary::-webkit-details-marker { display: none; }
.ui-srch__past summary small { margin-left: 6px; font-size: var(--ui-fs-xs); font-weight: 700; color: var(--ui-gold-ink); }
.ui-srch__past summary:hover { color: var(--ui-ink); }
.ui-srch__past summary:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 2px; border-radius: 8px; }
.ui-srch__past-chev { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ui-line-2); transition: rotate var(--ui-t2) var(--ui-ease); }
.ui-srch__past-chev .ui-ic { width: 16px; height: 16px; rotate: 90deg; }
.ui-srch__past[open] .ui-srch__past-chev { rotate: 180deg; }
.ui-srch__past .ui-srch__list { padding-bottom: 4px; }

/* Noc, runda 2: lepki pasek spisu na telefonie przyklejony celowo (rogi tylko u dołu, cień od dołu, bez pasa
   kości słoniowej nad nim) i nieprzezroczysty header na dokumentach, żeby przewijany H2 nie mieszał się z logo. */
.ui-toc--m { border-top: 0; border-radius: 0 0 var(--ui-r) var(--ui-r); box-shadow: 0 12px 20px -14px rgba(26, 21, 16, .38); }
.ui-toc--m::before { display: none; }
html:has(.ui-pg, .ui-srch) .ui-hd:not([data-tone="dark"])::before { background: var(--ui-ivory); }

/* Odbiór 2026-10-12: na telefonie karta dokumentu to jeden wiersz (liczba paragrafów i czas czytania), żeby pierwszy
   paragraf zaczynał się na pierwszym ekranie. Tytuł powtarza H1, a organizator, NIP i e-mail stoją w §1 i w stopce. */
@media (max-width: 599px) {
	.ui-pg__doc { padding: 12px 16px; gap: 0; }
	.ui-pg__meta, .ui-pg__doc-ic, .ui-pg__doc-top b { display: none; }
	.ui-pg__doc-top { grid-template-columns: minmax(0, 1fr); }
	.ui-pg__doc-top .ui-xs { font-size: var(--ui-fs-s); color: var(--ui-ink-2); }
}
@media (min-width: 360px) and (max-width: 599px) {
	.ui-pg__rt { display: inline; }
	.ui-pg__rt > .ui-sep { display: inline; }
}

/* Odbiór 2 (2026-10-12): na telefonie dane dokumentu to zwykła linijka tekstu, nie biała pigułka z cieniem
   (wyglądała jak pole formularza albo przycisk). */
@media (max-width: 599px) {
	.ui-pg__doc { padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0; }
}
/* Wyszukiwarka: miniatura A-Shiatsu (stopa na ciemnym tle) rozjaśniona, przy 56 px była prawie czarna */
.ui-srch__ic--img.is-dim img { filter: brightness(1.5) contrast(1.05); object-position: 50% 42%; }
