/*
  dew-core: style stron inwestycji (sprzedażowy układ: hero ze zdjęciem, atuty, karty lokali, galeria, pasy CTA).
  Kolory, kroje i promienie przychodzą z tokenów --dew-* ustawianych przez motyw (wygląd 1–4); tu są wartości domyślne.
*/

:root {
  --dew-paper: #ffffff;
  --dew-mist: #eef2ef;
  --dew-ink: #14262b;
  --dew-ink-2: #48585c;
  --dew-line: #d3dcd8;
  --dew-accent: #1f5a43;
  --dew-accent-dark: #164232;
  --dew-on-accent: #ffffff;
  --dew-accent-2: #c8955c;
  --dew-band: #14262b;
  --dew-on-band: #e6eeeb;
  --dew-free: #1f7a4d;
  --dew-free-bg: #dff0e6;
  --dew-res: #a8690c;
  --dew-res-bg: #fbecd2;
  --dew-sold: #8a9599;
  --dew-sold-bg: #eceff0;
  --dew-focus: #0b5fff;
  --dew-font: system-ui, -apple-system, "Segoe UI", sans-serif;
  --dew-font-head: var(--dew-font);
  --dew-head-weight: 720;
  --dew-head-stretch: 100%;
  /* Światło liter zależne od wielkości: duże nagłówki ciaśniej, małe prawie bez zmian. */
  --dew-track-display: -0.02em;
  --dew-track-title: -0.005em;
  --dew-res-ink: #7a4a05;
  --dew-ease: cubic-bezier(.2, .8, .2, 1);
  --dew-radius: 8px;
  --dew-radius-lg: 18px;
  --dew-shadow: 0 18px 50px -24px rgba(16, 32, 36, .35);
  --dew-hero-shade: linear-gradient(90deg, rgba(8, 20, 22, .78) 0%, rgba(8, 20, 22, .45) 45%, rgba(8, 20, 22, 0) 75%), linear-gradient(0deg, rgba(8, 20, 22, .55) 0%, rgba(8, 20, 22, 0) 40%);
  --dew-wrap: 82rem;
  --dew-header-h: 5rem;
  --dew-s1: 0.25rem;
  --dew-s2: 0.5rem;
  --dew-s3: 0.75rem;
  --dew-s4: 1rem;
  --dew-s5: 1.5rem;
  --dew-s6: 2rem;
  --dew-s7: 3rem;
  --dew-s8: 5rem;
  --dew-s9: 7rem;
}
@media (max-width: 47.99rem) { :root { --dew-header-h: 4rem; } }

html.dew-contrast,
html.dew-contrast body {
  --dew-paper: #ffffff;
  --dew-mist: #ffffff;
  --dew-ink: #000000;
  --dew-ink-2: #000000;
  --dew-line: #000000;
  --dew-accent: #00351f;
  --dew-accent-dark: #000000;
  --dew-accent-2: #000000;
  --dew-band: #000000;
  --dew-on-band: #ffffff;
  --dew-free: #00552c;
  --dew-res: #6b4000;
  --dew-sold: #3d3d3d;
  --dew-res-ink: #000000;
  --dew-hero-shade: linear-gradient(0deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, .82));
}
html.dew-large { font-size: 125%; }
html { scroll-padding-top: calc(var(--dew-header-h) + 1rem); }
html.dew-lock { overflow: hidden; }

