/* O-lekach – Blog w układzie magazynu */
.olb {
	--olb-ink: #121a26;
	--olb-ink-2: #3c4757;
	--olb-muted: #687587;
	--olb-line: #e3e7ec;
	--olb-rule: #121a26;
	--olb-bg: #ffffff;
	--olb-soft: #f4f6f8;
	--olb-accent: #0f766e;
	--olb-accent-ink: #0b5d56;
	--olb-accent-dark: #134e4a;
	--olb-tint: #e6f2f0;
	--olb-tint-2: #f1f8f7;
	--olb-tint-3: #f4f8f8;
	--olb-tint-line: #d6e6e3;
	--olb-accent-rgb: 15, 118, 110;
	--olb-alert: #b42318;
	--olb-alert-soft: #fdf2f1;
	--olb-serif: "Iowan Old Style", "Charter", "Georgia", "Cambria", "Times New Roman", serif;
	--olb-sans: inherit;
	--olb-gap: 28px;
	color: var(--olb-ink);
	background: var(--olb-bg);
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 3rem;
}
.olb *, .olb *::before, .olb *::after { box-sizing: border-box; }
.olb a:not(.olx-guide *) { color: inherit; text-decoration: none; box-shadow: none; border: 0; }
.olb img:not(.olx-guide *) { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.olb :is(h1, h2, h3, p, ol, ul):not(.olx-guide *) { margin: 0; padding: 0; }
.olb :is(ol, ul):not(.olx-guide *) { list-style: none; }
.olb-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Pełna szerokość: skrypt w shortcode ustawia szerokość i przesunięcie według faktycznej pozycji bloku */
.olb--full { width: 100%; max-width: none !important; }
body:has(.olb--full) { overflow-x: clip; }

/* Tryb archiwum: blog wypełnia kontener motywu (np. flex w GeneratePress) */
.olb-main { display: block; flex: 1 1 100%; width: 100%; max-width: 100%; min-width: 0; }
.olb-main > .olb { width: 100%; }

/* Neutralizacja stylów nagłówków z motywu (tła, cienie, odstępy, wielkie litery) */
.olb.olb :is(h1, h2, h3):not(.olx-guide *) {
	background: none;
	box-shadow: none;
	text-shadow: none;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-transform: none;
	letter-spacing: normal;
	font-family: var(--olb-serif);
}
.olb.olb :is(h1, h2, h3):not(.olx-guide *)::before, .olb.olb :is(h1, h2, h3):not(.olx-guide *)::after { content: none; }
.olb.olb :is(h1, h2, h3):not(.olx-guide *) a { background-color: transparent; }
.olb-wrap { max-width: 1480px; margin: 0 auto; padding: 0 24px; }

/* ------------------------------ Nagłówek ------------------------------ */
.olb-mast { padding: 28px 0 0; margin-bottom: var(--olb-gap); }
.olb-mast-top {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 24px;
	padding-bottom: 14px;
	border-bottom: 3px double var(--olb-rule);
}
.olb.olb .olb-mast-title {
	font-family: var(--olb-serif);
	font-size: clamp(2rem, 4vw, 3.1rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -.015em;
	color: var(--olb-ink);
}
.olb-mast-desc { color: var(--olb-muted); margin-top: 8px !important; max-width: 70ch; }
.olb-mast-date { color: var(--olb-muted); font-size: .85rem; white-space: nowrap; text-transform: capitalize; }
.olb-nav {
	display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none;
	padding: 8px 0; border-bottom: 1px solid var(--olb-line);
	-webkit-mask-image: linear-gradient(90deg, #000 92%, transparent);
	mask-image: linear-gradient(90deg, #000 92%, transparent);
}
.olb-nav::-webkit-scrollbar { display: none; }
.olb-nav-link {
	flex: none; white-space: nowrap;
	font-size: .9rem; font-weight: 600; color: var(--olb-ink-2) !important;
	padding: 6px 12px; border-radius: 6px;
}
.olb-nav-link:hover { background: var(--olb-soft); color: var(--olb-ink) !important; }
.olb-nav-link.is-active { color: var(--olb-accent) !important; }
.olb-pageinfo { margin-top: 14px !important; color: var(--olb-muted); font-size: .9rem; }

/* ------------------------------ Karta: wspólne ------------------------ */
.olb-card { position: relative; min-width: 0; }
.olb-img { display: block; position: relative; overflow: hidden; background: var(--olb-soft); aspect-ratio: 3 / 2; }
.olb-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.olb-card:hover .olb-img img { transform: scale(1.03); }
.olb-noimg {
	display: grid; place-items: center; width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--olb-tint), #eef3f8);
	font-family: var(--olb-serif); font-size: 3rem; color: var(--olb-accent); opacity: .7;
}
.olb-body { padding-top: 12px; }
.olb-kicker {
	display: inline-block; margin-bottom: 6px;
	font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--olb-accent) !important;
}
.olb-kicker:hover { text-decoration: underline !important; }
.olb.olb .olb-title {
	font-family: var(--olb-serif);
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -.005em;
	color: var(--olb-ink);
	font-size: 1.12rem;
	text-wrap: balance;
}
.olb-title a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .25s; }
.olb-title a:hover { background-size: 100% 1px; }
.olb-excerpt { color: var(--olb-ink-2); margin-top: 8px !important; font-size: .95rem; }
.olb-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px !important; color: var(--olb-muted); font-size: .8rem; }
.olb-sponsor {
	font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
	color: #8a5a00; background: #fff4d6; border-radius: 3px; padding: 1px 6px;
}

/* Warianty kart */
.olb-card--lead .olb-img { aspect-ratio: 16 / 10; }
.olb.olb .olb-card--lead .olb-title { font-size: clamp(1.6rem, 2.6vw, 2.35rem); line-height: 1.12; letter-spacing: -.015em; }
.olb-card--lead .olb-excerpt { font-size: 1.05rem; margin-top: 12px !important; }
.olb-card--lead .olb-body { padding-top: 16px; }

.olb-card--side .olb-img { aspect-ratio: 16 / 10; }
.olb.olb .olb-card--side .olb-title { font-size: 1.12rem; }

.olb-card--feature .olb-img { aspect-ratio: 16 / 9; }
.olb.olb .olb-card--feature .olb-title { font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.16; }

.olb-card--row { display: grid; grid-template-columns: 1fr 132px; gap: 16px; align-items: start; padding: 16px 0; border-top: 1px solid var(--olb-line); }
.olb-card--row:first-child { border-top: 0; padding-top: 0; }
.olb-card--row .olb-img { grid-column: 2; grid-row: 1; aspect-ratio: 4 / 3; }
.olb-card--row .olb-body { grid-column: 1; grid-row: 1; padding-top: 0; }
.olb.olb .olb-card--row .olb-title { font-size: 1.05rem; }

