/* ==========================================================================
   PB – system wizualny „Patrycja Barczyńska / Real Estate Partners”
   Odwzorowanie makiety „Inna” na blokach Kadence.
   Kolory, kroje, rozmiary i odstępy sekcji ustawione są w Personalizacji
   Kadence i w inspektorach bloków. Ten plik dokłada tylko to, czego panel
   nie oferuje: linie, dekory, pozycjonowanie, przejścia i widoki ofert.
   Kolejne zmiany dopisujemy na końcu pliku w opisanych blokach.
   ========================================================================== */

/* ==========================================================================
   PB – tokeny (nazwy z makiety, wartości z palety Kadence)
   ========================================================================== */
:root {
	--pb-ink: var(--global-palette9, #111310);
	--pb-ink-soft: var(--global-palette8, #1a1c18);
	--pb-paper: var(--global-palette7, #eeeae2);
	--pb-paper-deep: #e3ddd2;
	--pb-white: var(--global-palette3, #f5f0e7);
	--pb-muted: var(--global-palette5, #b4b3a8);
	--pb-muted-paper: var(--global-palette6, #5c5f54);
	--pb-gold: var(--global-palette1, #c9ad7b);
	--pb-gold-dark: var(--global-palette2, #80643c);
	--pb-line: rgba(213, 199, 173, .22);
	--pb-line-dark: rgba(49, 45, 36, .19);
	--pb-serif: 'Cormorant Garamond', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
	--pb-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
	--pb-ease: cubic-bezier(.22, 1, .36, 1);
	--pb-header-h: 98px;
	--pb-gutter: var(--global-content-edge-padding, clamp(24px, 5.2vw, 100px));
}

/* Presety Kadence (S…3XL) przestawione na skalę makiety.
   W inspektorze nadal widać „XL”, „XXL”, „3XL” – klientka zmienia je jednym kliknięciem. */
html:root {
	--global-kb-spacing-3xl: clamp(76px, 8.5vw, 144px);
	--global-kb-font-size-3xl: clamp(65px, 7.2vw, 118px);
	--global-kb-font-size-xxxl: clamp(65px, 7.2vw, 118px);
	--global-kb-font-size-xxl: clamp(48px, 6.1vw, 98px);
	--global-kb-font-size-xl: clamp(40px, 4.7vw, 76px);
	--global-kb-font-size-lg: clamp(28px, 2.3vw, 38px);
	--global-kb-font-size-md: clamp(20px, 1.6vw, 22px);
}

/* ==========================================================================
   PB – podstawy
   ========================================================================== */
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--pb-gold); color: var(--pb-ink); }
body.pb-modal-open { overflow: hidden; }
:where(.entry-content) em { font-weight: 400; color: var(--pb-gold); }
.pb-papier em { color: var(--pb-gold-dark); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--pb-gold); outline-offset: 6px; }
.pb-papier :focus-visible { outline-color: var(--pb-gold-dark); }
.sr-only { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
[hidden] { display: none !important; }

/* Strony budowane blokami: bez marginesów, które Kadence dokłada treści wpisu */
.pb-strona .entry-content-wrap { padding: 0; }
.pb-strona .entry-content > .wp-block-kadence-rowlayout { margin-bottom: 0; }
.pb-strona .content-area { margin: 0; }
.pb-strona .entry-content :where(p, h1, h2, h3, h4, h5, h6) { margin-top: 0; }
.pb-strona .entry-content :where(.wp-block-kadence-advancedheading) { margin-bottom: 0; }
.wp-block-kadence-advancedheading { overflow-wrap: break-word; }
/* makieta: akapity do 66 znaków (ustawienie „Maks. szerokość” w bloku ma pierwszeństwo) */
:where(.pb-strona) p:where(.wp-block-kadence-advancedheading) { max-width: 66ch; }
.pb-strona .entry-content :where(.wp-block-kadence-advancedbtn) { margin-bottom: 0; }

/* ==========================================================================
   PB – etykieta, linki tekstowe, przyciski, okrągły odnośnik
   ========================================================================== */
.pb-eyebrow { display: flex; align-items: center; gap: 15px; }
.pb-eyebrow::before { content: ''; width: 32px; height: 1px; background: currentColor; flex: none; }
.pb-eyebrow.pb-no-line::before { display: none; }
.pb-eyebrow[style*="center"], .pb-center.pb-eyebrow, .has-text-align-center.pb-eyebrow { justify-content: center; }
.pb-not-found .pb-eyebrow, .pb-offmarket-intro .pb-eyebrow { justify-content: center; }

.pb-button-row { align-items: center; }
/* Sekcje poziome: elementy mają szerokość treści (jak flex w makiecie), nie rozciągają się */
.kb-section-dir-horizontal > .kt-inside-inner-col > .wp-block-kadence-column { flex: 0 1 auto; }
.pb-mt-8 { margin-top: 8px !important; }
.pb-mt-26 { margin-top: 26px !important; }
.pb-mt-28 { margin-top: 28px !important; }
.pb-mt-29 { margin-top: 29px !important; }
.pb-mt-34 { margin-top: 34px !important; }
.pb-mt-35 { margin-top: 35px !important; }
.pb-mt-36 { margin-top: 36px !important; }

/* Przyciski z Personalizacji (główny / drugorzędny / obrys) w układzie makiety */
.wp-block-kadence-advancedbtn .kb-button.pb-button {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 32px;
	min-height: 56px; letter-spacing: .04em; transition: background .3s, color .3s, border-color .3s;
}
.kb-button.pb-button .kb-svg-icon-wrap svg { width: 21px; height: 21px; transition: transform .4s var(--pb-ease); }
.kb-button.pb-button:hover .kb-svg-icon-wrap svg { transform: translateX(4px); }
.kb-button.pb-button .kt-btn-icon-side-right { margin-left: 0; }

/* Link tekstowy z kreską (Inna .text-link) – wariantu nie ma w panelu, więc tu */
.wp-block-kadence-advancedbtn .kb-button.pb-text-link {
	display: inline-flex; align-items: center; gap: 26px; position: relative;
	padding: 12px 0 8px; min-height: 44px; border: 0; border-bottom: 1px solid var(--pb-line);
	border-radius: 0; background: transparent; box-shadow: none;
	font-size: 12px; letter-spacing: .025em; line-height: 1.7; font-weight: 400;
}
.wp-block-kadence-advancedbtn .kb-button.pb-text-link::after {
	content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 1px;
	background: var(--pb-gold); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--pb-ease);
}
.wp-block-kadence-advancedbtn .kb-button.pb-text-link:hover::after,
.wp-block-kadence-advancedbtn .kb-button.pb-text-link:focus-visible::after { transform: scaleX(1); }
.kb-button.pb-text-link .kb-svg-icon-wrap svg { width: 21px; height: 21px; transition: transform .4s; }
.kb-button.pb-text-link:hover .kb-svg-icon-wrap svg { transform: translate(4px, -2px); }
.pb-papier .kb-button.pb-text-link { border-color: #a39a89; color: var(--pb-ink) !important; }
.pb-papier .kb-button.pb-text-link:hover { color: var(--pb-ink) !important; }

/* Okrągły odnośnik do kontaktu */
.pb-circle-link .kb-svg-icon-wrap { transition: background .4s var(--pb-ease), color .4s; }
.pb-circle-link a { display: inline-block; border-radius: 50%; will-change: transform; transition: transform .3s var(--pb-ease); }
.pb-circle-link svg { transition: transform .5s var(--pb-ease); }
.pb-circle-link a:hover svg { transform: translate(4px, -4px); }

/* ==========================================================================
   PB – nagłówek Kadence (przezroczysty nad hero, ciemny po przewinięciu)
   ========================================================================== */
#masthead .site-main-header-wrap { transition: background .4s, border-color .4s; }
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
#masthead .site-branding .brand { gap: 17px; }
#masthead .site-title-wrap { display: flex; flex-direction: column; gap: 4px; }
#masthead .site-branding .site-title, #masthead .site-branding .site-description { margin: 0; }

/* Podkreślenie pozycji menu (rysowane od lewej) */
#masthead .header-navigation { --pb-nav-pad: calc(var(--primary-nav-spacing, 2em) / 2); }
#masthead .header-navigation .menu > li > a { position: relative; }
#masthead .header-navigation .menu > li > a::after {
	content: ''; position: absolute; left: var(--pb-nav-pad, 0); right: var(--pb-nav-pad, 0); bottom: 10px;
	height: 1px; background: var(--pb-gold); transform: scaleX(0); transform-origin: left; transition: transform .35s;
}
#masthead .header-navigation .menu > li > a:hover::after,
#masthead .header-navigation .menu > li.current-menu-item > a::after { transform: scaleX(1); }

/* Przycisk „Porozmawiajmy” ze strzałką */
#masthead .header-button { display: inline-flex; align-items: center; gap: 17px; min-height: 44px; }
#masthead .header-button::after {
	content: ''; width: 16px; height: 16px; background: currentColor; flex: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Zapisane oferty (serce + licznik) */
.pb-zapisane { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; min-width: 44px; font-size: 10px; color: var(--pb-white); text-decoration: none; }
.pb-zapisane svg { width: 18px; height: 18px; }
.pb-zapisane:hover { color: var(--pb-gold); }
.pb-zapisane__licznik { font-variant-numeric: tabular-nums; color: var(--pb-gold); }
.header-html-inner p, .mobile-html-inner p { margin: 0; }

/* Pasek postępu czytania */
.pb-scroll-progress { position: fixed; inset: 0 auto auto 0; height: 2px; width: 100%; background: var(--pb-gold); transform: scaleX(0); transform-origin: left; z-index: 100000; pointer-events: none; }

/* Menu mobilne na cały ekran: duże linki szeryfowe z numerami */
#mobile-drawer .drawer-inner { background: var(--pb-ink); }
#mobile-drawer .mobile-navigation ul { counter-reset: pb-menu; }
#mobile-drawer .mobile-navigation .menu > li > a {
	counter-increment: pb-menu; display: flex; align-items: center; justify-content: space-between;
	font-family: var(--pb-serif); font-size: clamp(32px, 7vw, 54px); line-height: 1.1; padding: 17px 0;
	border-bottom: 1px solid var(--pb-line);
}
#mobile-drawer .mobile-navigation .menu > li > a::after { content: counter(pb-menu, decimal-leading-zero); font: 10px var(--pb-sans); color: var(--pb-gold); letter-spacing: .12em; }
#mobile-drawer .mobile-navigation .menu > li.current-menu-item > a { color: var(--pb-gold); }
.pb-menu-dol { margin-top: 44px; display: flex; flex-direction: column; gap: 14px; font-size: 13px; }
.pb-menu-dol .pb-eyebrow { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--pb-gold); font-weight: 600; }
.pb-menu-dol .pb-mini { font-size: 11px; color: var(--pb-muted); line-height: 1.65; }
.pb-menu-dol a { color: var(--pb-white); text-decoration: underline; text-underline-offset: 4px; }

/* ==========================================================================
   PB – hero (pełny ekran ze zdjęciem wizerunkowym)
   ========================================================================== */
.pb-hero { position: relative; isolation: isolate; overflow: hidden; }
.pb-hero.pb-hero-home, .pb-hero.pb-service-hero { height: 100svh; }
.pb-hero.pb-hero-home { max-height: 1060px; }
.pb-hero.pb-service-hero { height: 92svh; max-height: 980px; }
.pb-hero > .kt-row-column-wrap { height: 100%; }
/* drugi gradient (od dołu) – Kadence przyjmuje jeden w nakładce */
.pb-hero::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(0deg, rgba(9, 12, 9, .89), transparent 30%, rgba(9, 12, 9, .04) 80%); }
.pb-hero > .kt-row-layout-overlay { z-index: 0; }
.pb-hero > .kt-row-column-wrap { z-index: 3; position: static; }
.pb-hero .pb-hero-inner, .pb-hero .pb-hero-inner > .kt-inside-inner-col { position: static; }
.pb-hero .pb-hero-title em { font-weight: 400; }
.pb-hero-buttons .kb-button.pb-text-link { font-size: 12px; }
.pb-hero-meta { position: absolute; right: var(--pb-gutter); top: 46%; writing-mode: vertical-rl; z-index: 3; }
.pb-hero-bottom { position: absolute !important; left: var(--pb-gutter); right: var(--pb-gutter); bottom: 35px; z-index: 3; align-items: flex-end; }
.pb-hero-bottom > .kt-inside-inner-col { align-items: flex-end; width: 100%; }
.pb-hero-home .pb-hero-bottom::before { content: ''; position: absolute; left: 0; right: 0; bottom: 89px; height: 1px; background: rgba(219, 207, 180, .25); pointer-events: none; }
.pb-hero-fact-number { white-space: nowrap; }
.pb-hero-facts, .pb-hero-fact { flex: 0 0 auto !important; }
.pb-hero-fact > .kt-inside-inner-col, .pb-hero-facts > .kt-inside-inner-col { flex-wrap: nowrap !important; }
.pb-hero-scroll-wrap .kb-button.pb-text-link { border: 0; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; gap: 20px; }
.pb-hero-scroll-wrap .kb-button.pb-text-link::after { display: none; }
.pb-hero-scroll-wrap .kb-svg-icon-wrap svg { width: 16px; height: 38px; }
.pb-brand-image-credit { position: absolute; right: var(--pb-gutter); bottom: 14px; z-index: 3; text-align: right; max-width: 55%; line-height: 1.6; }
.pb-hero-home .pb-brand-image-credit { bottom: 9px; }

/* Wejście treści hero */
@keyframes pb-hero-in { from { opacity: 0; transform: translateY(23px); } to { opacity: 1; transform: none; } }
.pb-motion-enabled .pb-hero-enter { animation: pb-hero-in 1.1s var(--pb-ease) both; }
.pb-motion-enabled .pb-hero-enter.pb-hero-title { animation-delay: .2s; }
.pb-motion-enabled .pb-hero-enter.pb-hero-copy { animation-delay: .35s; }
.pb-motion-enabled .pb-hero-enter.pb-hero-buttons { animation-delay: .48s; }
.pb-motion-enabled .pb-eyebrow.pb-hero-enter { animation-delay: .08s; }

/* ==========================================================================
   PB – sekcje strony głównej
   ========================================================================== */
.pb-intro-ribbon { border-bottom: 1px solid var(--pb-line); }

.pb-portrait-composition { position: relative; padding: 0 22px 36px 0 !important; }
.pb-portrait-composition > .kt-inside-inner-col { position: static; }
.pb-portrait-composition::before { content: ''; position: absolute; inset: 26px 0 12px 24px; border: 1px solid #ad9980; pointer-events: none; z-index: 0; }
.pb-portrait-composition .pb-portret-foto { position: relative; z-index: 1; margin: 0; overflow: hidden; aspect-ratio: 4 / 4.8; background: #d6d6d4; }
.pb-portrait-composition .pb-portret-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 49% center; }
.pb-portrait-caption { position: absolute !important; bottom: 0; left: -33px; z-index: 2; padding: 20px 28px; background: var(--pb-ink); min-width: 243px; border-bottom: 1px solid var(--pb-gold); }
.pb-portrait-caption > .kt-inside-inner-col { gap: 0; }
.pb-portret-o-mnie { max-width: 475px; margin-left: auto; }
.pb-portret-o-mnie::before { border-color: var(--pb-gold-dark); }
.pb-portret-o-mnie .pb-portrait-caption { background: var(--pb-paper); }
.pb-portret-o-mnie .pb-portrait-caption p:first-child { color: var(--pb-ink); }
.pb-portret-o-mnie .pb-portrait-caption p:last-child { color: var(--pb-gold-dark); }
.pb-portret-sprzedaz { max-width: 470px; }

.pb-values-grid { padding-top: 40px; border-top: 1px solid var(--pb-line-dark); }

.pb-process-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { border-top: 1px solid var(--pb-line); padding-top: 70px; }
.pb-process-item { position: relative; border-top: 1px solid var(--pb-line); padding: 28px 0; }
.pb-process-item:last-child { border-bottom: 1px solid var(--pb-line); }
.pb-process-item > .kt-inside-inner-col { display: grid !important; grid-template-columns: 42px 1fr; gap: 26px; align-items: start !important; }
.pb-private-copy { max-width: 650px; }
.pb-process-item::before { content: ''; position: absolute; top: -1px; left: 0; height: 1px; width: 100%; background: var(--pb-gold); transform: scaleX(0); transform-origin: left; transition: transform 1.2s var(--pb-ease); }
.pb-process-item.pb-is-visible::before, .pb-reduce-motion .pb-process-item::before { transform: scaleX(1); }
.pb-papier .pb-process-item, .pb-papier .pb-process-item:last-child { border-color: var(--pb-line-dark); }

.pb-private-section { position: relative; isolation: isolate; overflow: hidden; }
.pb-private-section::after { content: ''; position: absolute; inset: 24px; border: 1px solid rgba(193, 168, 123, .35); z-index: 1; pointer-events: none; }
.pb-private-section > .kt-row-column-wrap, .pb-private-section > .kt-row-column-wrap > .wp-block-kadence-column, .pb-private-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { position: static; z-index: 2; }
.pb-private-section .pb-private-copy { position: relative; z-index: 2; }
.pb-private-sign { position: absolute; right: 48px; top: 45px; writing-mode: vertical-rl; z-index: 2; }
.pb-private-section .pb-brand-image-credit { right: 35px; bottom: 33px; }

.pb-award-image { margin: 0; }
.pb-award-image a, .pb-award-image > .kb-image-has-overlay, .pb-award-image .kb-img-wrap {
	display: flex; align-items: center; justify-content: center; position: relative;
	aspect-ratio: 1.43; padding: 32px; background: #e3dfd5; border: 1px solid #d4cec0; transition: background .3s;
}
.pb-award-image img { width: 100%; height: 100%; object-fit: contain; box-shadow: 0 10px 25px rgba(23, 26, 19, .15); transition: transform .6s var(--pb-ease); }
.pb-award-image a:hover { background: #d9d2c5; }
.pb-award-image a:hover img { transform: translateY(-5px); }
.pb-award-image a::after {
	content: ''; position: absolute; bottom: 14px; right: 14px; width: 15px; height: 15px; background: var(--pb-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M14 4h6v6M10 20H4v-6M20 4l-7 7M4 20l7-7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M14 4h6v6M10 20H4v-6M20 4l-7 7M4 20l7-7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pb-catalog-disclaimer { padding-top: 23px; border-top: 1px solid var(--pb-line); }
.pb-papier .pb-catalog-disclaimer { border-color: var(--pb-line-dark); }
.pb-callout-line { padding: 45px 0 !important; border-top: 1px solid var(--pb-line); border-bottom: 1px solid var(--pb-line); margin-top: 45px; }

/* ==========================================================================
   PB – karty ofert i kolekcja (HTML z wtyczki PB Oferty, blok Dynamic HTML)
   ========================================================================== */
.pb-kolekcja, .pb-katalog, .pb-oferta-galeria, .pb-oferta-tresc, .pb-oferta-zdjecia, .pb-oferta-podobne, .pb-oferta-naglowek { width: 100%; }
.pb-kolekcja p, .pb-katalog p, .pb-oferta-tresc p { margin: 0; }
.pb-collection-layout { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: 46px; row-gap: 30px; align-items: start; }
.pb-property-card { position: relative; min-width: 0; }
.pb-property-card .pb-card-visual { display: block; position: relative; overflow: hidden; background: var(--pb-ink-soft); aspect-ratio: 1.44; }
.pb-property-card .pb-card-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--pb-ease), filter .5s; filter: saturate(.85); }
.pb-property-card:hover .pb-card-visual img { transform: scale(1.035); filter: saturate(1); }
.pb-property-card .pb-card-visual::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: linear-gradient(0deg, rgba(10, 13, 10, .16), transparent 30%); }
.pb-card-noimage { display: grid; place-items: center; height: 100%; font-size: 11px; color: var(--pb-muted); }
.pb-property-card .pb-card-number { position: absolute; left: 18px; top: 18px; font-size: 9px; letter-spacing: .15em; padding: 6px 10px; background: rgba(14, 17, 13, .8); color: var(--pb-white); z-index: 2; }
.pb-property-card .pb-card-status { position: absolute; left: 18px; top: 52px; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; padding: 6px 10px; background: var(--pb-gold); color: var(--pb-ink); z-index: 2; }
.pb-save-button { position: absolute; right: 18px; top: 18px; background: rgba(14, 17, 13, .76); border: 1px solid rgba(236, 226, 206, .4); width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; z-index: 3; color: var(--pb-white); padding: 0; cursor: pointer; }
.pb-save-button svg { width: 17px; height: 17px; transition: fill .3s; fill: transparent; }
.pb-save-button:hover, .pb-save-button[aria-pressed="true"] { color: var(--pb-gold); border-color: var(--pb-gold); }
.pb-save-button[aria-pressed="true"] svg { fill: var(--pb-gold); }
.pb-card-hover-label { position: absolute; inset: auto 19px 18px auto; z-index: 2; background: var(--pb-paper); color: var(--pb-ink); display: flex; align-items: center; gap: 20px; padding: 9px 15px; font-size: 10px; opacity: 0; transform: translateY(8px); transition: opacity .4s, transform .5s var(--pb-ease); pointer-events: none; }
.pb-card-hover-label svg { width: 18px; height: 18px; }
.pb-property-card:hover .pb-card-hover-label, .pb-property-card:focus-within .pb-card-hover-label { opacity: 1; transform: none; }
.pb-card-meta { display: flex; gap: 18px; align-items: center; justify-content: space-between; margin: 22px 0 10px; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--pb-gold); line-height: 1.7; }
.pb-card-title { font-family: var(--pb-serif); font-weight: 400; letter-spacing: -.025em; font-size: clamp(27px, 2.3vw, 39px); line-height: 1.16; margin: 0 0 18px; color: var(--pb-white); }
.pb-card-title a { color: inherit; text-decoration: none; }
.pb-card-title a:hover { color: var(--pb-gold); }
.pb-card-bottom { border-top: 1px solid var(--pb-line); padding-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.pb-card-features { font-size: 12px; color: var(--pb-muted); display: flex; gap: 16px; flex-wrap: wrap; }
.pb-card-price { font-size: 15px; letter-spacing: .03em; white-space: nowrap; color: var(--pb-white); }
.pb-card-note { display: block; font-size: 10px; color: var(--pb-muted); margin-top: 10px; }
.pb-card-note::before { content: '○'; color: var(--pb-gold); margin-right: 7px; }
.pb-property-card.pb-featured { grid-row: span 2; }
.pb-property-card.pb-featured .pb-card-visual { aspect-ratio: .92; }
.pb-property-card.pb-compact .pb-card-visual { aspect-ratio: 2.1; }
.pb-property-card.pb-compact .pb-card-meta { margin-top: 17px; margin-bottom: 7px; }
.pb-property-card.pb-compact .pb-card-title { font-size: 27px; margin-bottom: 11px; }
.pb-property-card.pb-compact .pb-card-bottom { padding-top: 12px; }
.pb-collection-tail { display: flex; justify-content: space-between; gap: 30px; align-items: center; border-top: 1px solid var(--pb-line); padding-top: 27px; margin-top: 52px; }
.pb-collection-tail p { font-size: 11px; color: var(--pb-muted); max-width: 48ch; }
.pb-collection-tail .pb-mini { font-size: 11px; color: var(--pb-muted); letter-spacing: .015em; }
.pb-collection-empty { border: 1px solid var(--pb-line); padding: 60px 24px; text-align: center; color: var(--pb-muted); }
.pb-papier .pb-card-title, .pb-papier .pb-card-price { color: var(--pb-ink); }
.pb-papier .pb-card-meta { color: var(--pb-gold-dark); }
.pb-papier .pb-card-features, .pb-papier .pb-card-note { color: var(--pb-muted-paper); }
.pb-papier .pb-card-bottom { border-color: var(--pb-line-dark); }
.pb-papier .pb-card-note::before { color: var(--pb-gold-dark); }

/* ==========================================================================
   PB – katalog „Nieruchomości”: zakładki, filtry, sortowanie
   ========================================================================== */
.pb-catalog-controls { border-top: 1px solid var(--pb-line); border-bottom: 1px solid var(--pb-line); padding: 23px 0 26px; }
.pb-catalog-top { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.pb-filter-tabs { display: flex; gap: 29px; flex-wrap: wrap; }
.pb-filter-tabs button, .pb-filter-toggle, .pb-reset-filters, .pb-offer-tool { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; border-radius: 0; box-shadow: none; }
.pb-filter-tabs button { font-size: 11px; padding: 9px 0; border-bottom: 1px solid transparent; color: var(--pb-muted); min-height: 44px; }
.pb-filter-tabs button:hover { color: var(--pb-white); background: none; }
.pb-filter-tabs button[aria-pressed="true"] { color: var(--pb-gold); border-color: var(--pb-gold); }
.pb-filter-tabs button span { font-size: 9px; margin-left: 7px; color: var(--pb-muted); }
.pb-filter-toggle { display: flex; align-items: center; gap: 14px; font-size: 11px; padding: 9px 0; min-height: 44px; color: var(--pb-white); }
.pb-filter-toggle:hover { background: none; color: var(--pb-gold); }
.pb-filter-toggle svg { width: 18px; height: 18px; }
.pb-filters { display: grid; grid-template-columns: 1.5fr 1fr 1fr .8fr; gap: 24px; margin-top: 27px; padding-top: 28px; border-top: 1px solid var(--pb-line); }
.pb-field { display: flex; flex-direction: column; gap: 9px; }
.pb-field > label { font-size: 9px; letter-spacing: .11em; text-transform: uppercase; color: var(--pb-muted); }
.pb-field input, .pb-field select { width: 100%; padding: 12px 24px 12px 0; min-height: 47px; background-color: transparent; border: 0; border-bottom: 1px solid #6b6d60; color: var(--pb-white); border-radius: 0; font-size: 13px; box-shadow: none; }
.pb-field input::placeholder { color: #93958a; opacity: 1; }
.pb-field select option, .pb-sort-field select option { background: var(--pb-ink-soft); color: var(--pb-white); }
.pb-field input:focus, .pb-field select:focus { border-color: var(--pb-gold); outline-offset: 3px; }
.pb-filters-footer { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; font-size: 10px; color: var(--pb-muted); }
.pb-reset-filters { padding: 7px 0; border-bottom: 1px solid var(--pb-line); font-size: 10px; color: var(--pb-gold); min-height: 44px; }
.pb-reset-filters:hover { background: none; color: var(--pb-white); }
.pb-catalog-summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 27px 0; font-size: 11px; color: var(--pb-muted); }
.pb-sort-field { display: flex; align-items: center; gap: 12px; }
.pb-sort-field label { font-size: 10px; }
.pb-sort-field select { font-size: 10px; color: var(--pb-white); border: 0; background-color: var(--pb-ink); min-height: 44px; max-width: 190px; box-shadow: none; }
.pb-property-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 54px 42px; padding: 0 0 45px; }
.pb-property-grid .pb-card-title { font-size: 34px; }
.pb-empty-state { padding: 85px 24px; text-align: center; border: 1px solid var(--pb-line); margin-bottom: 45px; }
.pb-empty-state .pb-eyebrow { justify-content: center; margin-bottom: 25px; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--pb-gold); font-weight: 600; }
.pb-empty-state h2 { font-family: var(--pb-serif); font-weight: 400; font-size: clamp(40px, 4.7vw, 76px); line-height: 1.03; letter-spacing: -.025em; margin: 0; }
.pb-empty-state p:not(.pb-eyebrow) { margin: 23px auto 26px; color: var(--pb-muted); font-size: 14px; }
.pb-empty-state .pb-button-row { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; align-items: center; }
.pb-noscript-note { font-size: 12px; padding: 16px 0; color: var(--pb-gold); }

/* Przyciski i linki w HTML-u wtyczki (bez bloków) */
.pb-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 56px; padding: 16px 24px; border: 1px solid var(--pb-gold); font-size: 12px; letter-spacing: .04em; line-height: 1.6; text-decoration: none; transition: background .3s, color .3s, border-color .3s; cursor: pointer; border-radius: 0; }
.pb-button svg { width: 21px; height: 21px; transition: transform .4s var(--pb-ease); }
.pb-button:hover svg { transform: translateX(4px); }
.pb-button.pb-ghost { background: transparent; color: var(--pb-white); }
.pb-button.pb-ghost:hover { background: var(--pb-gold); color: var(--pb-ink); }
.pb-button.pb-dark { background: var(--pb-ink); border-color: var(--pb-ink); color: var(--pb-white); }
.pb-button.pb-dark:hover { background: #34382e; color: var(--pb-white); }
.pb-button.pb-gold { background: var(--pb-gold); border-color: var(--pb-gold); color: var(--pb-ink); }
.pb-button.pb-gold:hover { background: var(--pb-paper); border-color: var(--pb-paper); }
a.pb-text-link, button.pb-text-link { display: inline-flex; align-items: center; gap: 26px; padding: 12px 0 8px; border: 0; border-bottom: 1px solid var(--pb-line); font-size: 12px; letter-spacing: .025em; position: relative; line-height: 1.7; color: var(--pb-white); text-decoration: none; background: none; min-height: 44px; }
a.pb-text-link::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 1px; background: var(--pb-gold); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--pb-ease); }
a.pb-text-link:hover::after { transform: scaleX(1); }
a.pb-text-link svg { width: 21px; height: 21px; transition: transform .4s; }
a.pb-text-link:hover svg { transform: translate(4px, -2px); }
a.pb-text-link.pb-mini { font-size: 11px; }

/* ==========================================================================
   PB – podstrona oferty
   ========================================================================== */
.pb-crumbs { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 9px; letter-spacing: .03em; color: var(--pb-muted); margin-bottom: 37px; }
.pb-crumbs a { color: inherit; text-decoration: none; }
.pb-crumbs a:hover { color: var(--pb-gold); }
.pb-crumbs span[aria-current] { color: var(--pb-gold); }
.pb-crumbs svg { width: 10px; height: 10px; }
.pb-offer-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; }
.pb-offer-heading .pb-eyebrow { font-size: 10px; letter-spacing: .24em; font-weight: 600; text-transform: uppercase; color: var(--pb-gold); line-height: 1.6; margin: 0; }
.pb-offer-heading h1 { font-family: var(--pb-serif); font-weight: 400; font-size: clamp(43px, 5.35vw, 83px); line-height: 1.03; letter-spacing: -.025em; max-width: 1030px; margin: 26px 0 0; color: var(--pb-white); }
.pb-offer-type { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; flex: none; padding-bottom: 7px; color: var(--pb-muted); }
.pb-offer-gallery { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: clamp(440px, 41vw, 660px); position: relative; }
.pb-offer-gallery--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.pb-offer-gallery--2 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr; }
.pb-offer-gallery--empty { display: grid; place-items: center; height: 300px; border: 1px solid var(--pb-line); color: var(--pb-muted); }
.pb-gallery-open { position: relative; display: block; overflow: hidden; background: var(--pb-ink-soft); }
.pb-gallery-open img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--pb-ease); }
.pb-gallery-open:hover img { transform: scale(1.03); }
.pb-offer-gallery .pb-gallery-main { grid-row: span 2; }
.pb-offer-gallery--2 .pb-gallery-main, .pb-offer-gallery--1 .pb-gallery-main { grid-row: auto; }
.pb-gallery-label { position: absolute; bottom: 23px; left: 24px; display: flex; gap: 15px; align-items: center; background: rgba(17, 19, 16, .84); padding: 12px 18px; font-size: 10px; border: 1px solid rgba(238, 234, 226, .4); backdrop-filter: blur(6px); color: var(--pb-white); }
.pb-gallery-label svg { width: 17px; height: 17px; }
.pb-offer-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 20px 0; border-bottom: 1px solid var(--pb-line); }
.pb-offer-toolbar > span { font-size: 10px; color: var(--pb-muted); }
.pb-offer-tools { display: flex; gap: 24px; }
.pb-offer-tool { font-size: 10px; display: flex; gap: 9px; align-items: center; padding: 9px 0; min-height: 44px; color: var(--pb-white); }
.pb-offer-tool svg { width: 15px; height: 15px; }
.pb-offer-tool:hover, .pb-offer-tool[aria-pressed="true"] { color: var(--pb-gold); background: none; }
.pb-offer-tool[aria-pressed="true"] svg { fill: var(--pb-gold); }
.pb-offer-visual-note { font-size: 11px; color: var(--pb-muted); padding-top: 14px; }
.pb-offer-content-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(45px, 8vw, 130px); padding-top: 66px; }
.pb-offer-content .pb-eyebrow { font-size: 10px; letter-spacing: .24em; font-weight: 600; text-transform: uppercase; color: var(--pb-gold); line-height: 1.6; }
.pb-offer-content h2 { font-family: var(--pb-serif); font-weight: 400; font-size: clamp(37px, 3.5vw, 55px); line-height: 1.03; letter-spacing: -.025em; margin: 26px 0 30px; color: var(--pb-white); }
.pb-offer-content .pb-lead { font-size: 16px; line-height: 1.8; color: var(--pb-muted); }
.pb-offer-description p { margin-top: 20px !important; font-size: 14px; line-height: 1.85; color: var(--pb-muted); }
.pb-specifications { display: grid; grid-template-columns: 1fr 1fr; margin: 45px 0 38px; gap: 0 32px; }
.pb-specifications > div { padding: 17px 0; border-top: 1px solid var(--pb-line); display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.pb-specifications dt { font-size: 10px; color: var(--pb-muted); }
.pb-specifications dd { font-size: 12px; text-align: right; line-height: 1.6; margin: 0; }
.pb-features-list { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 23px; margin: 22px 0 39px; }
.pb-features-list > div { display: flex; align-items: center; gap: 11px; font-size: 12px; }
.pb-features-list svg { color: var(--pb-gold); width: 16px; height: 16px; }
.pb-data-notice { padding: 22px 25px; border-left: 1px solid var(--pb-gold); background: rgba(190, 159, 105, .055); font-size: 11px; color: var(--pb-muted); line-height: 1.9; margin: 30px 0 20px; }
.pb-data-notice strong { font-weight: 500; color: var(--pb-gold); display: block; font-size: 10px; letter-spacing: .08em; margin-bottom: 8px; text-transform: uppercase; }
.pb-data-notice ul { margin: 12px 0 0; padding-left: 15px; }
.pb-data-notice li + li { margin-top: 9px; }
.pb-location-text { margin-top: 45px; border-top: 1px solid var(--pb-line); padding-top: 28px; }
.pb-location-text h3 { font-family: var(--pb-serif); font-weight: 400; font-size: 32px; line-height: 1.03; margin: 0 0 16px; color: var(--pb-white); }
.pb-location-text p { font-size: 13px; color: var(--pb-muted); }
.pb-price-panel { position: sticky; top: 116px; align-self: start; background: var(--pb-paper); color: var(--pb-ink); padding: 35px; border: 1px solid #d6cdbd; }
.pb-price-panel .pb-eyebrow { color: var(--pb-gold-dark); margin-bottom: 22px; font-size: 10px; letter-spacing: .24em; font-weight: 600; text-transform: uppercase; }
.pb-price-amount { font: 400 clamp(34px, 3.1vw, 48px) / 1.1 var(--pb-serif); white-space: nowrap; letter-spacing: -.03em; }
.pb-price-amount small { font: 13px var(--pb-sans); margin-left: 5px; }
.pb-price-caption { font-size: 12px; color: #67695d; margin: 12px 0 25px !important; }
.pb-price-panel dl { display: flex; gap: 35px; margin: 26px 0; padding-top: 24px; border-top: 1px solid var(--pb-line-dark); }
.pb-price-panel dt { font-size: 9px; color: #66675a; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 7px; }
.pb-price-panel dd { font: 30px var(--pb-serif); margin: 0; }
.pb-price-panel .pb-agent-name { font: 25px var(--pb-serif); margin: 30px 0 7px !important; }
.pb-price-panel p.pb-mini { color: #66675a; font-size: 10px; line-height: 1.65; }
.pb-price-panel .pb-button { margin-top: 25px; }
.pb-price-panel a.pb-text-link { font-size: 10px; margin-top: 14px; width: 100%; border-color: var(--pb-line-dark); justify-content: space-between; color: var(--pb-ink); }
.pb-offer-mobile-bar { display: none; }
.pb-zdjecia-licznik { display: block; text-align: right; font-size: 10px; color: var(--pb-gold); margin: -56px 0 30px; letter-spacing: .015em; }
.pb-photo-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pb-photo-strip .pb-gallery-open { aspect-ratio: 1.3; }
.pb-photo-strip .pb-photo-index { position: absolute; bottom: 10px; right: 12px; font-size: 9px; padding: 4px 8px; background: #111b; color: var(--pb-white); }
.pb-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.pb-related-grid .pb-card-title { font-size: 30px; }

/* ==========================================================================
   PB – podstrony: nagłówek strony, O mnie, Sprzedaj, Off-market, Kontakt
   ========================================================================== */
.pb-page-top .pb-page-intro .pb-lead { margin-left: auto; }
.pb-about-credentials { border-top: 1px solid var(--pb-line); padding-top: 26px; margin-top: 38px; }
.pb-bio-nav a.pb-bio-nav-link { display: block; padding: 14px 0; border-bottom: 1px solid var(--pb-line-dark); text-decoration: none; }
.pb-bio-chapter--kolejny { margin-top: 56px; padding-top: 45px; border-top: 1px solid var(--pb-line-dark); }
.pb-quote-section { border-top: 1px solid var(--pb-line); }
.pb-quote-mark { height: 67px; }
.pb-service-item { padding: 12px 0; border-top: 1px solid var(--pb-line-dark); }
.pb-offmarket-intro p { margin-left: auto !important; margin-right: auto !important; }
.pb-faq-grid .pb-faq .kt-accordion-pane { border-top: 1px solid var(--pb-line-dark); }
.pb-faq-grid .pb-faq .kt-accordion-pane:last-child { border-bottom: 1px solid var(--pb-line-dark); }
.pb-faq .kt-blocks-accordion-header { background: transparent !important; border: 0 !important; padding: 20px 0 !important; min-height: 44px; font-size: 14px; color: var(--pb-ink) !important; border-radius: 0 !important; }
.pb-faq .kt-blocks-accordion-title { font-family: var(--pb-sans); font-size: 14px; font-weight: 400; }
.pb-faq .kt-accordion-panel-inner { padding: 0 40px 20px 0 !important; border: 0 !important; background: transparent !important; }
.pb-faq .kt-blocks-accordion-icon-trigger { background: transparent !important; transform: scale(.7); }
.pb-faq .kt-blocks-accordion-icon-trigger::before, .pb-faq .kt-blocks-accordion-icon-trigger::after { background: var(--pb-gold-dark) !important; }
.pb-private-points { border-top: 1px solid var(--pb-line-dark); padding-top: 42px; }
.pb-contact-form-panel > .kt-inside-inner-col { border: 1px solid var(--pb-line); }
.pb-contact-person-foto img { width: 110px; height: 135px; object-fit: cover; object-position: 50% 40%; }
.pb-address-block { margin-top: 35px; padding-top: 26px; border-top: 1px solid var(--pb-line); }
.pb-contact-legal { border-top: 1px solid var(--pb-line); padding: 35px 0 0 !important; }
.pb-document-notice > .kt-inside-inner-col { padding: 25px 28px; border: 1px solid var(--pb-gold); }
.pb-not-found .pb-button-row { justify-content: center; }

/* Formularz Kadence w układzie makiety (pola z kreską, etykiety wersalikami) */
.pb-formularz .kb-form { display: flex; flex-wrap: wrap; gap: 25px 26px; }
.pb-formularz .kadence-blocks-form-field { margin: 0 !important; padding: 0 !important; flex: 1 1 calc(50% - 13px); }
.pb-formularz .kadence-blocks-form-field.kb-field-desk-width-100, .pb-formularz .kb-accept-form-field, .pb-formularz .kadence-blocks-form-field.kb-submit-field { flex-basis: 100%; }
.pb-formularz .kadence-blocks-form-field > label { font-size: 9px; letter-spacing: .11em; text-transform: uppercase; color: var(--pb-muted); margin-bottom: 9px; display: block; }
.pb-formularz .kb-accept-form-field label { text-transform: none; letter-spacing: 0; font-size: 11px; line-height: 1.9; }
.pb-formularz .kb-accept-form-field a { color: var(--pb-white); text-decoration: underline; text-underline-offset: 4px; }
.pb-formularz .kb-accept-form-field a:hover { color: var(--pb-gold); }
.pb-formularz :is(input[type=text], input[type=email], input[type=tel], select, textarea) {
	width: 100%; padding: 12px 0; min-height: 47px; background: transparent !important; border: 0 !important;
	border-bottom: 1px solid #6b6d60 !important; color: var(--pb-white) !important; border-radius: 0 !important; font-size: 13px; box-shadow: none !important;
}
.pb-formularz select option { background: var(--pb-ink-soft); color: var(--pb-white); }
.pb-formularz textarea { min-height: 116px; line-height: 1.8; resize: vertical; }
.pb-formularz :is(input, select, textarea):focus { border-bottom-color: var(--pb-gold) !important; }
.pb-formularz ::placeholder { color: #93958a; opacity: 1; }
.pb-formularz .required { color: var(--pb-gold); }
.pb-formularz .kb-forms-submit { width: 100%; min-height: 56px; display: flex !important; align-items: center; justify-content: space-between !important; gap: 32px; padding: 16px 24px !important; text-align: left; letter-spacing: .04em; font-size: 12px !important; line-height: 1.6 !important; border-radius: 0; font-weight: 400; }
.pb-formularz .kb-forms-submit::after {
	content: ''; width: 21px; height: 21px; flex: none; background: currentColor; transition: transform .4s var(--pb-ease);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pb-formularz .kb-forms-submit:hover::after { transform: translate(4px, -2px); }
.pb-formularz .kb-accept-form-field { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 10px; }
.pb-formularz .kb-accept-form-field { flex-wrap: nowrap !important; }
.pb-formularz .kb-accept-form-field label { flex: 1 1 auto; width: auto !important; margin: 0 !important; }
.pb-formularz .kb-accept-form-field input { margin-top: 5px; accent-color: var(--pb-gold); }
.pb-formularz .kadence-blocks-form-message { border-radius: 0; font-size: 12px; }
.pb-formularz .kadence-blocks-form-success { background: rgba(201, 173, 123, .08); border: 1px solid var(--pb-gold); color: var(--pb-white); }
.pb-form-context { flex-basis: 100%; border: 1px solid var(--pb-line); padding: 12px 15px; font-size: 11px; color: var(--pb-gold); line-height: 1.8; }

/* ==========================================================================
   PB – stopka (element Kadence) i sekcja zaproszenia
   ========================================================================== */
.pb-footer { border-top: 1px solid var(--pb-line); }
.pb-footer-monogram img { width: 44px; height: 65px; object-fit: contain; }
a.pb-footer-link { display: block; text-decoration: none; }
.pb-footer-bottom { border-top: 1px solid var(--pb-line); padding: 21px 0 !important; }
.pb-motion-toggle.kb-button.pb-text-link { border: 0; padding: 7px 0; font-size: 9px; color: var(--pb-muted) !important; min-height: 44px; }
.pb-motion-toggle.kb-button.pb-text-link::after { display: none; }
.pb-motion-toggle[aria-pressed="true"] { color: var(--pb-gold) !important; }

/* ==========================================================================
   PB – okno zdjęć (lightbox) i komunikat
   ========================================================================== */
.pb-lightbox { border: 0; padding: 22px 30px 17px; background: rgba(12, 14, 11, .99); color: var(--pb-white); inset: 0; max-width: none; max-height: none; width: 100%; height: 100dvh; margin: 0; overflow: hidden; }
.pb-lightbox::backdrop { background: rgba(0, 0, 0, .92); }
.pb-lightbox-top { display: flex; align-items: center; justify-content: space-between; gap: 25px; height: 48px; }
.pb-lightbox-title { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--pb-gold); }
.pb-lightbox-actions { display: flex; gap: 14px; }
.pb-icon-button { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--pb-line); border-radius: 50%; background: transparent; color: var(--pb-white); transition: background .3s, color .3s; padding: 0; cursor: pointer; }
.pb-icon-button:hover { background: var(--pb-gold); color: var(--pb-ink); }
.pb-icon-button svg { width: 20px; height: 20px; }
.pb-lightbox-stage { height: calc(100% - 182px); display: flex; align-items: center; justify-content: center; position: relative; margin: 12px 56px; overflow: auto; touch-action: pan-y pinch-zoom; }
.pb-lightbox-stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; }
.pb-lightbox-stage.pb-zoomed { display: block; touch-action: pan-x pan-y pinch-zoom; }
.pb-lightbox-stage.pb-zoomed img { max-width: none; max-height: none; width: 150%; margin: auto; }
.pb-lightbox-prev, .pb-lightbox-next { position: absolute; top: 45%; z-index: 3; background: var(--pb-ink); }
.pb-lightbox-prev { left: 22px; }
.pb-lightbox-next { right: 22px; }
.pb-lightbox-caption { display: flex; justify-content: center; gap: 19px; font-size: 11px; color: var(--pb-muted); min-height: 25px; text-align: center; }
.pb-lightbox-caption strong { color: var(--pb-gold); font-weight: 400; }
.pb-lightbox-thumbs { display: flex; gap: 9px; justify-content: center; overflow-x: auto; margin-top: 15px; scrollbar-width: thin; padding: 3px; }
.pb-lightbox-thumbs button { width: 72px; height: 52px; flex: none; padding: 0; border: 1px solid transparent; opacity: .55; background: none; cursor: pointer; }
.pb-lightbox-thumbs button[aria-current="true"] { opacity: 1; border-color: var(--pb-gold); }
.pb-lightbox-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.pb-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); z-index: 100001; background: var(--pb-paper); color: var(--pb-ink); border: 1px solid #b7a487; box-shadow: 0 7px 30px #0003; max-width: calc(100% - 32px); width: max-content; font-size: 12px; padding: 15px 24px; opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s; }
.pb-toast.pb-is-active { opacity: 1; transform: translate(-50%, 0); }

/* ==========================================================================
   PB – ruch: odsłanianie przy przewijaniu (bez AOS – treść widoczna bez JS i w druku)
   ========================================================================== */
.pb-motion-enabled .pb-will-reveal { opacity: 0; transform: translateY(24px); transition: opacity .85s var(--pb-ease), transform .85s var(--pb-ease); transition-delay: var(--pb-delay, 0ms); }
.pb-motion-enabled .pb-will-reveal.pb-is-visible { opacity: 1; transform: none; }
.pb-reduce-motion *, .pb-reduce-motion *::before, .pb-reduce-motion *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
.pb-reduce-motion .pb-will-reveal { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pb-will-reveal { opacity: 1 !important; transform: none !important; }
}

/* ==========================================================================
   PB – szerokie ekrany
   ========================================================================== */
@media (min-width: 1700px) {
	.pb-hero-home .pb-hero-title { font-size: 118px; }
}

/* ==========================================================================
   PB – do 1200 px
   ========================================================================== */
@media (max-width: 1200px) {
	:root { --pb-header-h: 88px; }
	.pb-collection-layout { column-gap: 32px; }
}

/* ==========================================================================
   PB – tablet (do 1024 px, próg Kadence)
   ========================================================================== */
@media (max-width: 1024px) {
	.pb-hero-meta { display: none; }
	.pb-property-card.pb-featured .pb-card-visual { aspect-ratio: .8; }
	.pb-property-card.pb-compact .pb-card-visual { aspect-ratio: 1.7; }
	.pb-card-title { font-size: 30px; }
	.pb-property-card.pb-compact .pb-card-title { font-size: 25px; }
	.pb-card-features { gap: 8px; font-size: 11px; }
	.pb-card-price { font-size: 13px; }
	.pb-process-item > .kt-inside-inner-col { grid-template-columns: 30px 1fr; gap: 15px; }
	.pb-filters { grid-template-columns: 1fr 1fr; }
	.pb-offer-content-grid { gap: 45px; grid-template-columns: 1.1fr .9fr; }
	.pb-price-panel { padding: 25px; }
	.pb-offer-gallery { height: 470px; }
	.pb-offer-heading { gap: 30px; }
	.pb-offer-type { display: none; }
}

/* ==========================================================================
   PB – telefon (do 767 px)
   ========================================================================== */
@media (max-width: 767px) {
	:root { --pb-header-h: 78px; }
	html:root {
		--global-kb-font-size-3xl: clamp(46px, 13vw, 79px);
		--global-kb-font-size-xxxl: clamp(46px, 13vw, 79px);
		--global-kb-font-size-xxl: clamp(42px, 11vw, 63px);
		--global-kb-font-size-xl: clamp(36px, 9.6vw, 61px);
	}
	.pb-hero.pb-hero-home { max-height: 890px; }
	.pb-hero.pb-service-hero { max-height: 850px; }
	.pb-hero::after { background: linear-gradient(0deg, rgba(8, 11, 8, .97) 0%, rgba(8, 11, 8, .1) 53%, rgba(8, 11, 8, .32) 100%); }
	.pb-hero-home .pb-hero-bottom::before { bottom: 74px; }
	.pb-hero-bottom { bottom: 38px; }
	.pb-hero-bottom > .kt-inside-inner-col { align-items: center; }
	.pb-hero-scroll-wrap .kt-btn-inner-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
	.pb-hero-home .pb-brand-image-credit, .pb-service-hero .pb-brand-image-credit { max-width: calc(100% - 48px); bottom: 12px; text-align: left; left: var(--pb-gutter); right: auto; }
	.pb-hero .wp-block-kadence-advancedbtn .kb-button.pb-button { font-size: 10px; padding: 15px 18px; gap: 25px; min-height: 49px; }
	.pb-hero .wp-block-kadence-advancedbtn .kb-button.pb-text-link { font-size: 10px; gap: 16px; }
	.pb-hero-buttons { gap: 16px !important; }
	.pb-hero .wp-block-kadence-advancedbtn .kb-button.pb-button { gap: 16px; padding: 14px 15px !important; }
	.pb-hero .wp-block-kadence-advancedbtn .kb-button .kb-svg-icon-wrap svg { width: 17px; height: 17px; }
	.pb-hero-bottom > .kt-inside-inner-col { flex-wrap: nowrap !important; }
	.pb-hero-facts > .kt-inside-inner-col { gap: 22px !important; }

	.pb-portrait-composition { width: 88%; max-width: 470px; margin-inline: auto; padding: 0 18px 29px 0 !important; }
	.pb-portrait-composition .pb-portret-foto { aspect-ratio: 4 / 4.65; }
	.pb-portrait-caption { left: -17px; min-width: 210px; padding: 18px 21px; }
	.pb-values-grid { padding-top: 33px; }
	.pb-eyebrow { gap: 12px; }
	.pb-eyebrow::before { width: 24px; }

	.pb-collection-layout { grid-template-columns: 1fr; gap: 37px; }
	.pb-property-card.pb-featured { grid-row: auto; }
	.pb-property-card.pb-featured .pb-card-visual { aspect-ratio: 1.18; }
	.pb-property-card.pb-compact .pb-card-visual { aspect-ratio: 1.5; }
	.pb-property-card .pb-card-visual { aspect-ratio: 1.3; }
	.pb-property-card.pb-compact .pb-card-title, .pb-property-card .pb-card-title { font-size: 30px; }
	.pb-card-meta { font-size: 9px; gap: 12px; margin-top: 18px; }
	.pb-card-bottom { padding-top: 13px; gap: 12px; }
	.pb-card-price { font-size: 14px; }
	.pb-card-hover-label { display: none; }
	.pb-collection-tail { margin-top: 37px; align-items: flex-start; flex-direction: column; gap: 15px; }

	.pb-process-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { padding-top: 45px; }
	.pb-process-item { padding: 24px 0; }
	.pb-process-item > .kt-inside-inner-col { grid-template-columns: 32px 1fr; gap: 16px; }
	.pb-private-section::after { inset: 13px; }
	.pb-private-sign { right: 23px; top: 26px; }
	.pb-private-section .pb-brand-image-credit { right: 26px; bottom: 23px; max-width: 84%; }
	.pb-award-image a { aspect-ratio: 1.5; }

	.pb-catalog-controls { padding: 14px 0 18px; }
	.pb-catalog-top { gap: 20px; }
	.pb-filter-tabs { gap: 18px; flex-wrap: nowrap; overflow-x: auto; }
	.pb-filter-tabs button { font-size: 10px; white-space: nowrap; }
	.pb-filter-toggle { font-size: 0; gap: 0; min-width: 44px; justify-content: center; }
	.pb-filters { gap: 21px; margin-top: 18px; padding-top: 24px; grid-template-columns: 1fr 1fr; }
	.pb-filters .pb-field:first-child { grid-column: 1 / -1; }
	.pb-filters .pb-field input, .pb-filters .pb-field select { font-size: 16px; }
	.pb-filters-footer { font-size: 9px; gap: 20px; align-items: flex-start; }
	.pb-catalog-summary { font-size: 10px; gap: 15px; padding: 20px 0; }
	.pb-sort-field label { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
	.pb-property-grid { grid-template-columns: 1fr; gap: 38px; }
	.pb-property-grid .pb-card-title { font-size: 30px; }

	.pb-crumbs { font-size: 8px; gap: 8px; margin-bottom: 26px; }
	.pb-offer-heading h1 { font-size: clamp(38px, 10.5vw, 61px); }
	.pb-offer-gallery { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 145px; gap: 7px; }
	.pb-offer-gallery .pb-gallery-main { grid-column: 1 / -1; grid-row: auto; }
	.pb-offer-gallery--1 { grid-template-rows: 300px; }
	.pb-gallery-label { left: 14px; bottom: 16px; font-size: 9px; padding: 9px 13px; gap: 10px; }
	.pb-offer-toolbar { gap: 18px; padding: 15px 0; align-items: flex-start; flex-direction: column; }
	.pb-offer-content-grid { grid-template-columns: 1fr; gap: 35px; padding-top: 36px; }
	.pb-price-panel { position: static; grid-row: 1; padding: 28px; }
	.pb-price-amount { font-size: 43px; }
	.pb-price-panel dl { gap: 48px; }
	.pb-offer-content h2 { font-size: 40px; margin-bottom: 23px; }
	.pb-specifications { margin-top: 30px; gap: 0 23px; }
	.pb-specifications > div { flex-direction: column; gap: 7px; align-items: flex-start; padding: 14px 0; }
	.pb-specifications dd { text-align: left; }
	.pb-features-list > div { font-size: 11px; gap: 8px; }
	.pb-photo-strip { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pb-zdjecia-licznik { text-align: left; margin: -16px 0 22px; }
	.pb-related-grid { grid-template-columns: 1fr; gap: 36px; }
	.pb-offer-mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px var(--pb-gutter); background: rgba(17, 19, 16, .97); border-top: 1px solid var(--pb-line); font-family: var(--pb-serif); font-size: 22px; }
	.pb-offer-mobile-bar small { display: block; font: 9px var(--pb-sans); letter-spacing: .12em; color: var(--pb-gold); }
	.pb-offer-mobile-bar .pb-button { min-height: 44px; padding: 10px 16px; gap: 14px; }
	body.single-nieruchomosc { padding-bottom: 70px; }

	.pb-bio-nav { display: none; }
	.pb-bio-chapter--kolejny { margin-top: 37px; padding-top: 35px; }
	.pb-contact-person-foto img { width: 89px; height: 113px; }
	.pb-formularz .kadence-blocks-form-field { flex-basis: 100%; }
	.pb-formularz :is(input, select, textarea) { font-size: 16px !important; }
	.pb-lightbox { padding: 15px 15px 11px; }
	.pb-lightbox-title { font-size: 8px; letter-spacing: .07em; max-width: 65%; line-height: 1.8; }
	.pb-lightbox-stage { margin: 12px 0; height: calc(100% - 178px); }
	.pb-lightbox-prev, .pb-lightbox-next { top: auto; bottom: 95px; width: 44px; height: 44px; }
	.pb-lightbox-prev { left: 15px; }
	.pb-lightbox-next { right: 15px; }
	.pb-lightbox-caption { font-size: 9px; gap: 9px; max-width: 70%; margin: auto; }
	.pb-lightbox-thumbs { justify-content: flex-start; margin-top: 17px; }
	.pb-lightbox-thumbs button { width: 62px; height: 45px; }
	.pb-footer-bottom .pb-footer-right > .kt-inside-inner-col { justify-content: flex-start; }
}

@media (max-width: 380px) {
	html:root { --global-kb-font-size-3xl: clamp(44px, 14vw, 52px); --global-kb-font-size-xxxl: clamp(44px, 14vw, 52px); }
	.pb-filter-tabs { gap: 15px; }
	.pb-filter-tabs button { font-size: 9px; }
	.pb-price-amount { font-size: 40px; }
}

/* ==========================================================================
   PB – druk oferty: tylko treść, bez nawigacji i nakładek
   ========================================================================== */
@media print {
	html, body { background: #fff !important; color: #111 !important; }
	#masthead, .pb-footer, .pb-scroll-progress, .pb-offer-toolbar, .pb-save-button, .pb-contact-invite, .pb-private-section, .pb-offer-gallery .pb-gallery-open:not(.pb-gallery-main), .pb-related-section, .pb-offer-photos, .pb-toast, .pb-lightbox, .pb-offer-mobile-bar, .pb-brand-image-credit, .pb-gallery-label { display: none !important; }
	.pb-offer-gallery { display: block; height: 300px; }
	.pb-offer-gallery .pb-gallery-main { display: block !important; height: 300px; }
	.pb-offer-content-grid { display: block; padding-top: 25px; }
	.pb-price-panel { position: static; background: #fff; border: 1px solid #888; margin-bottom: 25px; }
	.pb-will-reveal { opacity: 1 !important; transform: none !important; }
	.pb-offer-content .pb-lead, .pb-data-notice, .pb-specifications dt { color: #222 !important; }
	h1, h2, h3, .pb-offer-heading h1, .pb-offer-content h2 { color: #111 !important; }
	em { color: #5b4930 !important; }
}

/* ==========================================================================
   PB – kolorystyka v2: czerń i złoto (inspiracja: makieta przesłana przez klientkę)
   Kolory bazowe są w palecie Kadence; tu tylko linie, ramki i elementy,
   które wcześniej zakładały jasne tło „papieru”.
   ========================================================================== */
:root {
	--pb-line: rgba(195, 154, 98, .24);
	--pb-line-dark: rgba(195, 154, 98, .24);
	--pb-line-strong: rgba(195, 154, 98, .5);
	--pb-gold-dark: var(--global-palette1, #c39a62);
	--pb-gold-light: var(--global-palette2, #dcbf8f);
	--pb-muted-paper: var(--global-palette5, #a9a49c);
	--pb-panel: var(--global-palette8, #1a1814);
}
.pb-papier { border-top: 1px solid var(--pb-line); border-bottom: 1px solid var(--pb-line); }
.pb-papier em { color: var(--pb-gold); }
.pb-papier :focus-visible { outline-color: var(--pb-gold); }
.pb-papier .kb-button.pb-text-link, .pb-papier .kb-button.pb-text-link:hover { border-color: var(--pb-line); color: var(--pb-white) !important; }
.pb-hero::after { background: linear-gradient(0deg, rgba(6, 5, 4, .9), transparent 32%, rgba(6, 5, 4, .05) 80%); }
.pb-hero-home .pb-hero-bottom::before { background: var(--pb-line); }
.pb-portrait-composition::before { border-color: var(--pb-line-strong); }
.pb-portrait-caption { border-bottom-color: var(--pb-gold); }
.pb-portret-o-mnie .pb-portrait-caption { background: var(--pb-ink); }
.pb-portret-o-mnie .pb-portrait-caption p:first-child { color: var(--pb-white); }
.pb-portret-o-mnie .pb-portrait-caption p:last-child { color: var(--pb-gold); }
.pb-private-section::after { border-color: var(--pb-line-strong); }
.pb-award-image a { background: #16140f; border-color: var(--pb-line); }
.pb-award-image a:hover { background: #1d1a15; border-color: var(--pb-line-strong); }
.pb-award-image a::after { background: var(--pb-gold); }
.pb-award-image img { box-shadow: 0 12px 30px rgba(0, 0, 0, .45); }

/* Karty ofert */
.pb-property-card .pb-card-visual::after { background: linear-gradient(0deg, rgba(0, 0, 0, .22), transparent 30%); }
.pb-property-card .pb-card-number { background: rgba(0, 0, 0, .72); }
.pb-save-button { background: rgba(0, 0, 0, .6); border-color: var(--pb-line-strong); }
.pb-card-hover-label { background: var(--pb-gold); color: var(--pb-ink); }
.pb-papier .pb-card-title, .pb-papier .pb-card-price { color: var(--pb-white); }
.pb-papier .pb-card-meta, .pb-papier .pb-card-note::before { color: var(--pb-gold); }
.pb-papier .pb-card-features, .pb-papier .pb-card-note { color: var(--pb-muted); }

/* Pola, przyciski i panele w HTML-u wtyczki */
.pb-field input, .pb-field select { border-bottom-color: var(--pb-line-strong); }
.pb-field input::placeholder, .pb-formularz ::placeholder { color: #8c867c; }
.pb-button.pb-dark { background: transparent; border-color: var(--pb-gold); color: var(--pb-gold); }
.pb-button.pb-dark:hover { background: var(--pb-gold); border-color: var(--pb-gold); color: var(--pb-ink); }
.pb-button.pb-gold:hover { background: var(--pb-gold-light); border-color: var(--pb-gold-light); }
.pb-gallery-label { background: rgba(6, 5, 4, .84); border-color: var(--pb-line-strong); }
.pb-photo-strip .pb-photo-index { background: rgba(0, 0, 0, .72); }
.pb-data-notice { background: rgba(195, 154, 98, .06); }
.pb-price-panel { background: var(--pb-panel); color: var(--pb-white); border: 1px solid var(--pb-line-strong); }
.pb-price-panel .pb-eyebrow { color: var(--pb-gold); }
.pb-price-amount { color: var(--pb-gold-light); }
.pb-price-caption, .pb-price-panel dt, .pb-price-panel p.pb-mini { color: var(--pb-muted); }
.pb-price-panel dl { border-top-color: var(--pb-line); }
.pb-price-panel a.pb-text-link { border-color: var(--pb-line); color: var(--pb-white); }
.pb-offer-mobile-bar { background: rgba(6, 5, 4, .97); }

/* Formularz, akordeon, okna */
.pb-formularz :is(input[type=text], input[type=email], input[type=tel], select, textarea) { border-bottom-color: var(--pb-line-strong) !important; }
.pb-contact-form-panel > .kt-inside-inner-col { border-color: var(--pb-line-strong); }
.pb-faq .kt-blocks-accordion-header { color: var(--pb-white) !important; }
.pb-faq .kt-blocks-accordion-icon-trigger::before, .pb-faq .kt-blocks-accordion-icon-trigger::after { background: var(--pb-gold) !important; }
.pb-lightbox { background: rgba(6, 5, 4, .99); }
.pb-toast { background: var(--pb-panel); color: var(--pb-white); border-color: var(--pb-gold); }

/* „Dlaczego ja?” jak karty z makiety klientki: złote pionowe linie między kolumnami */
@media (min-width: 768px) {
	.pb-values-grid > .kt-row-column-wrap > .wp-block-kadence-column + .wp-block-kadence-column > .kt-inside-inner-col { border-left: 1px solid var(--pb-line); padding-left: 28px; }
}
@media (max-width: 767px) {
	.pb-hero::after { background: linear-gradient(0deg, rgba(6, 5, 4, .97) 0%, rgba(6, 5, 4, .1) 53%, rgba(6, 5, 4, .32) 100%); }
}

/* ==========================================================================
   PB – znak marki na stronie głównej (rysujący się monogram)
   Układ, kolory i odstępy ustawione w blokach; tu tylko dekor i animacja.
   ========================================================================== */
.pb-monogram-band { position: relative; overflow: hidden; isolation: isolate; }
/* ciepła poświata za znakiem */
.pb-monogram-band::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: min(900px, 130vw); transform: translateX(-50%); background: radial-gradient(closest-side, rgba(195, 154, 98, .11), rgba(195, 154, 98, .035) 55%, transparent 100%); z-index: -1; pointer-events: none; }
/* złote linie wychodzące od znaku ku krawędziom */
.pb-monogram-kolumna > .kt-inside-inner-col { position: relative; }
.pb-monogram-rys { position: relative; }
.pb-monogram-podpis { max-width: none; }
.pb-monogram-rys::before, .pb-monogram-rys::after { content: ""; position: absolute; top: 50%; width: calc(50vw - 130px); height: 1px; pointer-events: none; }
.pb-monogram-rys::before { right: calc(50% + 120px); background: linear-gradient(90deg, transparent, rgba(195, 154, 98, .45)); }
.pb-monogram-rys::after { left: calc(50% + 120px); background: linear-gradient(90deg, rgba(195, 154, 98, .45), transparent); }
.pb-monogram-rys svg { width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 10px 28px rgba(0, 0, 0, .45)); }
/* romb na środku linii między podpisami */
.pb-monogram-linia { position: relative; }
.pb-monogram-linia::after { content: ""; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; background: var(--global-palette1, #c39a62); transform: translate(-50%, -50%) rotate(45deg); }

/* animacja – stan początkowy ustawia skrypt (bez JS znak jest pełny) */
.pb-monogram-czeka .pb-monogram-kontur path { transition: stroke-dashoffset 2.3s cubic-bezier(.55, .1, .3, 1); }
.pb-monogram-czeka .pb-monogram-wypelnienie { opacity: 0; transition: opacity 1.3s ease; }
.pb-monogram-czeka .pb-monogram-kontur { transition: opacity 1.4s ease .5s; }
.pb-monogram-czeka .pb-monogram-podpis, .pb-monogram-czeka .pb-monogram-linia { opacity: 0; transform: translateY(10px); transition: opacity 1s ease, transform 1s ease; }
.pb-monogram-czeka .pb-monogram-linia { transform: scaleX(.2); }
.pb-monogram-czeka .pb-monogram-rys::before, .pb-monogram-czeka .pb-monogram-rys::after { transform: scaleX(0); transition: transform 2.2s cubic-bezier(.2, .7, .2, 1) .4s; }
.pb-monogram-czeka .pb-monogram-rys::before { transform-origin: right center; }
.pb-monogram-czeka .pb-monogram-rys::after { transform-origin: left center; }
.pb-monogram-rysuje .pb-monogram-rys::before, .pb-monogram-rysuje .pb-monogram-rys::after { transform: scaleX(1); }
.pb-monogram-gotowy .pb-monogram-wypelnienie { opacity: 1; }
.pb-monogram-gotowy .pb-monogram-kontur { opacity: 0; }
.pb-monogram-gotowy .pb-monogram-podpis, .pb-monogram-gotowy .pb-monogram-linia { opacity: 1; transform: none; }
.pb-monogram-gotowy .pb-monogram-podpis:last-child { transition-delay: .35s; }
.pb-monogram-gotowy .pb-monogram-linia { transition-delay: .2s; }
.pb-monogram-band:not(.pb-monogram-czeka) .pb-monogram-kontur { opacity: 0; }

/* strona główna: proces zaczyna się zaraz po znaku – bez górnej linii */
.pb-process-po-znaku > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { border-top: 0; padding-top: 0; }

@media (max-width: 767px) {
	.pb-monogram-rys::before, .pb-monogram-rys::after { width: calc(50vw - 82px); }
	.pb-monogram-rys::before { right: calc(50% + 72px); }
	.pb-monogram-rys::after { left: calc(50% + 72px); }
}
@media print {
	.pb-monogram-band * { opacity: 1 !important; transform: none !important; }
	.pb-monogram-kontur { display: none; }
}

/* ==========================================================================
   PB – Kontakt (wersja premium)
   ========================================================================== */
/* dane kontaktowe w rytmie złotych linii */
.pb-kontakt-dane > .kt-inside-inner-col { border-top: 1px solid var(--pb-line); }
.pb-kontakt-dana > .kt-inside-inner-col { padding: 24px 0; border-bottom: 1px solid var(--pb-line); flex-wrap: nowrap !important; align-items: baseline; }
.pb-kontakt-dana > .kt-inside-inner-col > :first-child { flex: 0 0 150px; }
/* portret w złotej ramie z przesunięciem */
.pb-kontakt-ramka > .kt-inside-inner-col { position: relative; padding: 0 0 0 30px; }
.pb-kontakt-ramka > .kt-inside-inner-col::before { content: ""; position: absolute; inset: 30px 30px -30px 0; border: 1px solid var(--pb-line-strong); pointer-events: none; }
.pb-kontakt-ramka > .kt-inside-inner-col::after { content: ""; position: absolute; left: -7px; bottom: -37px; width: 14px; height: 14px; border-left: 1px solid var(--global-palette1); border-bottom: 1px solid var(--global-palette1); pointer-events: none; }
.pb-kontakt-portret { position: relative; z-index: 1; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; }
.pb-kontakt-portret img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; filter: saturate(.92) contrast(1.03); }
.pb-kontakt-portret::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(5, 5, 4, .78) 100%); pointer-events: none; }
.pb-kontakt-podpis { position: absolute !important; z-index: 2; left: 58px; bottom: 26px; }
/* kroki pierwszego kontaktu */
.pb-kontakt-krok > .kt-inside-inner-col { position: relative; padding: 0 0 30px 64px; }
.pb-kontakt-krok .pb-kontakt-krok-nr { position: absolute; left: 0; top: -4px; }
.pb-kontakt-krok > .kt-inside-inner-col::before { content: ""; position: absolute; left: 15px; top: 40px; bottom: 6px; width: 1px; background: linear-gradient(180deg, var(--pb-line-strong), transparent); }
.pb-kontakt-krok:last-child > .kt-inside-inner-col::before { display: none; }
/* oprawiony panel formularza: linia i złote narożniki */
.pb-kontakt-panel > .kt-inside-inner-col { position: relative; border: 1px solid var(--pb-line); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .85); }
.pb-kontakt-panel > .kt-inside-inner-col::before, .pb-kontakt-panel > .kt-inside-inner-col::after { content: ""; position: absolute; width: 26px; height: 26px; pointer-events: none; }
.pb-kontakt-panel > .kt-inside-inner-col::before { top: -1px; left: -1px; border-top: 1px solid var(--global-palette1); border-left: 1px solid var(--global-palette1); }
.pb-kontakt-panel > .kt-inside-inner-col::after { right: -1px; bottom: -1px; border-right: 1px solid var(--global-palette1); border-bottom: 1px solid var(--global-palette1); }
/* pas z adresem */
.pb-kontakt-adres-pas { position: relative; overflow: hidden; }
.pb-kontakt-adres em { color: var(--global-palette1); }
.pb-kontakt-firma > .kt-inside-inner-col { flex-wrap: nowrap !important; }

@media (max-width: 1024px) {
	.pb-kontakt-dana > .kt-inside-inner-col > :first-child { flex-basis: 128px; }
}
@media (max-width: 767px) {
	.pb-kontakt-dana > .kt-inside-inner-col { flex-direction: column !important; flex-wrap: wrap !important; align-items: flex-start !important; gap: 8px !important; padding: 19px 0; }
	.pb-kontakt-dana > .kt-inside-inner-col > :first-child { flex-basis: auto; }
	.pb-kontakt-ramka { width: 88%; max-width: 440px; margin-inline: auto; }
	.pb-kontakt-ramka > .kt-inside-inner-col { padding-left: 18px; }
	.pb-kontakt-ramka > .kt-inside-inner-col::before { inset: 18px 18px -18px 0; }
	.pb-kontakt-ramka > .kt-inside-inner-col::after { bottom: -25px; }
	.pb-kontakt-podpis { left: 38px; bottom: 18px; }
	.pb-kontakt-krok > .kt-inside-inner-col { padding-left: 54px; }
	.pb-kontakt-firma > .kt-inside-inner-col { flex-direction: column !important; align-items: flex-start !important; gap: 26px !important; }
	.pb-kontakt-kroki-kol .kt-inside-inner-col { position: static !important; }
}

/* ==========================================================================
   PB – okienko informacji o plikach cookies (Element Kadence, lewy dolny róg)
   ========================================================================== */
.kadence-pro-fixed-item:has(.pb-cookies) { z-index: 1200; width: calc(100% - 48px); }
html.pb-cookies-ok .kadence-pro-fixed-item:has(.pb-cookies), html.pb-cookies-ok .pb-cookies { display: none !important; }
.pb-cookies { border: 1px solid var(--pb-line-strong); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .9); opacity: 0; transform: translateY(24px); visibility: hidden; transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .6s; }
.pb-cookies.pb-cookies-widoczne { opacity: 1; transform: none; visibility: visible; transition-delay: 0s; }
.pb-cookies::before { content: ""; position: absolute; top: -1px; left: -1px; width: 22px; height: 22px; border-top: 1px solid var(--global-palette1); border-left: 1px solid var(--global-palette1); pointer-events: none; }
.pb-reduce-motion .pb-cookies { transition: none; }
@media (max-width: 767px) {
	.kadence-pro-fixed-item:has(.pb-cookies) { left: 12px !important; right: 12px; bottom: 12px !important; width: auto; max-width: none !important; }
}
@media print { .kadence-pro-fixed-item:has(.pb-cookies) { display: none !important; } }