body { background: var(--dew-paper); color: var(--dew-ink); font-family: var(--dew-font); font-size: 1.125rem; line-height: 1.6; margin: 0; }
img { max-width: 100%; height: auto; }
.dew-wrap { max-width: var(--dew-wrap); margin-inline: auto; padding-inline: var(--dew-s4); box-sizing: border-box; }
@media (min-width: 48rem) { .dew-wrap { padding-inline: var(--dew-s6); } }
.dew-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dew-ico { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.2em; }
:where(.dew-top, .dew-hero, .dew-section, .dew-fresh, .dew-unit, .dew-foot, .dew-crumbs, .dew-demo, .dew-hist-page, .dew-perks, .dew-cta) a { color: var(--dew-accent); text-underline-offset: 0.18em; }
html.dew-contrast a { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--dew-focus); outline-offset: 2px; }
:where(.dew-hero, .dew-section, .dew-unit, .dew-hist-page, .dew-cta, .dew-perks) :is(h1, h2, h3, h4) {
  font-family: var(--dew-font-head); font-weight: var(--dew-head-weight); font-stretch: var(--dew-head-stretch);
  letter-spacing: var(--dew-track-title); line-height: 1.25; margin: 0 0 var(--dew-s4); color: inherit;
}
:is(.dew-hero h1, .dew-section h2, .dew-intro h2, .dew-cta h2, .dew-unit h1) { letter-spacing: var(--dew-track-display); line-height: 1.08; }
.dew-section h2 { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.1rem); }
.dew-section h3, .dew-unit h3 { font-size: 1.3rem; }
.dew-unit h2 { font-size: 1.7rem; line-height: 1.15; }
/* Cyfry tej samej szerokości w kolumnach kwot i odległości (wygląd może to wyłączyć tokenem --dew-num). */
.dew-units, .dew-tbl, .dew-poi__dist, .dew-inv__facts dd, .dew-lb__count { font-variant-numeric: var(--dew-num, tabular-nums); }
:where(.dew-section, .dew-unit) p { margin: 0 0 var(--dew-s4); max-width: 66ch; }
.dew-sub { display: block; font-size: 0.92rem; color: var(--dew-ink-2); font-weight: 400; }
.dew-note { font-size: 0.95rem; color: var(--dew-ink-2); }
.dew-lead { font-size: 1.2rem; color: var(--dew-ink-2); max-width: 62ch; }
.dew-skip { position: absolute; left: var(--dew-s4); top: -10rem; z-index: 100; background: var(--dew-ink); color: #fff; padding: var(--dew-s3) var(--dew-s4); }
.dew-skip:focus { top: var(--dew-s4); }

/* ---------- Pasek dema ---------- */
.dew-demo { background: #0d1416; color: #e9eeee; font-size: 0.9rem; }
.dew-demo__in { display: flex; align-items: center; gap: var(--dew-s2) var(--dew-s5); padding-block: var(--dew-s1); }
.dew-demo p { margin: 0; }
.dew-demo a { color: #fff; }
.dew-demo__nav, .dew-demo__step { display: flex; align-items: center; gap: var(--dew-s2); }
.dew-demo__nav a, .dew-demo__step a { display: inline-flex; gap: 0.4em; align-items: center; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; padding: 0 var(--dew-s3); border: 1px solid rgba(255,255,255,.35); border-radius: 6px; text-decoration: none; white-space: nowrap; box-sizing: border-box; }
.dew-demo__nav a[aria-current="page"] { background: #fff; color: #0d1416; border-color: #fff; }
.dew-demo__step { display: none; }
.dew-demo__step a { padding: 0; }
.dew-demo__step span { font-weight: 650; white-space: nowrap; }
.dew-demo__back { margin-left: auto; display: inline-flex; align-items: center; min-height: 2.75rem; white-space: nowrap; }
@media (max-width: 74.99rem) { .dew-demo__nav a span { display: none; } }
@media (max-width: 47.99rem) { .dew-demo__txt, .dew-demo__nav { display: none; } .dew-demo__step { display: flex; } }
@media (max-width: 25.99rem) { .dew-demo__back span { display: none; } }

/* ---------- Nagłówek ---------- */
.wp-site-blocks > div:has(> .dew-top) { position: sticky; top: 0; z-index: 60; }
/* Nagłówek to półprzezroczysty materiał (warstwa ::before), treść przewija się pod nim; zamiast linii miękkie wygaszenie (::after). */
.dew-top { position: relative; isolation: isolate; color: var(--dew-ink); transition: color .25s; }
.dew-top::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--dew-paper) 84%, transparent); -webkit-backdrop-filter: saturate(1.8) blur(24px); backdrop-filter: saturate(1.8) blur(24px); transition: opacity .25s ease-out; }
.dew-top::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 0.75rem; background: linear-gradient(color-mix(in srgb, var(--dew-ink) 10%, transparent), transparent); opacity: 0; transition: opacity .25s ease-out; pointer-events: none; }
.dew-top.is-scrolled::after { opacity: 1; }
.dew-top.is-menu::after { opacity: 0; }
.dew-top__in { display: flex; align-items: center; gap: var(--dew-s4) var(--dew-s5); min-height: var(--dew-header-h); }
.dew-brand { display: inline-flex; align-items: center; gap: var(--dew-s3); color: inherit !important; text-decoration: none; margin-right: auto; min-width: 0; }
.dew-mark { width: 2.6rem; height: 2.6rem; flex: none; }
.dew-mark__bg { fill: var(--dew-accent); }
.dew-mark__fg { fill: var(--dew-on-accent); }
.dew-mark__win { fill: var(--dew-accent); }
.dew-mark__bg, .dew-mark__fg, .dew-mark__win { transition: fill .25s; }
.dew-brand__name { font-family: var(--dew-font-head); font-weight: var(--dew-head-weight); font-stretch: var(--dew-head-stretch); font-size: 1.25rem; line-height: 1.1; min-width: 0; }
.dew-brand__name small { display: block; font-family: var(--dew-font); font-weight: 400; font-stretch: 100%; font-size: 0.8rem; opacity: .8; margin-top: 2px; }
@media (max-width: 47.99rem) { .dew-mark { width: 2.25rem; height: 2.25rem; } }
@media (max-width: 40rem) { .dew-brand__name { font-size: 1.1rem; } .dew-brand__name small { display: none; } .dew-menu summary { padding: 0 var(--dew-s3); } }
.dew-nav { display: none; gap: var(--dew-s4); }
.dew-nav a { color: inherit !important; text-decoration: none; padding-block: var(--dew-s2); font-size: 0.98rem; font-weight: 520; position: relative; white-space: nowrap; }
.dew-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: currentColor; transform: scaleX(0); transition: transform .2s; }
.dew-top__act { display: none; align-items: center; gap: var(--dew-s2); }
.dew-icon-btn { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); background: transparent; color: inherit; cursor: pointer; }
.dew-icon-btn[aria-pressed="true"] { background: currentColor; }
.dew-icon-btn[aria-pressed="true"] .dew-ico { color: var(--dew-paper); }
.dew-top__tel { display: inline-flex; align-items: center; gap: var(--dew-s2); color: inherit !important; text-decoration: none; font-weight: 650; padding-inline: var(--dew-s2); min-height: 2.75rem; }
.dew-menu { margin-left: auto; flex: none; }
.dew-menu summary { list-style: none; cursor: pointer; min-height: 2.75rem; display: inline-flex; align-items: center; gap: var(--dew-s3); font-weight: 650; padding: 0 var(--dew-s4); border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: var(--dew-radius); }
.dew-menu summary::-webkit-details-marker { display: none; }
.dew-menu__bars { width: 1.1rem; height: 2px; background: currentColor; box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor; }
/* Panel menu wysuwa się spod nagłówka i tam wraca; zasłona przyciemnia stronę. Bez JS panel wisi pod nagłówkiem. */
.dew-menu__panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 2; background: var(--dew-paper); color: var(--dew-ink); padding: var(--dew-s4); box-shadow: var(--dew-shadow); display: grid; gap: var(--dew-s4); box-sizing: border-box; }
.dew-menu__scrim { display: none; }
html.dew-js .dew-menu__panel { position: fixed; top: var(--dew-menu-top, var(--dew-header-h)); max-height: calc(100dvh - var(--dew-menu-top, var(--dew-header-h))); overflow-y: auto; overscroll-behavior: contain; opacity: 0; transform: translateY(-0.75rem); transition: opacity .2s ease-out, transform .32s var(--dew-ease); }
html.dew-js .dew-menu__scrim { display: block; position: fixed; inset: var(--dew-menu-top, var(--dew-header-h)) 0 0; z-index: 1; background: rgba(8, 16, 18, .45); opacity: 0; transition: opacity .25s ease-out; }
html.dew-js .dew-menu.is-open .dew-menu__panel { opacity: 1; transform: none; }
html.dew-js .dew-menu.is-open .dew-menu__scrim { opacity: 1; }
.dew-menu__panel nav { display: grid; }
.dew-menu__panel nav a { display: flex; align-items: center; min-height: 3rem; border-bottom: 1px solid var(--dew-line); color: var(--dew-ink) !important; text-decoration: none; font-size: 1.1rem; }
.dew-menu__tools { display: flex; flex-wrap: wrap; gap: var(--dew-s2); align-items: center; }
.dew-menu__tools .dew-btn--sm { background: var(--dew-accent) !important; border-color: var(--dew-accent) !important; color: var(--dew-on-accent) !important; }
@media (min-width: 75rem) {
  .dew-nav, .dew-top__act { display: flex; }
  .dew-menu { display: none; }
  .dew-brand { margin-right: 0; flex: none; }
  .dew-brand__name { white-space: nowrap; }
  .dew-nav { margin-inline: auto; }
  /* Za mało miejsca na nazwę i menu w jednym wierszu (długa nazwa, większy tekst): jak na tablecie. */
  .dew-top.is-compact .dew-nav, .dew-top.is-compact .dew-top__act { display: none; }
  .dew-top.is-compact .dew-menu { display: block; }
  .dew-top.is-compact .dew-brand { margin-right: auto; }
}
@media (max-width: 99.99rem) { .dew-top__tel span { display: none; } }
.dew-top__act .dew-btn--sm { white-space: nowrap; }
@media (min-width: 75rem) and (max-width: 84.99rem) { .dew-brand__name small { display: none; } }
/* Nad zdjęciem: bez materiału, biały tekst; po przewinięciu albo z otwartym menu materiał wraca. */
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) { color: #fff; }
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu)::before { opacity: 0; }
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) .dew-mark__bg { fill: #fff; }
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) .dew-mark__fg { fill: var(--dew-ink); }
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) .dew-mark__win { fill: #fff; }
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) .dew-top__act .dew-btn--sm { background: #fff; border-color: #fff; color: var(--dew-ink) !important; }
body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) :is(.dew-icon-btn:not([aria-pressed="true"]), .dew-menu summary) { background: rgba(8, 16, 18, .3); border-color: rgba(255, 255, 255, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
html.dew-contrast .dew-top::before { background: var(--dew-paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
html.dew-contrast .dew-top.is-scrolled { box-shadow: 0 2px 0 #000; }
/* Wysoki kontrast: główny przycisk na zdjęciu zawsze biały (wyglądy 2 i 4 mają tam kolor akcentu, który w kontraście jest czarny). */
html.dew-contrast body :is(.dew-hero--img, .dew-cta) .dew-btn--lg:not(.dew-btn--glass) { background: #fff !important; border-color: #fff !important; color: #000 !important; }

/* ---------- Przyciski ---------- */
.dew-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--dew-s2); min-height: 3rem; padding: 0 var(--dew-s5); font: inherit; font-size: 1rem; font-weight: 650; text-decoration: none; cursor: pointer; border-radius: var(--dew-radius); border: 2px solid var(--dew-accent); background: var(--dew-accent); color: var(--dew-on-accent) !important; box-sizing: border-box; transition: background-color .2s, border-color .2s, color .2s, transform .1s ease-out; }
.dew-btn .dew-ico { transition: transform .2s; }
.dew-btn--lg { min-height: 3.5rem; padding: 0 var(--dew-s6); font-size: 1.08rem; }
.dew-btn--sm { min-height: 2.75rem; padding: 0 var(--dew-s4); font-size: 0.95rem; }
.dew-btn--ghost { background: transparent; color: var(--dew-accent) !important; }
.dew-btn--glass { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.7); color: #fff !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dew-hero:not(.dew-hero--img) .dew-btn--glass { background: transparent; border-color: var(--dew-accent); color: var(--dew-accent) !important; }
.dew-link { white-space: nowrap; font-size: 0.95rem; }
.dew-more-link { display: inline-flex; align-items: center; gap: var(--dew-s2); min-height: 2.75rem; font-weight: 650; margin-top: var(--dew-s2); }

/* Reakcja od pierwszego dotknięcia: lekkie wciśnięcie na :active (100 ms), bez szarego błysku przeglądarki. */
:is(.dew-btn, .dew-icon-btn, .dew-seg button, .dew-view button, .dew-menu summary, .dew-demo__nav a, .dew-demo__step a, .dew-lb__btn, .dew-reset, .dew-fsheet__x, .dew-card a, .dew-inv a, .dew-gal__b, .dew-docs a) { -webkit-tap-highlight-color: transparent; }
:is(.dew-icon-btn, .dew-seg button, .dew-view button, .dew-menu summary, .dew-demo__nav a, .dew-demo__step a, .dew-reset, .dew-fsheet__x, .dew-docs a) { transition: transform .1s ease-out, background-color .2s, color .2s, border-color .2s; }
:is(.dew-btn, .dew-icon-btn, .dew-seg button, .dew-view button, .dew-menu summary, .dew-demo__nav a, .dew-demo__step a, .dew-reset, .dew-fsheet__x):active { transform: scale(.96); }
:is(.dew-card a, .dew-inv a, .dew-docs a):active { transform: scale(.985); transition-duration: .1s; }
.dew-gal__b { transition: transform .1s ease-out; }
.dew-gal__b:active { transform: scale(.98); }

/* Efekty najechania tylko tam, gdzie jest mysz (na dotyku nie zostają „przyklejone” po stuknięciu). */
@media (hover: hover) {
  .dew-btn:hover { background: var(--dew-accent-dark); border-color: var(--dew-accent-dark); }
  .dew-btn:hover .dew-ico { transform: translateX(3px); }
  .dew-btn--ghost:hover { background: var(--dew-mist); color: var(--dew-accent-dark) !important; }
  .dew-btn--glass:hover { background: #fff; border-color: #fff; color: var(--dew-ink) !important; }
  .dew-nav a:hover::after { transform: scaleX(1); }
  .dew-card a:hover, .dew-inv a:hover { transform: translateY(-4px); box-shadow: var(--dew-shadow); border-color: transparent; }
  .dew-card a:hover:active, .dew-inv a:hover:active { transform: translateY(-4px) scale(.985); }
  .dew-gal__b:hover .dew-gal__img { transform: scale(1.05); }
  .dew-inv a:hover .dew-inv__img img { transform: scale(1.04); }
  .dew-docs a:hover { border-color: var(--dew-ink); }
  .dew-units tbody tr:hover { background: var(--dew-mist); }
  .dew-el__a:hover .dew-el__u { filter: brightness(.93); stroke-width: 4; }
}

/* ---------- Hero ---------- */
.dew-hero { position: relative; isolation: isolate; padding-block: var(--dew-s7) var(--dew-s8); }
.dew-hero__in { display: grid; gap: var(--dew-s6); align-items: end; }
.dew-hero h1 { font-size: clamp(2.6rem, 1.2rem + 5.4vw, 5.6rem); line-height: 0.98; margin-bottom: var(--dew-s5); }
.dew-hero__lead { font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem); max-width: 36ch; margin: 0 0 var(--dew-s5); opacity: .92; }
.dew-chips { display: flex; flex-wrap: wrap; gap: var(--dew-s2); list-style: none; margin: 0 0 var(--dew-s6); padding: 0; }
.dew-chips li { display: inline-flex; align-items: center; gap: var(--dew-s2); padding: var(--dew-s2) var(--dew-s4); border-radius: 999px; background: var(--dew-mist); font-size: 0.98rem; font-weight: 560; }
.dew-hero__cta { display: flex; flex-wrap: wrap; gap: var(--dew-s3); }
.dew-hero__draw { margin: 0; background: var(--dew-mist); border-radius: var(--dew-radius-lg); padding: var(--dew-s5); }
.dew-hero__draw .dew-legend { justify-content: center; }
.dew-hero--img { color: #fff; min-height: min(92vh, 56rem); display: flex; align-items: flex-end; margin-top: calc(-1 * var(--dew-header-h)); padding-top: calc(var(--dew-header-h) + var(--dew-s7)); box-sizing: border-box; }
.dew-hero--img > .dew-wrap { width: 100%; }
.dew-hero__bg { position: absolute; inset: 0; z-index: -1; background: #20302f; overflow: hidden; }
.dew-hero__bg::after { content: ""; position: absolute; inset: 0; background: var(--dew-hero-shade); }
/* Przyciemnienie pod nagłówkiem: menu i ikony czytelne także na jasnym niebie. */
.dew-hero__bg::before { content: ""; position: absolute; inset: 0 0 auto; z-index: 1; height: calc(var(--dew-header-h) + 5rem); background: linear-gradient(rgba(6, 14, 16, .5), rgba(6, 14, 16, 0)); pointer-events: none; }
.dew-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; animation: dew-zoom 14s ease-out both; }
@keyframes dew-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
.dew-hero--img .dew-chips li { background: rgba(255,255,255,.14); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.25); }
.dew-hero__card { background: rgba(255,255,255,.96); color: var(--dew-ink); border-radius: var(--dew-radius-lg); padding: var(--dew-s5); box-shadow: var(--dew-shadow); max-width: 22rem; }
.dew-hero__card p { margin: 0 0 var(--dew-s3); font-size: 0.98rem; }
.dew-hero__free { font-size: 1.05rem !important; font-weight: 600; }
.dew-hero__free strong { display: block; font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-size: 3.2rem; line-height: 1; color: var(--dew-accent); font-weight: var(--dew-head-weight); }
.dew-hero__card a { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 650; color: var(--dew-accent); }
.dew-hero__cap { position: absolute; right: var(--dew-s4); bottom: var(--dew-s2); margin: 0; font-size: 0.78rem; color: rgba(255,255,255,.8); }
/* Karty atutów wchodzą na dół hero, więc podpis stoi nad nimi. */
.dew-hero--img:has(+ .dew-perks) .dew-hero__cap { bottom: calc(var(--dew-s7) + var(--dew-s2)); }
@media (min-width: 62rem) { .dew-hero__in { grid-template-columns: 1fr auto; } .dew-hero:not(.dew-hero--img) .dew-hero__in { grid-template-columns: 1fr 1.05fr; align-items: center; } }

/* ---------- Atuty ---------- */
.dew-perks { position: relative; z-index: 2; }
.dew-perks__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dew-s3); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.dew-hero--img + .dew-perks .dew-perks__list { margin-top: calc(-1 * var(--dew-s7)); }
.dew-perk { background: var(--dew-paper); border-radius: var(--dew-radius-lg); padding: var(--dew-s5); box-shadow: var(--dew-shadow); border: 1px solid var(--dew-line); }
.dew-perk__ico { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--dew-accent); color: var(--dew-on-accent); margin-bottom: var(--dew-s3); }
.dew-perk__ico .dew-ico { width: 1.4rem; height: 1.4rem; }
.dew-perks .dew-perk__t { font-size: 1.2rem; margin-bottom: var(--dew-s1); }
.dew-perk p { margin: 0; color: var(--dew-ink-2); font-size: 0.98rem; }
@media (max-width: 40rem) { .dew-perk { display: grid; grid-template-columns: 3rem 1fr; column-gap: var(--dew-s4); padding: var(--dew-s4); } .dew-perk__ico { grid-row: span 2; margin: 0; } .dew-perks__list { gap: var(--dew-s2); } }

/* ---------- Sekcje ---------- */
.dew-section { padding-block: var(--dew-s9) var(--dew-s8); }
.dew-section--mist { background: var(--dew-mist); }
.dew-section__head { margin-bottom: var(--dew-s6); max-width: 52rem; }
.dew-section__head p { color: var(--dew-ink-2); margin: 0; font-size: 1.12rem; }
.dew-cols2 { display: grid; gap: var(--dew-s7); }
@media (min-width: 60rem) { .dew-cols2 { grid-template-columns: 1.15fr 1fr; } .dew-cols2--map { grid-template-columns: 1.3fr 1fr; } }
.dew-section .dew-cols2 { margin-top: var(--dew-s6); }
.dew-section .dew-section__head + .dew-cols2 { margin-top: 0; }
.dew-prose p { max-width: 60ch; font-size: 1.12rem; }
.dew-intro__grid { display: grid; gap: var(--dew-s7); align-items: center; }
@media (min-width: 60rem) { .dew-intro__grid { grid-template-columns: 1fr 1.1fr; } }
.dew-intro h2 { font-size: clamp(2.1rem, 1.3rem + 2.8vw, 3.4rem); }
.dew-intro__media { position: relative; padding-bottom: var(--dew-s7); }
.dew-intro__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--dew-radius-lg); display: block; }
.dew-intro__img2 { position: absolute; left: calc(-1 * var(--dew-s6)); bottom: 0; width: 42%; aspect-ratio: 1; object-fit: cover; border-radius: var(--dew-radius-lg); border: 6px solid var(--dew-paper); box-shadow: var(--dew-shadow); }
@media (max-width: 59.99rem) { .dew-intro__img2 { left: var(--dew-s3); } }
.dew-split { display: grid; gap: var(--dew-s7); align-items: center; }
@media (min-width: 60rem) { .dew-split { grid-template-columns: 1fr 1fr; } .dew-std-sec .dew-split { align-items: start; } .dew-std-sec .dew-split__media { position: sticky; top: calc(var(--dew-header-h) + var(--dew-s5)); } }
.dew-split__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--dew-radius-lg); display: block; }