/* ------------------------------ Hero ---------------------------------- */
.olb-hero {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr);
	gap: var(--olb-gap);
	padding-bottom: var(--olb-gap);
	border-bottom: 1px solid var(--olb-line);
}
.olb-hero-side { display: flex; flex-direction: column; gap: 22px; padding-left: var(--olb-gap); border-left: 1px solid var(--olb-line); }
.olb-latest { padding-left: var(--olb-gap); border-left: 1px solid var(--olb-line); }
.olb.olb .olb-latest-h {
	font-family: inherit;
	display: flex; align-items: center; gap: 8px;
	font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
	padding-bottom: 10px; margin-bottom: 4px !important; border-bottom: 3px solid var(--olb-rule);
	color: var(--olb-ink);
}
.olb-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--olb-alert); box-shadow: 0 0 0 3px rgba(180, 35, 24, .15); }
.olb-latest-list li { padding: 12px 0; border-bottom: 1px solid var(--olb-line); }
.olb-latest-list li:last-child { border-bottom: 0; }
.olb-latest-list .olb-latest-when { display: block; font-size: .75rem; font-weight: 600; color: var(--olb-accent); margin-bottom: 2px; line-height: 1.4; }
.olb-latest-list .olb-latest-when time { display: inline; font: inherit; color: inherit; margin: 0; }
.olb-latest-list .olb-upd { color: var(--olb-muted); font-weight: 500; }
.olb-latest-list a { font-family: var(--olb-serif); font-weight: 600; font-size: 1rem; line-height: 1.3; color: var(--olb-ink); }
.olb-latest-list a:hover { color: var(--olb-accent); }
.olb-latest-list .olb-sponsor { display: inline-block; margin-top: 4px; }

.olb-row4 {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--olb-gap);
	padding: var(--olb-gap) 0; border-bottom: 1px solid var(--olb-line);
}

/* ------------------------------ Komunikaty GIF ------------------------ */
.olb-alerts {
	margin: var(--olb-gap) 0 0;
	background: var(--olb-alert-soft);
	border-top: 3px solid var(--olb-alert);
	padding: 18px 22px 20px;
}
.olb-alerts-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.olb.olb .olb-alerts-h { font-family: inherit; display: flex; align-items: center; gap: 10px; font-size: .85rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--olb-alert); }
.olb-alerts-ico { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--olb-alert); color: #fff; font-size: .8rem; font-weight: 900; }
.olb-alerts-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.olb-alerts-list li { padding-left: 14px; border-left: 2px solid rgba(180, 35, 24, .25); }
.olb-alerts-list time { display: block; font-size: .75rem; color: var(--olb-muted); margin-bottom: 4px; }
.olb-alerts-list a { font-weight: 600; font-size: .92rem; line-height: 1.35; color: var(--olb-ink); }
.olb-alerts-list a:hover { color: var(--olb-alert); }

/* ------------------------------ Sekcje -------------------------------- */
.olb-sec, .olb-pop, .olb-arch { margin-top: 44px; }
.olb-sec-head {
	display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
	border-top: 3px solid var(--olb-rule); padding-top: 10px; margin-bottom: 20px;
}
.olb.olb .olb-sec-h { font-family: var(--olb-serif); font-size: 1.55rem; font-weight: 700; line-height: 1.2; color: var(--olb-ink); }
.olb-sec-h a:hover { color: var(--olb-accent); }
.olb-more-link { font-size: .85rem; font-weight: 600; color: var(--olb-accent) !important; white-space: nowrap; }
.olb-more-link:hover { text-decoration: underline !important; }

.olb-sec--a .olb-sec-body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--olb-gap); }
.olb-sec--a .olb-sec-list { padding-left: var(--olb-gap); border-left: 1px solid var(--olb-line); }
.olb-sec--b .olb-sec-body { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--olb-gap); }

/* ------------------------------ Popularne ----------------------------- */
.olb-pop-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--olb-gap); counter-reset: olbpop; }
.olb-pop-list li { counter-increment: olbpop; position: relative; padding-top: 4px; }
.olb-pop-list li::before {
	content: counter(olbpop);
	display: block;
	font-family: var(--olb-serif); font-size: 2.6rem; font-weight: 700; line-height: 1;
	color: var(--olb-accent); opacity: .35; margin-bottom: 8px;
}
.olb-pop-list a { font-family: var(--olb-serif); font-weight: 700; font-size: 1.02rem; line-height: 1.28; color: var(--olb-ink); }
.olb-pop-list a:hover { color: var(--olb-accent); }

/* ------------------------------ Archiwum ------------------------------ */
.olb-grid3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px var(--olb-gap); }
.olb-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 40px; }
.olb-pg, .olb-pg-gap {
	display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--olb-line); border-radius: 8px; font-weight: 600; font-size: .92rem; color: var(--olb-ink-2) !important;
}
.olb-pg:hover { border-color: var(--olb-ink); color: var(--olb-ink) !important; }
.olb-pg.is-current { background: var(--olb-ink); border-color: var(--olb-ink); color: #fff !important; }
.olb-pg-gap { border-color: transparent; }

/* ------------------------------ O blogu (opis kategorii) -------------- */
.olb-about { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--olb-line); color: var(--olb-muted); font-size: .9rem; line-height: 1.65; }
.olb.olb .olb-about-h { font-family: inherit; font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--olb-ink-2); margin-bottom: 12px; }
.olb-about-text { columns: 2 340px; column-gap: 48px; }
.olb .olb-about-text p { margin: 0 0 .9em; break-inside: avoid-column; }
.olb-about-text a { color: var(--olb-accent) !important; text-decoration: underline !important; }

/* Dostępność */
.olb a:focus-visible { outline: 3px solid var(--olb-accent); outline-offset: 3px; border-radius: 3px; }

