/* odbiory-mieszkan-lublin.pl — „Cegła i piasek”, stylistyka magazynowo-redakcyjna.
   Wszystkie reguły scope'owane prefiksem lb- (bez globalnych reguł h2/p/a/body). */
:root {
	--lb-brick: #A55233;
	--lb-clay: #C9794E;
	--lb-peach: #E5B28E;
	--lb-sand: #F3E1D4;
	--lb-paper: #FCF8F5;
	--lb-brick-dark: #8A4329;
	--lb-ink: #2B1E17;
	--lb-ink-soft: #5E4A3F;
	--lb-rule: rgba(165, 82, 51, .28);
	--lb-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--lb-sans: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--lb-head-h: 72px;
}

/* ---------- baza (tylko strony z klasą lb-body: HP i /blog) ---------- */
.lb-body {
	background: var(--lb-paper);
	color: var(--lb-ink);
	font-family: var(--lb-sans);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.lb-wrap { width: min(1200px, 100% - 32px); margin-inline: auto; }
@media (min-width: 768px) { .lb-wrap { width: min(1200px, 100% - 64px); } }

.lb-skip {
	position: absolute; left: 12px; top: -60px; z-index: 2000;
	background: var(--lb-ink); color: #fff !important; padding: 10px 16px; border-radius: 4px;
	font: 600 .95rem/1.2 var(--lb-sans) !important; text-decoration: none;
}
.lb-skip:focus { top: 10px; }

.lb-page :is(h1, h2, h3, p, dl, dd, ol, ul, figure, blockquote) { margin-top: 0; }
.lb-page [id] { scroll-margin-top: calc(var(--lb-head-h) + 16px); }
@media (prefers-reduced-motion: no-preference) { html:has(.lb-page) { scroll-behavior: smooth; } }

/* focus widoczny — nadpisuje legacy `a:focus{outline:0}` z style.css (artykuły) */
:where(.lb-head, .lb-page, .lb-foot, .lb-blog) :is(a, button, [tabindex]):focus-visible {
	outline: 3px solid var(--lb-brick-dark);
	outline-offset: 3px;
	border-radius: 2px;
}

/* ---------- przyciski ---------- */
.lb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: .8rem 1.6rem;
	font: 600 1rem/1.2 var(--lb-sans); letter-spacing: .01em;
	border-radius: 2px; text-decoration: none !important; border: 2px solid transparent;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.lb-btn--brick { background: var(--lb-brick); color: #fff !important; }
.lb-btn--brick:hover { background: var(--lb-brick-dark); color: #fff; }
.lb-btn--brick:active { transform: translateY(1px); background: #73361f; }
.lb-link-arrow {
	font: 600 1rem/1.3 var(--lb-sans); color: var(--lb-brick-dark) !important;
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}
.lb-link-arrow:hover { text-decoration-thickness: 2px; }

/* ---------- nagłówek / nawigacja ---------- */
.lb-head {
	position: sticky; top: 0; z-index: 1000;
	background: var(--lb-paper);
	border-bottom: 1px solid var(--lb-rule);
	font-family: var(--lb-sans);
}
.lb-head__in {
	width: min(1240px, 100% - 24px); margin-inline: auto;
	display: flex; align-items: center; gap: 12px;
	min-height: 68px; padding: 8px 0;
}
.lb-logo { display: inline-flex; align-items: center; flex: 0 0 auto; margin-right: auto; line-height: 0; }
.lb-logo__img { display: block; height: 56px; width: auto; max-width: none; }
.lb-head__tel-m {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--lb-rule); color: var(--lb-brick) !important; background: transparent;
}
.lb-head__tel-m svg { width: 20px; height: 20px; }
.lb-burger {
	display: inline-flex; align-items: center; gap: 10px;
	height: 44px; padding: 0 14px; border: 1px solid var(--lb-ink); border-radius: 2px;
	background: transparent; color: var(--lb-ink); cursor: pointer;
	font: 600 .9rem/1 var(--lb-sans); letter-spacing: .06em; text-transform: uppercase;
}
.lb-burger__bars, .lb-burger__bars::before, .lb-burger__bars::after {
	display: block; width: 18px; height: 2px; background: currentColor; position: relative; transition: transform .2s ease, background-color .2s ease;
}
.lb-burger__bars::before, .lb-burger__bars::after { content: ""; position: absolute; left: 0; }
.lb-burger__bars::before { top: -6px; }
.lb-burger__bars::after { top: 6px; }
.lb-burger[aria-expanded="true"] .lb-burger__bars { background: transparent; }
.lb-burger[aria-expanded="true"] .lb-burger__bars::before { transform: translateY(6px) rotate(45deg); }
.lb-burger[aria-expanded="true"] .lb-burger__bars::after { transform: translateY(-6px) rotate(-45deg); }

.lb-menu {
	display: none;
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--lb-sand); border-bottom: 3px solid var(--lb-brick);
	max-height: calc(100vh - 68px); max-height: calc(100dvh - 68px); overflow-y: auto;
	padding: 8px 16px 104px; /* dół: miejsce na pływający przycisk DotCall */
	box-shadow: 0 18px 30px -18px rgba(43, 30, 23, .35);
}
.lb-menu.is-open { display: block; }
.lb-menu__list { list-style: none; margin: 0; padding: 0; }
.lb-menu__list li { margin: 0; border-bottom: 1px solid var(--lb-rule); }
.lb-head .lb-menu__list a {
	display: flex; align-items: center; min-height: 52px;
	font: 500 1.35rem/1.2 var(--lb-serif); color: var(--lb-ink); text-decoration: none;
}
.lb-head .lb-menu__list a:hover { color: var(--lb-brick-dark); }
.lb-menu__util { display: grid; gap: 10px; padding-top: 18px; }
.lb-head .lb-util__tel, .lb-head .lb-util__dc, .lb-head .lb-util__book {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 18px; border-radius: 2px; cursor: pointer;
	font: 600 1rem/1.2 var(--lb-sans); text-decoration: none;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.lb-head .lb-util__tel { color: var(--lb-ink); border: 1px solid var(--lb-rule); background: var(--lb-paper); }
.lb-head .lb-util__tel svg { width: 18px; height: 18px; color: var(--lb-brick); }
.lb-head .lb-util__dc { color: var(--lb-brick-dark); border: 2px solid var(--lb-brick); background: transparent; }
.lb-head .lb-util__dc:hover { background: var(--lb-brick); color: #fff; }
.lb-head .lb-util__book { color: #fff; background: var(--lb-brick); border: 2px solid var(--lb-brick); }
.lb-head .lb-util__book:hover { background: var(--lb-brick-dark); border-color: var(--lb-brick-dark); color: #fff; }

@media (min-width: 1100px) {
	:root { --lb-head-h: 86px; }
	.lb-head__in { width: min(1240px, 100% - 64px); min-height: 104px; gap: 28px; padding: 8px 0; transition: min-height .2s ease; }
	.lb-logo__img { height: 88px; transition: height .2s ease; }
	.lb-head.is-compact .lb-head__in { min-height: 72px; }
	.lb-head.is-compact .lb-logo__img { height: 60px; }
	.lb-head__tel-m, .lb-burger { display: none; }
	.lb-menu {
		display: flex !important; flex-direction: column-reverse; align-items: flex-end; gap: 8px;
		position: static; background: transparent; border: 0; box-shadow: none; padding: 0; max-height: none; overflow: visible;
	}
	.lb-menu__list { display: flex; gap: 4px 26px; flex-wrap: nowrap; }
	.lb-menu__list li { border: 0; }
	.lb-head .lb-menu__list a {
		min-height: 36px; font: 500 1.02rem/1.2 var(--lb-sans); letter-spacing: .01em; white-space: nowrap;
		border-bottom: 2px solid transparent;
	}
	.lb-head .lb-menu__list a:hover { border-bottom-color: var(--lb-brick); color: var(--lb-ink); }
	.lb-menu__util { display: flex; align-items: center; gap: 10px; padding: 0; }
	.lb-head .lb-util__tel, .lb-head .lb-util__dc, .lb-head .lb-util__book { min-height: 38px; padding: 0 14px; font-size: .9rem; }
	.lb-head .lb-util__tel { border: 0; background: transparent; padding: 0 6px; }
	.lb-head.is-compact .lb-menu { flex-direction: row; align-items: center; gap: 26px; }
	.lb-head.is-compact .lb-util__tel, .lb-head.is-compact .lb-util__dc { display: none; }
}

/* ---------- etykiety sekcji ---------- */
.lb-sec { padding: 64px 0; }
@media (min-width: 960px) { .lb-sec { padding: 104px 0; } }
.lb-sec-label {
	display: flex; align-items: center; gap: 14px;
	font: 600 .78rem/1.3 var(--lb-sans); letter-spacing: .16em; text-transform: uppercase;
	color: var(--lb-brick-dark); margin-bottom: 28px;
}
.lb-sec-label::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--lb-rule); }
.lb-sec-label__no { font: italic 400 1.5rem/1 var(--lb-serif); letter-spacing: 0; color: var(--lb-brick); text-transform: none; }
.lb-eyebrow { font: 600 .82rem/1.3 var(--lb-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lb-brick-dark); margin-bottom: 12px; }
.lb-page .lb-h2 {
	font-family: var(--lb-serif); font-weight: 600; color: var(--lb-ink);
	font-size: clamp(1.75rem, 3.4vw, 2.6rem); line-height: 1.12; letter-spacing: -.01em; margin-bottom: 20px;
}
.lb-page .lb-h2--sm { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.lb-accent { color: var(--lb-brick); font-style: italic; font-weight: 400; }

/* ---------- HERO: otwarcie magazynu ---------- */
.lb-hero { position: relative; background: var(--lb-paper); padding: 0 0 8px; }
.lb-hero__field { background: var(--lb-sand); }
.lb-hero__copy { width: min(1200px, 100% - 32px); margin-inline: auto; padding: 40px 0 72px; }
.lb-kicker {
	display: flex; align-items: center; gap: 12px; margin-bottom: 22px;
	font: 600 .78rem/1.3 var(--lb-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lb-brick-dark);
}
.lb-kicker__dash { width: 44px; height: 2px; background: var(--lb-brick); flex: 0 0 auto; }
.lb-page .lb-hero__title {
	font-family: var(--lb-serif); font-weight: 600; color: var(--lb-ink);
	font-size: clamp(2.7rem, 10.5vw, 6.6rem); line-height: .96; letter-spacing: -.025em;
	margin-bottom: 26px; max-width: 9.5ch; overflow-wrap: break-word;
	font-variation-settings: "opsz" 144;
}
.lb-hero__lead { font-size: 1.13rem; line-height: 1.6; color: var(--lb-ink-soft); max-width: 34ch; margin-bottom: 28px; }
.lb-hero__lead a { color: var(--lb-brick-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lb-hero__lead a:hover { color: var(--lb-ink); }
.lb-hero__cta {
	display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px;
	background: var(--lb-ink); color: var(--lb-paper) !important; text-decoration: none !important;
	font: 600 1rem/1.2 var(--lb-sans); border-radius: 2px; transition: background-color .18s ease;
}
.lb-hero__cta:hover { background: var(--lb-brick-dark); }
.lb-hero__issue {
	position: relative; background: var(--lb-brick); color: var(--lb-paper);
	margin: -40px 0 0 24px; padding: 26px 22px 24px;
}
.lb-hero__issue-k { font: 600 .74rem/1.3 var(--lb-sans); letter-spacing: .18em; text-transform: uppercase; margin-bottom: 12px; color: var(--lb-sand); }
.lb-hero__toc { list-style: none; margin: 0; padding: 0; }
.lb-hero__toc li { border-top: 1px solid rgba(252, 248, 245, .28); }
.lb-hero__toc a {
	display: flex; align-items: baseline; gap: 12px; padding: 9px 0; min-height: 44px;
	color: var(--lb-paper) !important; text-decoration: none; font: 500 1rem/1.3 var(--lb-sans);
}
.lb-hero__toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lb-hero__no { font: italic 400 1.1rem/1 var(--lb-serif); min-width: 1.8em; color: var(--lb-sand); }
.lb-hero :is(a, button):focus-visible { outline-color: var(--lb-ink); }
.lb-hero__issue a:focus-visible { outline-color: var(--lb-paper); }

@media (min-width: 600px) {
	.lb-hero__issue { margin: -48px 0 0 auto; width: min(460px, 100% - 64px); margin-right: 16px; }
}
@media (min-width: 960px) {
	.lb-hero { padding-bottom: 0; }
	.lb-hero__field { width: 69%; }
	.lb-hero__copy { width: auto; margin: 0; padding: 92px 56px 128px max(32px, calc((100vw - 1200px) / 2)); }
	.lb-page .lb-hero__title { font-size: clamp(4.4rem, 8.2vw, 7rem); max-width: 10ch; }
	.lb-hero__lead { margin-left: 12%; border-left: 2px solid var(--lb-brick); padding-left: 20px; }
	.lb-hero__cta { margin-left: calc(12% + 22px); }
	.lb-hero__issue {
		position: absolute; right: max(32px, calc((100vw - 1200px) / 2)); top: clamp(120px, 12vw, 176px); bottom: -56px;
		width: min(31%, 380px); margin: 0; padding: 30px 28px 18px;
		display: flex; flex-direction: column;
	}
	.lb-hero__toc { flex: 1 1 auto; display: flex; flex-direction: column; }
	.lb-hero__toc li { flex: 1 1 0; display: flex; align-items: center; }
	.lb-hero__toc a { width: 100%; }
	.lb-hero__no { font-size: 1.35rem; }
}

/* ---------- MODUŁ 1 ---------- */
.lb-m1 { padding-top: 104px; }
.lb-m1__spread { display: grid; gap: 32px; }
.lb-m1__lead { font-size: 1.12rem; line-height: 1.7; color: var(--lb-ink-soft); margin-bottom: 28px; max-width: 60ch; }
.lb-m1__list { margin: 0; }
.lb-m1__item { padding: 18px 0; border-top: 1px solid var(--lb-rule); }
.lb-m1__item:last-child { border-bottom: 1px solid var(--lb-rule); }
.lb-m1__item dt { font: 600 1.22rem/1.3 var(--lb-serif); color: var(--lb-brick-dark); margin-bottom: 6px; }
.lb-m1__item dd { margin: 0; line-height: 1.7; color: var(--lb-ink); }
.lb-m1__margin { background: var(--lb-sand); padding: 22px 22px 8px; border-left: 3px solid var(--lb-brick); }
.lb-m1__margin-k { font: 600 .72rem/1.3 var(--lb-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lb-brick-dark); margin-bottom: 6px; }
.lb-m1__margin-t { font: italic 400 1.12rem/1.45 var(--lb-serif); color: var(--lb-ink); margin-bottom: 18px; }
.lb-m1__photo { margin: 0; }
.lb-m1__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.lb-m1__photo figcaption { font-size: .8rem; color: var(--lb-ink-soft); margin-top: 8px; letter-spacing: .02em; }
.lb-m1__process { margin-top: 72px; padding-top: 40px; border-top: 3px solid var(--lb-brick); display: grid; gap: 28px; }
.lb-m1__process-head p { color: var(--lb-ink-soft); line-height: 1.7; max-width: 52ch; margin-bottom: 0; }
.lb-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: none; }
.lb-steps li { border-top: 1px solid var(--lb-rule); }
.lb-steps a {
	display: grid; grid-template-columns: auto 1fr; column-gap: 18px; align-items: baseline;
	padding: 16px 0; color: var(--lb-ink) !important; text-decoration: none;
}
.lb-steps a:hover .lb-steps__t { text-decoration: underline; text-underline-offset: 3px; }
.lb-steps__no { grid-row: span 2; font: 400 3.2rem/1 var(--lb-serif); color: var(--lb-brick); font-variation-settings: "opsz" 144; }
.lb-steps__k { font: 600 .74rem/1.3 var(--lb-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--lb-brick-dark); }
.lb-steps__t { font: 500 1.08rem/1.4 var(--lb-sans); }
@media (min-width: 960px) {
	.lb-m1__spread { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
	.lb-m1__text { grid-column: 1 / span 7; grid-row: 1; }
	.lb-m1__margin { grid-column: 1 / span 7; grid-row: 2; display: grid; grid-template-columns: auto 1fr; column-gap: 18px; padding: 18px 20px 4px; }
	.lb-m1__photo { grid-column: 8 / span 5; grid-row: 1 / span 2; margin-top: 64px; }
	.lb-m1__process { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
}
@media (min-width: 1200px) {
	.lb-m1__text { grid-column: 3 / span 5; }
	.lb-m1__margin { grid-column: 1 / span 2; grid-row: 1; display: block; margin-top: 172px; padding: 20px 16px 6px; }
	.lb-m1__margin-t { font-size: 1.02rem; }
	.lb-m1__photo { grid-row: 1; }
}
@media (min-width: 960px) {
	.lb-m1__process-head { grid-column: 1 / span 4; }
	.lb-steps { grid-column: 6 / span 7; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
	.lb-steps li { border-top: 0; border-left: 1px solid var(--lb-rule); padding-left: 18px; }
	.lb-steps a { grid-template-columns: 1fr; row-gap: 8px; padding: 0; }
	.lb-steps__no { grid-row: auto; font-size: 4.2rem; }
}

/* ---------- MODUŁ 2: zaproszenie (główne CTA) ---------- */
.lb-m2 { background: var(--lb-sand); position: relative; }
.lb-m2::before { content: ""; position: absolute; left: 0; top: 0; width: 38%; height: 6px; background: var(--lb-brick); }
.lb-m2__in { display: grid; gap: 40px; }
.lb-page .lb-m2__title {
	font-family: var(--lb-serif); font-weight: 400; font-style: italic; color: var(--lb-brick-dark);
	font-size: clamp(2.3rem, 6.4vw, 4.6rem); line-height: 1.02; letter-spacing: -.02em; margin-bottom: 22px; max-width: 13ch;
	font-variation-settings: "opsz" 144;
}
.lb-m2__text { font-size: 1.15rem; line-height: 1.65; color: var(--lb-ink); max-width: 40ch; margin-bottom: 30px; }
.lb-m2__btn { min-width: 240px; }
.lb-m2__place { background: var(--lb-paper); border-top: 3px solid var(--lb-brick); padding: 24px 22px 22px; align-self: start; }
.lb-page .lb-m2__loc { font: 600 1.35rem/1.2 var(--lb-serif); color: var(--lb-ink); margin-bottom: 14px; }
.lb-m2__addr p { margin: 0; line-height: 1.5; color: var(--lb-ink-soft); }
.lb-m2__addr .lb-m2__strong { font-weight: 600; color: var(--lb-ink); }
.lb-m2__contact { margin: 16px 0 18px; }
.lb-m2__contact div { display: flex; flex-wrap: wrap; gap: 0 10px; padding: 8px 0; border-top: 1px solid var(--lb-rule); }
.lb-m2__contact dt { font: 600 .74rem/1.9 var(--lb-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lb-brick-dark); min-width: 4.6em; }
.lb-m2__contact dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.lb-m2__contact a { color: var(--lb-ink) !important; text-decoration: underline; text-decoration-color: var(--lb-peach); text-underline-offset: 3px; }
.lb-m2__map { line-height: 0; }
.lb-m2__map iframe { display: block; width: 100%; height: 220px; border: 0; filter: saturate(.75) sepia(.12); }
@media (min-width: 960px) {
	.lb-m2__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: center; }
	.lb-m2__invite { grid-column: 1 / span 7; padding-left: 8%; }
	.lb-m2__place { grid-column: 9 / span 4; }
}

/* ---------- MODUŁ 3: portret zawodowy ---------- */
.lb-m3__grid { display: grid; gap: 36px; }
.lb-m3__photo { margin: 0; max-width: 420px; }
.lb-m3__photo > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: 18px 18px 0 var(--lb-sand); }
.lb-m3__photo figcaption { margin-top: 30px; display: grid; gap: 2px; }
.lb-m3__li { display: inline-flex; align-items: center; gap: 8px; font: 600 1rem/1.3 var(--lb-sans); color: var(--lb-ink) !important; text-decoration: none; }
.lb-m3__li:hover { color: var(--lb-brick-dark) !important; text-decoration: underline; }
.lb-m3__li img { width: 24px; height: 24px; display: inline-block; }
.lb-m3__photo figcaption span { font-size: .9rem; color: var(--lb-ink-soft); }
.lb-page .lb-m3__name {
	font-family: var(--lb-serif); font-weight: 600; color: var(--lb-ink);
	font-size: clamp(2.6rem, 7vw, 4.8rem); line-height: .98; letter-spacing: -.025em; margin-bottom: 22px;
	font-variation-settings: "opsz" 144;
}
.lb-m3__bio { font-size: 1.1rem; line-height: 1.8; color: var(--lb-ink); max-width: 62ch; margin: 0; }
.lb-m3__bio b { font-weight: 600; color: var(--lb-brick-dark); }
.lb-m3__dash { color: var(--lb-brick); font-family: var(--lb-serif); }
.lb-m3__pull {
	font: italic 400 1.45rem/1.35 var(--lb-serif); color: var(--lb-brick-dark);
	border-top: 3px solid var(--lb-brick); padding-top: 18px; margin-bottom: 26px;
}
.lb-m3__timeline { list-style: none; margin: 0; padding: 0; }
.lb-m3__timeline li { padding: 10px 0; border-top: 1px solid var(--lb-rule); font-size: .95rem; line-height: 1.45; color: var(--lb-ink-soft); }
.lb-m3__yr { display: block; font: 600 1.05rem/1.3 var(--lb-serif); color: var(--lb-ink); }
@media (min-width: 600px) and (max-width: 959px) {
	.lb-m3__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 32px; }
	.lb-m3__photo { grid-row: span 2; }
}
@media (min-width: 960px) {
	.lb-m3__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
	.lb-m3__photo { grid-column: 1 / span 4; }
	.lb-m3__story { grid-column: 5 / span 5; padding: 12px 0 0 28px; }
	.lb-m3__side { grid-column: 10 / span 3; margin-top: 140px; }
}

/* ---------- MODUŁ 4: opinie — rozkładówka ---------- */
.lb-m4 { background: #fff; border-top: 1px solid var(--lb-rule); border-bottom: 1px solid var(--lb-rule); }
.lb-m4__intro { color: var(--lb-ink-soft); font-size: 1.05rem; line-height: 1.6; max-width: 32ch; }
.lb-m4__feature { margin: 24px 0 48px; padding-top: 44px; position: relative; }
.lb-m4__feature::before {
	content: "„"; position: absolute; left: -4px; top: -40px; font: 600 6.5rem/1 var(--lb-serif); color: var(--lb-peach); pointer-events: none;
}
.lb-m4__quote { margin: 0; position: relative; }
.lb-m4__quote p { font: italic 400 clamp(1.35rem, 2.6vw, 2.05rem)/1.38 var(--lb-serif); color: var(--lb-ink); margin: 0 0 18px; }
.lb-m4__feature figcaption { font-size: .95rem; color: var(--lb-ink-soft); }
.lb-m4__feature figcaption b { font-weight: 600; color: var(--lb-brick-dark); letter-spacing: .02em; }
.lb-m4__letters { columns: 1; column-gap: 40px; column-rule: 1px solid var(--lb-rule); }
.lb-review { break-inside: avoid; padding: 18px 0 16px; border-top: 1px solid var(--lb-rule); }
.lb-review blockquote { margin: 0 0 10px; font-size: .98rem; line-height: 1.62; color: var(--lb-ink); }
.lb-page .lb-review__name { font: 600 .82rem/1.3 var(--lb-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--lb-ink); margin: 0; }
.lb-review__place { font-size: .85rem; color: var(--lb-brick-dark); margin: 2px 0 0; }
.lb-m4__more {
	margin-top: 18px; min-height: 48px; padding: 0 20px; border: 2px solid var(--lb-brick); border-radius: 2px;
	background: transparent; color: var(--lb-brick-dark); font: 600 1rem/1.2 var(--lb-sans); cursor: pointer;
}
.lb-m4__more:hover { background: var(--lb-brick); color: #fff; }
.lb-m4__letters:not(.is-open) .lb-review--more { display: none; }
@media (min-width: 768px) {
	.lb-m4__letters { columns: 2; }
	.lb-m4__letters:not(.is-open) .lb-review--more { display: block; }
	.lb-m4__more { display: none; }
}
@media (min-width: 960px) {
	.lb-m4 .lb-wrap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
	.lb-m4__head { grid-column: 1 / span 4; }
	.lb-m4__feature { grid-column: 5 / span 8; margin: 56px 0 64px; padding: 0 0 0 40px; }
	.lb-m4__feature::before { left: -18px; top: -72px; font-size: 9rem; }
	.lb-m4__letters { grid-column: 1 / -1; columns: 3; }
}

/* ---------- MODUŁ 5: cennik ---------- */
.lb-m5 { background: var(--lb-paper); }
.lb-m5__note { color: var(--lb-ink-soft); line-height: 1.65; max-width: 58ch; margin-bottom: 36px; }
.lb-m5__grid { display: grid; gap: 40px; }
.lb-page .lb-m5__cat { font: 600 1.55rem/1.2 var(--lb-serif); color: var(--lb-ink); margin-bottom: 4px; }
.lb-m5__unit { font: 600 .74rem/1.3 var(--lb-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--lb-brick-dark); margin-bottom: 14px; }
.lb-prices { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lb-prices__row {
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	background: rgba(243, 225, 212, .62); border-bottom: 3px solid var(--lb-brick);
	padding: 16px 18px 14px;
}
.lb-prices__size { font: 500 1rem/1.35 var(--lb-sans); color: var(--lb-ink); }
.lb-prices__val { color: var(--lb-brick); white-space: nowrap; font-family: var(--lb-serif); }
.lb-prices__val b { font-weight: 600; font-size: 2.5rem; line-height: 1; letter-spacing: -.02em; font-variation-settings: "opsz" 144; }
.lb-prices__val small { font: 600 .9rem/1 var(--lb-sans); color: var(--lb-brick-dark); }
.lb-prices__row--extra { background: transparent; border-bottom: 1px dashed var(--lb-brick); }
.lb-prices__val--text { font: italic 400 1.2rem/1.3 var(--lb-serif); color: var(--lb-brick-dark); white-space: normal; }
.lb-m5__faq { margin-top: 80px; padding-top: 36px; border-top: 3px solid var(--lb-brick); display: grid; gap: 24px; }
.lb-m5__faq-head p { color: var(--lb-ink-soft); line-height: 1.65; }
.lb-m5__faq-head a, .lb-faq a { color: var(--lb-brick-dark) !important; text-decoration: underline; text-underline-offset: 3px; }
.lb-faq { margin: 0; display: grid; gap: 0 40px; }
.lb-faq__item { padding: 16px 0; border-top: 1px solid var(--lb-rule); }
.lb-faq__item dt { font: 600 1.15rem/1.35 var(--lb-serif); color: var(--lb-ink); margin-bottom: 6px; }
.lb-faq__item dd { margin: 0; line-height: 1.7; color: var(--lb-ink-soft); }
.lb-m5__book { margin-top: 64px; padding: 28px 0 0; border-top: 1px solid var(--lb-rule); display: grid; gap: 8px; }
.lb-page .lb-m5__book-h { font: italic 400 1.6rem/1.2 var(--lb-serif); color: var(--lb-brick-dark); margin: 0; }
.lb-m5__book p { margin: 0 0 6px; color: var(--lb-ink-soft); }
@media (min-width: 768px) {
	.lb-prices__row { padding: 20px 22px 16px; }
	.lb-prices__val b { font-size: 3rem; }
}
@media (min-width: 960px) {
	.lb-m5__grid { grid-template-columns: 1fr 1fr; column-gap: 48px; }
	.lb-m5__faq { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
	.lb-m5__faq-head { grid-column: 1 / span 4; }
	.lb-faq { grid-column: 5 / span 8; grid-template-columns: 1fr 1fr; }
	.lb-m5__book { grid-template-columns: auto 1fr auto; align-items: baseline; column-gap: 28px; }
}

/* ---------- MODUŁ 6: artykuł (#contents) ---------- */
.lb-m6 { background: #fff; border-top: 1px solid var(--lb-rule); }
.lb-m6__in { width: min(760px, 100% - 32px); margin-inline: auto; }
.lb-article { color: #3B2C24; font-family: var(--lb-sans); font-size: 1.06rem; line-height: 1.8; }
.lb-article h2 {
	font-family: var(--lb-serif); font-weight: 600; color: var(--lb-ink);
	font-size: clamp(1.5rem, 3vw, 1.95rem); line-height: 1.22; letter-spacing: -.01em;
	margin: 3rem 0 1rem; padding-top: 1.1rem; position: relative;
}
.lb-article h2::before { content: ""; position: absolute; left: 0; top: 0; width: 56px; height: 3px; background: var(--lb-brick); }
.lb-article > h2:first-child { margin-top: 0; }
.lb-article h2 a:not([href]) { color: inherit; text-decoration: none; }
.lb-article p { margin: 0 0 1.15rem; }
.lb-article strong, .lb-article b { font-weight: 600; color: var(--lb-ink); }
.lb-article img { max-width: 100%; height: auto; display: block; margin-inline: auto; }
.lb-article .text-center { text-align: center; }
.lb-article .text-sm { font-size: .9rem; line-height: 1.5; color: var(--lb-ink-soft); }
.lb-article .my-4 { margin: 1.75rem 0; }
.lb-article .mt-2 { margin-top: .6rem; }
.lb-article .relative.rounded-xl { background: var(--lb-paper); border: 1px solid var(--lb-rule); margin: .5rem 0 1.5rem; overflow-x: auto; }
.lb-article .relative.rounded-xl > div { margin: 0 !important; }
.lb-article table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.lb-article th { padding: 14px 18px 10px !important; text-align: left; font: 600 .78rem/1.3 var(--lb-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--lb-brick-dark); padding: 14px 18px 10px; border-bottom: 2px solid var(--lb-brick); }
.lb-article td { padding: 12px 18px !important; border-bottom: 1px solid var(--lb-rule); color: var(--lb-ink); }
.lb-article tr:last-child td { border-bottom: 0; }
/* widżet ocen */
.lb-article #rating-stars-res { background: var(--lb-sand); padding: 22px 16px 18px; margin: 1rem 0; }
.lb-article #rating-stars-res > p { font: 600 1.15rem/1.3 var(--lb-serif) !important; color: var(--lb-ink); margin-bottom: .35rem !important; }
.lb-article #stars { display: inline-flex; gap: .35rem; padding-left: 0; margin: .35rem 0 0; list-style: none; justify-content: center; }
.lb-article #stars .star { display: inline-flex; cursor: pointer; user-select: none; color: rgba(43, 30, 23, .28); transition: color .12s ease; padding: 4px; }
.lb-article #stars .star svg { width: 30px; height: 30px; }
.lb-article #stars .star.hover, .lb-article #stars .star.selected { color: var(--lb-brick); }
.lb-article #stars .star:focus-visible { outline: 3px solid var(--lb-brick-dark); outline-offset: 2px; border-radius: 4px; }
.lb-article #aggregateRating { color: var(--lb-ink-soft); }
.lb-rate-thanks { font: italic 400 1.15rem/1.4 var(--lb-serif); color: var(--lb-brick-dark); margin: 0; }

/* ---------- BLOG ---------- */
.lb-blog { padding: 56px 0 96px; }
.lb-blog__head { display: grid; gap: 10px; padding-bottom: 28px; margin-bottom: 36px; border-bottom: 3px solid var(--lb-brick); }
.lb-blog__title { font-family: var(--lb-serif); font-weight: 600; font-size: clamp(3rem, 9vw, 5.6rem); line-height: .95; letter-spacing: -.03em; color: var(--lb-ink); margin: 0; font-variation-settings: "opsz" 144; }
.lb-blog__intro { font: italic 400 1.2rem/1.45 var(--lb-serif); color: var(--lb-brick-dark); margin: 0; max-width: 40ch; }
.lb-blog__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 48px; }
.lb-blog__item { border-bottom: 1px solid var(--lb-rule); }
.lb-post { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 18px; padding: 22px 0; color: var(--lb-ink) !important; text-decoration: none !important; }
.lb-post__img { width: 112px; height: 112px; object-fit: cover; background: var(--lb-sand); display: block; }
.lb-post__title { font: 600 1.25rem/1.25 var(--lb-serif); color: var(--lb-ink); margin: 0 0 8px; }
.lb-post__desc { font-size: .96rem; line-height: 1.6; color: var(--lb-ink-soft); margin: 0; }
.lb-post__more { display: inline-block; margin-top: 10px; font: 600 .78rem/1.3 var(--lb-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lb-brick-dark); }
.lb-post:hover .lb-post__title { color: var(--lb-brick-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.lb-blog__empty { background: var(--lb-sand); border-left: 3px solid var(--lb-brick); padding: 28px 26px; max-width: 640px; }
.lb-blog__empty p { margin: 0 0 10px; font-size: 1.05rem; line-height: 1.6; }
.lb-blog__empty p:last-child { margin: 0; }
.lb-blog__empty a { color: var(--lb-brick-dark) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
	.lb-post { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 28px 0; }
	.lb-post__img { width: 200px; height: 150px; }
}
@media (min-width: 1100px) {
	.lb-blog__list { grid-template-columns: 1fr 1fr; }
}

/* ---------- STOPKA: kolofon ---------- */
.lb-foot { background: var(--lb-brick); color: var(--lb-paper); font-family: var(--lb-sans); padding: 56px 0 28px; }
.lb-foot__in { width: min(1200px, 100% - 32px); margin-inline: auto; display: grid; gap: 36px; }
.lb-foot__plate { background: var(--lb-sand); display: inline-flex; padding: 18px 22px; line-height: 0; justify-self: start; }
.lb-foot__plate img { display: block; height: 104px; width: auto; max-width: none; }
.lb-foot .lb-foot__motto { font: italic 400 1.15rem/1.45 var(--lb-serif); color: var(--lb-paper); margin: 18px 0 0; max-width: 28ch; }
.lb-foot .lb-foot__h { font: 600 .74rem/1.3 var(--lb-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--lb-sand); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(252, 248, 245, .3); }
.lb-foot__dl { margin: 0; }
.lb-foot__dl div { display: grid; grid-template-columns: 5.2em minmax(0, 1fr); gap: 10px; padding: 7px 0; }
.lb-foot .lb-foot__dl dt { font: 600 .74rem/1.9 var(--lb-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--lb-sand); }
.lb-foot .lb-foot__dl dd { margin: 0; font: 400 1rem/1.6 var(--lb-sans); color: var(--lb-paper); overflow-wrap: anywhere; }
.lb-foot__links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
.lb-foot .lb-foot__links li { font: 400 1rem/1.4 var(--lb-sans); margin: 0; padding: 4px 0; break-inside: avoid; }
.lb-foot a { color: var(--lb-paper) !important; text-decoration: underline; text-decoration-color: rgba(252, 248, 245, .45); text-underline-offset: 3px; font: inherit; }
.lb-foot a:hover { text-decoration-color: var(--lb-paper); }
.lb-foot .lb-foot__links a { display: inline-flex; align-items: center; min-height: 36px; }
.lb-foot :is(a, button):focus-visible { outline-color: var(--lb-paper); }
.lb-foot__legal { width: min(1200px, 100% - 32px); margin: 40px auto 0; padding-top: 18px; border-top: 1px solid rgba(252, 248, 245, .3); }
.lb-foot .lb-foot__legal p { font: 400 .88rem/1.6 var(--lb-sans); color: var(--lb-sand); margin: 0; }
@media (min-width: 768px) {
	.lb-foot__in { grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); column-gap: 40px; width: min(1200px, 100% - 64px); }
	.lb-foot .lb-foot__links a { white-space: nowrap; }
	.lb-foot__legal { width: min(1200px, 100% - 64px); }
	.lb-foot__links { columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.lb-head *, .lb-page *, .lb-foot *, .lb-blog * { transition: none !important; animation: none !important; }
}
.lb-skip-target { display: block; height: 0; outline: none; }
.lb-post__body { min-width: 0; }
.lb-blog .lb-post__title { display: block; }
@media (max-width: 420px) {
	.lb-article th { padding: 12px 10px 8px !important; letter-spacing: .05em; }
	.lb-article td { padding: 10px !important; }
}
@media (min-width: 1100px) { .lb-foot__links { columns: 2; } }
@media (max-width: 767px) { .lb-foot { padding-bottom: 108px; } }