/* ---------- Wybór na rysunku ---------- */
.dew-pick { margin-bottom: var(--dew-s6); background: var(--dew-paper); border: 1px solid var(--dew-line); border-radius: var(--dew-radius-lg); padding: var(--dew-s5); }
.dew-pick h3 { margin-bottom: var(--dew-s3); }
.dew-pick__grid { display: grid; gap: var(--dew-s5); }
@media (min-width: 60rem) { .dew-pick__grid:has(> :nth-child(2)) { grid-template-columns: 1fr 1fr; } }
.dew-pick__b { margin: 0; }
.dew-pick__b figcaption { font-weight: 650; margin-bottom: var(--dew-s2); }
/* Telefon: zwarta elewacja z numerami zamiast pełnej z opisami (podpisy były za małe do czytania). */
.dew-pick__compact { display: none; }
@media (max-width: 47.99rem) {
  .dew-pick { padding: var(--dew-s4); }
  .dew-pick__full { display: none; }
  .dew-pick__compact { display: block; }
  .dew-plan .dew-plan__n { font-size: 38px; }
  .dew-plan__st { display: none; }
  .dew-plan__label { font-size: 30px; }
  .dew-plan__north text { font-size: 34px; }
}
.dew-el--compact .dew-el__n { font-size: 17px; }
.dew-el--compact .dew-el__floor { font-size: 13px; }
.dew-el, .dew-plan { width: 100%; height: auto; display: block; font-family: var(--dew-font); }
.dew-el__body { fill: var(--dew-paper); stroke: var(--dew-ink); stroke-width: 2; }
.dew-el__roof { fill: var(--dew-ink); }
.dew-el__ground { fill: var(--dew-line); }
.dew-el__floor { font-size: 15px; fill: var(--dew-ink-2); }
.dew-el__u { stroke-width: 2; transition: filter .15s; }
.dew-el__u--wolny { fill: var(--dew-free-bg); stroke: var(--dew-free); }
.dew-el__u--zarezerwowany { fill: var(--dew-res-bg); stroke: var(--dew-res); }
.dew-el__u--sprzedany { stroke: var(--dew-sold); }
.dew-el__hbg { fill: var(--dew-sold-bg); }
.dew-el__hl { stroke: #d3d9db; stroke-width: 3; }
.dew-el__u.is-current { stroke: var(--dew-ink); stroke-width: 5; }
.dew-el__n { font-size: 22px; font-weight: 750; fill: var(--dew-ink); }
.dew-el text, .dew-plan text { text-decoration: none; }
.dew-el__d { font-size: 15px; fill: var(--dew-ink); }
.dew-el__a { text-decoration: none; cursor: pointer; }
.dew-el__a:focus .dew-el__u { filter: brightness(.93); stroke-width: 4; }
.dew-el__a:focus { outline: none; }
.dew-el__a:focus-visible .dew-el__u { stroke: var(--dew-focus); stroke-width: 5; }
.dew-el--mini { max-width: 20rem; }
.dew-hero__draw .dew-el--mini { max-width: none; }
.dew-plan__bg { fill: #e7efe4; }
html.dew-contrast .dew-plan__bg { fill: #fff; stroke: #000; }
.dew-plan__road { fill: #d7dbd9; }
.dew-plan__label { font-size: 15px; fill: var(--dew-ink-2); }
.dew-plan__tree { fill: #b9d3b1; }
.dew-plan__north path { fill: var(--dew-ink); }
.dew-plan__north text { font-size: 16px; font-weight: 700; fill: var(--dew-ink); }
.dew-plan__plot { stroke-width: 2; }
.dew-plan__house { fill: var(--dew-paper); stroke: var(--dew-ink); stroke-width: 2; pointer-events: none; }
.dew-plan__st { font-size: 14px; fill: var(--dew-ink); text-anchor: middle; }
.dew-legend { display: flex; flex-wrap: wrap; gap: var(--dew-s2) var(--dew-s5); list-style: none; padding: 0; margin: var(--dew-s3) 0 0; font-size: 0.95rem; }
.dew-legend li { display: inline-flex; align-items: center; gap: var(--dew-s2); }
.dew-legend__sw { width: 1.1rem; height: 1.1rem; border-radius: 3px; border: 2px solid; }
.dew-legend__sw--wolny { background: var(--dew-free-bg); border-color: var(--dew-free); }
.dew-legend__sw--zarezerwowany { background: var(--dew-res-bg); border-color: var(--dew-res); }
.dew-legend__sw--sprzedany { background: repeating-linear-gradient(45deg, var(--dew-sold-bg) 0 4px, #d3d9db 4px 6px); border-color: var(--dew-sold); }

/* ---------- Filtry ---------- */
.dew-filters { display: flex; flex-wrap: wrap; gap: var(--dew-s4) var(--dew-s5); align-items: flex-end; margin-bottom: var(--dew-s4); padding: var(--dew-s5); border-radius: var(--dew-radius-lg); background: var(--dew-paper); box-shadow: var(--dew-shadow); border: 1px solid var(--dew-line); }
.dew-field { display: grid; gap: var(--dew-s1); border: 0; padding: 0; margin: 0; min-width: 0; font-size: 0.95rem; }
.dew-field > span, .dew-field legend { font-weight: 650; padding: 0; margin-bottom: var(--dew-s1); }
.dew-field--num input { width: 6.5rem; }
.dew-select, .dew-input { font: inherit; font-size: 1rem; min-height: 2.9rem; padding: 0 var(--dew-s3); border: 1px solid #a6b1b3; border-radius: var(--dew-radius); background: var(--dew-paper); color: var(--dew-ink); box-sizing: border-box; }
.dew-seg { display: flex; flex-wrap: wrap; gap: var(--dew-s1); }
.dew-seg button { font: inherit; font-size: 1rem; min-width: 2.9rem; min-height: 2.9rem; padding: 0 var(--dew-s3); border: 1px solid var(--dew-line); background: var(--dew-paper); color: var(--dew-ink); border-radius: var(--dew-radius); cursor: pointer; }
.dew-seg button[aria-pressed="true"] { background: var(--dew-accent); color: var(--dew-on-accent); border-color: var(--dew-accent); }
.dew-checks { display: flex; flex-wrap: wrap; gap: var(--dew-s1) var(--dew-s5); }
.dew-checks label { display: inline-flex; align-items: center; gap: var(--dew-s2); min-height: 2.75rem; cursor: pointer; }
.dew-checks input { width: 1.2rem; height: 1.2rem; accent-color: var(--dew-accent); }
.dew-count { color: var(--dew-ink-2); }
.dew-viewbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--dew-s3); margin: var(--dew-s5) 0 var(--dew-s4); }
.dew-result { font-weight: 650; margin: 0 !important; }
.dew-view { display: inline-flex; border: 1px solid var(--dew-line); border-radius: var(--dew-radius); padding: 3px; background: var(--dew-paper); }
.dew-view button { display: inline-flex; align-items: center; gap: var(--dew-s2); font: inherit; font-size: 0.95rem; min-height: 2.75rem; padding: 0 var(--dew-s4); border: 0; border-radius: calc(var(--dew-radius) - 2px); background: transparent; color: var(--dew-ink); cursor: pointer; }
.dew-view button[aria-pressed="true"] { background: var(--dew-ink); color: var(--dew-paper); }
.dew-reset { font: inherit; font-size: 0.95rem; font-weight: 650; color: var(--dew-accent); background: none; border: 0; min-height: 2.75rem; padding: 0 var(--dew-s2); margin-right: auto; cursor: pointer; text-decoration: underline; text-underline-offset: .18em; }
.dew-reset[hidden] { display: none; }
.dew-empty { padding: var(--dew-s5); border: 1px dashed var(--dew-ink-2); border-radius: var(--dew-radius); }
.dew-empty p { margin: 0 0 var(--dew-s3) !important; }
.dew-empty[hidden] { display: none; }

/* Filtry: na komputerze arkusz nie istnieje (display: contents), na telefonie to dolny arkusz z przeciąganiem. */
.dew-filters__open, .dew-fsheet__scrim, .dew-fsheet__head, .dew-fsheet__foot { display: none; }
.dew-fsheet, .dew-fsheet__panel, .dew-fsheet__body { display: contents; }
.dew-filters__n:not(:empty) { display: inline-grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding: 0 0.35rem; border-radius: 0.75rem; background: var(--dew-accent); color: var(--dew-on-accent); font-size: 0.85rem; box-sizing: border-box; }
@media (max-width: 47.99rem) {
  .dew-filters { padding: var(--dew-s4); gap: var(--dew-s3); }
  .dew-filters__open { display: inline-flex; width: 100%; }
  .dew-fsheet { display: none; position: fixed; inset: 0; z-index: 90; }
  .dew-fsheet.is-open { display: block; }
  .dew-fsheet__scrim { display: block; position: absolute; inset: 0; background: rgba(8, 16, 18, .45); opacity: var(--fs-p, 0); }
  .dew-fsheet__panel { display: flex; flex-direction: column; position: absolute; left: 0; right: 0; bottom: 0; max-height: 88dvh; background: var(--dew-paper); color: var(--dew-ink); border-radius: var(--dew-radius-lg) var(--dew-radius-lg) 0 0; box-shadow: 0 -12px 40px -12px rgba(0, 0, 0, .35); transform: translateY(var(--fs-y, 100%)); will-change: transform; }
  .dew-fsheet__head { display: flex; align-items: center; justify-content: space-between; gap: var(--dew-s3); position: relative; padding: var(--dew-s4) var(--dew-s4) var(--dew-s2); touch-action: none; cursor: grab; }
  .dew-fsheet__grab { position: absolute; top: 0.4rem; left: 50%; width: 2.5rem; height: 5px; margin-left: -1.25rem; border-radius: 3px; background: var(--dew-line); }
  .dew-fsheet__title { margin: 0 !important; font-weight: 700; font-size: 1.15rem; }
  .dew-fsheet__x { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--dew-mist); color: var(--dew-ink); cursor: pointer; }
  .dew-fsheet__body { display: grid; grid-template-columns: 1fr 1fr; gap: var(--dew-s4); padding: var(--dew-s2) var(--dew-s4) var(--dew-s5); overflow-y: auto; overscroll-behavior: contain; }
  .dew-fsheet__body > * { grid-column: 1 / -1; }
  .dew-fsheet__body > .dew-field--num { grid-column: auto; }
  .dew-fsheet__body .dew-select, .dew-fsheet__body .dew-input { width: 100%; }
  .dew-fsheet__foot { display: flex; gap: var(--dew-s3); padding: var(--dew-s3) var(--dew-s4) max(var(--dew-s3), env(safe-area-inset-bottom)); border-top: 1px solid var(--dew-line); }
  .dew-fsheet__foot .dew-btn:first-child { flex: 1; }
}

/* ---------- Status ---------- */
.dew-st { display: inline-flex; align-items: center; gap: var(--dew-s2); white-space: nowrap; }
.dew-st::before { content: ""; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--dew-free); flex: none; }
.dew-st--zarezerwowany::before { background: var(--dew-res); }
.dew-st--sprzedany::before { background: var(--dew-sold); }
.dew-tag { display: inline-block; margin-left: var(--dew-s2); font-size: 0.78rem; font-weight: 700; color: var(--dew-res-ink); background: var(--dew-res-bg); padding: 1px 8px; border-radius: 999px; }

/* ---------- Karty lokali ---------- */
.dew-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dew-s4); grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); }
.dew-card a { display: flex; flex-direction: column; height: 100%; background: var(--dew-paper); border: 1px solid var(--dew-line); border-radius: var(--dew-radius-lg); overflow: hidden; color: var(--dew-ink) !important; text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.dew-card__plan { background: var(--dew-mist); padding: var(--dew-s3) var(--dew-s5); aspect-ratio: 2 / 1; display: grid; place-items: center; transition: opacity .2s; }
.dew-card__plan .dew-rz { max-height: 100%; width: 100%; }
.dew-rz--bare .dew-rz__room { fill: var(--dew-paper); stroke-width: 4; }
.dew-rz--bare .dew-rz__wall { stroke-width: 10; }
.dew-card__body { padding: var(--dew-s4) var(--dew-s5) var(--dew-s5); display: grid; gap: var(--dew-s1); }
.dew-card__top { display: flex; justify-content: space-between; align-items: center; gap: var(--dew-s3); }
.dew-card__num { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-weight: var(--dew-head-weight); font-size: 1.6rem; line-height: 1; }
.dew-card .dew-st { font-size: 0.9rem; }
.dew-card p { margin: 0; }
.dew-card__inv { font-size: 0.92rem; color: var(--dew-accent); font-weight: 650; }
.dew-card__meta { color: var(--dew-ink); font-weight: 560; font-size: 0.98rem; }
.dew-card__price { font-size: 1.45rem; font-weight: 760; margin-top: var(--dew-s2) !important; }
.dew-card__m2 { font-size: 0.92rem; color: var(--dew-ink-2); }
/* Sprzedane: wyszarzony rzut, tekst w pełnym kontraście. */
.dew-card.is-sprzedany .dew-card__plan { opacity: .5; filter: grayscale(1); }
.dew-card.is-sprzedany .dew-card__price { color: var(--dew-ink-2); }

/* ---------- Tabele ---------- */
.dew-tablewrap { width: 100%; background: var(--dew-paper); border-radius: var(--dew-radius-lg); }
.dew-units, .dew-tbl { width: 100%; border-collapse: collapse; }
.dew-units th, .dew-units td, .dew-tbl th, .dew-tbl td { padding: var(--dew-s3); text-align: left; border-bottom: 1px solid var(--dew-line); vertical-align: middle; }
.dew-units thead th, .dew-tbl thead th { font-size: 0.9rem; font-weight: 650; color: var(--dew-ink-2); border-bottom: 2px solid var(--dew-ink); background: var(--dew-paper); }
.dew-section--mist .dew-tbl thead th { background: var(--dew-mist); }
.dew-units thead th { position: sticky; top: var(--dew-header-h); z-index: 2; }
.dew-units .num, .dew-tbl .num { text-align: right; white-space: nowrap; }
.dew-c-unit { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-size: 1.15rem; font-weight: 720; }
.dew-c-unit a { text-decoration: none; }
.dew-c-price strong { font-size: 1.12rem; font-weight: 720; }
.dew-units tr.is-sprzedany :is(td, th) { color: var(--dew-ink-2); }
.dew-c-act { text-align: right; }
.dew-tbl td strong { font-weight: 680; }
:is(.dew-std, .dew-tbl, .dew-tablewrap, .dew-docs) + h3 { margin-top: var(--dew-s6); }
.dew-change--down { color: var(--dew-free); font-weight: 650; }
.dew-change--up { color: var(--dew-ink); font-weight: 650; }
@media (max-width: 47.99rem) {
  .dew-units thead, .dew-tbl--stack thead { display: none; }
  .dew-units, .dew-units tbody, .dew-units tr, .dew-units td, .dew-units th,
  .dew-tbl--stack, .dew-tbl--stack tbody, .dew-tbl--stack tr, .dew-tbl--stack td { display: block; width: 100%; box-sizing: border-box; }
  .dew-units tr { border: 1px solid var(--dew-line); border-radius: var(--dew-radius); margin-bottom: var(--dew-s3); padding: var(--dew-s3) var(--dew-s4); background: var(--dew-paper); }
  .dew-units td, .dew-tbl--stack td { display: flex; justify-content: space-between; gap: var(--dew-s4); border: 0; padding: var(--dew-s1) 0; text-align: right; }
  .dew-units td::before, .dew-tbl--stack td::before { content: attr(data-label); color: var(--dew-ink-2); text-align: left; font-weight: 400; }
  .dew-units .dew-c-unit { border: 0; padding: 0 0 var(--dew-s2); }
  .dew-units .dew-c-act { justify-content: flex-start; }
  .dew-units .dew-c-act::before { content: none; }
  .dew-c-price { flex-wrap: wrap; }
  .dew-tbl--stack tr { border-bottom: 1px solid var(--dew-line); padding: var(--dew-s3) 0; }
  .dew-tbl--stack td:first-child { display: block; text-align: left; font-weight: 650; }
  .dew-tbl--stack td:first-child::before { content: none; }
  .dew-units .num, .dew-tbl .num { white-space: normal; }
}
.dew-more { margin-top: var(--dew-s3); border: 1px solid var(--dew-line); border-radius: var(--dew-radius); background: var(--dew-paper); }
.dew-more summary { cursor: pointer; padding: var(--dew-s3) var(--dew-s4); min-height: 2.75rem; display: flex; align-items: center; font-weight: 650; color: var(--dew-accent); }
.dew-more[open] summary { border-bottom: 1px solid var(--dew-line); }
.dew-more .dew-tbl thead th { background: var(--dew-paper); }
.dew-tablewrap + .dew-more { margin-top: var(--dew-s5); }
.dew-more + .dew-note { margin-top: var(--dew-s3); }

/* ---------- Galeria ---------- */
/* Układ zależy od liczby zdjęć (klasa dew-gal--nN z render.php), tak żeby ostatni rząd był pełny. */
.dew-gal { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dew-s3); grid-template-columns: repeat(2, 1fr); }
.dew-gal__i--big { grid-column: span 2; }
@media (max-width: 59.99rem) { .dew-gal--even .dew-gal__i:last-child { grid-column: span 2; } }
@media (min-width: 60rem) {
  .dew-gal { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 14rem; grid-auto-flow: dense; }
  .dew-gal__i--big { grid-row: span 2; }
  .dew-gal--n3, .dew-gal--n6 { grid-template-columns: repeat(3, 1fr); }
  .dew-gal--n2 { grid-template-columns: repeat(2, 1fr); }
  .dew-gal--n2 .dew-gal__i--big { grid-column: span 1; }
  .dew-gal--n4 .dew-gal__i:nth-child(2), .dew-gal--n7 .dew-gal__i:nth-child(n+6), .dew-gal--n8 .dew-gal__i:nth-child(6) { grid-column: span 2; }
}
.dew-gal__b { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: var(--dew-radius-lg); overflow: hidden; cursor: zoom-in; background: var(--dew-mist); }
.dew-gal__img { width: 100%; height: 100%; min-height: 10rem; object-fit: cover; display: block; transition: transform .5s; }
.dew-gal__cap { position: absolute; left: var(--dew-s3); bottom: var(--dew-s3); background: rgba(10,20,22,.72); color: #fff; font-size: 0.88rem; padding: 4px 10px; border-radius: 999px; }

/* Powiększenie: pełny ekran, zdjęcie wyrasta z miniatury i wraca do niej; przesuwanie palcem obsługuje dew.js. */
.dew-lb { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; overflow: hidden; color: #fff; }
.dew-lb::backdrop { background: transparent; }
.dew-lb__scrim { position: absolute; inset: 0; background: rgb(5, 10, 12); opacity: var(--lb-scrim, .92); }
.dew-lb__track { position: absolute; inset: 0; touch-action: none; -webkit-user-select: none; user-select: none; }
.dew-lb__slide { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: 4.5rem var(--dew-s4) 6rem; box-sizing: border-box; }
@media (min-width: 48rem) { .dew-lb__slide { padding: 4.5rem 5.5rem 5rem; } }
.dew-lb__slide img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: var(--dew-radius); transform-origin: 0 0; -webkit-user-drag: none; }
.dew-lb__bar { position: absolute; left: 0; right: 0; bottom: 0; max-width: none; display: flex; justify-content: center; align-items: center; gap: var(--dew-s4); min-height: 4.5rem; margin: 0; padding: var(--dew-s2) 4.5rem max(var(--dew-s2), env(safe-area-inset-bottom)); box-sizing: border-box; font-size: 1rem; text-align: center; opacity: var(--lb-ui, 1); pointer-events: none; }
.dew-lb__count { color: rgba(255, 255, 255, .72); white-space: nowrap; }
.dew-lb__btn { position: absolute; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .94); color: #111; cursor: pointer; opacity: var(--lb-ui, 1); transition: transform .1s ease-out; }
.dew-lb__btn[hidden] { display: none; }
.dew-lb__close { top: var(--dew-s4); right: var(--dew-s4); }
.dew-lb__prev, .dew-lb__next { top: 50%; margin-top: -1.5rem; }
.dew-lb__prev { left: var(--dew-s4); }
.dew-lb__next { right: var(--dew-s4); }
@media (max-width: 47.99rem) { .dew-lb__prev, .dew-lb__next { top: auto; bottom: max(var(--dew-s3), env(safe-area-inset-bottom)); margin-top: 0; } }

/* ---------- Pas CTA ---------- */
.dew-cta { position: relative; isolation: isolate; color: #fff; padding-block: var(--dew-s9); overflow: hidden; }
.dew-cta__bg { position: absolute; inset: 0; z-index: -1; }
.dew-cta__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,20,22,.82), rgba(8,20,22,.35)); }
.dew-cta__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dew-cta h2 { font-size: clamp(2.2rem, 1.3rem + 3vw, 3.6rem); max-width: 18ch; }
.dew-cta p { font-size: 1.2rem; max-width: 46ch; margin: 0 0 var(--dew-s5); }