/* ------------------------------ Responsywność ------------------------- */
@media (max-width: 1180px) {
	.olb-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.olb-pop-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
	.olb-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.olb-hero-lead { grid-column: 1 / -1; }
	.olb-hero-side { padding-left: 0; border-left: 0; }
	.olb-row4, .olb-sec--b .olb-sec-body, .olb-alerts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.olb { --olb-gap: 20px; }
	.olb-wrap { padding: 0 16px; }
	.olb-mast { padding-top: 18px; }
	.olb-mast-top { flex-direction: column; align-items: flex-start; gap: 6px; }
	.olb-hero { grid-template-columns: minmax(0, 1fr); }
	.olb-latest { padding-left: 0; border-left: 0; }
	.olb-hero-side { flex-direction: column; }
	.olb-card--side { display: grid; grid-template-columns: 1fr 120px; gap: 14px; }
	.olb-card--side .olb-img { grid-column: 2; grid-row: 1; aspect-ratio: 4 / 3; }
	.olb-card--side .olb-body { grid-column: 1; grid-row: 1; padding-top: 0; }
	.olb.olb .olb-card--side .olb-title { font-size: 1.02rem; }
	.olb-sec--a .olb-sec-body { grid-template-columns: minmax(0, 1fr); }
	.olb-sec--a .olb-sec-list { padding-left: 0; border-left: 0; }
	.olb-card--row { grid-template-columns: 1fr 108px; }
	.olb-row4, .olb-sec--b .olb-sec-body, .olb-grid3 { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.olb-row4 .olb-card--tile, .olb-sec--b .olb-card--tile, .olb-grid3 .olb-card--tile {
		display: grid; grid-template-columns: 1fr 108px; gap: 14px; padding: 16px 0; border-top: 1px solid var(--olb-line);
	}
	.olb-row4 .olb-card--tile:first-child, .olb-sec--b .olb-card--tile:first-child, .olb-grid3 .olb-card--tile:first-child { border-top: 0; }
	.olb-row4 .olb-card--tile .olb-img, .olb-sec--b .olb-card--tile .olb-img, .olb-grid3 .olb-card--tile .olb-img { grid-column: 2; grid-row: 1; aspect-ratio: 4 / 3; }
	.olb-row4 .olb-card--tile .olb-body, .olb-sec--b .olb-card--tile .olb-body, .olb-grid3 .olb-card--tile .olb-body { grid-column: 1; grid-row: 1; padding-top: 0; }
	.olb-row4 .olb-excerpt, .olb-sec--b .olb-excerpt, .olb-grid3 .olb-excerpt { display: none; }
	.olb-alerts { padding: 16px; margin-left: -16px; margin-right: -16px; }
	.olb-alerts-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.olb-pop-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.olb-pop-list li { display: grid; grid-template-columns: 44px 1fr; align-items: start; padding: 12px 0; border-top: 1px solid var(--olb-line); }
	.olb-pop-list li:first-child { border-top: 0; }
	.olb-pop-list li::before { font-size: 1.8rem; margin: 0; grid-row: 1 / span 2; }
	.olb.olb .olb-sec-h { font-size: 1.3rem; }
}
@media (prefers-reduced-motion: reduce) {
	.olb * { transition: none !important; }
}

/* ===================================================================== *
 * STRONA GŁÓWNA (olh-*)
 * ===================================================================== */
.olb-home { padding-bottom: 8px; }
.olb-home .olh-head { margin-top: 52px; }
.olh-lead { color: var(--olb-muted); margin: -8px 0 20px !important; font-size: .95rem; max-width: 75ch; }

/* Wyszukiwarka */
.olh-search {
	margin: 24px 0 0;
	padding: 52px 24px 40px;
	text-align: center;
	border-radius: 18px;
	background:
		radial-gradient(1200px 300px at 50% -60px, rgba(var(--olb-accent-rgb), .16), transparent 70%),
		linear-gradient(180deg, var(--olb-tint-2), #f7f9fb);
	border: 1px solid var(--olb-tint-line);
}
.olb.olb .olh-h1 {
	font-size: clamp(1.8rem, 3.6vw, 2.9rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.015em;
	color: var(--olb-ink);
	max-width: 22ch;
	margin: 0 auto;
	text-wrap: balance;
}
.olh-stats { margin: 14px auto 0 !important; color: var(--olb-ink-2); font-size: .98rem; }
.olh-stats strong { color: var(--olb-accent-ink); font-variant-numeric: tabular-nums; }
.olh-form {
	position: relative;
	display: flex; align-items: center; gap: 8px;
	max-width: 820px; margin: 26px auto 0;
	background: #fff;
	border: 2px solid var(--olb-tint-line);
	border-radius: 16px;
	padding: 6px 6px 6px 16px;
	box-shadow: 0 10px 30px rgba(var(--olb-accent-rgb), .10);
	text-align: left;
}
.olh-form:focus-within { border-color: var(--olb-accent); }
.olh-form-ico { color: var(--olb-muted); flex: none; }
.olb .olh-input {
	flex: 1; min-width: 0;
	border: 0 !important; outline: 0; box-shadow: none !important; background: transparent !important;
	font: inherit; font-size: 1.12rem; color: var(--olb-ink);
	padding: 12px 4px !important; margin: 0;
}
.olb .olh-btn {
	flex: none; border: 0; border-radius: 11px;
	background: var(--olb-accent); color: #fff;
	font: inherit; font-weight: 700; font-size: 1rem;
	padding: 13px 26px; cursor: pointer; line-height: 1.2;
}
.olb .olh-btn:hover { background: var(--olb-accent-ink); }
.olh-sug {
	position: absolute; left: -2px; right: -2px; top: calc(100% + 6px); z-index: 50;
	background: #fff; border: 1px solid var(--olb-line); border-radius: 14px;
	box-shadow: 0 18px 40px rgba(18, 26, 38, .14);
	padding: 8px; max-height: 70vh; overflow: auto;
}
.olh-sug-group + .olh-sug-group { border-top: 1px solid var(--olb-line); margin-top: 6px; padding-top: 6px; }
.olh-sug-label { margin: 4px 10px !important; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--olb-muted); }
.olh-sug-item { display: block; padding: 8px 10px; border-radius: 8px; color: var(--olb-ink) !important; font-weight: 500; }
.olh-sug-item:hover, .olh-sug-item.is-active { background: var(--olb-tint); color: var(--olb-accent-ink) !important; }
.olh-sug-all { display: block; margin-top: 6px; padding: 10px; border-top: 1px solid var(--olb-line); font-size: .9rem; font-weight: 600; color: var(--olb-accent) !important; }
.olh-chips { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 18px auto 0 !important; font-size: .9rem; color: var(--olb-muted); }
.olh-chip {
	border: 1px solid var(--olb-tint-line); background: #fff; border-radius: 999px; padding: 5px 13px;
	color: var(--olb-ink-2) !important; font-weight: 500;
}
.olh-chip:hover { border-color: var(--olb-accent); color: var(--olb-accent) !important; }
.olb-home .olb-alerts { margin-top: 24px; }

/* Kompendia */
.olh-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.olh-pillar {
	position: relative; display: block; overflow: hidden; border-radius: 12px;
	aspect-ratio: 4 / 3; background: linear-gradient(135deg, var(--olb-accent), var(--olb-accent-dark));
	color: #fff !important; isolation: isolate;
}
.olh-pillar-img, .olh-pillar-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.olh-pillar-img img { transition: transform .5s ease; }
.olh-pillar:hover .olh-pillar-img img { transform: scale(1.05); }
.olh-pillar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 20, 30, 0) 30%, rgba(10, 20, 30, .78)); z-index: 1; }
.olh-pillar-body { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 2; }
.olh-pillar-kicker { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.olh-pillar-title { display: block; font-family: var(--olb-serif); font-size: 1.22rem; font-weight: 700; line-height: 1.2; margin-top: 2px; text-shadow: 0 1px 8px rgba(0, 0, 0, .3); }

/* Kategorie leków */
.olh-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px var(--olb-gap); }
.olh-catgroup { padding: 4px 0 16px; }
.olb.olb .olh-catgroup-h {
	font-family: inherit; font-size: .74rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
	color: var(--olb-accent); padding-bottom: 8px; border-bottom: 2px solid var(--olb-ink); margin-bottom: 4px;
}
.olh-catgroup li a { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--olb-line); color: var(--olb-ink) !important; font-weight: 500; }
.olh-catgroup li a:hover span { color: var(--olb-accent); }
.olh-catgroup small, .olh-subs-list small { color: var(--olb-muted); font-size: .78rem; font-variant-numeric: tabular-nums; font-weight: 500; }