/* ---------- Aktualność danych ---------- */
.dew-fresh { background: var(--dew-mist); border-radius: var(--dew-radius-lg); margin-bottom: var(--dew-s5); }
.dew-fresh__in { display: flex; flex-wrap: wrap; align-items: center; gap: var(--dew-s2) var(--dew-s6); padding-block: var(--dew-s3); }
.dew-fresh p { margin: 0 !important; }
.dew-fresh__files a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; margin-right: var(--dew-s1); font-weight: 650; }
.dew-fresh__gov { color: var(--dew-ink-2); }

/* ---------- Listy ---------- */
.dew-std { margin: 0; }
.dew-std div { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: var(--dew-s4); padding: var(--dew-s4) 0; border-bottom: 1px solid var(--dew-line); }
.dew-std dt { font-weight: 680; }
.dew-std dd { margin: 0; color: var(--dew-ink-2); }
@media (max-width: 30rem) { .dew-std div { grid-template-columns: 1fr; gap: var(--dew-s1); } }
.dew-map iframe { width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: var(--dew-radius-lg); display: block; background: var(--dew-paper); box-shadow: var(--dew-shadow); }
.dew-poi { list-style: none; margin: 0; padding: 0; }
.dew-poi li { display: grid; grid-template-columns: 2.75rem 1fr auto; align-items: center; gap: var(--dew-s3); padding: var(--dew-s3) 0; border-bottom: 1px solid var(--dew-line); }
.dew-poi__ico { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--dew-paper); color: var(--dew-accent); }
.dew-section:not(.dew-section--mist) .dew-poi__ico { background: var(--dew-mist); }
.dew-poi__dist { white-space: nowrap; font-weight: 700; font-size: 1.05rem; }
.dew-steps { list-style: none; margin: 0; padding: 0 0 0 var(--dew-s5); border-left: 2px solid var(--dew-line); }
.dew-steps li { position: relative; padding-bottom: var(--dew-s5); display: grid; }
.dew-steps li::before { content: ""; position: absolute; left: calc(-1 * var(--dew-s5) - 0.55rem); top: 0.3rem; width: 0.95rem; height: 0.95rem; border-radius: 50%; background: var(--dew-paper); border: 2px solid var(--dew-line); }
.dew-steps li.is-done::before { background: var(--dew-accent); border-color: var(--dew-accent); }
.dew-steps li.is-now::before { border-color: var(--dew-accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--dew-accent) 22%, transparent); }
.dew-steps__when { color: var(--dew-ink-2); font-size: 0.95rem; }
.dew-steps li.is-now .dew-steps__when { color: var(--dew-accent); font-weight: 700; }
.dew-steps__what { font-weight: 640; font-size: 1.08rem; }
/* Harmonogram bez wiadomości z budowy: w poziomie, na całą szerokość. */
@media (min-width: 60rem) {
  .dew-steps--row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--dew-s5); padding: var(--dew-s5) 0 0; border-left: 0; border-top: 2px solid var(--dew-line); }
  .dew-steps--row li { padding-bottom: 0; }
  .dew-steps--row li::before { left: 0; top: calc(-1 * var(--dew-s5) - 0.6rem); }
}
.dew-news { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dew-s4); }
.dew-news li { background: var(--dew-mist); border-radius: var(--dew-radius-lg); padding: var(--dew-s4) var(--dew-s5); }
.dew-news time { color: var(--dew-accent); font-size: 0.92rem; font-weight: 650; }
.dew-news h4 { font-size: 1.15rem; margin: var(--dew-s1) 0; }
.dew-news p { margin: 0; color: var(--dew-ink-2); }
.dew-docs { list-style: none; margin: 0 0 var(--dew-s4); padding: 0; display: grid; gap: var(--dew-s3); }
.dew-docs a, .dew-docs__item { display: flex; align-items: center; gap: var(--dew-s3); padding: var(--dew-s4); border: 1px solid var(--dew-line); border-radius: var(--dew-radius); background: var(--dew-paper); color: var(--dew-ink) !important; text-decoration: none; min-height: 3.5rem; box-sizing: border-box; }
.dew-docs strong { font-weight: 650; }
.dew-docs small { margin-left: auto; color: var(--dew-ink-2); white-space: nowrap; }
.dew-docs .dew-ico { color: var(--dew-accent); }

/* ---------- Lista inwestycji ---------- */
.dew-invs { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dew-s5); }
@media (min-width: 48rem) { .dew-invs { grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); } }
.dew-inv a { display: flex; flex-direction: column; height: 100%; border-radius: var(--dew-radius-lg); overflow: hidden; color: var(--dew-ink) !important; text-decoration: none; background: var(--dew-paper); border: 1px solid var(--dew-line); transition: transform .2s, box-shadow .2s; }
.dew-inv__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.dew-inv__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.dew-inv__badge { position: absolute; left: var(--dew-s3); top: var(--dew-s3); background: var(--dew-paper); color: var(--dew-ink); font-size: 0.85rem; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.dew-inv.is-closed .dew-inv__badge { background: var(--dew-ink); color: var(--dew-paper); }
.dew-inv__draw { background: var(--dew-mist); padding: var(--dew-s4); display: grid; place-items: center; }
.dew-inv__draw .dew-el--mini { height: 8.5rem; width: auto; max-width: 100%; pointer-events: none; }
.dew-inv__body { padding: var(--dew-s5); display: flex; flex-direction: column; flex: 1; }
.dew-inv h3 { margin-bottom: var(--dew-s1); font-size: 1.5rem; }
.dew-inv__where { color: var(--dew-ink-2); margin: 0 0 var(--dew-s3); }
.dew-inv__facts { margin: 0 0 var(--dew-s4); }
.dew-inv__facts div { display: flex; justify-content: space-between; gap: var(--dew-s3); padding: var(--dew-s2) 0; border-bottom: 1px solid var(--dew-line); }
.dew-inv__facts dt { color: var(--dew-ink-2); }
.dew-inv__facts dd { margin: 0; font-weight: 640; text-align: right; }
.dew-inv__go { margin-top: auto; font-weight: 700; color: var(--dew-accent); display: inline-flex; align-items: center; gap: var(--dew-s2); }
.dew-firma__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--dew-radius-lg); margin-top: var(--dew-s4); display: block; }