/* Substancje + nowe leki */
.olh-split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 calc(var(--olb-gap) * 1.6); }
.olh-subs-list { display: flex; flex-wrap: wrap; gap: 8px; }
.olh-subs-list a {
	display: inline-flex; align-items: baseline; gap: 6px;
	padding: 7px 12px; border-radius: 8px; background: var(--olb-soft); border: 1px solid transparent;
	color: var(--olb-ink) !important; font-weight: 600; font-size: .92rem;
}
.olh-subs-list a:hover { border-color: var(--olb-accent); background: #fff; color: var(--olb-accent) !important; }
.olh-drugs-list li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--olb-line); }
.olh-drugs-list li:first-child { padding-top: 0; }
.olh-drugs-list a { display: block; min-width: 0; color: var(--olb-ink) !important; }
.olh-drug-name { display: block; font-weight: 700; }
.olh-drugs-list a:hover .olh-drug-name { color: var(--olb-accent); }
.olh-drug-sub { display: block; font-size: .82rem; color: var(--olb-accent-ink); font-weight: 600; }
.olh-drug-form { display: block; font-size: .82rem; color: var(--olb-muted); }
.olh-drugs-list time { flex: none; font-size: .78rem; color: var(--olb-muted); font-variant-numeric: tabular-nums; padding-top: 3px; }