/* ---------- Kontakt ---------- */
.dew-office { background: var(--dew-band); color: var(--dew-on-band); border-radius: var(--dew-radius-lg); padding: var(--dew-s6); align-self: start; }
.dew-office a { color: #fff !important; display: inline-flex; align-items: center; gap: var(--dew-s3); min-height: 2.75rem; overflow-wrap: anywhere; }
.dew-office p { display: flex; gap: var(--dew-s3); align-items: flex-start; }
.dew-office .dew-ico { margin-top: 0.2em; color: var(--dew-accent-2); }
.dew-office a .dew-ico { margin-top: 0; }
.dew-office__tel a { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-size: 1.9rem; font-weight: 720; text-decoration: none; display: inline-flex; gap: var(--dew-s3); align-items: center; }
.dew-form { display: grid; gap: var(--dew-s4); background: var(--dew-paper); border: 1px solid var(--dew-line); border-radius: var(--dew-radius-lg); padding: var(--dew-s6); box-shadow: var(--dew-shadow); }
.dew-form__f { display: grid; gap: var(--dew-s1); border: 0; padding: 0; margin: 0; min-width: 0; }
.dew-form__f > span, .dew-form__f legend { font-weight: 650; padding: 0; }
.dew-form input[type="text"], .dew-form input[type="tel"], .dew-form input[type="email"], .dew-form input[type="datetime-local"], .dew-form select, .dew-form textarea {
  font: inherit; font-size: 1rem; width: 100%; box-sizing: border-box; min-height: 3rem; padding: var(--dew-s3); border: 1px solid #a6b1b3; border-radius: var(--dew-radius); background: var(--dew-paper); color: var(--dew-ink);
}
.dew-form textarea { min-height: 7rem; }
.dew-form__row { display: grid; gap: var(--dew-s4); }
@media (min-width: 36rem) { .dew-form__row { grid-template-columns: 1fr 1fr; } }
.dew-form__three { display: grid; gap: var(--dew-s2); }
.dew-form__slot { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); align-items: center; gap: var(--dew-s3); font-size: 0.95rem; }
.dew-form__slot input { min-width: 0; }
.dew-form__hint { font-size: 0.9rem; color: var(--dew-ink-2); font-weight: 400; margin: 0; }
.dew-form__consent { display: flex; gap: var(--dew-s3); align-items: flex-start; font-size: 0.95rem; }
.dew-form__consent input { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; accent-color: var(--dew-accent); flex: none; }
.dew-form .dew-btn { justify-self: start; }
.dew-hp { position: absolute; left: -9999px; }
.dew-msg { padding: var(--dew-s4); border-radius: var(--dew-radius); margin: 0; font-weight: 600; }
.dew-msg--ok { background: var(--dew-free-bg); border: 1px solid var(--dew-free); }
.dew-msg--err { background: #fde8e8; border: 1px solid #b42318; }

/* ---------- Karta lokalu ---------- */
.dew-crumbs { font-size: 0.95rem; padding-top: var(--dew-s5); }
.dew-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--dew-s2); margin: 0; padding: 0; }
.dew-crumbs li + li::before { content: "/"; margin-right: var(--dew-s2); color: var(--dew-ink-2); }
.dew-unit { display: grid; gap: var(--dew-s6); padding-block: var(--dew-s5) var(--dew-s8); align-items: start; }
@media (min-width: 62rem) { .dew-unit { grid-template-columns: minmax(0, 1fr) 23rem; } }
.dew-unit h1 { font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.2rem); margin-bottom: var(--dew-s2); }
.dew-unit__where { color: var(--dew-ink-2); font-size: 1.15rem; }
.dew-unit__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dew-s3); margin: var(--dew-s5) 0 var(--dew-s6); }
@media (min-width: 40rem) { .dew-unit__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dew-unit__facts div { padding: var(--dew-s3) var(--dew-s4); background: var(--dew-mist); border-radius: var(--dew-radius); }
.dew-unit__facts dt { color: var(--dew-ink-2); font-size: 0.9rem; }
.dew-unit__facts dd { margin: 0; font-weight: 680; font-size: 1.08rem; }
.dew-unit__sec { margin-bottom: var(--dew-s7); }
.dew-plan-fig { margin: 0 0 var(--dew-s5); border-radius: var(--dew-radius-lg); padding: var(--dew-s5); background: var(--dew-mist); }
.dew-plan-fig__lvl { font-weight: 650; margin-bottom: var(--dew-s2); }
.dew-rz { width: 100%; height: auto; max-height: 26rem; display: block; margin-inline: auto; font-family: var(--dew-font); }
.dew-rz__room { fill: var(--dew-paper); stroke: var(--dew-ink); stroke-width: 3; }
/* Strefy na rzucie: dzienna, nocna, mokra (odróżnia układy lokali już na miniaturze). */
.dew-rz .dew-rz__room--day { fill: color-mix(in srgb, var(--dew-accent) 16%, var(--dew-paper)); }
.dew-rz .dew-rz__room--night { fill: color-mix(in srgb, var(--dew-accent) 6%, var(--dew-paper)); }
.dew-rz .dew-rz__room--wet { fill: color-mix(in srgb, var(--dew-accent-2) 24%, var(--dew-paper)); }
.dew-rz__wall { fill: none; stroke: var(--dew-ink); stroke-width: 8; }
.dew-rz__balcony { fill: none; stroke: var(--dew-ink-2); stroke-width: 2; stroke-dasharray: 8 6; }
.dew-rz__name { fill: var(--dew-ink); font-weight: 650; text-anchor: middle; }
.dew-rz__area { fill: var(--dew-ink-2); text-anchor: middle; }
.dew-rooms { list-style: none; margin: var(--dew-s4) 0 0; padding: 0; columns: 2 14rem; column-gap: var(--dew-s6); }
.dew-rooms li { display: flex; justify-content: space-between; gap: var(--dew-s3); padding: var(--dew-s2) 0; border-bottom: 1px solid var(--dew-line); break-inside: avoid; }
.dew-unit__mini { background: var(--dew-mist); padding: var(--dew-s4); border-radius: var(--dew-radius-lg); display: inline-block; }
.dew-panel { border-radius: var(--dew-radius-lg); padding: var(--dew-s6); background: var(--dew-paper); display: grid; gap: var(--dew-s2); box-shadow: var(--dew-shadow); border: 1px solid var(--dew-line); }
@media (min-width: 62rem) { .dew-panel { position: sticky; top: calc(var(--dew-header-h) + var(--dew-s4)); } }
.dew-panel p { margin: 0; }
.dew-panel__label { color: var(--dew-ink-2); margin-top: var(--dew-s2) !important; }
.dew-panel__price { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-size: 2.4rem; font-weight: 760; line-height: 1.05; color: var(--dew-accent); }
.dew-panel__m2 { font-size: 1.1rem; font-weight: 620; }
.dew-panel__low { font-size: 0.95rem; padding: var(--dew-s2) var(--dew-s3); background: var(--dew-res-bg); border-radius: var(--dew-radius); }
.dew-panel .dew-btn { width: 100%; margin-top: var(--dew-s2); }
.dew-mbar { display: none; }
@media (max-width: 61.99rem) {
  .dew-mbar { display: flex; position: sticky; bottom: 0; z-index: 30; justify-content: space-between; align-items: center; gap: var(--dew-s3); background: var(--dew-paper); box-shadow: 0 -8px 24px -12px rgba(0,0,0,.3); padding: var(--dew-s3) var(--dew-s4) max(var(--dew-s3), env(safe-area-inset-bottom)); }
  .dew-mbar strong { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-size: 1.3rem; }
  .dew-mbar .dew-btn { min-height: 2.75rem; }
}

/* ---------- Stopka ---------- */
.dew-foot { background: var(--dew-band); color: var(--dew-on-band); padding-block: var(--dew-s8) var(--dew-s6); font-size: 0.95rem; }
.dew-foot a { color: #fff !important; }
.dew-foot__in { display: grid; gap: var(--dew-s5); }
@media (min-width: 60rem) { .dew-foot__in { grid-template-columns: 1.4fr 1fr 1fr; } }
.dew-foot h2 { font-family: var(--dew-font); font-size: 1rem; font-weight: 700; color: #fff; margin: 0 0 var(--dew-s3); }
.dew-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dew-s2); }
.dew-foot p { margin: 0 0 var(--dew-s2); }
.dew-foot__name { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-size: 1.6rem; font-weight: var(--dew-head-weight); color: #fff; }
.dew-foot__made { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.2); padding-top: var(--dew-s4); margin-top: var(--dew-s3) !important; }

/* ---------- Strona tekstowa ---------- */
.dew-page-text { padding-block: var(--dew-s7) var(--dew-s8); }
.dew-page-text h1 { font-family: var(--dew-font-head); font-stretch: var(--dew-head-stretch); font-weight: var(--dew-head-weight); font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.4rem); line-height: 1.08; letter-spacing: var(--dew-track-display); margin: 0 0 var(--dew-s5); }
.dew-page-text .entry-content > * { max-width: 68ch; }
.dew-page-text .entry-content > .dew-hist-page, .dew-page-text .entry-content > .dew-wrap { max-width: none; padding: 0; }
.dew-page-text h2 { font-size: 1.5rem; margin: var(--dew-s6) 0 var(--dew-s3); }
.dew-page-text p, .dew-page-text li { margin-block: 0 var(--dew-s3); }