/* Opinie */
.olh-reviews { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.olh-review { background: var(--olb-soft); border-radius: 12px; padding: 16px 18px; display: flex; flex-direction: column; }
.olh-review-drug a { font-weight: 800; color: var(--olb-ink) !important; }
.olh-review-drug a:hover { color: var(--olb-accent) !important; }
/* Cała karta opinii klikalna (link „rozciągnięty” na kartę) */
.olb .olh-review { position: relative; transition: background .15s, box-shadow .15s; }
.olb .olh-review-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.olb .olh-review:hover { background: var(--olb-tint-2); box-shadow: inset 0 0 0 1px var(--olb-tint-line); }
.olb .olh-review:hover .olh-review-drug a { color: var(--olb-accent) !important; }
.olb .olh-review-link:focus-visible::after { outline: 2px solid var(--olb-accent); outline-offset: 2px; }
.olb .olh-review-more { margin: 10px 0 0 !important; font-size: .85rem; font-weight: 700; color: var(--olb-accent); }
/* Linki do zbiorczych stron opinii */
.olb .olh-ophubs { margin: 22px 0 0; padding: 16px 18px; border: 1px solid var(--olb-line); border-radius: 12px; }
.olb .olh-ophubs-h { margin: 0 0 10px !important; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--olb-muted); }
.olb .olh-ophubs-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.olb .olh-ophubs-list li { margin: 0; padding: 0; }
.olb .olh-ophubs-list a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--olb-tint); border: 1px solid var(--olb-tint-line); color: var(--olb-accent-ink) !important; font-size: .88rem; font-weight: 600; text-decoration: none !important; }
.olb .olh-ophubs-list a:hover { background: var(--olb-accent); border-color: var(--olb-accent); color: #fff !important; }
.olh-stars { color: #d99a06; letter-spacing: 2px; font-size: .95rem; margin-top: 2px !important; }
.olh-review-text { margin: 8px 0 auto !important; font-family: var(--olb-serif); font-size: .98rem; line-height: 1.5; color: var(--olb-ink-2); padding-bottom: 8px; }

/* Zaufanie */
.olh-trust { margin-top: 56px; padding: 26px 28px; border-radius: 14px; background: var(--olb-tint-3); border: 1px solid var(--olb-tint-line); }
.olh-trust ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-bottom: 14px !important; }
.olh-trust li { display: flex; gap: 12px; align-items: flex-start; }
.olh-trust-n { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--olb-accent); color: #fff; font-weight: 800; font-size: .85rem; }
.olh-trust strong { display: block; color: var(--olb-ink); }
.olh-trust p { margin: 4px 0 0 !important; font-size: .87rem; color: var(--olb-ink-2); line-height: 1.45; }

@media (max-width: 1080px) {
	.olh-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.olh-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.olh-reviews, .olh-trust ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.olh-split { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.olh-search { padding: 30px 16px 24px; margin-top: 12px; border-radius: 14px; }
	.olh-form { flex-wrap: wrap; padding: 6px 6px 6px 12px; }
	.olb .olh-input { flex-basis: calc(100% - 40px); font-size: 1rem; }
	.olb .olh-btn { width: 100%; }
	.olh-chips { justify-content: flex-start; }
	.olh-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.olh-pillar-title { font-size: 1.02rem; }
	.olh-cats { grid-template-columns: minmax(0, 1fr); }
	.olh-catgroup li:nth-child(n+4) { display: none; }
	.olh-reviews { grid-template-columns: minmax(0, 1fr); }
	.olh-trust { padding: 20px 18px; }
	.olh-trust ul { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

/* Logo nad wyszukiwarką – białe tło obrazka wtapia się w tło sekcji */
.olb .olh-logo { display: block; height: 84px; width: auto; max-width: 80%; margin: 0 auto 22px; mix-blend-mode: multiply; }
@media (max-width: 760px) { .olb .olh-logo { height: 58px; margin-bottom: 16px; } }

/* Logo jako H1 */
.olb.olb .olh-h1-logo { line-height: 0; margin: 0 0 4px; }
.olb .olh-h1-logo .olh-logo { margin-bottom: 14px; }

/* Materiały partnerów – osobna, wyraźnie oznaczona sekcja */
.olb-partners { margin-top: 44px; }
.olb-partners .olb-sec-head { border-top-color: #b58105; }
.olb-partners-note { margin: -10px 0 18px !important; font-size: .85rem; color: var(--olb-muted); }
.olb .olb-row4--partners { border-bottom: 0; padding-top: 0; }

/* ===================================================================== *
 * LISTY LEKÓW (olx-*) – kategoria leków, substancja czynna
 * ===================================================================== */
.olx { padding-top: 18px; }
.olx-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: .84rem; color: var(--olb-muted); }
.olx-crumbs li + li::before { content: "›"; margin: 0 8px; color: #b6bec8; }
.olx-crumbs a { color: var(--olb-ink-2) !important; }
.olx-crumbs a:hover { color: var(--olb-accent) !important; text-decoration: underline !important; }

.olx-head { padding: 18px 0 22px; border-bottom: 3px double var(--olb-rule); margin-bottom: 18px; }
.olx-kicker { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--olb-accent); margin-bottom: 6px !important; }
.olb.olb .olx-h1 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 700; line-height: 1.1; letter-spacing: -.015em; color: var(--olb-ink); }
.olx-lead { margin-top: 12px !important; max-width: 78ch; color: var(--olb-ink-2); font-size: 1.04rem; line-height: 1.6; }
.olx-lead-more { white-space: nowrap; font-weight: 600; color: var(--olb-accent) !important; }
.olx-lead-more:hover { text-decoration: underline !important; }
.olx-stats { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 14px !important; font-size: .92rem; color: var(--olb-muted); }
.olx-stats strong { color: var(--olb-ink); font-variant-numeric: tabular-nums; }

.olx-kids { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; font-size: .9rem; }
.olx-kids > span { color: var(--olb-muted); margin-right: 2px; }
.olx-kids a { padding: 6px 12px; border-radius: 8px; background: var(--olb-soft); color: var(--olb-ink) !important; font-weight: 600; }
.olx-kids a:hover { background: var(--olb-tint); color: var(--olb-accent) !important; }
.olx-kids small { color: var(--olb-muted); font-weight: 500; margin-left: 2px; }

/* Narzędzia (przyklejone przy przewijaniu) */
.olx-tools {
	position: sticky; top: 0; z-index: 20;
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
	padding: 12px 0; background: var(--olb-bg); border-bottom: 1px solid var(--olb-line);
}
body.admin-bar .olx-tools { top: 32px; }
.olx-search { flex: 1 1 320px; display: flex; align-items: center; gap: 8px; border: 2px solid var(--olb-line); border-radius: 12px; padding: 0 12px; background: #fff; }
.olx-search:focus-within { border-color: var(--olb-accent); }
.olx-search svg { color: var(--olb-muted); flex: none; }
.olb .olx-search input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; font: inherit; font-size: 1rem; padding: 11px 0 !important; margin: 0; color: var(--olb-ink); }
.olx-filter { display: inline-flex; border: 1px solid var(--olb-line); border-radius: 10px; padding: 3px; background: var(--olb-soft); }
.olb .olx-filter button { border: 0; background: transparent; font: inherit; font-size: .9rem; font-weight: 600; color: var(--olb-ink-2); padding: 7px 12px; border-radius: 7px; cursor: pointer; line-height: 1.2; }
.olb .olx-filter button small { font-weight: 500; color: var(--olb-muted); margin-left: 3px; }
.olb .olx-filter button.is-on { background: #fff; color: var(--olb-ink); box-shadow: 0 1px 3px rgba(18, 26, 38, .12); }

.olx-letters { display: flex; flex-wrap: wrap; gap: 2px; padding: 10px 0 4px; }
.olx-letters a, .olx-letters span { display: inline-grid; place-items: center; min-width: 28px; height: 28px; border-radius: 6px; font-size: .84rem; font-weight: 700; }
.olx-letters a { color: var(--olb-accent) !important; }
.olx-letters a:hover { background: var(--olb-tint); }
.olx-letters a.is-off { color: #c3cad3 !important; pointer-events: none; }
.olx-letters span { color: #d3d8de; }

.olx-legend { margin: 10px 0 0 !important; font-size: .84rem; color: var(--olb-muted); }
.olx-badge { display: inline-block; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #9a3412; background: #ffedd5; border-radius: 4px; padding: 1px 6px; vertical-align: 1px; }
.olx-count { margin: 8px 0 0 !important; font-size: .86rem; color: var(--olb-muted); min-height: 1.2em; }

/* Lista */
.olx-list { margin-top: 6px; }
.olb.olb .olx-letter {
	font-family: var(--olb-serif); font-size: 1.35rem; font-weight: 700; color: var(--olb-accent);
	padding: 22px 0 6px; border-bottom: 2px solid var(--olb-ink); scroll-margin-top: 90px;
}
.olx-row {
	display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: 4px 24px; align-items: baseline;
	padding: 11px 6px; border-bottom: 1px solid var(--olb-line);
}
.olx-row:hover { background: var(--olb-tint-2); }
.olx-name a { font-weight: 700; color: var(--olb-ink) !important; font-size: 1rem; }
.olx-name a:hover { color: var(--olb-accent) !important; text-decoration: underline !important; }
.olx-name .olx-badge { margin-left: 6px; }
.olx-sub { font-size: .9rem; color: var(--olb-accent-ink); font-weight: 600; }
.olx-form { font-size: .9rem; color: var(--olb-ink-2); }
.olx-dose { display: block; font-size: .82rem; color: var(--olb-muted); }
.olx-more { font-size: .78rem; color: var(--olb-muted); font-weight: 600; }
.olx-row.is-wd .olx-name a { color: #6b7684 !important; }
.olx-row.is-wd .olx-sub, .olx-row.is-wd .olx-form { opacity: .75; }
.olx-row[hidden], .olx-letter[hidden] { display: none !important; }
.olx-empty { text-align: center; padding: 34px 16px; border: 1px dashed var(--olb-line); border-radius: 12px; margin-top: 16px; color: var(--olb-muted); }
.olx-empty a { color: var(--olb-accent) !important; font-weight: 600; }

/* Powiązane */
.olx-rel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 calc(var(--olb-gap) * 1.6); margin-top: 48px; padding-top: 24px; border-top: 3px solid var(--olb-rule); }
.olb.olb .olx-rel-h { font-size: 1.2rem; font-weight: 700; color: var(--olb-ink); margin-bottom: 14px; }
.olx-rel-list { columns: 2 200px; column-gap: 24px; }
.olx-rel-list li { break-inside: avoid; }
.olx-rel-list a { display: block; padding: 7px 0; border-bottom: 1px solid var(--olb-line); color: var(--olb-ink) !important; font-weight: 500; }
.olx-rel-list a:hover { color: var(--olb-accent) !important; }
.olx-arts { margin-top: 44px; }

/* Przewodnik – pełny opis kategorii, czytelna typografia */
.olx-guide {
	max-width: 820px; margin: 56px auto 0; padding-top: 30px; border-top: 3px double var(--olb-rule);
	font-size: 1.06rem; line-height: 1.75; color: var(--olb-ink); scroll-margin-top: 90px;
}
.olx-guide > p { margin: 0 0 1.1em; }
.olb.olb .olx-guide > h2 { font-family: var(--olb-serif); font-size: 1.65rem; line-height: 1.25; font-weight: 700; margin: 1.8em 0 .6em; padding: 0; background: none; color: var(--olb-ink); }
.olb.olb .olx-guide > h3 { font-family: var(--olb-serif); font-size: 1.25rem; line-height: 1.3; font-weight: 700; margin: 1.5em 0 .5em; padding: 0; background: none; color: var(--olb-ink); }
.olb.olb .olx-guide > h4 { font-size: 1.05rem; margin: 1.3em 0 .4em; padding: 0; background: none; }
.olb.olb .olx-guide > h2:first-child { margin-top: 0; }
.olx-guide > ul, .olx-guide > ol { margin: 0 0 1.1em 1.3em; padding: 0; }
.olx-guide > ul { list-style: disc; }
.olx-guide > ol { list-style: decimal; }
.olx-guide > ul > li, .olx-guide > ol > li { margin: .3em 0; }
.olx-guide :is(p, li, td) > a, .olx-guide :is(p, li, td) > :is(strong, em) > a { color: var(--olb-accent); text-decoration: underline; text-underline-offset: 2px; }
.olx-guide > p img, .olx-guide > figure img { margin: 1.2em auto; border-radius: 10px; max-width: 100%; height: auto; }
.olx-guide > table, .olx-guide > figure > table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: .95rem; display: block; overflow-x: auto; }
.olx-guide table th, .olx-guide table td { border: 1px solid var(--olb-line); padding: 8px 10px; text-align: left; vertical-align: top; }
.olx-guide table th { background: var(--olb-soft); }
.olx-guide > blockquote { margin: 1.2em 0; padding: 12px 18px; border-left: 4px solid var(--olb-accent); background: var(--olb-tint-3); }

/* Opis substancji podpisany przez redakcję – nad listą leków */
.olx-intro-grid { display: grid; grid-template-columns: minmax(0, 820px) minmax(250px, 340px); justify-content: space-between; gap: clamp(28px, 4vw, 56px); align-items: start; margin: 4px 0 34px; }
.olx-intro-grid .olx-guide.olx-guide--top { margin: 0; }
.olx-guide.olx-guide--top { max-width: 820px; margin: 4px 0 34px; padding: 0; border: 0; }
.olx-aside { position: sticky; top: 90px; display: grid; gap: 16px; }
.olx-aside-card { background: #fff; border: 1px solid var(--olb-line); border-radius: 14px; padding: 18px 20px; }
.olb .olx-aside-h { font-family: var(--olb-serif); font-weight: 700; font-size: 1.12rem; line-height: 1.3; color: var(--olb-ink); margin: 0 0 10px; }
.olb .olx-aside-facts { margin: 0; }
.olx-aside-facts > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--olb-line); font-size: .92rem; }
.olx-aside-facts dt { color: var(--olb-muted); }
.olx-aside-facts dd { margin: 0; font-weight: 700; color: var(--olb-ink); font-variant-numeric: tabular-nums; }
.olb .olx-aside-sub { margin: 14px 0 6px; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--olb-muted); }
.olx-aside-forms { display: flex; flex-wrap: wrap; gap: 6px; }
.olx-aside-forms li { padding: 4px 10px; border-radius: 999px; background: var(--olb-soft); font-size: .82rem; color: var(--olb-ink-2); line-height: 1.35; }
.olx-aside-forms small { color: var(--olb-muted); margin-left: 2px; }
.olx-aside-forms .olx-aside-more { background: none; color: var(--olb-muted); }
.olb a.olx-aside-btn { display: block; margin-top: 16px; padding: 10px 14px; border-radius: 10px; background: var(--olb-accent); color: #fff; font-weight: 700; text-align: center; }
.olb a.olx-aside-btn:hover { background: var(--olb-accent-ink); }
.olx-aside-top { counter-reset: oxt; }
.olx-aside-top li { counter-increment: oxt; display: flex; align-items: baseline; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--olb-line); font-size: .92rem; }
.olx-aside-top li:last-child { border-bottom: 0; }
.olx-aside-top li::before { content: counter(oxt); flex: 0 0 18px; font-weight: 800; color: var(--olb-accent); }
.olb .olx-aside-top a { flex: 1 1 auto; font-weight: 600; color: var(--olb-ink); }
.olb .olx-aside-top a:hover { color: var(--olb-accent); }
.olx-aside-top small { color: var(--olb-muted); white-space: nowrap; font-size: .78rem; }
@media (min-width: 981px) {
	.olx-aside.has-ad > .olx-aside-card { display: none; }
}
.olx-aside-ad .olads-slot { margin: 0; }
.olx-ad-ph { height: 600px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 20px; text-align: center; border: 2px dashed var(--olb-line); border-radius: 14px; color: var(--olb-muted); font-size: .9rem; line-height: 1.5; }
@media (max-width: 980px) { .olx-ad-ph { display: none; } }
@media (max-width: 980px) {
	.olx-intro-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.olx-aside { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
.olx-guide .olx-author { margin: 1.6em 0 0 !important; padding: 14px 18px; font-size: .92rem; line-height: 1.55; color: var(--olb-ink-2); background: var(--olb-soft); border-left: 3px solid var(--olb-accent); border-radius: 0 10px 10px 0; }
.olx-stats .olx-stats-jump a { font-weight: 600; color: var(--olb-accent) !important; }
.olx-stats .olx-stats-jump a:hover { text-decoration: underline !important; }
.olx-list-wrap { scroll-margin-top: 90px; }

@media (max-width: 900px) {
	.olx-row { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 12px 2px; }
	.olx-rel { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 600px) {
	.olx-tools { gap: 8px; }
	.olx-filter { width: 100%; }
	.olb .olx-filter button { flex: 1; padding: 8px 4px; font-size: .84rem; }
	.olx-letters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.olx-guide { font-size: 1rem; }
}
.olx-cols {
	display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: 24px;
	padding: 16px 6px 6px; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--olb-muted);
}
.olx-list--sub .olx-sub { color: var(--olb-ink-2); font-weight: 500; }
@media (max-width: 900px) { .olx-cols { display: none; } }
/* Wiele postaci farmaceutycznych w jednym wierszu */
.olb .olx-forms { list-style: none; margin: 0; padding: 0; }
.olb .olx-forms li { margin: 0; padding: 0; line-height: 1.35; }
.olb .olx-forms li + li { margin-top: 5px; }
.olx-forms .olx-fname { color: var(--olb-ink-2); }
.olx-forms .olx-dose { display: inline; color: var(--olb-muted); font-size: .84rem; white-space: normal; overflow-wrap: anywhere; }
.olx-forms .olx-fname + .olx-dose::before { content: " · "; color: #b6bec8; }
.olb .olb-upd { white-space: nowrap; }

.olb .olb-upd time { display: inline; margin: 0; }

/* ---------- 1.5: działy poradnika (wszystkie, z liczbą artykułów) ---------- */
.olb-nav--all { flex-wrap: wrap; overflow: visible; -webkit-mask-image: none; mask-image: none; gap: 6px; padding: 12px 0 14px; align-items: center; }
.olb .olb-nav-label { flex: none; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--olb-muted); margin-right: 6px; }
.olb-nav--all .olb-nav-link { background: var(--olb-soft); border: 1px solid var(--olb-line); border-radius: 999px; padding: 5px 12px; font-size: .86rem; }
.olb-nav--all .olb-nav-link:hover { background: var(--olb-tint); border-color: var(--olb-tint-line); color: var(--olb-accent-ink) !important; }
.olb-nav-count { font-size: .75rem; font-weight: 700; color: var(--olb-muted); margin-left: 2px; font-variant-numeric: tabular-nums; }
.olb-nav--all .olb-nav-link:hover .olb-nav-count { color: var(--olb-accent); }
@media (max-width: 760px) {
	.olb-nav--all { flex-wrap: nowrap; overflow-x: auto; -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); }
	.olb .olb-nav-label { display: none; }
}

/* ---------- 1.5: rzędy z 3 kafelkami (strona główna – kompakt, „Ostatnio zaktualizowane”) ---------- */
.olb-sec--n3 .olb-sec-body { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.olb-sec--n2 .olb-sec-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.olb .olb-sec-note { margin: 0 !important; color: var(--olb-muted); font-size: .85rem; }
.olb-sec--upd .olb-sec-head { flex-wrap: wrap; row-gap: 2px; }
.olb-sec--upd .olb-sec-head .olb-sec-note { flex-basis: 100%; }
@media (max-width: 1000px) { .olb-sec--n3 .olb-sec-body { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- 1.5: ramka „O redakcji i źródłach” ---------- */
.olb-editorial { display: flex; gap: 18px; align-items: flex-start; margin-top: 48px; padding: 22px 26px; background: var(--olb-tint-2); border: 1px solid var(--olb-tint-line); border-radius: 16px; }
.olb-editorial-ico { flex: none; width: 48px; height: 48px; border-radius: 12px; background: #fff; border: 1px solid var(--olb-tint-line); color: var(--olb-accent); display: flex; align-items: center; justify-content: center; }
.olb.olb .olb-editorial-h { font-family: var(--olb-serif); font-size: 1.2rem; font-weight: 700; color: var(--olb-ink); margin: 0 0 8px; }
.olb .olb-editorial-body p { margin: 0 0 .7em; color: var(--olb-ink-2); line-height: 1.65; font-size: .95rem; max-width: 80ch; }
.olb .olb-editorial-more { margin: 4px 0 0 !important; }
.olb .olb-editorial-more a { color: var(--olb-accent) !important; font-weight: 700; text-decoration: none !important; }
.olb .olb-editorial-more a:hover { text-decoration: underline !important; }
@media (max-width: 600px) { .olb-editorial { flex-direction: column; padding: 18px; } }
@media (max-width: 760px) { .olb-sec--n3 .olb-sec-body, .olb-sec--n2 .olb-sec-body { grid-template-columns: minmax(0, 1fr); } }
.olb #gz { scroll-margin-top: 90px; }
.olb-zag .olh-lead { margin-top: 0 !important; }

/* =====================================================================
 * KOMUNIKATY GIF (.olg)
 * ===================================================================== */
.olg { --olg-wyc: #b42318; --olg-wst: #b54708; --olg-zak: #6941c6; }
.olg-check-box { background: var(--olb-tint-2); border: 1px solid var(--olb-tint-line); border-radius: 16px; padding: 22px 24px 18px; margin: 4px 0 18px; }
.olb.olb .olg-check-h { font-family: var(--olb-serif); font-size: 1.35rem; font-weight: 700; color: var(--olb-ink); margin: 0 0 4px; background: none; padding: 0; }
.olb .olg-check-p { margin: 0 0 12px !important; color: var(--olb-ink-2); font-size: .95rem; }
.olg-search { background: #fff; max-width: 720px; }
.olb .olg-search input { font-size: 1.08rem; padding: 13px 0 !important; }
.olb .olg-result { margin: 10px 0 0 !important; font-size: .95rem; font-weight: 600; min-height: 0; }
.olb .olg-result:empty { display: none; }
.olb .olg-result.is-hit { color: var(--olg-wyc); background: #fef3f2; border: 1px solid #fecdca; border-radius: 10px; padding: 10px 14px; }
.olb .olg-result.is-clear { color: #067647; background: #ecfdf3; border: 1px solid #abefc6; border-radius: 10px; padding: 10px 14px; }

.olg-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; position: sticky; top: 0; z-index: 5; background: var(--olb-bg, #fff); padding: 10px 0; border-bottom: 1px solid var(--olb-line); }
.admin-bar .olg-filters { top: 32px; }
.olg-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
.olg-dot--wyc { background: var(--olg-wyc); } .olg-dot--wst { background: var(--olg-wst); } .olg-dot--zak { background: var(--olg-zak); }
.olg-selects { display: flex; gap: 10px; flex-wrap: wrap; }
.olg-select { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--olb-muted); }
.olb .olg-select select { font: inherit; font-size: .9rem; color: var(--olb-ink); border: 1px solid var(--olb-line); border-radius: 9px; padding: 7px 28px 7px 10px; background-color: #fff; max-width: 240px; }

.olg-month + .olg-month { margin-top: 6px; }
.olb.olb .olg-month-h { font-family: var(--olb-sans, inherit); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--olb-ink-2); margin: 26px 0 4px; padding: 0 0 6px; border-bottom: 2px solid var(--olb-ink); background: none; }
.olg-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--olb-line); }
.olg-date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 12px; background: var(--olb-soft); line-height: 1; }
.olg-day { font-family: var(--olb-serif); font-size: 1.3rem; font-weight: 700; color: var(--olb-ink); }
.olg-mon { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--olb-muted); margin-top: 3px; }
.olb.olb .olg-name { font-family: var(--olb-serif); font-size: 1.12rem; font-weight: 700; line-height: 1.3; margin: 2px 0 4px; background: none; padding: 0; }
.olb .olg-name a { color: var(--olb-ink) !important; text-decoration: none !important; }
.olb .olg-name a:hover { color: var(--olb-accent) !important; }
.olb .olg-meta { margin: 0 !important; font-size: .86rem; color: var(--olb-muted); line-height: 1.6; }
.olg-sep { margin: 0 7px; color: var(--olb-line); }
.olg-ser { color: var(--olb-ink-2); font-weight: 600; }
.olg-area { color: var(--olb-accent-ink); }
.olb .olg-also { margin: 4px 0 0 !important; font-size: .84rem; color: var(--olb-muted); }
.olb .olg-also a { color: var(--olb-accent) !important; }
.olb .olg-hit { margin: 8px 0 0 !important; font-size: .88rem; font-weight: 700; color: var(--olg-wyc); background: #fef3f2; border-radius: 8px; padding: 6px 10px; display: inline-block; }
.olb .olg-hit[hidden] { display: none; }
.olg-side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; padding-top: 3px; }
.olg-badge { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; white-space: nowrap; border: 1px solid currentColor; }
.olg-badge--wyc { color: var(--olg-wyc); background: #fef3f2; }
.olg-badge--wst { color: var(--olg-wst); background: #fffaeb; }
.olg-badge--zak { color: var(--olg-zak); background: #f4f3ff; }
.olb .olg-leaf { font-size: .82rem; font-weight: 700; color: var(--olb-accent) !important; text-decoration: none !important; white-space: nowrap; }
.olb .olg-leaf:hover { text-decoration: underline !important; }
.olg-row[hidden], .olg-month[hidden] { display: none; }
@media (max-width: 680px) {
	.olg-check-box { padding: 18px 16px 14px; }
	.olg-row { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; }
	.olg-date { width: 44px; height: 46px; }
	.olg-side { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; padding-top: 0; }
	.olg-filters { position: static; }
	.olg-filters .olx-filter { width: 100%; flex-wrap: wrap; }
	.olb .olg-filters .olx-filter button { flex: 1 1 44%; }
}

/* Kolumny listy leków nigdy nie wychodzą poza ekran (długie opisy dawek) */
.olx-row > * { min-width: 0; overflow-wrap: anywhere; }

/* Licznik opinii pod wyszukiwarką (strona główna) */
.olb .olh-ops { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 12px; margin: 16px 0 0 !important; font-size: .95rem; color: var(--olb-muted); }
.olb .olh-ops a { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--olb-tint-line); color: var(--olb-ink) !important; text-decoration: none !important; }
.olb .olh-ops a:hover { border-color: var(--olb-accent); color: var(--olb-accent-ink) !important; }
.olb .olh-ops strong { font-variant-numeric: tabular-nums; color: var(--olb-accent-ink); }
.olh-ops-ico { display: inline-flex; color: var(--olb-accent); }
.olb #opinie { scroll-margin-top: 90px; }

/* 2.0.1: „Na czasie” – 8 kafelków (2 rzędy); obrazek zawsze wypełnia ramkę 3:2, niezależnie od proporcji i stylów motywu */
.olb-sec--sezon .olb-sec-body { row-gap: 28px; }
.olb .olb-sec--b .olb-card--tile .olb-img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }

/* =====================================================================
 * 2.1: WYNIKI WYSZUKIWANIA (.ols)
 * ===================================================================== */
.ols { box-sizing: border-box; max-width: 1140px; margin: 0 auto; padding: 28px 20px 56px; }
.ols *, .ols *::before, .ols *::after { box-sizing: border-box; }
.ols-head { margin-bottom: 8px; }
.ols .ols-kicker { margin: 0 0 4px; font-size: .74rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--olb-accent); }
.ols.olb .ols-h1 { font-family: var(--olb-serif); font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; margin: 0 0 16px; color: var(--olb-ink); }
.ols .ols-form { max-width: 720px; position: relative; }
.ols-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.ols-jump a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--olb-line); border-radius: 999px; background: var(--olb-soft); color: var(--olb-ink) !important; font-size: .9rem; font-weight: 600; text-decoration: none !important; }
.ols-jump a:hover { border-color: var(--olb-tint-line); background: var(--olb-tint-2); color: var(--olb-accent-ink) !important; }
.ols-jump b { font-weight: 700; color: var(--olb-muted); font-variant-numeric: tabular-nums; }
.ols-sec { margin-top: 36px; padding-top: 14px; border-top: 2px solid var(--olb-rule); scroll-margin-top: 90px; }
.ols.olb .ols-h2 { font-family: var(--olb-serif); font-size: 1.35rem; margin: 0 0 14px; color: var(--olb-ink); }
.ols-h2 span { font-family: var(--olb-sans); font-size: .85rem; font-weight: 700; color: var(--olb-muted); margin-left: 6px; }
.ols mark { background: rgba(var(--olb-accent-rgb), .14); color: inherit; padding: 0 1px; border-radius: 2px; }

.ols-drugs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ols .ols-drug a { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 11px 14px; border: 1px solid var(--olb-line); border-radius: 10px; background: #fff; text-decoration: none !important; transition: border-color .15s, background-color .15s; position: relative; }
.ols .ols-drug a:hover { border-color: var(--olb-accent); background: var(--olb-tint-3); }
.ols-drug-name { font-weight: 700; color: var(--olb-ink); line-height: 1.3; padding-right: 64px; }
.ols-drug-sub { font-size: .82rem; color: var(--olb-muted); line-height: 1.35; }
.ols-drug.is-top { grid-column: 1 / -1; }
.ols .ols-drug.is-top a { padding: 14px 18px; border-color: var(--olb-tint-line); background: var(--olb-tint-2); }
.ols-drug.is-top .ols-drug-name { font-size: 1.15rem; }
.ols-drug.is-withdrawn .ols-drug-name { color: var(--olb-muted); }
.ols-badge { position: absolute; top: 10px; right: 10px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--olb-alert); background: var(--olb-alert-soft); border-radius: 999px; padding: 2px 8px; }
.ols-more { margin-top: 12px; background: none; border: 1px solid var(--olb-line); border-radius: 999px; padding: 7px 16px; font-weight: 600; color: var(--olb-accent-ink); cursor: pointer; }
.ols-more:hover { border-color: var(--olb-accent); background: var(--olb-tint-2); }

.ols-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ols-chips a { display: inline-block; padding: 7px 14px; border: 1px solid var(--olb-line); border-radius: 999px; font-weight: 600; color: var(--olb-ink) !important; text-decoration: none !important; }
.ols-chips a:hover { border-color: var(--olb-accent); background: var(--olb-tint-2); }
.ols-chips small { font-weight: 500; color: var(--olb-muted); margin-left: 4px; }

.ols-arts { display: flex; flex-direction: column; }
.ols-art { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--olb-line); }
.ols-art:first-child { padding-top: 4px; }
.ols-art-img { display: block; aspect-ratio: 3 / 2; border-radius: 8px; overflow: hidden; background: var(--olb-soft); position: relative; }
.ols-art-img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.ols.olb .ols-art-t { font-family: var(--olb-serif); font-size: 1.15rem; line-height: 1.3; margin: 2px 0 6px; }
.ols-art-t a { color: var(--olb-ink) !important; text-decoration: none !important; }
.ols-art-t a:hover { color: var(--olb-accent) !important; }
.ols .ols-art-ex { margin: 0 0 6px; color: var(--olb-ink-2); font-size: .95rem; line-height: 1.55; }
.ols .olb-meta { margin: 0; }
.ols-pages { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.ols-pages a, .ols-pages span { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--olb-line); border-radius: 8px; font-weight: 600; text-decoration: none !important; color: var(--olb-ink) !important; }
.ols-pages span { background: var(--olb-ink); border-color: var(--olb-ink); color: #fff !important; }
.ols-pages a:hover { border-color: var(--olb-accent); }

.ols-gif { list-style: none; margin: 0; padding: 0; }
.ols-gif li { display: flex; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--olb-line); align-items: baseline; }
.ols-gif time { flex: none; width: 86px; font-size: .85rem; color: var(--olb-muted); font-variant-numeric: tabular-nums; }
.ols-gif a { color: var(--olb-ink) !important; text-decoration: none !important; font-weight: 600; }
.ols-gif a:hover { color: var(--olb-accent) !important; }
.ols .ols-all { margin: 12px 0 0; }
.ols-empty { margin-top: 28px; padding: 20px 22px; border: 1px solid var(--olb-line); border-radius: 12px; background: var(--olb-soft); }
.ols-empty p { margin: 0 0 6px; }

@media (max-width: 900px) { .ols-drugs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.ols { padding: 18px 16px 40px; }
	.ols-drugs { grid-template-columns: minmax(0, 1fr); }
	.ols-art { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
	.ols.olb .ols-art-t { font-size: 1.02rem; }
	.ols .ols-art-ex { display: none; }
}
.ols .ols-form { margin-left: 0; margin-right: 0; }
/* 2.1.1: gdy otwarte są podpowiedzi portalu, ukryj listę innej wtyczki (jQuery UI Autocomplete) */
body.olh-sug-open .ui-autocomplete { display: none !important; }
/* 2.2: podpowiedzi – wycofany lek */
.olh-sug-w { margin-left: 6px; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--olb-alert, #b42318); background: var(--olb-alert-soft, #fdf2f1); border-radius: 999px; padding: 1px 7px; vertical-align: 1px; }