@media print {
  .dew-demo, .dew-top, .dew-foot, .dew-mbar, #kontakt, .dew-panel .dew-btn, .dew-crumbs, .dew-skip { display: none !important; }
  .dew-unit { grid-template-columns: 1fr 16rem; gap: var(--dew-s4); padding: 0; }
  .dew-panel { position: static; box-shadow: none; }
  body { font-size: 11pt; }
}
/* Ograniczony ruch: bez przesunięć, powiększeń i przybliżania zdjęcia; zostają krótkie przenikania i zmiany koloru. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-property: opacity, color, background-color, border-color, fill, box-shadow !important; transition-duration: .15s !important; animation: none !important; scroll-behavior: auto !important; }
  html.dew-js .dew-menu__panel { transform: none; }
}
/* Mniej przezroczystości: pełne tła zamiast rozmycia. */
@media (prefers-reduced-transparency: reduce) {
  .dew-top::before { background: var(--dew-paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .dew-btn--glass, .dew-hero--img .dew-chips li { background: rgba(8, 16, 18, .62); -webkit-backdrop-filter: none; backdrop-filter: none; }
  body.dew-has-hero:has(.dew-hero--img) .dew-top:not(.is-scrolled):not(.is-menu) :is(.dew-icon-btn:not([aria-pressed="true"]), .dew-menu summary) { background: rgba(8, 16, 18, .62); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
/* Większy kontrast z ustawień systemu: tekst drugorzędny jak główny, wyraźniejsze linie. */
@media (prefers-contrast: more) {
  html body:is(.dew-look-1, .dew-look-2, .dew-look-3, .dew-look-4) { --dew-ink-2: var(--dew-ink); --dew-line: #6b7472; }
  .dew-top::before { background: var(--dew-paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .dew-top.is-scrolled { box-shadow: 0 1px 0 var(--dew-ink); }
}
/* Przejścia kart przy filtrowaniu (View Transitions): tylko karty, reszta strony zmienia się od razu i dalej przyjmuje kliknięcia. */
:root { view-transition-name: none; }
::view-transition { pointer-events: none; }
::view-transition-group(*) { animation-duration: .34s; animation-timing-function: cubic-bezier(.2, .8, .2, 1); }

/* Hero ze zdjęciem wchodzi pod przezroczysty nagłówek (silniejszy selektor niż reset odstępów motywu). */
body .dew-main .dew-hero--img { margin-top: calc(-1 * var(--dew-header-h)); }
.dew-pick .dew-el { max-width: 54rem; margin-inline: auto; }
@media (max-width: 30rem) { .dew-form, .dew-office { padding: var(--dew-s4); } .dew-office__tel a { font-size: 1.5rem; } .dew-cards { grid-template-columns: 1fr; } }
.dew-cols2 > *, .dew-split > *, .dew-intro__grid > *, .dew-unit > * { min-width: 0; }
@media (max-width: 30rem) { .dew-docs a, .dew-docs__item { flex-wrap: wrap; } .dew-docs small { white-space: normal; margin-left: 2rem; } }
.dew-unit__gal { list-style: none; margin: 0 0 var(--dew-s2); padding: 0; display: grid; gap: var(--dew-s3); grid-template-columns: repeat(3, 1fr); }
.dew-unit__gal .dew-gal__b { aspect-ratio: 4 / 3; }
.dew-unit__gal .dew-gal__img { min-height: 0; }
.dew-unit__gal .dew-gal__cap { left: var(--dew-s2); bottom: var(--dew-s2); font-size: 0.8rem; padding: 2px 8px; }
@media (max-width: 30rem) { .dew-unit__gal { grid-template-columns: 1fr 1fr; } .dew-unit__gal li:first-child { grid-column: span 2; } .dew-unit__gal li:first-child .dew-gal__b { aspect-ratio: 16 / 9; } }
